protected GetOperationOptionsBuilder getOperationOptionsBuilder() { return schemaHelper.getOperationOptionsBuilder(); }
protected GetOperationOptionsBuilder getOperationOptionsBuilder() { return schemaHelper.getOperationOptionsBuilder(); }
protected Collection<SelectorOptions<GetOperationOptions>> retrieveItemsNamed(Object... items) { return schemaHelper.getOperationOptionsBuilder() .items(items).retrieve() .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); }
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); }
protected Collection<SelectorOptions<GetOperationOptions>> retrieveItemsNamed(Object... items) { return schemaHelper.getOperationOptionsBuilder() .items(items).retrieve() .build(); }
private PrismObject<LookupTableType> getLookupTableAll(String oid, Task task, OperationResult result) throws ObjectNotFoundException, SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW).retrieve(); return modelService.getObject(LookupTableType.class, oid, optionsBuilder.build(), task, result); }
protected AccessCertificationCampaignType getCampaignWithCases(String campaignOid) throws ConfigurationException, ObjectNotFoundException, SchemaException, CommunicationException, SecurityViolationException, ExpressionEvaluationException { Task task = taskManager.createTaskInstance(AbstractCertificationTest.class.getName() + ".getObject"); OperationResult result = task.getResult(); Collection<SelectorOptions<GetOperationOptions>> options = schemaHelper.getOperationOptionsBuilder().item(F_CASE).retrieve().build(); AccessCertificationCampaignType campaign = modelService.getObject(AccessCertificationCampaignType.class, campaignOid, options, task, result).asObjectable(); result.computeStatus(); TestUtil.assertSuccess(result); return campaign; }
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()); }
@Override public void refresh(OperationResult parentResult) throws ObjectNotFoundException, SchemaException { OperationResult result = parentResult.createMinorSubresult(DOT_INTERFACE + "refresh"); result.addContext(OperationResult.CONTEXT_IMPLEMENTATION_CLASS, TaskQuartzImpl.class); result.addContext(OperationResult.CONTEXT_OID, getOid()); if (!isPersistent()) { // Nothing to do for transient tasks result.recordSuccess(); return; } PrismObject<TaskType> repoObj; try { // Here we conservatively fetch the result. In the future we could optimize this a bit, avoiding result // fetching when not strictly necessary. But it seems that it needs to be fetched most of the time. Collection<SelectorOptions<GetOperationOptions>> options = getSchemaHelper().getOperationOptionsBuilder() .item(TaskType.F_RESULT).retrieve().build(); repoObj = repositoryService.getObject(TaskType.class, getOid(), options, result); } catch (ObjectNotFoundException ex) { result.recordFatalError("Object not found", ex); throw ex; } catch (SchemaException ex) { result.recordFatalError("Schema error", ex); throw ex; } updateTaskInstance(repoObj, result); result.recordSuccess(); }
@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 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"}); }
@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" }); }
@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)"}); }
@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); }
@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); }
@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 test123LookupLanguagesGetByKeyContainingWithPaging() throws Exception { final String TEST_NAME="test123LookupLanguagesGetByKeyContainingWithPaging"; 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("_") .offset(2) .maxSize(1) .asc(LookupTableRowType.F_KEY) .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 test133LookupLanguagesGetByValueContainingWithPaging() throws Exception { final String TEST_NAME="test123LookupLanguagesGetByKeyContainingWithPaging"; 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) .contains("n") .offset(0) .maxSize(1) .desc(LookupTableRowType.F_LABEL) // using sorting key other than the one used in search .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)" }); }
@Test public void test124LookupLanguagesGetByKeyContainingReturningNothing() throws Exception { final String TEST_NAME="test124LookupLanguagesGetByKeyContainingReturningNothing"; 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("xyz") .end(); PrismObject<LookupTableType> lookup = modelService.getObject(LookupTableType.class, LOOKUP_LANGUAGES_OID, optionsBuilder.build(), 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); assertTrue("Unexpected content in tableContainer", tableContainer == null || tableContainer.size() == 0); assertSteadyResources(); }