/** * Create an instance of {@link AccessCertificationStageDefinitionType } * */ public AccessCertificationStageDefinitionType createAccessCertificationStageDefinitionType() { return new AccessCertificationStageDefinitionType(); }
public List<AccessCertificationResponseType> createAdvanceToNextStageOnList() { PrismForJAXBUtil.createProperty(asPrismContainerValue(), F_ADVANCE_TO_NEXT_STAGE_ON); return getAdvanceToNextStageOn(); }
public List<Duration> createNotifyBeforeDeadlineList() { PrismForJAXBUtil.createProperty(asPrismContainerValue(), F_NOTIFY_BEFORE_DEADLINE); return getNotifyBeforeDeadline(); }
@Override protected AccessCertificationStageDefinitionType createItem(PrismContainerValue value) { AccessCertificationStageDefinitionType stageDefinition = new AccessCertificationStageDefinitionType(); stageDefinition.setupContainerValue(value); return stageDefinition; }
public AccessCertificationStageDefinitionType clone() { AccessCertificationStageDefinitionType object = new AccessCertificationStageDefinitionType(); PrismContainerValue value = asPrismContainerValue().clone(); object.setupContainerValue(value); return object; }
@Override protected PrismContainerValue getValueFrom(AccessCertificationStageDefinitionType value) { return value.asPrismContainerValue(); }
List<AccessCertificationResponseType> getOutcomesToStopOn(AccessCertificationCampaignType campaign) { List<AccessCertificationResponseType> rv; AccessCertificationStageDefinitionType stageDefinition = CertCampaignTypeUtil.getCurrentStageDefinition(campaign); if (!stageDefinition.getStopReviewOn().isEmpty() || !stageDefinition.getAdvanceToNextStageOn().isEmpty()) { rv = CertCampaignTypeUtil.getOutcomesToStopOn(stageDefinition.getStopReviewOn(), stageDefinition.getAdvanceToNextStageOn()); } else { AccessCertificationCaseReviewStrategyType reviewStrategy = campaign.getReviewStrategy(); if (reviewStrategy != null && (!reviewStrategy.getStopReviewOn().isEmpty() || !reviewStrategy.getAdvanceToNextStageOn().isEmpty())) { rv = CertCampaignTypeUtil.getOutcomesToStopOn(reviewStrategy.getStopReviewOn(), reviewStrategy.getAdvanceToNextStageOn()); } else { rv = getOverallOutcomeStrategy(campaign).getOutcomesToStopOn(); } } LOGGER.trace("Outcomes to stop on for campaign {}, stage {}: {}", toShortStringLazy(campaign), campaign.getStageNumber(), rv); return rv; }
private AccessCertificationStageType createStage(AccessCertificationCampaignType campaign, int requestedStageNumber) { AccessCertificationStageType stage = new AccessCertificationStageType(prismContext); stage.setIteration(norm(campaign.getIteration())); stage.setNumber(requestedStageNumber); stage.setStartTimestamp(clock.currentTimeXMLGregorianCalendar()); AccessCertificationStageDefinitionType stageDef = CertCampaignTypeUtil.findStageDefinition(campaign, stage.getNumber()); XMLGregorianCalendar deadline = computeDeadline(stage.getStartTimestamp(), stageDef.getDuration(), stageDef.getDeadlineRounding()); stage.setDeadline(deadline); stage.setName(stageDef.getName()); stage.setDescription(stageDef.getDescription()); return stage; }
public List<WorkItemTimedActionsType> createTimedActionsList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_TIMED_ACTIONS); return getTimedActions(); }
public List<AccessCertificationResponseType> createStopReviewOnList() { PrismForJAXBUtil.createProperty(asPrismContainerValue(), F_STOP_REVIEW_ON); return getStopReviewOn(); }
public AccessCertificationStageDefinitionType timedActions(WorkItemTimedActionsType value) { getTimedActions().add(value); return this; }
public AccessCertificationStageDefinitionType notifyBeforeDeadline(Duration value) { getNotifyBeforeDeadline().add(value); return this; }
public AccessCertificationStageDefinitionType stopReviewOn(AccessCertificationResponseType value) { getStopReviewOn().add(value); return this; }
public AccessCertificationStageDefinitionType advanceToNextStageOn(AccessCertificationResponseType value) { getAdvanceToNextStageOn().add(value); return this; }
@Override protected AccessCertificationStageDefinitionType createItem(PrismContainerValue value) { AccessCertificationStageDefinitionType stageDefinition = new AccessCertificationStageDefinitionType(); stageDefinition.setupContainerValue(value); return stageDefinition; }
@Override protected PrismContainerValue getValueFrom(AccessCertificationStageDefinitionType value) { return value.asPrismContainerValue(); }
private ModificationsToExecute getDeltasForStageOpen(AccessCertificationCampaignType campaign, AccessCertificationStageType stage, CertificationHandler handler, OpeningContext openingContext, final Task task, OperationResult result) throws SchemaException, ObjectNotFoundException { int stageNumber = campaign.getStageNumber(); int newStageNumber = stage.getNumber(); LOGGER.trace("getDeltasForStageOpen starting; campaign = {}, stage number = {}, new stage number = {}, iteration = {}", ObjectTypeUtil.toShortStringLazy(campaign), stageNumber, newStageNumber, norm(campaign.getIteration())); ModificationsToExecute rv = new ModificationsToExecute(); if (stageNumber == 0 && norm(campaign.getIteration()) == 1) { getDeltasToCreateCases(campaign, stage, handler, rv, openingContext, task, result); } else { getDeltasToUpdateCases(campaign, stage, rv, openingContext, task, result); } rv.createNewBatch(); rv.add(createStageAddDelta(stage)); rv.add(createDeltasToRecordStageOpen(campaign, stage)); rv.add(updateHelper.getDeltasToCreateTriggersForTimedActions(campaign.getOid(), 0, XmlTypeConverter.toDate(stage.getStartTimestamp()), XmlTypeConverter.toDate(stage.getDeadline()), CertCampaignTypeUtil.findStageDefinition(campaign, newStageNumber).getTimedActions())); if (LOGGER.isTraceEnabled()) { List<ItemDelta<?, ?>> allDeltas = rv.getAllDeltas(); LOGGER.trace("getDeltasForStageOpen finishing, returning {} deltas (in {} batches):\n{}", allDeltas.size(), rv.batches.size(), DebugUtil.debugDump(allDeltas)); } return rv; }
triggers.add(triggerClose); for (Duration beforeDeadline : stageDef.getNotifyBeforeDeadline()) { final XMLGregorianCalendar beforeEnd = CloneUtil.clone(stageDeadline); beforeEnd.add(beforeDeadline.negate());
/** * Create an instance of {@link AccessCertificationStageDefinitionType } * */ public AccessCertificationStageDefinitionType createAccessCertificationStageDefinitionType() { return new AccessCertificationStageDefinitionType(); }
@Override public boolean equals(Object object) { if (!(object instanceof AccessCertificationStageDefinitionType)) { return false; } AccessCertificationStageDefinitionType other = ((AccessCertificationStageDefinitionType) object); return asPrismContainerValue().equivalent(other.asPrismContainerValue()); }