public boolean isSuccess() { return OperationResultStatusType.SUCCESS.equals(getResultStatusType()); }
private OperationResultStatus translateOutcome(String outcome) { // TODO: better algorithm if (outcome == null) { return null; } else if (outcome.equals(OperationResultStatusType.SUCCESS.value())) { return OperationResultStatus.SUCCESS; } else { return OperationResultStatus.UNKNOWN; } }
public static OperationResultStatusType fromValue(String v) { for (OperationResultStatusType c: OperationResultStatusType.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); }
private boolean needsRefresh(PendingOperationType pendingOperation) { PendingOperationExecutionStatusType executionStatus = pendingOperation.getExecutionStatus(); if (executionStatus == null) { // LEGACY: 3.7 and earlier return OperationResultStatusType.IN_PROGRESS.equals(pendingOperation.getResultStatus()); } else { return PendingOperationExecutionStatusType.EXECUTING.equals(executionStatus); } }
public static OperationResultStatusType fromValue(String v) { for (OperationResultStatusType c: OperationResultStatusType.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); }
protected void closeCase(String caseOid) throws ObjectNotFoundException, SchemaException, ObjectAlreadyExistsException { OperationResult result = new OperationResult("closeCase"); Collection modifications = new ArrayList<>(1); PrismPropertyDefinition<String> statePropertyDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(CaseType.class).findPropertyDefinition(CaseType.F_STATE); PropertyDelta<String> statusDelta = statePropertyDef.createEmptyDelta(CaseType.F_STATE); statusDelta.setRealValuesToReplace(SchemaConstants.CASE_STATE_CLOSED); modifications.add(statusDelta); PrismPropertyDefinition<String> outcomePropertyDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(CaseType.class).findPropertyDefinition(CaseType.F_OUTCOME); PropertyDelta<String> outcomeDelta = outcomePropertyDef.createEmptyDelta(CaseType.F_OUTCOME); outcomeDelta.setRealValuesToReplace(OperationResultStatusType.SUCCESS.value()); modifications.add(outcomeDelta); repositoryService.modifyObject(CaseType.class, caseOid, modifications, null, result); PrismObject<CaseType> caseClosed = repositoryService.getObject(CaseType.class, caseOid, null, result); display("Case closed", caseClosed); }
if (!resultStatus.equals(operation.getResultStatus())) { return false;
public static OperationResultStatusType fromValue(String v) { for (OperationResultStatusType c: OperationResultStatusType.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); }
private void expirePendingOperations(ProvisioningContext ctx, PrismObject<ShadowType> repoShadow, ObjectDelta<ShadowType> shadowDelta, XMLGregorianCalendar now, OperationResult parentResult) throws ObjectNotFoundException, SchemaException, CommunicationException, ConfigurationException, ExpressionEvaluationException { ShadowType shadowType = repoShadow.asObjectable(); Duration gracePeriod = ProvisioningUtil.getGracePeriod(ctx); Duration pendingOperationRetentionPeriod = ProvisioningUtil.getPendingOperationRetentionPeriod(ctx); Duration expirePeriod = XmlTypeConverter.longerDuration(gracePeriod, pendingOperationRetentionPeriod); for (PendingOperationType pendingOperation: shadowType.getPendingOperation()) { if (ProvisioningUtil.isOverPeriod(now, expirePeriod, pendingOperation)) { if (LOGGER.isTraceEnabled()) { LOGGER.trace("Deleting pending operation because it is completed '{}' and expired: {}", pendingOperation.getResultStatus().value(), pendingOperation); } shadowDelta.addModificationDeleteContainer(ShadowType.F_PENDING_OPERATION, pendingOperation.clone()); } } }
if (!opStateResultStatusType.equals(pendingOperation.getResultStatus())) { PropertyDelta<OperationResultStatusType> resultStatusDelta = createPendingOperationDelta(containerDefinition, containerPath, PendingOperationType.F_RESULT_STATUS, opStateResultStatusType);
continue; if (expectedResult != null && !expectedResult.equals(pendingOperation.getResultStatus())) { continue;
@Override protected void assertTest526Deltas(PrismObject<ShadowType> shadowRepo, OperationResult result) { assertPendingOperationDeltas(shadowRepo, 3); ObjectDeltaType deltaModify = null; ObjectDeltaType deltaAdd = null; ObjectDeltaType deltaDisable = null; for (PendingOperationType pendingOperation: shadowRepo.asObjectable().getPendingOperation()) { ObjectDeltaType delta = pendingOperation.getDelta(); if (ChangeTypeType.ADD.equals(delta.getChangeType())) { deltaAdd = delta; assertEquals("Wrong status in add delta", OperationResultStatusType.SUCCESS, pendingOperation.getResultStatus()); } if (ChangeTypeType.MODIFY.equals(delta.getChangeType()) && OperationResultStatusType.SUCCESS.equals(pendingOperation.getResultStatus())) { deltaModify = delta; } if (ChangeTypeType.MODIFY.equals(delta.getChangeType()) && OperationResultStatusType.IN_PROGRESS.equals(pendingOperation.getResultStatus())) { deltaDisable = delta; } } assertNotNull("No add pending delta", deltaAdd); assertNotNull("No modify pending delta", deltaModify); assertNotNull("No disable pending delta", deltaDisable); }
OperationResultStatusType resultStatus = pendingOperation.getResultStatus(); PendingOperationExecutionStatusType executionStatus = pendingOperation.getExecutionStatus(); if (OperationResultStatusType.NOT_APPLICABLE.equals(resultStatus)) {
if (newStatusType.equals(pendingOperation.getResultStatus())) { continue;