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 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)"}); }
/** * Disabled because it's not clear how to treat polystrings in searches. * */ @Test public void test131LookupLanguagesGetByLabelStartingWith() throws Exception { final String TEST_NAME="test131LookupLanguagesGetByLabelStartingWith"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); String fragment = "Eng"; GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_LABEL) .startsWith(fragment) .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 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 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 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(); }
GetOperationOptionsBuilder optionsBuilder = schemaHelper.getOperationOptionsBuilder() .item(LookupTableType.F_ROW) .retrieveQuery() .item(LookupTableRowType.F_KEY) .eq(INSANE_NATIONAL_STRING)