Search in sources :

Example 86 with Filter

use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.

the class MetricService method findMetricEntry.

public Map<MetricType, List<? extends MetricEntry>> findMetricEntry(ApplicationType applicationType, String applianceInum, List<MetricType> metricTypes, Date startDate, Date endDate, String... returnAttributes) {
    prepareBranch(null, applicationType);
    Map<MetricType, List<? extends MetricEntry>> result = new HashMap<MetricType, List<? extends MetricEntry>>();
    if ((metricTypes == null) || (metricTypes.size() == 0)) {
        return result;
    }
    // Prepare list of DNs
    Set<String> metricDns = getBaseDnForPeriod(applicationType, applianceInum, startDate, endDate);
    if (metricDns.size() == 0) {
        return result;
    }
    for (MetricType metricType : metricTypes) {
        List<MetricEntry> metricTypeResult = new LinkedList<MetricEntry>();
        for (String metricDn : metricDns) {
            List<Filter> metricTypeFilters = new ArrayList<Filter>();
            Filter applicationTypeFilter = Filter.createEqualityFilter("oxApplicationType", applicationType.getValue());
            Filter eventTypeTypeFilter = Filter.createEqualityFilter("oxMetricType", metricType.getValue());
            Filter startDateFilter = Filter.createGreaterOrEqualFilter("oxStartDate", ldapEntryManager.encodeGeneralizedTime((startDate)));
            Filter endDateFilter = Filter.createLessOrEqualFilter("oxEndDate", ldapEntryManager.encodeGeneralizedTime(endDate));
            metricTypeFilters.add(applicationTypeFilter);
            metricTypeFilters.add(eventTypeTypeFilter);
            metricTypeFilters.add(startDateFilter);
            metricTypeFilters.add(endDateFilter);
            Filter filter = Filter.createANDFilter(metricTypeFilters);
            List<? extends MetricEntry> metricTypeMonthResult = (List<? extends MetricEntry>) ldapEntryManager.findEntries(metricDn, metricType.getMetricEntryType(), filter, returnAttributes);
            metricTypeResult.addAll(metricTypeMonthResult);
        }
        // Sort entries to avoid calculation errors
        ldapEntryManager.sortListByProperties(MetricEntry.class, metricTypeResult, false, "creationDate");
        result.put(metricType, metricTypeResult);
    }
    return result;
}
Also used : HashMap(java.util.HashMap) MetricType(org.xdi.model.metric.MetricType) ArrayList(java.util.ArrayList) MetricEntry(org.xdi.model.metric.ldap.MetricEntry) LinkedList(java.util.LinkedList) Filter(org.gluu.search.filter.Filter) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) List(java.util.List)

Example 87 with Filter

use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.

the class MetricService method findAllPeriodBranches.

public List<SimpleBranch> findAllPeriodBranches(DefaultBatchOperation<SimpleBranch> batchOperation, ApplicationType applicationType, String applianceInum, int sizeLimit, int chunkSize) {
    String baseDn = buildDn(null, null, applicationType, applianceInum);
    Filter skipRootDnFilter = Filter.createNOTFilter(Filter.createEqualityFilter("ou", applicationType.getValue()));
    return ldapEntryManager.findEntries(baseDn, SimpleBranch.class, skipRootDnFilter, SearchScope.SUB, new String[] { "ou" }, batchOperation, 0, sizeLimit, chunkSize);
}
Also used : Filter(org.gluu.search.filter.Filter)

Example 88 with Filter

use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.

the class AbstractCustomScriptService method findCustomAuthScripts.

public List<CustomScript> findCustomAuthScripts(String pattern, int sizeLimit) {
    String[] targetArray = new String[] { pattern };
    Filter descriptionFilter = Filter.createSubstringFilter(OxConstants.DESCRIPTION, null, targetArray, null);
    Filter scriptTypeFilter = Filter.createEqualityFilter(OxConstants.SCRIPT_TYPE, CustomScriptType.PERSON_AUTHENTICATION);
    Filter displayNameFilter = Filter.createSubstringFilter(OxConstants.DISPLAY_NAME, null, targetArray, null);
    Filter searchFilter = Filter.createORFilter(descriptionFilter, displayNameFilter);
    return persistenceEntryManager.findEntries(baseDn(), CustomScript.class, Filter.createANDFilter(searchFilter, scriptTypeFilter), sizeLimit);
}
Also used : Filter(org.gluu.search.filter.Filter)

