1 package org.kuali.student.enrollment.class2.acal.service;
2
3 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
4 import org.kuali.rice.krad.lookup.LookupableImpl;
5 import org.kuali.rice.krad.web.form.LookupForm;
6 import org.kuali.student.enrollment.acal.dto.KeyDateInfo;
7 import org.kuali.student.enrollment.acal.dto.TermInfo;
8 import org.kuali.student.enrollment.acal.service.AcademicCalendarService;
9 import org.kuali.student.enrollment.class2.acal.dto.TermWrapper;
10 import org.kuali.student.r2.common.dto.ContextInfo;
11 import org.kuali.student.r2.common.exceptions.*;
12 import org.kuali.student.r2.core.constants.AtpServiceConstants;
13
14 import javax.xml.namespace.QName;
15 import java.util.ArrayList;
16 import java.util.List;
17 import java.util.Map;
18
19
20 @Deprecated
21 public class TermWrapperLookupableImpl extends LookupableImpl {
22 public final static String TERM_WRAPPER_KEY = "key";
23
24 private transient AcademicCalendarService academicCalendarService;
25
26 @Override
27 protected List<?> getSearchResults(LookupForm lookupForm, Map<String, String> fieldValues, boolean unbounded) {
28 TermInfo termInfo = null;
29 List<TermWrapper> termWrapperList = new ArrayList<TermWrapper>();
30
31 String termKey = fieldValues.get(TERM_WRAPPER_KEY);
32 ContextInfo context = new ContextInfo();
33 try{
34 termInfo = getAcademicCalendarService().getTerm(termKey, context);
35 TermWrapper termWrapper = new TermWrapper();
36 termWrapper.setTermInfo(termInfo);
37 List<KeyDateInfo> keyDateInfoList = getAcademicCalendarService().getKeyDatesForTerm(termKey, context);
38 for (KeyDateInfo keyDateInfo : keyDateInfoList){
39 if(AtpServiceConstants.MILESTONE_INSTRUCTIONAL_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
40 termWrapper.setClassesMeetDates(keyDateInfo);
41 }
42 else if(AtpServiceConstants.MILESTONE_REGISTRATION_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
43 termWrapper.setRegistrationPeriod(keyDateInfo);
44 }
45 else if(AtpServiceConstants.MILESTONE_DROP_DATE_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
46 termWrapper.setDropPeriodEndsDate(keyDateInfo);
47 }
48 else if(AtpServiceConstants.MILESTONE_FINAL_EXAM_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
49 termWrapper.setFinalExaminationsDates(keyDateInfo);
50 }
51 else if(AtpServiceConstants.MILESTONE_GRADES_DUE_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
52 termWrapper.setGradesDueDate(keyDateInfo);
53 }
54 }
55 termWrapperList.add(termWrapper);
56 return termWrapperList;
57 }catch (DoesNotExistException dnee){
58 System.out.println("call getAcademicCalendarService().getKeyDatesForTerm(termKey, context), and get DoesNotExistException: "+dnee.toString());
59 }catch (InvalidParameterException ipe){
60 System.out.println("call getAcademicCalendarService().getKeyDatesForTerm(termKey, context), and get InvalidParameterException: "+ipe.toString());
61 }catch (MissingParameterException mpe){
62 System.out.println("call getAcademicCalendarService().getKeyDatesForTerm(termKey, context), and get MissingParameterException: "+mpe.toString());
63 }catch (OperationFailedException ofe){
64 System.out.println("call getAcademicCalendarService().getKeyDatesForTerm(termKey, context), and get OperationFailedException: "+ofe.toString());
65 }catch (PermissionDeniedException pde){
66 System.out.println("call getAcademicCalendarService().getKeyDatesForTerm(termKey, context), and get PermissionDeniedException: "+pde.toString());
67 }
68 return null;
69 }
70
71 protected AcademicCalendarService getAcademicCalendarService() {
72 if(academicCalendarService == null) {
73 academicCalendarService = (AcademicCalendarService) GlobalResourceLoader.getService(new QName("http://student.kuali.org/wsdl/acal", "AcademicCalendarService"));
74 }
75 return academicCalendarService;
76 }
77 }