@Override protected PrismContainerValue getValueFrom(CaseWorkItemType value) { return value.asPrismContainerValue(); }
@Override public boolean equals(Object object) { if (!(object instanceof CaseWorkItemType)) { return false; } CaseWorkItemType other = ((CaseWorkItemType) object); return asPrismContainerValue().equivalent(other.asPrismContainerValue()); }
@Override public int hashCode() { return asPrismContainerValue().hashCode(); }
@Override public String toString() { return asPrismContainerValue().toString(); }
public CaseWorkItemType clone() { CaseWorkItemType object = new CaseWorkItemType(); PrismContainerValue value = asPrismContainerValue().clone(); object.setupContainerValue(value); return object; }
public<X >X end() { return ((X)((PrismContainerValue)((PrismContainer) asPrismContainerValue().getParent()).getParent()).asContainerable()); }
public static CaseType getCase(CaseWorkItemType workItem) { @SuppressWarnings({"unchecked", "raw"}) PrismContainerable<CaseWorkItemType> parent = workItem.asPrismContainerValue().getParent(); if (!(parent instanceof PrismContainer)) { return null; } PrismValue parentParent = ((PrismContainer<CaseWorkItemType>) parent).getParent(); if (!(parentParent instanceof PrismObjectValue)) { return null; } @SuppressWarnings({"unchecked", "raw"}) PrismObjectValue<CaseType> parentParentPov = (PrismObjectValue<CaseType>) parentParent; return parentParentPov.asObjectable(); }
public static CaseType getCase(CaseWorkItemType workItem) { @SuppressWarnings({"unchecked", "raw"}) PrismContainerable<CaseWorkItemType> parent = workItem.asPrismContainerValue().getParent(); if (!(parent instanceof PrismContainer)) { return null; } PrismValue parentParent = ((PrismContainer<CaseWorkItemType>) parent).getParent(); if (!(parentParent instanceof PrismContainerValue)) { return null; } @SuppressWarnings({"unchecked", "raw"}) PrismContainerValue<CaseType> parentParentPcv = (PrismContainerValue<CaseType>) parentParent; return parentParentPcv.asContainerable(); } }
public <T extends Containerable> SearchResultList<T> searchContainers(Class<T> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, OperationResult result) throws SchemaException { if (!CaseWorkItemType.class.equals(type)) { throw new UnsupportedOperationException("searchContainers is supported only for CaseWorkItemType, not for " + type); } List<CaseWorkItemType> allValues = new ArrayList<>(); SearchResultList<PrismObject<CaseType>> cases = cacheRepositoryService .searchObjects(CaseType.class, null, null, result); for (PrismObject<CaseType> aCase : cases) { allValues.addAll(CloneUtil.cloneCollectionMembers(aCase.asObjectable().getWorkItem())); } if (query == null) { //noinspection unchecked return (SearchResultList<T>) new SearchResultList<>(allValues); } List<CaseWorkItemType> filtered = doFiltering(query, allValues, (v) -> v.asPrismContainerValue()); List<CaseWorkItemType> paged = doPaging(query, filtered, (v) -> v.asPrismContainerValue()); //noinspection unchecked return (SearchResultList<T>) new SearchResultList<>(paged); }
assertEquals("Wrong # of work items found", 1, workItems.size()); System.out.println(workItems.get(0).asPrismContainerValue().debugDump());