Coverage Report - org.kuali.student.enrollment.class2.acal.service.AcademicCalendarWrapperLookupableImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
AcademicCalendarWrapperLookupableImpl
0%
0/52
0%
0/26
10
 
 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.AcademicCalendarInfo;
 7  
 import org.kuali.student.enrollment.acal.dto.KeyDateInfo;
 8  
 import org.kuali.student.enrollment.acal.dto.TermInfo;
 9  
 import org.kuali.student.enrollment.acal.service.AcademicCalendarService;
 10  
 import org.kuali.student.enrollment.class2.acal.dto.AcademicCalendarWrapper;
 11  
 import org.kuali.student.enrollment.class2.acal.dto.TermWrapper;
 12  
 import org.kuali.student.r2.common.dto.ContextInfo;
 13  
 import org.kuali.student.r2.common.exceptions.*;
 14  
 import org.kuali.student.r2.common.util.constants.AtpServiceConstants;
 15  
 
 16  
 import javax.xml.namespace.QName;
 17  
 import java.util.ArrayList;
 18  
 import java.util.List;
 19  
 import java.util.Map;
 20  
 
 21  0
 public class AcademicCalendarWrapperLookupableImpl extends LookupableImpl {
 22  
     public final static String CREDENTIAL_PROGRAM_TYPE_KEY = "academicCalendarInfo.credentialProgramTypeKey";
 23  
     public final static String ACADEMIC_CALENDAR_NAME = "academicCalendarInfo.name";
 24  
     public final static String ACADEMIC_CALENDAR_WRAPPER_KEY = "id";
 25  
          private transient AcademicCalendarService academicCalendarService;
 26  
          
 27  
 
 28  
     @Override
 29  
     protected List<?> getSearchResults(LookupForm lookupForm, Map<String, String> fieldValues, boolean unbounded) {
 30  0
             List<AcademicCalendarWrapper> academicCalendarWrapperList = new ArrayList<AcademicCalendarWrapper>();
 31  0
         List<AcademicCalendarInfo> academicCalendarInfoList = new ArrayList<AcademicCalendarInfo>();
 32  
 
 33  0
             String academicCalendarKey = fieldValues.get(ACADEMIC_CALENDAR_WRAPPER_KEY);
 34  0
         String academicCalendarName = fieldValues.get(ACADEMIC_CALENDAR_NAME);
 35  0
         String credentialProgramType =  fieldValues.get(CREDENTIAL_PROGRAM_TYPE_KEY);
 36  0
         System.out.println(">>>academicCalendarKey = "+academicCalendarKey);
 37  0
             ContextInfo context = new ContextInfo();
 38  
             try{
 39  0
             if(academicCalendarKey != null && !academicCalendarKey.trim().isEmpty()){
 40  0
                         AcademicCalendarInfo acal = getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context);
 41  0
                 if (acal != null) academicCalendarInfoList.add(acal);
 42  
             }
 43  
             else {
 44  
                 // TODO fix the search by Admin Org.  Switch from credential program to admin org cuased issues
 45  
                 /*
 46  
                 List<AcademicCalendarInfo> acals = getAcademicCalendarService().getAcademicCalendarsByCredentialProgramType(credentialProgramType, context);
 47  
                 if(!acals.isEmpty()){
 48  
                     if(academicCalendarName != null && !academicCalendarName.trim().isEmpty()){
 49  
                         for (AcademicCalendarInfo academicCalendarInfo : acals){
 50  
                             if(academicCalendarInfo.getName()!= null && academicCalendarInfo.getName().equals(academicCalendarName))
 51  
                                 academicCalendarInfoList.add(academicCalendarInfo);
 52  
                         }
 53  
                     }
 54  
                     else
 55  
                         academicCalendarInfoList = acals;
 56  
                 }
 57  
                 */
 58  
             }
 59  
 
 60  0
             if(!academicCalendarInfoList.isEmpty()){
 61  0
                 for(AcademicCalendarInfo academicCalendarInfo : academicCalendarInfoList){
 62  0
                     AcademicCalendarWrapper academicCalendarWrapper = new AcademicCalendarWrapper();
 63  0
                         List<TermWrapper> termWrapperList = academicCalendarWrapper.getTermWrapperList();
 64  
 
 65  0
                     academicCalendarWrapper.setAcademicCalendarInfo(academicCalendarInfo);
 66  0
                     List<TermInfo> terms = getAcademicCalendarService().getTermsForAcademicCalendar(academicCalendarInfo.getId(), context);
 67  0
                     for (TermInfo term : terms){
 68  0
                         TermWrapper termWrapper = new TermWrapper();
 69  0
                         termWrapper.setTermInfo(term);
 70  0
                         List<KeyDateInfo>  keyDateInfoList = getAcademicCalendarService().getKeyDatesForTerm(term.getId(), context);
 71  0
                         for (KeyDateInfo keyDateInfo : keyDateInfoList){
 72  0
                             if(AtpServiceConstants.MILESTONE_INSTRUCTIONAL_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
 73  0
                                 termWrapper.setClassesMeetDates(keyDateInfo);
 74  
                             }
 75  0
                             else if(AtpServiceConstants.MILESTONE_REGISTRATION_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
 76  0
                                 termWrapper.setRegistrationPeriod(keyDateInfo);
 77  
                             }
 78  0
                             else if(AtpServiceConstants.MILESTONE_DROP_DATE_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
 79  0
                                 termWrapper.setDropPeriodEndsDate(keyDateInfo);
 80  
                             }
 81  0
                             else if(AtpServiceConstants.MILESTONE_FINAL_EXAM_PERIOD_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
 82  0
                                 termWrapper.setFinalExaminationsDates(keyDateInfo);
 83  
                             }
 84  0
                             else if(AtpServiceConstants.MILESTONE_GRADES_DUE_TYPE_KEY.equals(keyDateInfo.getTypeKey())){
 85  0
                                 termWrapper.setGradesDueDate(keyDateInfo);
 86  
                             }
 87  
                         }
 88  0
                         termWrapperList.add(termWrapper);
 89  0
                     }
 90  0
                     academicCalendarWrapper.setTermWrapperList(termWrapperList);
 91  0
                     academicCalendarWrapperList.add(academicCalendarWrapper);
 92  0
                 }
 93  
             }
 94  
 
 95  0
         }catch (DoesNotExistException dnee){
 96  0
            System.out.println("call getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context), and get DoesNotExistException:  "+dnee.toString());
 97  0
             }catch (InvalidParameterException ipe){
 98  0
                         System.out.println("call getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context), and get InvalidParameterException:  "+ipe.toString());
 99  0
             }catch (MissingParameterException mpe){
 100  0
                 System.out.println("call getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context), and get MissingParameterException:  "+mpe.toString());
 101  0
             }catch (OperationFailedException ofe){
 102  0
                 System.out.println("call getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context), and get OperationFailedException:  "+ofe.toString());
 103  0
             }catch (PermissionDeniedException pde){
 104  0
                 System.out.println("call getAcademicCalendarService().getAcademicCalendar(academicCalendarKey, context), and get PermissionDeniedException:  "+pde.toString());
 105  0
             }
 106  0
             return academicCalendarWrapperList;
 107  
         
 108  
     }
 109  
     
 110  
     protected AcademicCalendarService getAcademicCalendarService() {
 111  0
         if(academicCalendarService == null) {
 112  0
                  academicCalendarService = (AcademicCalendarService) GlobalResourceLoader.getService(new QName("http://student.kuali.org/wsdl/acal","AcademicCalendarService"));
 113  
         }
 114  0
         return academicCalendarService;
 115  
     }
 116  
 
 117  
 
 118  
 }