From b4f4a0197fd64a34b897ed6951170e478a75329c Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Thu, 21 May 2015 16:34:03 +0200 Subject: [PATCH] recordDecision: reviewerRef and timestamp are filled in if missing. --- .../certification/impl/CertificationManagerImpl.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationManagerImpl.java b/model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationManagerImpl.java index 5bcd7e5ecd6..a47b91bf904 100644 --- a/model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationManagerImpl.java +++ b/model/certification-impl/src/main/java/com/evolveum/midpoint/certification/impl/CertificationManagerImpl.java @@ -64,6 +64,7 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationDefinitionType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; @@ -465,8 +466,6 @@ public void recordDecision(String campaignOid, long caseId, AccessCertificationD Validate.notNull(campaignOid, "campaignOid"); Validate.notNull(decision, "decision"); - Validate.notNull(decision.getReviewerRef(), "decision.reviewerRef"); - Validate.notNull(decision.getReviewerRef().getOid(), "decision.reviewerRef.oid"); OperationResult result = parentResult.createSubresult(OPERATION_RECORD_DECISION); try { @@ -491,6 +490,14 @@ public void recordDecision(String campaignOid, long caseId, AccessCertificationD } } AccessCertificationDecisionType decisionWithCorrectId = decision.clone(); + + if (decisionWithCorrectId.getTimestamp() == null) { + decisionWithCorrectId.setTimestamp(XmlTypeConverter.createXMLGregorianCalendar(new Date())); + } + if (decisionWithCorrectId.getReviewerRef() == null) { + UserType currentUser = securityEnforcer.getPrincipal().getUser(); + decisionWithCorrectId.setReviewerRef(ObjectTypeUtil.createObjectRef(currentUser)); + } if (decisionWithCorrectId.getStageNumber() == 0) { decisionWithCorrectId.setStageNumber(currentStage); }