/** * Performs search on connector facade with specified object class, filter and operation options. * @return Map of {@link Uid}s to {@link ConnectorObject}s that were found. */ public static Map<Uid, ConnectorObject> search2Map(ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final Map<Uid, ConnectorObject> foundObjects = new Hashtable<Uid, ConnectorObject>(); connectorFacade.search(objClass, filter, new ResultsHandler() { public boolean handle(ConnectorObject obj) { foundObjects.put(obj.getUid(), obj); return true; } }, opOptions); return foundObjects; }
/** * Performs search on connector facade with specified object class, filter and operation options. * @return list of found objects. */ public static List<ConnectorObject> search(ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final List<ConnectorObject> foundObjects = new ArrayList<ConnectorObject>(); connectorFacade.search(objClass, filter, new ResultsHandler() { public boolean handle(ConnectorObject obj) { foundObjects.add(obj); return true; } }, opOptions); return foundObjects; }
/** * Performs search on connector facade with specified object class, filter and operation options. * * @return list of found objects. */ public static List<ConnectorObject> search( ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final List<ConnectorObject> foundObjects = new ArrayList<>(); connectorFacade.search(objClass, filter, (ConnectorObject obj) -> { foundObjects.add(obj); return true; }, opOptions); return foundObjects; }
/** * Performs search on connector facade with specified object class, filter and operation options. * * @return list of found objects. */ public static List<ConnectorObject> search(ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final List<ConnectorObject> foundObjects = new ArrayList<ConnectorObject>(); connectorFacade.search(objClass, filter, new ResultsHandler() { public boolean handle(ConnectorObject obj) { foundObjects.add(obj); return true; } }, opOptions); return foundObjects; }
/** * Performs search on connector facade with specified object class, filter and operation options. * * @return Map of {@link Uid}s to {@link ConnectorObject}s that were found. */ public static Map<Uid, ConnectorObject> search2Map(ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final Map<Uid, ConnectorObject> foundObjects = new HashMap<Uid, ConnectorObject>(); connectorFacade.search(objClass, filter, new ResultsHandler() { @Override public boolean handle(ConnectorObject obj) { foundObjects.put(obj.getUid(), obj); return true; } }, opOptions); return foundObjects; }
/** * Performs search on connector facade with specified object class, filter and operation options. * * @return Map of {@link Uid}s to {@link ConnectorObject}s that were found. */ public static Map<Uid, ConnectorObject> search2Map( ConnectorFacade connectorFacade, ObjectClass objClass, Filter filter, OperationOptions opOptions) { final Map<Uid, ConnectorObject> foundObjects = new HashMap<>(); connectorFacade.search(objClass, filter, (obj) -> { foundObjects.put(obj.getUid(), obj); return true; }, opOptions); return foundObjects; }
/** * Performs search on connector facade and filters only searched object by its name. * @return found object */ static ConnectorObject findObjectByName(ConnectorFacade connectorFacade, ObjectClass objClass, String name, OperationOptions opOptions) { Filter nameFilter = FilterBuilder.equalTo(new Name(name)); final List<ConnectorObject> foundObjects = new ArrayList<ConnectorObject>(); connectorFacade.search(objClass, nameFilter, new ResultsHandler() { public boolean handle(ConnectorObject obj) { foundObjects.add(obj); return false; } }, opOptions); if(foundObjects.size() > 0) { Assert.assertEquals("Name should be unique, but found multiple objects with the same name", 1, foundObjects.size()); } else { return null; } return foundObjects.get(0); }
/** * Performs search on connector facade and filters only searched object by its name. * * @return found object */ static ConnectorObject findObjectByName(ConnectorFacade connectorFacade, ObjectClass objClass, String name, OperationOptions opOptions) { Filter nameFilter = FilterBuilder.equalTo(new Name(name)); final List<ConnectorObject> foundObjects = new ArrayList<>(); connectorFacade.search(objClass, nameFilter, (ConnectorObject obj) -> { foundObjects.add(obj); return false; }, opOptions); if (foundObjects.size() > 0) { assertEquals(foundObjects.size(), 1, "Name should be unique, but found multiple objects with the same name"); } else { return null; } return foundObjects.get(0); }
/** * Performs search on connector facade and filters only searched object by its name. * * @return found object */ static ConnectorObject findObjectByName(ConnectorFacade connectorFacade, ObjectClass objClass, String name, OperationOptions opOptions) { Filter nameFilter = FilterBuilder.equalTo(new Name(name)); final List<ConnectorObject> foundObjects = new ArrayList<ConnectorObject>(); connectorFacade.search(objClass, nameFilter, new ResultsHandler() { public boolean handle(ConnectorObject obj) { foundObjects.add(obj); return false; } }, opOptions); if (foundObjects.size() > 0) { assertEquals("Name should be unique, but found multiple objects with the same name", 1, foundObjects.size()); } else { return null; } return foundObjects.get(0); }
@Async public Future<ConnectorObject> getObject( final ConnectorFacade connector, final ObjectClass objectClass, final Attribute connObjectKey, final boolean ignoreCaseMatch, final OperationOptions options) { ConnectorObject[] objects = new ConnectorObject[1]; connector.search( objectClass, ignoreCaseMatch ? FilterBuilder.equalsIgnoreCase(connObjectKey) : FilterBuilder.equalTo(connObjectKey), new SearchResultsHandler() { @Override public boolean handle(final ConnectorObject connectorObject) { objects[0] = connectorObject; return false; } @Override public void handleResult(final SearchResult sr) { // do nothing } }, options); return new AsyncResult<>(objects[0]); }
InternalMonitor.recordConnectorOperation("search"); recordIcfOperationStart(reporter, ProvisioningOperation.ICF_SEARCH, objectClassDefinition); SearchResult searchResult = connIdConnectorFacade.search(icfObjectClass, filter, connIdHandler, options); recordIcfOperationEnd(reporter, ProvisioningOperation.ICF_SEARCH, objectClassDefinition);
connIdSearchResult = connIdConnectorFacade.search(icfObjectClass, filter, connIdHandler, options); recordIcfOperationEnd(reporter, ProvisioningOperation.ICF_SEARCH, objectClassDefinition);