[Building Sakai] Use of GradebookService as a web service
Shoji Kajita
kajita at nagoya-u.jp
Sat May 19 19:13:57 PDT 2012
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: }
-----
More information about the sakai-dev
mailing list