public <O extends ObjectType> Integer countObjects(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, Task task, OperationResult parentResult) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException { if (ObjectTypes.isClassManagedByProvisioning(type)) { return provisioning.countObjects(type, query, options, task, parentResult); } else { return cacheRepositoryService.countObjects(type, query, options, parentResult); } }
@Test public void test117CountNullQueryResource() throws Exception { displayTestTitle("test117CountNullQueryResource"); // GIVEN OperationResult result = new OperationResult(TestDummy.class.getName() + ".test117CountNullQueryResource"); // WHEN int count = provisioningService.countObjects(ResourceType.class, null, null, null, result); // THEN result.computeStatus(); display("countObjects result", result); TestUtil.assertSuccess(result); display("Counted " + count + " resources"); assertEquals("Wrong count", 1, count); assertSteadyResource(); }
@Test public void test115CountAllAccounts() throws Exception { final String TEST_NAME = "test115CountAllAccounts"; displayTestTitle(TEST_NAME); // GIVEN OperationResult result = new OperationResult(TestDummy.class.getName() + "." + TEST_NAME); ObjectQuery query = IntegrationTestTools.createAllShadowsQuery(resourceType, SchemaTestConstants.ICF_ACCOUNT_OBJECT_CLASS_LOCAL_NAME, prismContext); display("All shadows query", query); // WHEN displayWhen(TEST_NAME); Integer count = provisioningService.countObjects(ShadowType.class, query, null, null, result); // THEN displayThen(TEST_NAME); assertSuccess(result); display("Found " + count + " shadows"); assertEquals("Wrong number of count results", getTest115ExpectedCount(), count); assertSteadyResource(); }
count = provisioning.countObjects(type, processedQuery, options, task, parentResult); break; case REPOSITORY:
/** * Account counting is simulated. * For "dumber" resource it is defined in schemaHandling as a object-type-specific capability. */ @Test public void test250CountAccounts() throws Exception { final String TEST_NAME = "test250CountAccounts"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); QueryType queryType = PrismTestUtil.parseAtomicValue(QUERY_ALL_ACCOUNTS_FILE, QueryType.COMPLEX_TYPE); ObjectQuery query = getQueryConverter().createObjectQuery(ShadowType.class, queryType); // WHEN displayWhen(TEST_NAME); Integer count = provisioningService.countObjects(ShadowType.class, query, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); display("All accounts count", count); assertEquals("Unexpected number of search results", (Integer)14, count); }
/** * Account counting is simulated. * But "dumber" resource do not have any simulation for this. */ @Test public void test252CountLdapGroups() throws Exception { final String TEST_NAME = "test252CountLdapGroups"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); QueryType queryType = PrismTestUtil.parseAtomicValue(QUERY_ALL_LDAP_GROUPS_FILE, QueryType.COMPLEX_TYPE); ObjectQuery query = getQueryConverter().createObjectQuery(ShadowType.class, queryType); // WHEN displayWhen(TEST_NAME); Integer count = provisioningService.countObjects(ShadowType.class, query, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); display("All LDAP groups count", count); assertEquals("Unexpected number of search results", getExpectedLdapGroupCountTest25x(), count); }