protected void assertCase(String oid, String expectedState) throws ObjectNotFoundException, SchemaException { OperationResult result = new OperationResult("assertCase"); PrismObject<CaseType> acase = repositoryService.getObject(CaseType.class, oid, null, result); display("Case", acase); CaseType caseType = acase.asObjectable(); assertEquals("Wrong state of "+acase, expectedState ,caseType.getState()); }
public static void copyFromJAXB(CaseType jaxb, RCase repo, RepositoryContext context, IdGeneratorResult generatorResult) throws DtoTranslationException { copyAssignmentHolderInformationFromJAXB(jaxb, repo, context, generatorResult); repo.setNameCopy(RPolyString.copyFromJAXB(jaxb.getName())); repo.setObjectRef(RUtil.jaxbRefToEmbeddedRepoRef(jaxb.getObjectRef(), context.relationRegistry)); repo.setState(jaxb.getState()); for (CaseWorkItemType workItem : jaxb.getWorkItem()) { repo.getWorkItems().add(RCaseWorkItem.toRepo(repo, workItem, context)); } } }
@Override public OperationResultStatus queryOperationStatus(String asynchronousOperationReference, OperationResult parentResult) throws ObjectNotFoundException, SchemaException { OperationResult result = parentResult.createMinorSubresult(OPERATION_QUERY_CASE); InternalMonitor.recordConnectorOperation("queryOperationStatus"); PrismObject<CaseType> acase; try { acase = repositoryService.getObject(CaseType.class, asynchronousOperationReference, null, result); } catch (ObjectNotFoundException | SchemaException e) { result.recordFatalError(e); throw e; } CaseType caseType = acase.asObjectable(); String state = caseType.getState(); if (QNameUtil.matchWithUri(SchemaConstants.CASE_STATE_OPEN_QNAME, state)) { result.recordSuccess(); return OperationResultStatus.IN_PROGRESS; } else if (QNameUtil.matchWithUri(SchemaConstants.CASE_STATE_CLOSED_QNAME, state)) { String outcome = caseType.getOutcome(); OperationResultStatus status = translateOutcome(outcome); result.recordSuccess(); return status; } else { SchemaException e = new SchemaException("Unknown case state "+state); result.recordFatalError(e); throw e; } }