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