1 package org.kuali.student.enrollment.class1.state.impl;
2
3 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
4 import org.kuali.student.enrollment.courseoffering.dto.CourseOfferingInfo;
5 import org.kuali.student.enrollment.courseoffering.service.CourseOfferingService;
6 import org.kuali.student.r2.common.dto.ContextInfo;
7 import org.kuali.student.r2.common.dto.StatusInfo;
8 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
9 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
10 import org.kuali.student.r2.common.exceptions.MissingParameterException;
11 import org.kuali.student.r2.common.exceptions.OperationFailedException;
12 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
13 import org.kuali.student.r2.common.util.constants.CourseOfferingServiceConstants;
14 import org.kuali.student.r2.core.class1.state.service.StateHelper;
15
16 import javax.xml.namespace.QName;
17
18
19
20
21
22 public class COStateHelperImpl implements StateHelper {
23 CourseOfferingService courseOfferingService;
24 public COStateHelperImpl() {
25 }
26
27 protected CourseOfferingService getCourseOfferingService(){
28 if (courseOfferingService == null){
29 courseOfferingService = (CourseOfferingService) GlobalResourceLoader.getService(new QName(CourseOfferingServiceConstants.NAMESPACE, CourseOfferingServiceConstants.SERVICE_NAME_LOCAL_PART));
30 }
31 return courseOfferingService;
32 }
33
34 @Override
35 public StatusInfo updateState(String id, String nextStateKey, ContextInfo contextInfo) {
36 StatusInfo si = null;
37 try {
38 si = getCourseOfferingService().changeCourseOfferingState(id, nextStateKey, contextInfo);
39 si.setSuccess(true);
40 } catch (Exception e) {
41 si.setSuccess(false);
42 }
43 return si;
44 }
45
46 @Override
47 public String getStateKey(String entityId, ContextInfo context) throws InvalidParameterException, MissingParameterException, DoesNotExistException, OperationFailedException, PermissionDeniedException {
48 CourseOfferingInfo co = getCourseOfferingService().getCourseOffering(entityId, context);
49 return co.getStateKey();
50 }
51 }