[Building Sakai] Use of GradebookService as a web service

Charles Severance csev at umich.edu
Sun May 20 09:59:33 PDT 2012


Shoji,

If you look here

https://source.sakaiproject.org/svn//basiclti/trunk/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java

You will find some simple calls to the gradebook service to set grades.

Here

https://source.sakaiproject.org/svn//basiclti/trunk/basiclti-portlet/src/java/org/sakaiproject/portlets/IMSBLTIPortlet.java

It makes gradebook items.

I borrowed the code from the Assignments tool/

/Chuck


On May 19, 2012, at 10:13 PM, Shoji Kajita wrote:

> Dear Sakai Developers,
> 
> I'm trying to develop a new web service for getting information from
> Gradebook, but I have been struggling from using GradebookService.
> 
> For example, I can call
> 
>  gradebookService.isGradebookDefined
> 
> successfully when I use
> 
>  gradebookService = (GradebookService) ComponentManager.get("org.sakaiproject.service.gradebook.GradebookService");
> 
> as seen in the following simple code. But, it is failed when I use
> 
>  gradebookService = (GradebookService) ComponentManager.get("org.sakaiproject.service.gradebook.shared.GradebookService");
> 
> in line 31. I'm probably misunderstanding something.
> 
> I really appreciate if someone gives me any pointer to address this.
> 
> Best regards,
> Shoji Kajita
> Kyoto University
> ----
> 01: import org.apache.axis.AxisFault;
> 02: import org.apache.commons.logging.Log;
> 03: import org.apache.commons.logging.LogFactory;
> 04: import org.sakaiproject.service.gradebook.shared.GradebookService;
> 05: import org.sakaiproject.tool.api.Session;
> 06: import org.sakaiproject.tool.api.SessionManager;
> 07: import org.sakaiproject.component.cover.ComponentManager;
> 08: 
> 09: public class CourseGradebook {
> 10: 
> 11: 	private GradebookService gradebookService;
> 12: 	private SessionManager sessionManager;
> 13: 	
> 14: 	private static Log LOG = LogFactory.getLog(CourseGradebook.class);
> 15: 
> 16: 	private Session establishSession(String sessionId) throws AxisFault 
> 17: 	{
> 18: 		Session s = sessionManager.getSession(sessionId);
> 19: 
> 20: 		if (s == null)
> 21: 		{
> 22: 			throw new AxisFault("Session \""+sessionId+"\" is not active");
> 23: 		}
> 24: 		s.setActive();
> 25: 		sessionManager.setCurrentSession(s);
> 26: 		return s;
> 27: 	}
> 28: 
> 29: 	public CourseGradebook() {
> 30: 	//	gradebookService = (GradebookService) ComponentManager.get(GradebookService.class.getName());
> 31: 		gradebookService = (GradebookService) ComponentManager.get("org.sakaiproject.service.gradebook.shared.GradebookService");
> 32: 	//	gradebookService = (GradebookService) ComponentManager.get("org.sakaiproject.service.gradebook.GradebookService");
> 33: 		sessionManager = (SessionManager) ComponentManager.get(SessionManager.class.getName());	
> 34: 	}
> 35: 
> 36:     public String getCompletedDate(String sessionId, String siteId) throws AxisFault {
> 37:     
> 38: 		Session session = establishSession(sessionId);
> 39:     
> 40:         String gbID = siteId;
> 41:         if (!gradebookService.isGradebookDefined(gbID)) {
> 42:             System.out.println("Debug: Not found.");
> 43:             return "No gradebook found for this site.";
> 44:         }
> 45:         return "Gradebook found for this site.";
> 46:     }
> 47: 
> 48: }
> -----
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120520/e166d1c1/attachment.html 


More information about the sakai-dev mailing list