1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.pm.positionreportsubcat.validation;
17
18 import org.kuali.kpme.core.bo.validation.HrKeyedBusinessObjectValidation;
19 import org.kuali.kpme.pm.api.positionreportcat.PositionReportCategoryContract;
20 import org.kuali.kpme.pm.positionreportsubcat.PositionReportSubCategoryBo;
21 import org.kuali.kpme.pm.service.base.PmServiceLocator;
22 import org.kuali.rice.krad.maintenance.MaintenanceDocument;
23
24 public class PositionReportSubCatValidation extends HrKeyedBusinessObjectValidation {
25 @Override
26 protected boolean processCustomRouteDocumentBusinessRules(MaintenanceDocument document) {
27 boolean valid = false;
28 LOG.debug("entering custom validation for Position Report Sub Category");
29 PositionReportSubCategoryBo prsc = (PositionReportSubCategoryBo) this.getNewDataObject();
30
31 if (prsc != null) {
32 valid = true;
33 valid &= this.validatePositionReportCategory(prsc);
34 }
35 return valid;
36 }
37
38 private boolean validatePositionReportCategory(PositionReportSubCategoryBo prsc) {
39 PositionReportCategoryContract aCat = PmServiceLocator.getPositionReportCatService().getPositionReportCat(prsc.getPositionReportCat(), prsc.getEffectiveLocalDate());
40
41 String errorMes = "PositionReportCategory '" + prsc.getPositionReportCat() + "'";
42 if(aCat == null) {
43 this.putFieldError("positionReportCat", "error.existence", errorMes);
44 return false;
45 }
46 return true;
47 }
48
49 }