Search in sources :

Example 11 with Filter

use of io.jans.orm.search.filter.Filter in project jans by JanssenProject.

the class AbstractCustomScriptService method findScriptByPatternAndType.

public List<CustomScript> findScriptByPatternAndType(String pattern, CustomScriptType type, int sizeLimit) {
    String baseDn = baseDn();
    Filter filter = buildFindByPatterAndTypeFilter(baseDn, pattern, type);
    return persistenceEntryManager.findEntries(baseDn(), CustomScript.class, filter, sizeLimit);
}
Also used : Filter(io.jans.orm.search.filter.Filter)

Example 12 with Filter

use of io.jans.orm.search.filter.Filter in project jans by JanssenProject.

the class MetricService method findAllPeriodBranches.

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

Example 13 with Filter

use of io.jans.orm.search.filter.Filter in project jans by JanssenProject.

the class MetricService method findMetricEntry.

public Map<MetricType, List<? extends MetricEntry>> findMetricEntry(ApplicationType applicationType, 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, 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("jansAppTyp", applicationType.getValue());
            Filter eventTypeTypeFilter = Filter.createEqualityFilter("jansMetricTyp", metricType.getValue());
            Filter startDateFilter = Filter.createGreaterOrEqualFilter("jansStartDate", getEntryManager().encodeTime(metricDn, (startDate)));
            Filter endDateFilter = Filter.createLessOrEqualFilter("jansEndDate", getEntryManager().encodeTime(metricDn, 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>) getEntryManager().findEntries(metricDn, metricType.getMetricEntryType(), filter, returnAttributes);
            metricTypeResult.addAll(metricTypeMonthResult);
        }
        // Sort entries to avoid calculation errors
        getEntryManager().sortListByProperties(MetricEntry.class, metricTypeResult, false, "creationDate");
        result.put(metricType, metricTypeResult);
    }
    return result;
}
Also used : MetricType(io.jans.model.metric.MetricType) MetricEntry(io.jans.model.metric.ldap.MetricEntry) Filter(io.jans.orm.search.filter.Filter)

Example 14 with Filter

use of io.jans.orm.search.filter.Filter in project jans by JanssenProject.

the class LookupService method getDisplayNameEntries.

/**
 * Returns list of DisplayNameEntry objects
 *
 * @param baseDn
 *            base DN
 * @param dns
 *            list of display names to find
 * @return list of DisplayNameEntry objects
 */
@SuppressWarnings("unchecked")
public <T> List<T> getDisplayNameEntries(String baseDn, Class<T> entryClass, List<String> dns) {
    List<String> inums = getInumsFromDns(dns);
    if (inums.size() == 0) {
        return null;
    }
    String key = getCompoundKey(entryClass, inums);
    List<T> entries = (List<T>) cacheService.get(OxConstants.CACHE_LOOKUP_NAME, key);
    if (entries == null) {
        Filter searchFilter = buildInumFilter(inums);
        entries = persistenceEntryManager.findEntries(baseDn, entryClass, searchFilter);
        cacheService.put(OxConstants.CACHE_LOOKUP_NAME, key, entries);
    }
    return entries;
}
Also used : Filter(io.jans.orm.search.filter.Filter) ArrayList(java.util.ArrayList) List(java.util.List)

Example 15 with Filter

use of io.jans.orm.search.filter.Filter in project jans by JanssenProject.

the class AuthenticationPersistenceService method getExpiredAuthenticationFilter.

private Filter getExpiredAuthenticationFilter(String baseDn) {
    int unfinishedRequestExpiration = appConfiguration.getFido2Configuration().getUnfinishedRequestExpiration();
    unfinishedRequestExpiration = unfinishedRequestExpiration == 0 ? 120 : unfinishedRequestExpiration;
    int authenticationHistoryExpiration = appConfiguration.getFido2Configuration().getAuthenticationHistoryExpiration();
    authenticationHistoryExpiration = authenticationHistoryExpiration == 0 ? 15 * 24 * 3600 : authenticationHistoryExpiration;
    Calendar calendar1 = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
    calendar1.add(Calendar.SECOND, -unfinishedRequestExpiration);
    final Date unfinishedRequestExpirationDate = calendar1.getTime();
    Calendar calendar2 = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
    calendar2.add(Calendar.SECOND, -authenticationHistoryExpiration);
    final Date authenticationHistoryExpirationDate = calendar2.getTime();
    // Build unfinished request expiration filter
    Filter authenticationStatusFilter1 = Filter.createNOTFilter(Filter.createEqualityFilter("jansStatus", Fido2AuthenticationStatus.authenticated.getValue()));
    Filter exirationDateFilter1 = Filter.createLessOrEqualFilter("creationDate", persistenceEntryManager.encodeTime(baseDn, unfinishedRequestExpirationDate));
    Filter unfinishedRequestFilter = Filter.createANDFilter(authenticationStatusFilter1, exirationDateFilter1);
    // Build authentication history expiration filter
    Filter authenticationStatusFilter2 = Filter.createEqualityFilter("jansStatus", Fido2AuthenticationStatus.authenticated.getValue());
    Filter exirationDateFilter2 = Filter.createLessOrEqualFilter("creationDate", persistenceEntryManager.encodeTime(baseDn, authenticationHistoryExpirationDate));
    Filter authenticationHistoryFilter = Filter.createANDFilter(authenticationStatusFilter2, exirationDateFilter2);
    return Filter.createORFilter(unfinishedRequestFilter, authenticationHistoryFilter);
}
Also used : Filter(io.jans.orm.search.filter.Filter) GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) Date(java.util.Date)

Aggregations

Filter (io.jans.orm.search.filter.Filter)188 Test (org.testng.annotations.Test)50 EntryPersistenceException (io.jans.orm.exception.EntryPersistenceException)32 ConvertedExpression (io.jans.orm.couchbase.model.ConvertedExpression)28 SearchException (io.jans.orm.exception.operation.SearchException)25 ConvertedExpression (io.jans.orm.sql.model.ConvertedExpression)24 MappingException (io.jans.orm.exception.MappingException)22 ArrayList (java.util.ArrayList)21 AuthenticationException (io.jans.orm.exception.AuthenticationException)20 PropertyAnnotation (io.jans.orm.reflect.property.PropertyAnnotation)19 EntryDeleteException (io.jans.orm.exception.EntryDeleteException)18 Date (java.util.Date)14 List (java.util.List)14 SqlEntryManager (io.jans.orm.sql.impl.SqlEntryManager)11 SqlEntryManagerSample (io.jans.orm.sql.persistence.SqlEntryManagerSample)11 CustomAttribute (io.jans.orm.model.base.CustomAttribute)9 CustomObjectAttribute (io.jans.orm.model.base.CustomObjectAttribute)9 DateTimeParseException (java.time.format.DateTimeParseException)9 SpannerEntryManager (io.jans.orm.cloud.spanner.impl.SpannerEntryManager)8 SpannerEntryManagerSample (io.jans.orm.cloud.spanner.persistence.SpannerEntryManagerSample)8