Example usage for org.hibernate.criterion DetachedCriteria add

List of usage examples for org.hibernate.criterion DetachedCriteria add

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria add.

Prototype

public DetachedCriteria add(Criterion criterion) 

Source Link

Document

Add a restriction

Usage

From source file:com.jaspersoft.jasperserver.api.engine.common.service.impl.HibernateLoggingService.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRED)
public List<LogEvent> getUnreadEvents(ExecutionContext context) {
    List<RepoLogEvent> events;
    RepoUser user = userHandler.getPersistentUserFromContext();
    if (user != null) {
        DetachedCriteria criteria = DetachedCriteria.forClass(RepoLogEvent.class);
        criteria.add(Restrictions.eq("state", LogEvent.STATE_UNREAD));
        criteria.add(Restrictions.eq("user", user));
        criteria.addOrder(Order.desc("occurrenceDate"));

        //noinspection unchecked
        events = getHibernateTemplate().findByCriteria(criteria);
    } else {/*from   w w  w.j  a v a2 s . c  om*/
        events = Collections.emptyList();
    }

    return getClientEvents(events);
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.hibernate.HibernateReportJobsPersistenceService.java

License:Open Source License

protected List getReportUnitJobs(final String reportUnitURI) {
    HibernateTemplate hibernateTemplate = getHibernateTemplate();
    DetachedCriteria crit = DetachedCriteria.forClass(PersistentReportJob.class);
    crit.add(Restrictions.eq("source.reportUnitURI", reportUnitURI));
    return hibernateTemplate.findByCriteria(crit);
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.hibernate.HibernateReportJobsPersistenceService.java

License:Open Source License

private void addEqualRestriction(DetachedCriteria crit, String propertyName, Object value) {
    if (value != null)
        crit.add(Restrictions.eq(propertyName, value));
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.hibernate.HibernateReportJobsPersistenceService.java

License:Open Source License

private void addLikeRestriction(DetachedCriteria crit, String propertyName, Object value) {
    if (value != null)
        crit.add(Restrictions.eq(propertyName, value));
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.hibernate.HibernateReportJobsPersistenceService.java

License:Open Source License

protected List getJobsByID(List<ReportJobIdHolder> jobIDList) {
    HibernateTemplate hibernateTemplate = getHibernateTemplate();
    DetachedCriteria crit = DetachedCriteria.forClass(PersistentReportJob.class);
    Disjunction criterion = Restrictions.disjunction();
    for (ReportJobIdHolder idHolder : jobIDList)
        criterion.add(Restrictions.eq("id", idHolder.getId()));
    crit.add(criterion);
    List persistentJobs = hibernateTemplate.findByCriteria(crit);
    return persistentJobs;
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.hibernate.HibernateReportJobsPersistenceService.java

License:Open Source License

protected List getJobs(List<ReportJob> jobIDList) {
    HibernateTemplate hibernateTemplate = getHibernateTemplate();
    DetachedCriteria crit = DetachedCriteria.forClass(PersistentReportJob.class);
    Disjunction criterion = Restrictions.disjunction();
    for (ReportJob idHolder : jobIDList)
        criterion.add(Restrictions.eq("id", idHolder.getId()));
    crit.add(criterion);
    List persistentJobs = hibernateTemplate.findByCriteria(crit);
    return persistentJobs;
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryCache.java

License:Open Source License

protected CachedItem getCachedItem(String uri, RepositoryCacheableItem cacheableItem,
        boolean clearPendingSavesCreatedByFindByCriteria, Session session) {
    if (log.isDebugEnabled()) {
        log.debug("HibernateRepositoryCache:  Looking in repository cache \"" + cacheableItem.getCacheName()
                + "\" for resource \"" + uri);
    }// w  w  w .ja va2 s  .  co m

    DetachedCriteria criteria = DetachedCriteria.forClass(CachedItem.class);
    criteria.add(Restrictions.naturalId().set("cacheName", cacheableItem.getCacheName()).set("uri", uri));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);
    List list = null;

    if (setFindByCriteriaToReadOnly) {
        // flush all pending saves, updates and deletes to the database (However, it may slows down the performance, since we have to synchronize the method
        list = findByCritera(criteria, clearPendingSavesCreatedByFindByCriteria);
    } else {
        // no synchronization, but spring hibernate template creates an extra update statement when calling findByCriteria
        if (session == null)
            list = getHibernateTemplate().findByCriteria(criteria);
        else
            list = criteria.getExecutableCriteria(session).list();
    }

    CachedItem item = null;
    if (list.isEmpty()) {
        if (log.isDebugEnabled()) {
            log.debug("did not find \"" + uri + "\" in cache " + cacheableItem.getCacheName());
        }
        item = null;
    } else {
        item = (CachedItem) list.get(0);
        if (log.isDebugEnabled()) {
            log.debug("found \"" + uri + "\" in cache " + cacheableItem.getCacheName() + ". isReference: "
                    + item.isItemReference());
        }
    }
    return item;
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java

License:Open Source License

protected RepoFolder getFolder(String uri, boolean required) {
    if (uri == null || uri.length() == 0 || uri.equals(Folder.SEPARATOR)) {
        return getRootFolder();
    }// w  w  w  . jav a 2s.c  o  m

    // Deal with URIs that come with "repo:" on the front

    final String repoURIPrefix = Resource.URI_PROTOCOL + ":";
    String workUri = uri.startsWith(repoURIPrefix) ? uri.substring(repoURIPrefix.length()) : uri;

    DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class);
    criteria.add(Restrictions.naturalId().set("URI", workUri));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);
    List foldersList = getHibernateTemplate().findByCriteria(criteria);
    RepoFolder folder;
    if (foldersList.isEmpty()) {
        if (required) {
            String quotedURI = "\"" + uri + "\"";
            throw new JSResourceNotFoundException("jsexception.folder.not.found.at",
                    new Object[] { quotedURI });
        }

        log.debug("Folder not found at \"" + uri + "\"");
        folder = null;
    } else {
        folder = (RepoFolder) foldersList.get(0);
    }
    return folder;
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java

License:Open Source License

protected RepoFolder getRootFolder() {
    DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class);
    criteria.add(Restrictions.naturalId().set("URI", Folder.SEPARATOR));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);
    List foldersList = getHibernateTemplate().findByCriteria(criteria);
    RepoFolder root;/*from w w w. j a  va2s.c  om*/
    if (foldersList.isEmpty()) {
        root = null;
    } else {
        root = (RepoFolder) foldersList.get(0);
    }
    return root;
}

From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java

License:Open Source License

protected List<ResourceLookup> getResourcesByIdList(List<Long> idList,
        SearchCriteriaFactory searchCriteriaFactory) {
    List resourceList = new ArrayList();

    if (!idList.isEmpty()) {
        DetachedCriteria criteria = searchCriteriaFactory != null
                ? searchCriteriaFactory.create(ExecutionContextImpl.getRuntimeExecutionContext(), null)
                : DetachedCriteria.forClass(RepoResource.class);
        criteria.add(Restrictions.in("id", idList));
        resourceList = getHibernateTemplate().findByCriteria(criteria);
    }/*w  w w.  j ava2s. c  om*/

    // Reordering is required because the result (resource) list is not in the same order as id list.
    List orderedResourceList = orderByIdList(resourceList, idList);

    return toLookups(orderedResourceList, true);
}