com.evolveum.midpoint.repo.api.RepositoryService.searchObjects()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.7k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中com.evolveum.midpoint.repo.api.RepositoryService.searchObjects方法的一些代码示例,展示了RepositoryService.searchObjects的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.searchObjects方法的具体详情如下:
包路径:com.evolveum.midpoint.repo.api.RepositoryService
类名称:RepositoryService
方法名:searchObjects

RepositoryService.searchObjects介绍

暂无

代码示例

代码示例来源:origin: Evolveum/midpoint

public SearchResultList<PrismObject<ArchetypeType>> getAllArchetypes(OperationResult result) throws SchemaException {
    // TODO: make this efficient (use cache)
    return cacheRepositoryService.searchObjects(ArchetypeType.class, null, null, result);
  }
}

代码示例来源:origin: Evolveum/midpoint

@NotNull
  protected SearchResultList<PrismObject<AccessCertificationCampaignType>> getAllCampaigns(OperationResult result) throws SchemaException {
    return repositoryService.searchObjects(AccessCertificationCampaignType.class, null, null, result);
  }
}

代码示例来源:origin: Evolveum/midpoint

protected void assertHasShadow(String username, PrismObject<ResourceType> resource,
    Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException {
  ObjectQuery query = createAccountShadowQuery(username, resource);
  List<PrismObject<ShadowType>> accounts = repositoryService.searchObjects(ShadowType.class, query, null, result);
  if (accounts.isEmpty()) {
    AssertJUnit.fail("No shadow for "+username+" on "+resource);
  } else if (accounts.size() > 1) {
    AssertJUnit.fail("Too many shadows for "+username+" on "+resource+" ("+accounts.size()+"): "+accounts);
  }
}

代码示例来源:origin: Evolveum/midpoint

protected void assertNoShadow(String username, PrismObject<ResourceType> resource,
    Task task, OperationResult result) throws SchemaException, ObjectNotFoundException, SecurityViolationException, CommunicationException, ConfigurationException {
  ObjectQuery query = createAccountShadowQuery(username, resource);
  List<PrismObject<ShadowType>> accounts = repositoryService.searchObjects(ShadowType.class, query, null, result);
  if (accounts.isEmpty()) {
    return;
  }
  LOGGER.error("Found shadow for "+username+" on "+resource+" while not expecting it:\n"+accounts.get(0).debugDump());
  assert false : "Found shadow for "+username+" on "+resource+" while not expecting it: "+accounts;
}

代码示例来源:origin: Evolveum/midpoint

private PrismObject<UserType> findByUsername(String username, OperationResult result) throws SchemaException, ObjectNotFoundException {
  PolyString usernamePoly = new PolyString(username);
  ObjectQuery query = ObjectQueryUtil.createNormNameQuery(usernamePoly, prismContext);
  LOGGER.trace("Looking for user, query:\n" + query.debugDump());
  List<PrismObject<UserType>> list = repositoryService.searchObjects(UserType.class, query, null, result);
  LOGGER.trace("Users found: {}.", list.size());
  if (list.size() != 1) {
    return null;
  }
  return list.get(0);
}

代码示例来源:origin: Evolveum/midpoint

protected SearchResultList<PrismObject<FocusType>> listAssignees(String targetOid, OperationResult result) throws SchemaException {
  ObjectQuery query = prismContext.queryFor(FocusType.class)
      .item(FocusType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF).ref(targetOid)
      .build();
  return repositoryService.searchObjects(FocusType.class, query, null, result);
}

代码示例来源:origin: Evolveum/midpoint

public static void checkAllShadows(ResourceType resourceType, RepositoryService repositoryService,
    ObjectChecker<ShadowType> checker, PrismContext prismContext) throws SchemaException, ObjectNotFoundException, CommunicationException, ConfigurationException {
  OperationResult result = new OperationResult(IntegrationTestTools.class.getName() + ".checkAllShadows");
  ObjectQuery query = createAllShadowsQuery(resourceType, prismContext);
  List<PrismObject<ShadowType>> allShadows = repositoryService.searchObjects(ShadowType.class, query, GetOperationOptions.createRawCollection(), result);
  LOGGER.trace("Checking {} shadows, query:\n{}", allShadows.size(), query.debugDump());
  for (PrismObject<ShadowType> shadow: allShadows) {
    checkShadow(shadow.asObjectable(), resourceType, repositoryService, checker, prismContext, result);
  }
}

代码示例来源:origin: Evolveum/midpoint

public <T extends ObjectType> SearchResultList<PrismObject<T>> searchObjects(Class<T> type, ObjectQuery query,
    Collection<SelectorOptions<GetOperationOptions>> options,
    OperationResult result) throws SchemaException {
  SearchResultList<PrismObject<T>> allObjects = cacheRepositoryService.searchObjects(type, null, options, result);
  if (query == null) {
    return allObjects;
  }
  List<PrismObject<T>> filtered = doFiltering(query, allObjects, (o) -> o.getValue());
  List<PrismObject<T>> paged = doPaging(query, filtered, (o) -> o.getValue());
  return new SearchResultList<>(paged);
}

代码示例来源:origin: Evolveum/midpoint

private PrismObject<UserType> findByUsername(String username, OperationResult result) throws SchemaException, ObjectNotFoundException {
  PolyString usernamePoly = new PolyString(username);
  ObjectQuery query = ObjectQueryUtil.createNormNameQuery(usernamePoly, prismContext);
  LOGGER.trace("Looking for user, query:\n" + query.debugDump());
  List<PrismObject<UserType>> list = repositoryService.searchObjects(UserType.class, query, null,
      result);
  LOGGER.trace("Users found: {}.", (list != null ? list.size() : 0));
  if (list == null || list.size() != 1) {
    return null;
  }
  return list.get(0);
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testAllObjectCollections() throws SchemaException {
  OperationResult result = new OperationResult("search");
  List<PrismObject<ObjectCollectionType>> collections = repositoryService.searchObjects(ObjectCollectionType.class, null, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find 1 object", 1, collections.size());
}

代码示例来源:origin: Evolveum/midpoint

private PrismObject getCarla(OperationResult opResult) throws Exception {
  final String CARLA_NAME = "carla";
  PrismObjectDefinition userObjectDef = prismContext.getSchemaRegistry().findObjectDefinitionByCompileTimeClass(UserType.class);
  ObjectQuery query = prismContext.queryFor(UserType.class)
      .item(UserType.F_NAME).eq(CARLA_NAME)
      .build();
  List<PrismObject<UserType>> users = repositoryService.searchObjects(UserType.class, query, null, opResult);
  AssertJUnit.assertEquals(1, users.size());
  return users.get(0);
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testMultivaluedExtensionPropertySubstringUnqualified() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(GenericObjectType.class)
      .item(ObjectType.F_EXTENSION, new QName("multivalued")).contains("slava")
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<GenericObjectType>> resources = repositoryService.searchObjects(GenericObjectType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find one object", 1, resources.size());
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testSearchTasksByArchetypeRef() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(TaskType.class)
      .item(AssignmentHolderType.F_ARCHETYPE_REF).ref(ARCHETYPE1_OID)
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<TaskType>> objects = repositoryService.searchObjects(TaskType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  System.out.println("Tasks found: " + objects);
  assertEquals("Should find 1 object", 1, objects.size());
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testMultivaluedExtensionPropertyEqualsUnqualified() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(GenericObjectType.class)
      .item(ObjectType.F_EXTENSION, new QName("multivalued")).eq("Bratislava")
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<GenericObjectType>> resources = repositoryService.searchObjects(GenericObjectType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find one object", 1, resources.size());
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testShadowPendingOperation() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(ShadowType.class)
      .exists(ShadowType.F_PENDING_OPERATION)
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<ShadowType>> shadows = repositoryService.searchObjects(ShadowType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find one object", 1, shadows.size());
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testResourceUp() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(ResourceType.class)
      .item(ResourceType.F_OPERATIONAL_STATE, OperationalStateType.F_LAST_AVAILABILITY_STATUS).eq(AvailabilityStatusType.UP)
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<ResourceType>> resources = repositoryService.searchObjects(ResourceType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find one resource", 1, resources.size());
}

代码示例来源:origin: Evolveum/midpoint

public List<PrismObject<TaskType>> listPrerequisiteTasksRaw(OperationResult parentResult) throws SchemaException {
  OperationResult result = parentResult.createMinorSubresult(DOT_INTERFACE + "listPrerequisiteTasksRaw");
  result.addContext(OperationResult.CONTEXT_OID, getOid());
  result.addContext(OperationResult.CONTEXT_IMPLEMENTATION_CLASS, TaskQuartzImpl.class);
  ObjectQuery query = getPrismContext().queryFor(TaskType.class)
      .item(TaskType.F_DEPENDENT).eq(getTaskIdentifier())
      .build();
  List<PrismObject<TaskType>> list = taskManager.getRepositoryService().searchObjects(TaskType.class, query, null, result);
  result.recordSuccessIfUnknown();
  return list;
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testFunctionLibrary() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(FunctionLibraryType.class)
      .item(ObjectType.F_NAME).eqPoly("fl1", "fl1").matchingOrig()
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<FunctionLibraryType>> collections = repositoryService.searchObjects(FunctionLibraryType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find 1 object", 1, collections.size());
}

代码示例来源:origin: Evolveum/midpoint

@Test
public void testArchetype() throws SchemaException {
  ObjectQuery query = prismContext.queryFor(ArchetypeType.class)
      .item(ObjectType.F_NAME).eqPoly("archetype1", "archetype1").matchingOrig()
      .build();
  OperationResult result = new OperationResult("search");
  List<PrismObject<ArchetypeType>> collections = repositoryService.searchObjects(ArchetypeType.class, query, null, result);
  result.recomputeStatus();
  assertTrue(result.isSuccess());
  assertEquals("Should find 1 object", 1, collections.size());
}

代码示例来源:origin: Evolveum/midpoint

protected void waitForCampaignTasks(String campaignOid, int timeout, OperationResult result) throws CommonException {
  ObjectQuery query = prismContext.queryFor(TaskType.class)
      .item(TaskType.F_OBJECT_REF).ref(campaignOid)
      .build();
  SearchResultList<PrismObject<TaskType>> campaignTasks = repositoryService.searchObjects(TaskType.class, query, null, result);
  for (PrismObject<TaskType> campaignTask : campaignTasks) {
    if (campaignTask.asObjectable().getExecutionStatus() != TaskExecutionStatusType.CLOSED &&
        campaignTask.asObjectable().getExecutionStatus() != TaskExecutionStatusType.SUSPENDED) {
      waitForTaskFinish(campaignTask.getOid(), false, timeout);
    }
  }
}

相关文章

微信公众号

最新文章

更多