List of usage examples for org.hibernate.criterion DetachedCriteria add
public DetachedCriteria add(Criterion criterion)
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); }