Coverage Report - org.kuali.student.core.subjectcode.document.validation.impl.SubjectCodeRule
 
Classes in this File Line Coverage Branch Coverage Complexity
SubjectCodeRule
0%
0/14
0%
0/12
4.5
 
 1  
 package org.kuali.student.core.subjectcode.document.validation.impl;
 2  
 
 3  
 import java.util.Collection;
 4  
 import java.util.HashMap;
 5  
 import java.util.Map;
 6  
 
 7  
 import org.kuali.rice.kns.document.MaintenanceDocument;
 8  
 import org.kuali.rice.kns.maintenance.rules.MaintenanceDocumentRuleBase;
 9  
 import org.kuali.rice.kns.service.BusinessObjectService;
 10  
 import org.kuali.rice.kns.service.KNSServiceLocator;
 11  
 import org.kuali.student.core.subjectcode.bo.SubjectCode;
 12  
 
 13  0
 public class SubjectCodeRule extends MaintenanceDocumentRuleBase{
 14  
         private BusinessObjectService businessObjectService;
 15  
         
 16  
         protected BusinessObjectService getBusinessObjectService() {
 17  0
         if (businessObjectService == null) {
 18  0
             businessObjectService = KNSServiceLocator.getBusinessObjectService();
 19  
         }
 20  0
         return  businessObjectService;
 21  
     }
 22  
         @Override
 23  
         protected boolean isDocumentValidForSave(
 24  
                         MaintenanceDocument maintenanceDocument) {
 25  0
                 SubjectCode newSubjectCode = (SubjectCode) super.getNewBo();
 26  0
                 SubjectCode oldSubjectCode = (SubjectCode) super.getOldBo();
 27  0
                 if(newSubjectCode!=null && (oldSubjectCode==null||!newSubjectCode.getCode().equals(oldSubjectCode.getCode()))){
 28  0
                         Map fieldValues = new HashMap();
 29  0
                         fieldValues.put("code", newSubjectCode.getCode());
 30  0
                         Collection results = getBusinessObjectService().findMatching(SubjectCode.class, fieldValues);
 31  0
                         if(results!=null&&results.size()>0){
 32  0
                                 putFieldError("code", "error.duplicate.entry", "Subject Code");
 33  0
                                 return false;
 34  
                         }
 35  
                 }                
 36  0
                 return super.isDocumentValidForSave(maintenanceDocument);
 37  
         }
 38  
 }