List of usage examples for org.hibernate.criterion DetachedCriteria forClass
public static DetachedCriteria forClass(Class clazz)
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);//from ww w . j av a 2s .com List persistentJobs = hibernateTemplate.findByCriteria(crit); return persistentJobs; }
From source file:com.jaspersoft.jasperserver.api.logging.access.service.impl.AccessServiceImpl.java
License:Open Source License
public List<AccessEvent> getAllEvents(int firstResult, int maxResults) { DetachedCriteria criteria = DetachedCriteria .forClass(persistentClassFactory.getImplementationClass(AccessEvent.class)); criteria.addOrder(Order.asc("eventDate")); List results = getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults); if (results != null && !results.isEmpty()) { List<AccessEvent> clientEventsList = new ArrayList<AccessEvent>(results.size()); Log logger = LogFactory.getLog(COMMAND_OUT_LOGGER); for (Object event : results) { try { AccessEvent accessEvent = (AccessEvent) ((IdedObject) event).toClient(clientClassFactory); clientEventsList.add(accessEvent); } catch (AccessEventImpl.TranslateException aex) { logger.debug(/* ww w . j a v a 2s . c o m*/ "Unable to translate access event: resource = " + aex.getResource().getClass() + ", factory = " + aex.getResourceFactory().getClass(), aex.getOriginalException()); } catch (Exception ex) { logger.debug("Unable to translate access event", ex); } } return clientEventsList; } else { return Collections.emptyList(); } }
From source file:com.jaspersoft.jasperserver.api.logging.access.service.impl.AccessServiceImpl.java
License:Open Source License
public int getAccessEventsCount() { DetachedCriteria criteria = DetachedCriteria .forClass(persistentClassFactory.getImplementationClass(AccessEvent.class)); criteria.setProjection(Projections.rowCount()); return (Integer) getHibernateTemplate().findByCriteria(criteria).get(0); }
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); }// ww w . j a va 2 s . c o 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 .j a va 2 s . co 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 ww w. j a v a 2s. c o m 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); }/* ww w. j a v a 2s . c o m*/ // 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); }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java
License:Open Source License
protected DetachedCriteria translateFilterToCriteria(FilterCriteria filterCriteria) { Class filterClass = filterCriteria == null ? null : filterCriteria.getFilterClass(); Class persistentClass;/*w w w. jav a2 s .c o m*/ if (filterClass == null) { persistentClass = RepoResource.class; //persistentClass = RepoOlapUnit.class; } else { persistentClass = getPersistentClassMappings().getImplementationClass(filterClass); } DetachedCriteria criteria; if (persistentClass == null) { criteria = null; } else { criteria = DetachedCriteria.forClass(persistentClass); criteria.createAlias("parent", "parent"); criteria.add(Restrictions.eq("parent.hidden", Boolean.FALSE)); if (filterCriteria != null) { List filterElements = filterCriteria.getFilterElements(); if (!filterElements.isEmpty()) { Conjunction conjunction = Restrictions.conjunction(); HibernateFilter filter = new HibernateFilter(conjunction, this); for (Iterator it = filterElements.iterator(); it.hasNext();) { FilterElement filterElement = (FilterElement) it.next(); filterElement.apply(filter); } criteria.add(conjunction); } } } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java
License:Open Source License
protected DetachedCriteria resourceNameCriteria(Class persistentClass, RepoFolder folder, String name) { DetachedCriteria criteria = DetachedCriteria.forClass(persistentClass); criteria.add(Restrictions.naturalId().set("name", name).set("parent", folder)); return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java
License:Open Source License
@Transactional(propagation = Propagation.REQUIRED) public int getFoldersCount(final String parentURI) { return (Integer) executeCallback(new DaoCallback() { public Object execute() { DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class); criteria.add(Restrictions.eq("hidden", Boolean.FALSE)); criteria.setProjection(Projections.rowCount()); if (parentURI != null && !Folder.SEPARATOR.equals(parentURI)) { criteria.add(Restrictions.or( (parentURI.contains("%")) ? Restrictions.eq("URI", parentURI) : Restrictions.like("URI", parentURI), Restrictions.like("URI", parentURI + "/%"))); }/*from w w w . j a va 2 s .c om*/ return new BasicTransformer().transformToCount(getHibernateTemplate().findByCriteria(criteria)); } }); }