com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.getIteration()方法的使用及代码示例

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

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

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

相关文章

微信公众号

最新文章

更多