public CaseWorkItemType clone() { CaseWorkItemType object = new CaseWorkItemType(); PrismContainerValue value = asPrismContainerValue().clone(); object.setupContainerValue(value); return object; }
public ObjectReferenceType beginAssigneeRef() { ObjectReferenceType value = new ObjectReferenceType(); assigneeRef(value); return value; }
public CaseWorkItemType assigneeRef(ObjectReferenceType value) { getAssigneeRef().add(value); return this; }
@Override protected CaseWorkItemType createItem(PrismContainerValue value) { CaseWorkItemType workItem = new CaseWorkItemType(); workItem.setupContainerValue(value); return workItem; }
private static void toRepo(RCaseWorkItem rWorkItem, CaseWorkItemType workItem, RepositoryContext context) throws DtoTranslationException { rWorkItem.setTransient(null); // we don't try to advise hibernate - let it do its work, even if it would cost some SELECTs Integer idInt = RUtil.toInteger(workItem.getId()); rWorkItem.setId(idInt); rWorkItem.setStageNumber(workItem.getStageNumber()); rWorkItem.setOriginalAssigneeRef(RUtil.jaxbRefToEmbeddedRepoRef(workItem.getOriginalAssigneeRef(), context.relationRegistry)); rWorkItem.getAssigneeRef().addAll(RCaseWorkItemReference.safeListReferenceToSet( workItem.getAssigneeRef(), rWorkItem, context.relationRegistry)); rWorkItem.setPerformerRef(RUtil.jaxbRefToEmbeddedRepoRef(workItem.getPerformerRef(), context.relationRegistry)); rWorkItem.setOutcome(WorkItemTypeUtil.getOutcome(workItem)); rWorkItem.setCloseTimestamp(workItem.getCloseTimestamp()); rWorkItem.setDeadline(workItem.getDeadline()); } }
CaseWorkItemType workItem = new CaseWorkItemType(getPrismContext()) .originalAssigneeRef(operator.clone()) .assigneeRef(operator.clone()) .name(caseType.getName().getOrig()) .deadline(clock.currentTimeXMLGregorianCalendar()); caseType.getWorkItem().add(workItem);
/** * Create an instance of {@link CaseWorkItemType } * */ public CaseWorkItemType createCaseWorkItemType() { return new CaseWorkItemType(); }
@Override protected PrismContainerValue getValueFrom(CaseWorkItemType value) { return value.asPrismContainerValue(); }
.state("open") .beginWorkItem() .id(1L) .assigneeRef(new ObjectReferenceType().oid(OLD_OID).type(UserType.COMPLEX_TYPE)) .<CaseType>end() .asPrismObject(); repositoryService.addObject(caseObject, null, result); assertEquals("Wrong # of work items found", 1, workItems.size()); System.out.println(workItems.get(0).asPrismContainerValue().debugDump());
/** * Add case work items */ @Test public void test300AddCaseWorkItem() throws Exception { final String TEST_NAME = "test300AddCaseWorkItem"; TestUtil.displayTestTitle(TEST_NAME); // GIVEN OperationResult result = new OperationResult(TEST_NAME); PrismObject<CaseType> caseObject = prismContext.createObjectable(CaseType.class) .name("testcase1") .oid("de8857ab-0220-4f8c-b627-8d6bd6c679a9") .state("open") .asPrismObject(); repositoryService.addObject(caseObject, null, result); CaseWorkItemType workItem = new CaseWorkItemType(prismContext) .assigneeRef(new ObjectReferenceType().oid("f3285c65-a4fa-4bf3-bd78-3008bcf99d3c").type(UserType.COMPLEX_TYPE)); // WHEN List<ItemDelta<?, ?>> itemDeltas = prismContext.deltaFor(CaseType.class) .item(CaseType.F_WORK_ITEM).add(workItem) .asItemDeltas(); repositoryService.modifyObject(CaseType.class, caseObject.getOid(), itemDeltas, getModifyOptions(), result); // THEN ObjectQuery query = prismContext.queryFor(CaseType.class) .item(CaseType.F_NAME).eqPoly("testcase1") .build(); List<PrismObject<CaseType>> cases = repositoryService.searchObjects(CaseType.class, query, null, result); assertEquals("Wrong # of cases found", 1, cases.size()); display("case fetched from repository", cases.get(0)); }
private void appendAssigneeInformation(StringBuilder sb, CaseWorkItemEvent event, OperationResult result) { CaseWorkItemType workItem = event.getWorkItem(); ObjectReferenceType originalAssignee = workItem.getOriginalAssigneeRef(); List<ObjectReferenceType> currentAssignees = workItem.getAssigneeRef(); boolean atLeastOne = false; if (currentAssignees.size() != 1 || !java.util.Objects.equals(originalAssignee.getOid(), currentAssignees.get(0).getOid())) { UserType originalAssigneeObject = (UserType) functions.getObjectType(originalAssignee, true, result); sb.append("Originally allocated to: ").append( textFormatter.formatUserName(originalAssigneeObject, originalAssignee.getOid())).append("\n"); atLeastOne = true; } if (!workItem.getAssigneeRef().isEmpty()) { sb.append("Allocated to: "); sb.append(workItem.getAssigneeRef().stream() .map(ref -> textFormatter.formatUserName(ref, result)) .collect(Collectors.joining(", "))); sb.append("\n"); atLeastOne = true; } if (atLeastOne) { sb.append("\n"); } }
public ObjectReferenceType beginOriginalAssigneeRef() { ObjectReferenceType value = new ObjectReferenceType(); originalAssigneeRef(value); return value; }
public CaseWorkItemType deadline(String value) { return deadline(XmlTypeConverter.createXMLGregorianCalendar(value)); }
private void appendDeadlineInformation(StringBuilder sb, CaseWorkItemEvent event) { CaseWorkItemType workItem = event.getWorkItem(); if (workItem.getDeadline() != null) { SimpleWorkflowNotifier.appendDeadlineInformation(sb, workItem, textFormatter); } }
delta.swallow( prismContext.deltaFor(CaseType.class) .item(CaseType.F_WORK_ITEM, workItem.getId(), WorkItemType.F_CLOSE_TIMESTAMP).replace(now) .asItemDelta());
/** * Create an instance of {@link CaseWorkItemType } * */ public CaseWorkItemType createCaseWorkItemType() { return new CaseWorkItemType(); }
@Override public boolean equals(Object object) { if (!(object instanceof CaseWorkItemType)) { return false; } CaseWorkItemType other = ((CaseWorkItemType) object); return asPrismContainerValue().equivalent(other.asPrismContainerValue()); }
public CaseWorkItemType originalAssigneeRef(String oid, QName type) { PrismReferenceValue refVal = new PrismReferenceValueImpl(oid, type); ObjectReferenceType ort = new ObjectReferenceType(); ort.setupReferenceValue(refVal); return originalAssigneeRef(ort); }
/** * Create an instance of {@link CaseWorkItemType } * */ public CaseWorkItemType createCaseWorkItemType() { return new CaseWorkItemType(); }
@Override public String toString() { return asPrismContainerValue().toString(); }