com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType类的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(14.5k)|赞(0)|评价(0)|浏览(168)

本文整理了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

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());
}

相关文章

微信公众号

最新文章

更多