Example 89 with Filter

use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.

the class AbstractCustomScriptService method getCustomScriptByINum.

public Optional<CustomScript> getCustomScriptByINum(String baseDn, String inum, String... returnAttributes) {
    final List<Filter> customScriptTypeFilters = new ArrayList<Filter>();
    final Filter customScriptTypeFilter = Filter.createEqualityFilter("inum", inum);
    customScriptTypeFilters.add(customScriptTypeFilter);
    final Filter filter = Filter.createORFilter(customScriptTypeFilters);
    final List<CustomScript> result = persistenceEntryManager.findEntries(baseDn, CustomScript.class, filter, returnAttributes);
    if (result.isEmpty()) {
        return Optional.absent();
    }
    return Optional.of(result.get(0));
}
Also used : CustomScript(org.gluu.model.custom.script.model.CustomScript) Filter(org.gluu.search.filter.Filter) ArrayList(java.util.ArrayList)

Example 90 with Filter

use of org.gluu.search.filter.Filter in project oxTrust by GluuFederation.

the class CacheRefreshTimer method updateTargetEntriesViaVDS.

private List<String> updateTargetEntriesViaVDS(CacheRefreshConfiguration cacheRefreshConfiguration, LdapServerConnection targetServerConnection, Set<String> changedInums) {
    List<String> result = new ArrayList<String>();
    PersistenceEntryManager targetPersistenceEntryManager = targetServerConnection.getPersistenceEntryManager();
    Filter filter = cacheRefreshService.createObjectClassPresenceFilter();
    for (String changedInum : changedInums) {
        String baseDn = "action=synchronizecache," + personService.getDnForPerson(changedInum);
        try {
            targetPersistenceEntryManager.findEntries(baseDn, DummyEntry.class, filter, SearchScope.SUB, null, null, 0, 0, cacheRefreshConfiguration.getLdapSearchSizeLimit());
            result.add(changedInum);
            log.debug("Updated entry with inum {}", changedInum);
        } catch (BasePersistenceException ex) {
            log.error("Failed to update entry with inum '{}' using baseDN {}", changedInum, baseDn, ex);
        }
    }
    return result;
}
Also used : PersistenceEntryManager(org.gluu.persist.PersistenceEntryManager) BasePersistenceException(org.gluu.persist.exception.BasePersistenceException) Filter(org.gluu.search.filter.Filter) ArrayList(java.util.ArrayList)

Aggregations

Filter (org.gluu.search.filter.Filter)122 ArrayList (java.util.ArrayList)34 GluuCustomPerson (org.gluu.oxtrust.model.GluuCustomPerson)9 EntryPersistenceException (org.gluu.persist.exception.mapping.EntryPersistenceException)7 MappingException (org.gluu.persist.exception.mapping.MappingException)7 EntryPersistenceException (org.gluu.persist.exception.EntryPersistenceException)6 SearchException (org.gluu.persist.exception.operation.SearchException)6 List (java.util.List)5 GluuAttribute (org.gluu.model.GluuAttribute)5 PropertyAnnotation (org.gluu.persist.model.PropertyAnnotation)5 SearchResult (com.unboundid.ldap.sdk.SearchResult)4 ParseException (java.text.ParseException)4 GluuGroup (org.gluu.oxtrust.model.GluuGroup)4 PersistenceEntryManager (org.gluu.persist.PersistenceEntryManager)4 AuthenticationException (org.gluu.persist.exception.operation.AuthenticationException)4 ConnectionException (org.gluu.persist.exception.operation.ConnectionException)4 SearchScopeException (org.gluu.persist.exception.operation.SearchScopeException)4 GluuAttribute (org.xdi.model.GluuAttribute)4 SearchResultEntry (com.unboundid.ldap.sdk.SearchResultEntry)3 Date (java.util.Date)3