本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.getIteration()
方法的一些代码示例,展示了AccessCertificationCampaignType.getIteration()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AccessCertificationCampaignType.getIteration()
方法的具体详情如下:
包路径:com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType
类名称:AccessCertificationCampaignType
方法名:getIteration
暂无
代码示例来源:origin: Evolveum/midpoint
private boolean limitReached(AccessCertificationCampaignType campaign, Integer limit) {
return limit != null && norm(campaign.getIteration()) >= limit;
}
代码示例来源:origin: Evolveum/midpoint
@NotNull
public static AccessCertificationStageType findStage(AccessCertificationCampaignType campaign, int stageNumber) {
for (AccessCertificationStageType stage : campaign.getStage()) {
if (stage.getNumber() == stageNumber && norm(stage.getIteration()) == norm(campaign.getIteration())) {
return stage;
}
}
throw new IllegalStateException("No stage " + stageNumber + " (iteration " + norm(campaign.getIteration()) + " in "
+ ObjectTypeUtil.toShortString(campaign));
}
代码示例来源:origin: Evolveum/midpoint
public static float getWorkItemsCompletedPercentageAllStagesCurrIteration(AccessCertificationCampaignType campaign) {
return getWorkItemsCompletedPercentage(campaign.getCase(), null, norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
public static float getCasesCompletedPercentageAllStagesCurrIteration(AccessCertificationCampaignType campaign) {
return getCasesCompletedPercentage(campaign.getCase(), null, norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
public static float getCasesDecidedPercentageAllStagesCurrIteration(AccessCertificationCampaignType campaign) {
return getCasesDecidedPercentage(campaign.getCase(), null, norm(campaign.getIteration()), null);
}
代码示例来源:origin: Evolveum/midpoint
public String formatState(AccessCertificationEvent event) {
AccessCertificationCampaignType campaign = event.getCampaign();
String i = norm(campaign.getIteration()) > 1 ? " (iteration " + norm(campaign.getIteration()) + ")" : "";
switch(campaign.getState()) {
case CREATED:
return "Created" + i;
case IN_REVIEW_STAGE:
return "In review stage " + formatStage(campaign) + i;
case REVIEW_STAGE_DONE:
return "Done review stage " + formatStage(campaign) + i;
case IN_REMEDIATION:
return "Remediation in progress" + i;
case CLOSED:
return "Closed + i";
default:
return "" + i; // should not occur
}
}
代码示例来源:origin: Evolveum/midpoint
protected void assertIteration(AccessCertificationCampaignType campaign, int iteration) {
assertEquals("Unexpected campaign iteration", iteration, norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
public static float getCasesDecidedPercentageCurrStageCurrIteration(AccessCertificationCampaignType campaign) {
return getCasesDecidedPercentage(campaign.getCase(), campaign.getStageNumber(), norm(campaign.getIteration()), campaign.getState());
}
代码示例来源:origin: Evolveum/midpoint
public static AccessCertificationStageType getCurrentStage(AccessCertificationCampaignType campaign) {
for (AccessCertificationStageType stage : campaign.getStage()) {
if (stage.getNumber() == campaign.getStageNumber() && norm(stage.getIteration()) == norm(campaign.getIteration())) {
return stage;
}
}
return null;
}
代码示例来源:origin: Evolveum/midpoint
public static float getWorkItemsCompletedPercentageCurrStageCurrIteration(AccessCertificationCampaignType campaign) {
return getWorkItemsCompletedPercentage(campaign.getCase(),
accountForClosingStates(campaign.getStageNumber(), campaign.getState()), norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
public static float getCasesCompletedPercentageCurrStageCurrIteration(AccessCertificationCampaignType campaign) {
return getCasesCompletedPercentage(campaign.getCase(),
accountForClosingStates(campaign.getStageNumber(), campaign.getState()), norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
void notifyReviewers(AccessCertificationCampaignType campaign, boolean unansweredOnly, Task task, OperationResult result) throws SchemaException {
List<AccessCertificationCaseType> caseList = queryHelper.getAllCurrentIterationCases(campaign.getOid(), norm(campaign.getIteration()), null, result);
Collection<String> reviewers = CertCampaignTypeUtil.getActiveReviewers(caseList);
for (String reviewerOid : reviewers) {
List<AccessCertificationCaseType> cases = queryHelper.getOpenCasesForReviewer(campaign, reviewerOid, result);
boolean notify = !unansweredOnly ||
cases.stream()
.flatMap(c -> c.getWorkItem().stream())
.anyMatch(wi -> ObjectTypeUtil.containsOid(wi.getAssigneeRef(), reviewerOid) &&
(wi.getOutput() == null || wi.getOutput().getOutcome() == null));
if (notify) {
ObjectReferenceType actualReviewerRef = ObjectTypeUtil.createObjectRef(reviewerOid, ObjectTypes.USER);
for (ObjectReferenceType reviewerOrDeputyRef : getReviewerAndDeputies(actualReviewerRef, task, result)) {
eventHelper.onReviewRequested(reviewerOrDeputyRef, actualReviewerRef, cases, campaign, task, result);
}
}
}
}
代码示例来源:origin: Evolveum/midpoint
public static boolean isReiterable(AccessCertificationCampaignType campaign) {
return campaign.getState() == AccessCertificationCampaignStateType.CLOSED &&
(campaign.getReiterationDefinition() == null || campaign.getReiterationDefinition().getLimit() == null
|| norm(campaign.getIteration()) < campaign.getReiterationDefinition().getLimit());
}
}
代码示例来源:origin: Evolveum/midpoint
@SuppressWarnings("unused")
public List<PrismContainerValue<AccessCertificationWorkItemType>> getCertificationCampaignNonResponders(String campaignName, Integer stageNumber)
throws SchemaException, SecurityViolationException, ConfigurationException, ObjectNotFoundException, ExpressionEvaluationException, CommunicationException {
List<AccessCertificationWorkItemType> workItems = new ArrayList<>();
AccessCertificationCampaignType campaign = getCampaignByName(campaignName);
if (campaign != null) {
List<AccessCertificationCaseType> cases = getCertificationCampaignNotRespondedCasesAsBeans(campaignName);
for (AccessCertificationCaseType aCase : cases) {
for (AccessCertificationWorkItemType workItem : aCase.getWorkItem()) {
if (norm(workItem.getIteration()) == norm(campaign.getIteration())
&& (workItem.getOutput() == null || workItem.getOutput().getOutcome() == null)
&& (stageNumber == null || Objects.equals(workItem.getStageNumber(), stageNumber))) {
workItems.add(workItem);
}
}
}
} else {
LOGGER.debug("No campaign named '{}' was found", campaignName);
}
return PrismContainerValue.toPcvList(workItems);
}
代码示例来源:origin: Evolveum/midpoint
@NotNull
AccessCertificationResponseType computeOutcomeForStage(AccessCertificationCaseType aCase,
AccessCertificationCampaignType campaign, int stageNumber) {
AccessCertificationStageDefinitionType stageDef = CertCampaignTypeUtil.findStageDefinition(campaign, stageNumber);
List<AccessCertificationResponseType> allResponses = getResponses(aCase, stageNumber, norm(campaign.getIteration()));
AccessCertificationResponseType outcome;
String base;
if (allResponses.isEmpty()) {
outcome = stageDef.getOutcomeIfNoReviewers();
base = "<no reviewers available>";
} else {
AccessCertificationCaseOutcomeStrategyType outcomeStrategy = defaultIfNull(stageDef.getOutcomeStrategy(), DEFAULT_CASE_STAGE_OUTCOME_STRATEGY);
OutcomeStrategy strategyImpl = getOutcomeStrategy(outcomeStrategy);
ResponsesSummary summary = summarize(allResponses); // TODO eventually merge extraction and summarizing
outcome = strategyImpl.computeOutcome(summary);
base = allResponses.toString();
}
AccessCertificationResponseType rv = normalizeToNonNull(outcome);
LOGGER.trace("computeOutcomeForStage for case {} (stageNumber: {}) returned {} based on {}", aCase.getId(), stageNumber, rv, base);
return rv;
}
代码示例来源:origin: Evolveum/midpoint
private void checkCaseOutcomesSanity(AccessCertificationCaseType aCase, AccessCertificationCampaignType campaign, int stageNumber) {
assertEquals("Wrong # of completed stage outcomes", stageNumber, CertCampaignTypeUtil.getCompletedStageEvents(aCase, norm(campaign.getIteration())).size());
AccessCertificationResponseType expectedOverall = computationHelper.computeOverallOutcome(aCase, campaign);
assertEquals("Inconsistent overall outcome", OutcomeUtils.toUri(expectedOverall), aCase.getOutcome());
}
代码示例来源:origin: Evolveum/midpoint
void openNextStage(AccessCertificationCampaignType campaign, CertificationHandler handler, Task task,
OperationResult result) throws SchemaException, ObjectNotFoundException, ObjectAlreadyExistsException {
boolean skipEmptyStages = norm(campaign.getIteration()) > 1; // TODO make configurable
int requestedStageNumber = campaign.getStageNumber() + 1;
for (;;) {
OpeningContext openingContext = new OpeningContext();
AccessCertificationStageType stage = createStage(campaign, requestedStageNumber);
ModificationsToExecute modifications = getDeltasForStageOpen(campaign, stage, handler, openingContext, task, result);
if (!skipEmptyStages || openingContext.casesEnteringStage > 0) {
updateHelper.modifyCampaignPreAuthorized(campaign.getOid(), modifications, task, result);
afterStageOpen(campaign.getOid(), stage, task, result); // notifications, bookkeeping, ...
return;
}
LOGGER.debug("No work items created, skipping to the next stage");
requestedStageNumber++;
if (requestedStageNumber > CertCampaignTypeUtil.getNumberOfStages(campaign)) {
result.recordWarning("No more (non-empty) stages available");
return;
}
}
}
代码示例来源:origin: Evolveum/midpoint
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;
}
代码示例来源:origin: Evolveum/midpoint
private void afterStageOpen(String campaignOid, AccessCertificationStageType newStage, Task task,
OperationResult result) throws SchemaException, ObjectNotFoundException, ObjectAlreadyExistsException {
// notifications
final AccessCertificationCampaignType campaign = generalHelper.getCampaign(campaignOid, null, task, result);
if (campaign.getStageNumber() == 1) {
eventHelper.onCampaignStart(campaign, task, result);
}
eventHelper.onCampaignStageStart(campaign, task, result);
updateHelper.notifyReviewers(campaign, false, task, result);
if (newStage.getNumber() == 1 && norm(campaign.getIteration()) == 1 && campaign.getDefinitionRef() != null) {
List<ItemDelta<?,?>> deltas = prismContext.deltaFor(AccessCertificationDefinitionType.class)
.item(F_LAST_CAMPAIGN_STARTED_TIMESTAMP).replace(clock.currentTimeXMLGregorianCalendar())
.asItemDeltas();
updateHelper.modifyObjectPreAuthorized(AccessCertificationDefinitionType.class, campaign.getDefinitionRef().getOid(), deltas, task, result);
}
}
代码示例来源:origin: Evolveum/midpoint
public static void copyFromJAXB(AccessCertificationCampaignType jaxb, RAccessCertificationCampaign repo,
RepositoryContext repositoryContext, IdGeneratorResult generatorResult)
throws DtoTranslationException {
copyAssignmentHolderInformationFromJAXB(jaxb, repo, repositoryContext, generatorResult);
repo.setNameCopy(RPolyString.copyFromJAXB(jaxb.getName()));
repo.setDefinitionRef(RUtil.jaxbRefToEmbeddedRepoRef(jaxb.getDefinitionRef(), repositoryContext.relationRegistry));
List<AccessCertificationCaseType> cases = jaxb.getCase();
if (!cases.isEmpty()) {
for (AccessCertificationCaseType case1 : cases) {
RAccessCertificationCase rCase = RAccessCertificationCase.toRepo(repo, case1, repositoryContext);
rCase.setTransient(generatorResult.isTransient(case1.asPrismContainerValue())); // redundant?
repo.getCase().add(rCase);
}
}
repo.setOwnerRefCampaign(RUtil.jaxbRefToEmbeddedRepoRef(jaxb.getOwnerRef(), repositoryContext.relationRegistry));
repo.setHandlerUri(jaxb.getHandlerUri());
repo.setStart(jaxb.getStartTimestamp());
repo.setEnd(jaxb.getEndTimestamp());
repo.setState(RUtil.getRepoEnumValue(jaxb.getState(), RAccessCertificationCampaignState.class));
repo.setIteration(norm(jaxb.getIteration()));
repo.setStageNumber(jaxb.getStageNumber());
}
}
内容来源于网络,如有侵权,请联系作者删除!