本文整理了Java中com.evolveum.midpoint.repo.api.RepositoryService.searchObjectsIterative
方法的一些代码示例,展示了RepositoryService.searchObjectsIterative
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.searchObjectsIterative
方法的具体详情如下:
包路径:com.evolveum.midpoint.repo.api.RepositoryService
类名称:RepositoryService
方法名:searchObjectsIterative
暂无
代码示例来源:origin: Evolveum/midpoint
/**
* Used to search using model or any similar higher-level interface. Defaults to search using repository.
*/
protected <O extends ObjectType> void searchIterative(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> searchOptions, ResultHandler<O> resultHandler, Task coordinatorTask, OperationResult opResult)
throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException {
repositoryService.searchObjectsIterative(type, query, resultHandler, searchOptions, true, opResult);
}
代码示例来源:origin: Evolveum/midpoint
@Override
public <O extends ObjectType> void searchIterative(Class<O> type, ObjectQuery query,
Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<O> handler, Task task,
OperationResult parentResult)
throws SchemaException {
cacheRepositoryService.searchObjectsIterative(type, query, handler, options, true, parentResult);
}
代码示例来源:origin: Evolveum/midpoint
public <O extends ObjectType> void searchIterative(Class<O> type, ObjectQuery query,
Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<O> handler, Object task,
OperationResult parentResult)
throws SchemaException {
cacheRepositoryService.searchObjectsIterative(type, query, handler, options, true, parentResult);
}
代码示例来源:origin: Evolveum/midpoint
/**
* Note: this may return dead shadow.
*/
private List<PrismObject<ShadowType>> findConflictingShadowsInRepo(ObjectQuery query, Task task, OperationResult parentResult)
throws SchemaException {
final List<PrismObject<ShadowType>> foundAccount = new ArrayList<>();
repositoryService.searchObjectsIterative(ShadowType.class, query, (object,result) -> foundAccount.add(object), null, true, parentResult);
return foundAccount;
}
代码示例来源:origin: Evolveum/midpoint
@Override
public <O extends ObjectType> void searchIterative(Class<O> type, ObjectQuery query, Collection<SelectorOptions<GetOperationOptions>> options, ResultHandler<O> handler, Task task, OperationResult parentResult)
throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException {
if (ObjectTypes.isClassManagedByProvisioning(type)) {
provisioning.searchObjectsIterative(type, query, options, handler, task, parentResult);
} else {
cacheRepositoryService.searchObjectsIterative(type, query, handler, options, true, parentResult); // TODO pull up into resolver interface
}
}
代码示例来源:origin: Evolveum/midpoint
public SearchResultMetadata searchObjectsIterativeRepository(
ProvisioningContext ctx, ObjectQuery query,
Collection<SelectorOptions<GetOperationOptions>> options,
com.evolveum.midpoint.schema.ResultHandler<ShadowType> repoHandler, OperationResult parentResult) throws SchemaException, ConfigurationException, ObjectNotFoundException, CommunicationException, ExpressionEvaluationException {
ObjectQuery repoQuery = query.clone();
processQueryMatchingRules(repoQuery, ctx.getObjectClassDefinition());
return repositoryService.searchObjectsIterative(ShadowType.class, repoQuery, repoHandler, options, true, parentResult);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test() throws Exception {
OperationResult result = new OperationResult("asdf");
final List<PrismObject> objects = new ArrayList<>();
ResultHandler<ObjectType> handler = new ResultHandler<ObjectType>() {
@Override
public boolean handle(PrismObject<ObjectType> object, OperationResult parentResult) {
objects.add(object);
return true;
}
};
repositoryService.searchObjectsIterative(ObjectType.class, null, handler, null, true, result);
assertTrue(!objects.isEmpty());
}
代码示例来源:origin: Evolveum/midpoint
protected void assertShadows(int expected, OperationResult result) throws SchemaException {
int actual = repositoryService.countObjects(ShadowType.class, null, null, result);
if (expected != actual) {
if (actual > 20) {
AssertJUnit.fail("Unexpected number of (repository) shadows. Expected " + expected + " but was " + actual + " (too many to display)");
}
ResultHandler<ShadowType> handler = (object, parentResult) -> {
display("found shadow", object);
return true;
};
repositoryService.searchObjectsIterative(ShadowType.class, null, handler, null, true, result);
AssertJUnit.fail("Unexpected number of (repository) shadows. Expected " + expected + " but was " + actual);
}
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void iterateSet() throws Exception {
OperationResult result = new OperationResult("search set");
final List<PrismObject> objects = new ArrayList<>();
ResultHandler handler = (object, parentResult) -> {
objects.add(object);
return true;
};
repositoryService.searchObjectsIterative(UserType.class, null, handler, null, false, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertEquals(4, objects.size());
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test100SimpleSequentialIteration() throws Exception {
OperationResult result = new OperationResult("test100SimpleSequentialIteration");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
return true;
};
repositoryService.searchObjectsIterative(UserType.class, null, handler, null, true, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, COUNT);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test105SimpleNonSequentialIteration() throws Exception {
OperationResult result = new OperationResult("test105SimpleNonSequentialIteration");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
return true;
};
repositoryService.searchObjectsIterative(UserType.class, null, handler, null, false, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, COUNT);
}
代码示例来源:origin: Evolveum/midpoint
@Override
public <T extends ObjectType> SearchResultMetadata searchObjectsIterative(Class<T> type, ObjectQuery query,
final ResultHandler<T> handler, final Collection<SelectorOptions<GetOperationOptions>> options,
boolean strictlySequential, OperationResult parentResult) throws SchemaException {
// TODO use cached query result if applicable
log("Cache: PASS searchObjectsIterative ({})", type.getSimpleName());
final Cache cache = getCache();
ResultHandler<T> myHandler = (object, parentResult1) -> {
cacheObject(cache, object, GetOperationOptions.isReadOnly(SelectorOptions.findRootOptions(options)));
return handler.handle(object, parentResult1);
};
Long startTime = repoOpStart();
try {
return repositoryService.searchObjectsIterative(type, query, myHandler, options, strictlySequential, parentResult);
} finally {
repoOpEnd(startTime);
}
}
代码示例来源:origin: Evolveum/midpoint
protected void assertShadows(int expectedCount) throws SchemaException {
OperationResult result = new OperationResult(TestOpenDj.class.getName() + ".assertShadows");
int actualCount = repositoryService.countObjects(ShadowType.class, null, null, result);
if (actualCount != expectedCount) {
ResultHandler<ShadowType> handler = (object, parentResult) -> {
display("Repo shadow", object);
return true;
};
repositoryService.searchObjectsIterative(ShadowType.class, null, handler, null, true, result);
assertEquals("Unexpected number of shadows in the repo", expectedCount, actualCount);
}
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test104SimpleSequentialIterationWithCustomPagingSmall() throws Exception {
OperationResult result = new OperationResult("test104SimpleSequentialIterationWithCustomPagingSmall");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
return true;
};
ObjectQuery query = prismContext.queryFactory().createQuery(prismContext.queryFactory().createPaging(1, 200));
repositoryService.searchObjectsIterative(UserType.class, query, handler, null, true, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, 200);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test102SimpleSequentialIterationWithMaxSize() throws Exception {
OperationResult result = new OperationResult("test102SimpleSequentialIterationWithMaxSize");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
return true;
};
ObjectQuery query = prismContext.queryFactory().createQuery(prismContext.queryFactory().createPaging(null, 70));
repositoryService.searchObjectsIterative(UserType.class, query, handler, null, true, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, 70);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test103SimpleSequentialIterationWithCustomPagingLarge() throws Exception {
OperationResult result = new OperationResult("test103SimpleSequentialIterationWithCustomPagingLarge");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
return true;
};
ObjectQuery query = prismContext.queryFactory().createQuery(prismContext.queryFactory().createPaging(1, null));
repositoryService.searchObjectsIterative(UserType.class, query, handler, null, true, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, COUNT - 1);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void test110DeleteAll() throws Exception {
OperationResult result = new OperationResult("test110DeleteAll");
final List<PrismObject<UserType>> objects = new ArrayList<>();
ResultHandler<UserType> handler = (object, parentResult) -> {
objects.add(object);
try {
repositoryService.deleteObject(UserType.class, object.getOid(), parentResult);
} catch (ObjectNotFoundException e) {
throw new SystemException(e);
}
return true;
};
repositoryService.searchObjectsIterative(UserType.class, null, handler, null, true, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
assertObjects(objects, COUNT);
int count = repositoryService.countObjects(UserType.class, null, null, result);
assertEquals("Wrong # of objects after operation", 0, count);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void iterateEmptySet() throws Exception {
OperationResult result = new OperationResult("search empty");
ResultHandler handler = (object, parentResult) -> {
fail();
return false;
};
ObjectQuery query = prismContext.queryFor(UserType.class)
.item(UserType.F_NAME).eqPoly("asdf", "asdf").matchingStrict()
.build();
repositoryService.searchObjectsIterative(UserType.class, query, handler, null, false, result);
result.recomputeStatus();
assertTrue(result.isSuccess());
}
代码示例来源:origin: Evolveum/midpoint
@Override
protected boolean handleObject(PrismObject<ResourceType> resource, Task workerTask, OperationResult taskResult)
throws CommonException {
LOGGER.trace("Propagating provisioning operations on {}", resource);
ObjectQuery query = resource.getPrismContext().queryFactory().createQuery();
ObjectFilter filter = resource.getPrismContext().queryFor(ShadowType.class)
.item(ShadowType.F_RESOURCE_REF).ref(resource.getOid())
.and()
.exists(ShadowType.F_PENDING_OPERATION)
.buildFilter();
query.setFilter(filter);
ResultHandler<ShadowType> handler =
(shadow, result) -> {
propagateShadowOperations(resource, shadow, workerTask, result);
return true;
};
repositoryService.searchObjectsIterative(ShadowType.class, query, handler, null, true, taskResult);
LOGGER.trace("Propagation of {} done", resource);
return true;
}
代码示例来源:origin: Evolveum/midpoint
private void iterateGeneral(int offset, int size, int batch, final String... names) throws Exception {
OperationResult result = new OperationResult("search general");
final List<PrismObject> objects = new ArrayList<>();
ResultHandler handler = new ResultHandler() {
int index = 0;
@Override
public boolean handle(PrismObject object, OperationResult parentResult) {
objects.add(object);
assertEquals("Incorrect object name was read", names[index++], object.asObjectable().getName().getOrig());
return true;
}
};
SqlRepositoryConfiguration config = ((SqlRepositoryServiceImpl) repositoryService).getConfiguration();
int oldbatch = config.getIterativeSearchByPagingBatchSize();
config.setIterativeSearchByPagingBatchSize(batch);
LOGGER.trace(">>>>>> iterateGeneral: offset = " + offset + ", size = " + size + ", batch = " + batch + " <<<<<<");
ObjectQuery query = prismContext.queryFactory().createQuery();
query.setPaging(prismContext.queryFactory().createPaging(offset, size, ObjectType.F_NAME, OrderDirection.ASCENDING));
repositoryService.searchObjectsIterative(UserType.class, query, handler, null, false, result);
result.recomputeStatus();
config.setIterativeSearchByPagingBatchSize(oldbatch);
assertTrue(result.isSuccess());
assertEquals(size, objects.size());
}
内容来源于网络,如有侵权,请联系作者删除!