本文整理了Java中com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType
类的一些代码示例,展示了AccessCertificationCampaignType
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AccessCertificationCampaignType
类的具体详情如下:
包路径:com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType
类名称:AccessCertificationCampaignType
暂无
代码示例来源:origin: Evolveum/midpoint
public static float getCasesDecidedPercentageCurrStageCurrIteration(AccessCertificationCampaignType campaign) {
return getCasesDecidedPercentage(campaign.getCase(), campaign.getStageNumber(), norm(campaign.getIteration()), campaign.getState());
}
代码示例来源:origin: Evolveum/midpoint
private AccessCertificationCampaignType createCampaignObject(AccessCertificationDefinitionType definition,
Task task, OperationResult result)
throws SchemaException, SecurityViolationException {
AccessCertificationCampaignType newCampaign = new AccessCertificationCampaignType(prismContext);
newCampaign.setName(generateCampaignName(definition, task, result));
} else {
throw new SchemaException("Couldn't create a campaign without name");
newCampaign.setDescription(definition.getDescription());
newCampaign.setOwnerRef(securityContextManager.getPrincipal().toObjectReference());
newCampaign.setTenantRef(definition.getTenantRef());
newCampaign.setDefinitionRef(ObjectTypeUtil.createObjectRef(definition, prismContext));
newCampaign.setHandlerUri(definition.getHandlerUri());
} else {
throw new SchemaException("Couldn't create a campaign without handlerUri");
newCampaign.setScopeDefinition(definition.getScopeDefinition());
newCampaign.setRemediationDefinition(definition.getRemediationDefinition());
newCampaign.setReiterationDefinition(definition.getReiterationDefinition());
newCampaign.getStageDefinition().addAll(CloneUtil.cloneCollectionMembers(definition.getStageDefinition()));
CertCampaignTypeUtil.checkStageDefinitionConsistency(newCampaign.getStageDefinition());
newCampaign.setReviewStrategy(definition.getReviewStrategy());
newCampaign.setStartTimestamp(null);
newCampaign.setEndTimestamp(null);
newCampaign.setState(CREATED);
代码示例来源:origin: Evolveum/midpoint
public static AccessCertificationDefinitionType getDefinition(AccessCertificationCampaignType campaign) {
if (campaign.getDefinitionRef() == null) {
throw new IllegalStateException("No definition reference in " + ObjectTypeUtil.toShortString(campaign));
}
PrismReferenceValue referenceValue = campaign.getDefinitionRef().asReferenceValue();
if (referenceValue.getObject() == null) {
throw new IllegalStateException("No definition object in " + ObjectTypeUtil.toShortString(campaign));
}
return (AccessCertificationDefinitionType) (referenceValue.getObject().asObjectable());
}
代码示例来源:origin: Evolveum/midpoint
public AccessCertificationCampaignType clone() {
AccessCertificationCampaignType object = new AccessCertificationCampaignType();
PrismObject value = asPrismObject().clone();
object.setupContainer(value);
return object;
}
代码示例来源:origin: Evolveum/midpoint
public AccessCertificationStageDefinitionType getCurrentStageDefinition() {
if (campaign.getState() != IN_REVIEW_STAGE && campaign.getState() != REVIEW_STAGE_DONE) {
return null;
}
return CertCampaignTypeUtil.findStageDefinition(campaign, campaign.getStageNumber());
}
代码示例来源:origin: Evolveum/midpoint
public static float getCasesDecidedPercentageCurrStageAllIterations(AccessCertificationCampaignType campaign) {
return getCasesDecidedPercentage(campaign.getCase(), campaign.getStageNumber(), null, campaign.getState());
}
代码示例来源: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());
}
}
代码示例来源:origin: Evolveum/midpoint
assertTrue("wrong campaign state: " + campaign.getState(), campaign.getState() == CLOSED || campaign.getState() == IN_REMEDIATION);
.item(TaskType.F_OBJECT_REF).ref(campaign.getOid())
.build();
List<PrismObject<TaskType>> tasks = taskManager.searchObjects(TaskType.class, query, null, result);
assertEquals("wrong campaign state", CLOSED, campaign.getState());
assertEquals("wrong campaign stage", 2, campaign.getStageNumber());
assertDefinitionAndOwner(campaign, certificationDefinition, USER_BOB_OID);
assertApproximateTime("end time", new Date(), campaign.getEndTimestamp());
assertEquals("wrong # of stages", 1, campaign.getStage().size());
assertApproximateTime("stage 1 end", new Date(), campaign.getStage().get(0).getEndTimestamp());
代码示例来源: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
LOGGER.info("Automatically closing current stage of {}", ObjectTypeUtil.toShortString(campaign));
if (campaign.getState() != IN_REVIEW_STAGE) {
LOGGER.warn("Campaign {} is not in a review stage; this 'close stage' trigger will be ignored.", ObjectTypeUtil.toShortString(campaign));
return;
int currentStageNumber = campaign.getStageNumber();
certificationManager.closeCurrentStage(campaign.getOid(), task, result);
if (currentStageNumber < CertCampaignTypeUtil.getNumberOfStages(campaign)) {
LOGGER.info("Automatically opening next stage of {}", ObjectTypeUtil.toShortString(campaign));
certificationManager.openNextStage(campaign.getOid(), task, result);
} else {
LOGGER.info("Automatically starting remediation for {}", ObjectTypeUtil.toShortString(campaign));
certificationManager.startRemediation(campaign.getOid(), task, result);
代码示例来源:origin: Evolveum/midpoint
AuthorizationParameters.Builder.buildObject(campaign.asPrismObject()), null, task, result);
final int currentStageNumber = campaign.getStageNumber();
final int stages = CertCampaignTypeUtil.getNumberOfStages(campaign);
final AccessCertificationCampaignStateType state = campaign.getState();
LOGGER.trace("openNextStage: iteration={}, currentStageNumber={}, stages={}, state={}", norm(campaign.getIteration()), currentStageNumber, stages, state);
if (IN_REVIEW_STAGE.equals(state)) {
result.recordFatalError("Couldn't advance to the next review stage as the stage " + currentStageNumber + " is currently open.");
代码示例来源:origin: Evolveum/midpoint
AuthorizationParameters.Builder.buildObject(campaign.asPrismObject()), null, task, result);
final int currentStageNumber = campaign.getStageNumber();
final int stages = CertCampaignTypeUtil.getNumberOfStages(campaign);
final AccessCertificationCampaignStateType state = campaign.getState();
LOGGER.trace("closeCurrentStage: currentStageNumber={}, stages={}, state={}", currentStageNumber, stages, state);
代码示例来源:origin: Evolveum/midpoint
void reiterateCampaign(AccessCertificationCampaignType campaign, Task task, OperationResult result)
throws ObjectAlreadyExistsException, ObjectNotFoundException, SchemaException {
LOGGER.info("Reiterating campaign {}", ObjectTypeUtil.toShortString(campaign));
if (campaign.getState() != CLOSED) {
throw new IllegalStateException("Campaign is not in CLOSED state");
}
if (campaign.getReiterationDefinition() != null && campaign.getReiterationDefinition().getLimit() != null
&& norm(campaign.getIteration()) >= campaign.getReiterationDefinition().getLimit()) {
throw new IllegalStateException("Campaign cannot be reiterated: maximum number of iterations ("
+ campaign.getReiterationDefinition().getLimit() + ") was reached.");
}
ModificationsToExecute modifications = new ModificationsToExecute();
modifications.add(updateHelper.createStageNumberDelta(0));
modifications.add(updateHelper.createStateDelta(CREATED));
modifications.add(updateHelper.createTriggerDeleteDelta());
modifications.add(updateHelper.createStartTimeDelta(null));
modifications.add(updateHelper.createEndTimeDelta(null));
int newIteration = norm(campaign.getIteration()) + 1;
modifications.add(prismContext.deltaFor(AccessCertificationCampaignType.class)
.item(AccessCertificationCampaignType.F_ITERATION).replace(newIteration)
.asItemDelta());
createCasesReiterationDeltas(campaign, newIteration, modifications, result);
updateHelper.modifyCampaignPreAuthorized(campaign.getOid(), modifications, 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
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
if (campaign.getState() != AccessCertificationCampaignStateType.IN_REVIEW_STAGE) {
LOGGER.warn("Campaign is not in review stage; exiting");
return;
List<AccessCertificationCaseType> caseList = queryHelper.getAllCurrentIterationCases(campaign.getOid(),
norm(campaign.getIteration()), null, result);
Collection<String> reviewers = CertCampaignTypeUtil.getActiveReviewers(caseList);
for (String reviewerOid : reviewers) {
代码示例来源:origin: Evolveum/midpoint
protected void assertSanityAfterCampaignStart(AccessCertificationCampaignType campaign, AccessCertificationDefinitionType definition,
int cases, int iteration, int expectedStages, Date expectedStartTime)
throws ConfigurationException, ObjectNotFoundException, SchemaException, CommunicationException,
SecurityViolationException, ExpressionEvaluationException {
assertStateStageIteration(campaign, IN_REVIEW_STAGE, 1, iteration);
assertDefinitionAndOwner(campaign, definition);
assertApproximateTime("start time", expectedStartTime, campaign.getStartTimestamp());
assertNull("Unexpected end time", campaign.getEndTimestamp());
assertEquals("wrong # of defined stages", definition.getStageDefinition().size(), campaign.getStageDefinition().size());
assertEquals("wrong # of stages", expectedStages, campaign.getStage().size());
AccessCertificationStageType stage = campaign.getStage().stream().filter(s -> norm(s.getIteration()) == iteration && s.getNumber() == 1).findFirst().orElse(null);
assertNotNull("No stage #1 for current iteration", stage);
assertEquals("wrong stage #", 1, stage.getNumber());
assertApproximateTime("stage 1 start", expectedStartTime, stage.getStartTimestamp());
assertNotNull("stage 1 deadline", stage.getDeadline()); // too lazy to compute exact datetime
assertNull("unexpected stage 1 end", stage.getEndTimestamp());
assertEquals("Wrong number of certification cases", cases, campaign.getCase().size());
PrismObject<AccessCertificationDefinitionType> def = getObjectViaRepo(AccessCertificationDefinitionType.class, definition.getOid());
if (iteration == 1) {
assertApproximateTime("last campaign started", expectedStartTime, def.asObjectable().getLastCampaignStartedTimestamp());
assertNull("unexpected last campaign closed", def.asObjectable().getLastCampaignClosedTimestamp());
} else {
assertNotNull("last campaign closed", def.asObjectable().getLastCampaignClosedTimestamp());
}
assertCasesCount(campaign.getOid(), cases);
}
代码示例来源: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 getWorkItemsCompletedPercentageAllStagesCurrIteration(AccessCertificationCampaignType campaign) {
return getWorkItemsCompletedPercentage(campaign.getCase(), null, norm(campaign.getIteration()));
}
代码示例来源:origin: Evolveum/midpoint
@NotNull
public static AccessCertificationStageDefinitionType getCurrentStageDefinition(AccessCertificationCampaignType campaign) {
return findStageDefinition(campaign, campaign.getStageNumber());
}
内容来源于网络,如有侵权,请联系作者删除!