public static GetOperationOptionsBuilder addIncludeOptionsForExport(GetOperationOptionsBuilder optionsBuilder, Class<? extends ObjectType> type) { // todo fix this brutal hack (related to checking whether to include particular options) boolean all = type == null || Objectable.class.equals(type) || com.evolveum.prism.xml.ns._public.types_3.ObjectType.class.equals(type) || ObjectType.class.equals(type); if (all || UserType.class.isAssignableFrom(type)) { optionsBuilder = optionsBuilder.item(UserType.F_JPEG_PHOTO).retrieve(); } if (all || LookupTableType.class.isAssignableFrom(type)) { optionsBuilder = optionsBuilder.item(LookupTableType.F_ROW) .retrieveQuery().asc(PrismConstants.T_ID).end(); } if (all || AccessCertificationCampaignType.class.isAssignableFrom(type)) { optionsBuilder = optionsBuilder.item(AccessCertificationCampaignType.F_CASE).retrieve(); } return optionsBuilder; }
@Test public void test122LookupLanguagesGetByKeyContaining() throws Exception { final String TEST_NAME="test122LookupLanguagesGetByKeyContaining"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_KEY) .contains("r") .end(); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, optionsBuilder.build(), task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); checkLookupResult(lookup, new String[]{"tr_TR", "tr", "Turkish"}); }
.item(T_PARENT, F_OBJECT_REF).resolve() .item(T_PARENT, F_TARGET_REF).resolve() .item(F_ASSIGNEE_REF).resolve() .item(F_ORIGINAL_ASSIGNEE_REF).resolve() .item(T_PARENT, F_REQUESTER_REF).resolve() .build(); List<WorkItemType> workItems = modelService.searchContainers(WorkItemType.class, null, options1, opTask, result); assertEquals("Wrong # of work items", processNames.length, workItems.size());
public List<PrismObject<AccessCertificationCampaignType>> getCertificationCampaigns(Boolean alsoClosedCampaigns) throws SchemaException, ConfigurationException, ObjectNotFoundException, CommunicationException, SecurityViolationException, ExpressionEvaluationException { Task task = taskManager.createTaskInstance(); ObjectQuery query = prismContext.queryFor(AccessCertificationCampaignType.class) .asc(F_NAME) .build(); if (!Boolean.TRUE.equals(alsoClosedCampaigns)) { query.addFilter( prismContext.queryFor(AccessCertificationCampaignType.class) .not().item(F_STATE).eq(CLOSED) .buildFilter() ); } Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .root().resolveNames() .item(AccessCertificationCampaignType.F_CASE).retrieve() .build(); return model.searchObjects(AccessCertificationCampaignType.class, query, options, task, task.getResult()); }
try { Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW).retrieve() .build(); lookupTableRetrieved = repositoryService.getObject(LookupTableType.class, oid, options, subresult); } catch (ObjectNotFoundException | SchemaException | RuntimeException e) { try { GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_KEY) .eq(INSANE_NATIONAL_STRING) .end(); PrismObject<LookupTableType> lookupTableRetrieved = repositoryService.getObject(LookupTableType.class, oid, optionsBuilder.build(), result); if (LOGGER.isTraceEnabled()) { LOGGER.trace("Self-test:lookupTable getObject by row key:\n{}", DebugUtil.debugDump(lookupTableRetrieved));
@Test public void test102LookupLanguagesGetExclude() throws Exception { final String TEST_NAME="test102LookupLanguagesGetExclude"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW).dontRetrieve() .build(); // WHEN displayWhen(TEST_NAME); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, options, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); IntegrationTestTools.display("Languages", lookup); assertEquals("Wrong lang lookup name", LOOKUP_LANGUAGES_NAME, lookup.asObjectable().getName().getOrig()); PrismContainer<LookupTableRowType> tableContainer = lookup.findContainer(LookupTableType.F_ROW); assertNull("Table container sneaked in", tableContainer); assertSteadyResources(); }
@Test public void test112GetRoleResolveEntitlementNoFetch() throws Exception { final String TEST_NAME = "test112GetRoleResolveEntitlementNoFetch"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.POSITIVE); Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(UserType.F_LINK) .resolve() .noFetch() .build(); // WHEN PrismObject<RoleType> role = modelService.getObject(RoleType.class, ROLE_PIRATE_OID, options, task, result); RoleType roleType = role.asObjectable(); assertLinks(role, 1); PrismReferenceValue linkRef = getSingleLinkRef(role); assertEquals("OID mismatch in linkRefValue", groupOid, linkRef.getOid()); assertNotNull("Missing account object in linkRefValue", linkRef.getObject()); ShadowType shadow = roleType.getLink().get(0); assertDummyGroupShadowRepo(shadow.asPrismObject(), groupOid, GROUP_PIRATE_DUMMY_NAME); result.computeStatus(); TestUtil.assertSuccess("getObject result", result); }
public List<PrismContainerValue<WorkItemType>> searchApprovalWorkItems(int days, QName sortColumn) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException, DatatypeConfigurationException { Task task = taskManager.createTaskInstance(); OperationResult result = task.getResult(); ObjectQuery query = prismContext.queryFor(AbstractWorkItemType.class).build(); if (days > 0) { XMLGregorianCalendar since = (new Clock()).currentTimeXMLGregorianCalendar(); DatatypeFactory df = DatatypeFactory.newInstance(); since.add (df.newDuration(false, 0, 0, days, 0, 0, 0)); query.addFilter(prismContext.queryFor(AbstractWorkItemType.class) .item(AbstractWorkItemType.F_CREATE_TIMESTAMP).lt(since).buildFilter()); } if (sortColumn != null) { query.addFilter(prismContext.queryFor(AbstractWorkItemType.class) .asc(sortColumn) .buildFilter()); } Object[] itemsToResolve = { WorkItemType.F_ASSIGNEE_REF, ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_OBJECT_REF), ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_TARGET_REF), ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_REQUESTER_REF) }; SearchResultList<WorkItemType> workItems = model.searchContainers(WorkItemType.class, query, schemaHelper.getOperationOptionsBuilder().items(itemsToResolve).resolve().build(), task, result); return PrismContainerValue.toPcvList(workItems); }
GetOperationOptionsBuilder optionsBuilder = context.getSchemaHelper().getOperationOptionsBuilder(); if (options.isRaw()) { optionsBuilder = optionsBuilder.raw(); repository.searchObjectsIterative(type.getClassDefinition(), query, handler, optionsBuilder.build(), true, operation.getResult()); } catch (SchemaException ex) { log.error("Unexpected exception, reason: {}", ex, ex.getMessage());
@Test public void test130LookupLanguagesGetByValueExact() throws Exception { final String TEST_NAME="test130LookupLanguagesGetByValueExact"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_VALUE) .eq("sk") .end(); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, optionsBuilder.build(), task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); checkLookupResult(lookup, new String[] { "sk_SK", "sk", "Slovak" }); }
query.setPaging(paging); Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(ShadowType.F_ASSOCIATION).dontRetrieve() .build(); SearchResultMetadata resultMetadata; try { .item(ShadowType.F_ASSOCIATION).dontRetrieve() .build();
@Override @NotNull public Task getTaskWithResult(String taskOid, OperationResult parentResult) throws ObjectNotFoundException, SchemaException { Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(TaskType.F_RESULT).retrieve() .build(); return getTask(taskOid, options, parentResult); }
@Test public void test120LookupLanguagesGetByKeyExact() throws Exception { final String TEST_NAME="test120LookupLanguagesGetByKeyExact"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_KEY) .eq("sk_SK") .end(); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, optionsBuilder.build(), task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); checkLookupResult(lookup, new String[] { "sk_SK", "sk", "Slovak" }); }
@Test public void test110GetRoleResolveEntitlement() throws Exception { final String TEST_NAME = "test110GetRoleResolveEntitlement"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.POSITIVE); Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(UserType.F_LINK).resolve() .build(); // WHEN PrismObject<RoleType> role = modelService.getObject(RoleType.class, ROLE_PIRATE_OID, options, task, result); RoleType roleType = role.asObjectable(); assertLinks(role, 1); PrismReferenceValue linkRef = getSingleLinkRef(role); assertEquals("OID mismatch in linkRefValue", groupOid, linkRef.getOid()); assertNotNull("Missing account object in linkRefValue", linkRef.getObject()); ShadowType shadow = roleType.getLink().get(0); assertDummyGroupShadowModel(shadow.asPrismObject(), groupOid, GROUP_PIRATE_DUMMY_NAME); result.computeStatus(); TestUtil.assertSuccess("getObject result", result); }
ApprovalSchemaExecutionInformationType getApprovalSchemaExecutionInformation(String taskOid, Task opTask, OperationResult result) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException { Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder() .item(TaskType.F_WORKFLOW_CONTEXT, WfContextType.F_WORK_ITEM).retrieve() .build(); TaskType wfTask = modelService.getObject(TaskType.class, taskOid, options, opTask, result).asObjectable(); return getApprovalSchemaExecutionInformation(wfTask, false, opTask, result); }
@Test public void test121LookupLanguagesGetByKeyStartingWith() throws Exception { final String TEST_NAME="test121LookupLanguagesGetByKeyStartingWith"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_KEY) .startsWith("e") .end(); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, optionsBuilder.build(), task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); checkLookupResult(lookup, new String[]{"en_US", "en", "English (US)"}, new String[]{"en_PR", "en", "English (pirate)"}); }