List of usage examples for org.hibernate.criterion Projections count
public static CountProjection count(String propertyName)
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
@Test public void testEmptyResultCriteria() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); UserNote instance = (UserNote) userList.get(0).getUserNoteSet().toArray()[0]; Transaction t = session.beginTransaction(); Criteria notesCriteria = session.createCriteria(UserNote.class); notesCriteria.setProjection(Projections.projectionList().add(Projections.count("text"))); notesCriteria.add(Restrictions.isNull("text")); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, UserNote.class, notesCriteria, null, null, null, null); EntityPermission<UserNote> instancePermission = new EntityPermission<UserNote>(EntityOperation.LOAD, instance.getId(), instance); try {/*from w ww . j av a2s . c om*/ SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (Exception e) { } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
@Test public void testOnlyRootCriteria() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); UserNote instance = (UserNote) userList.get(0).getUserNoteSet().toArray()[0]; Transaction t = session.beginTransaction(); Criteria notesCriteria = session.createCriteria(UserNote.class); notesCriteria.setProjection(Projections.projectionList().add(Projections.count("text"))); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, UserNote.class, notesCriteria, null, null, null, null); EntityPermission<UserNote> instancePermission = new EntityPermission<UserNote>(EntityOperation.LOAD, instance.getId(), instance); try {// ww w.j a v a 2s . c o m SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); } catch (Exception e) { fail(e.getMessage()); } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
@Test public void testRootAndEntityAreSameCriteria() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); UserNote instance = (UserNote) userList.get(0).getUserNoteSet().toArray()[0]; Transaction t = session.beginTransaction(); Criteria notesCriteria = session.createCriteria(UserNote.class); notesCriteria.setProjection(Projections.projectionList().add(Projections.count("text"))); Criteria userCriteria = notesCriteria.createCriteria("user"); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, UserNote.class, notesCriteria, userCriteria, notesCriteria, "username", "id"); EntityPermission<UserNote> instancePermission = new EntityPermission<UserNote>(EntityOperation.LOAD, instance.getId(), instance); try {/*from w w w . j a va 2 s.c o m*/ SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); } catch (Exception e) { fail(e.getMessage()); } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
@Test public void testRootAndPrincipalAreSameCriteria() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); User instance = userList.get(0);// w ww.j a va2 s .c om Transaction t = session.beginTransaction(); Criteria userCriteria = session.createCriteria(User.class); userCriteria.setProjection(Projections.projectionList().add(Projections.count("username"))); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, User.class, userCriteria, userCriteria, null, "username", "id"); EntityPermission<User> instancePermission = new EntityPermission<User>(EntityOperation.LOAD, instance.getUsername(), instance); try { SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); } catch (Exception e) { fail(e.getMessage()); } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestCriteriaEntityPermission.java
License:Apache License
@Test public void testAllCriteriaAreSame() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); User instance = userList.get(0);/*from w w w . j a v a2 s . com*/ Transaction t = session.beginTransaction(); Criteria userCriteria = session.createCriteria(User.class); userCriteria.setProjection(Projections.projectionList().add(Projections.count("username"))); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, User.class, userCriteria, userCriteria, userCriteria, "username", "id"); EntityPermission<User> instancePermission = new EntityPermission<User>(EntityOperation.LOAD, instance.getUsername(), instance); try { SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); } catch (Exception e) { fail(e.getMessage()); } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestQualifiedEntityPermission.java
License:Apache License
@Test public void testEntityNotAssignable() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); UserNote instance = (UserNote) userList.get(0).getUserNoteSet().toArray()[0]; Transaction t = session.beginTransaction(); Criteria notesCriteria = session.createCriteria(UserNote.class); notesCriteria.setProjection(Projections.projectionList().add(Projections.count("text"))); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, UserNote.class, notesCriteria, null, null, null, null); EntityPermission<User> instancePermission = new EntityPermission<User>(EntityOperation.LOAD, instance.getId(), userList.get(0)); try {/*w w w .j ava 2 s. c om*/ SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (Exception e) { } t.rollback(); }
From source file:org.xchain.namespaces.hibernate.test.TestQualifiedEntityPermission.java
License:Apache License
@Test public void testPermissionNotImplied() throws Exception { Session session = HibernateLifecycle.getCurrentSession(); IdentityManager.instance().loggedIn(new UsernamePrincipal(userList.get(0).getUsername())); UserNote instance = (UserNote) userList.get(0).getUserNoteSet().toArray()[0]; Transaction t = session.beginTransaction(); Criteria notesCriteria = session.createCriteria(UserNote.class); notesCriteria.setProjection(Projections.projectionList().add(Projections.count("text"))); CriteriaEntityPermission p = new CriteriaEntityPermission(EntityOperation.LOAD, UserNote.class, notesCriteria, null, null, null, null); EntityPermission<UserNote> instancePermission = new EntityPermission<UserNote>(EntityOperation.UPDATE, instance.getId(), instance); try {/*from w ww .j a v a 2 s .c o m*/ SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (SecurityException e) { } try { IdentityManager.instance().getIdentity().getPermissions().add(p); SecurityManager.instance().checkPermission(instancePermission); fail(); } catch (Exception e) { } t.rollback(); }
From source file:org.xerela.provider.devices.DeviceResolutionElf.java
License:Mozilla Public License
/** * Populates a {@link PageData} with the results for the given criteria. * @param pageData The page to retrieve. * @param criteria The query./*from ww w .j a v a2 s . c o m*/ * @param sortColumn The sort column or <code>null</code> * @param descending <code>true</code> for descending sort, <code>false</code> otherwise. * @return The populated page. */ public static PageData populatePageData(PageData pageData, Criteria criteria, String sortColumn, boolean descending) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("populatePageData from criteria: " + criteria.toString()); //$NON-NLS-1$ } criteria.scroll(ScrollMode.SCROLL_INSENSITIVE); if (pageData.getOffset() == 0) { // Set the total result size into the page data. criteria.setProjection(Projections.count(ATTR_DEVICE_ID)); Object uniqueResult = criteria.uniqueResult(); if (uniqueResult instanceof Integer) { pageData.setTotal((Integer) uniqueResult); } else if (uniqueResult instanceof Long) { pageData.setTotal(((Long) uniqueResult).intValue()); } else { pageData.setTotal(((BigInteger) uniqueResult).intValue()); } criteria.setProjection(null); } if (sortColumn != null) { if (sortColumn.equals(ATTR_IP_ADDRESS)) { criteria.addOrder(descending ? Order.desc(ATTR_IP_HIGH) : Order.asc(ATTR_IP_HIGH)) .addOrder(descending ? Order.desc(ATTR_IP_LOW) : Order.asc(ATTR_IP_LOW)); } else { criteria.addOrder((descending ? Order.desc(sortColumn.trim()) : Order.asc(sortColumn.trim()))); } } List<ZDeviceLite> list = new ArrayList<ZDeviceLite>(); ScrollableResults scroll = criteria.scroll(); while (scroll.next()) { Object[] objects = scroll.get(); list.add((ZDeviceLite) objects[0]); } scroll.close(); pageData.setDevices(list.toArray(new ZDeviceLite[0])); return pageData; }
From source file:org.xerela.provider.scheduler.Scheduler.java
License:Mozilla Public License
/** {@inheritDoc} */ public PageData getExecutionData(PageData pageData, String sortColumn, boolean descending) { Session session = SchedulerActivator.getSessionFactory().getCurrentSession(); Criteria criteria = session.createCriteria(ExecutionData.class).add(Restrictions.isNotNull("startTime")) .setFirstResult(pageData.getOffset()).setMaxResults(pageData.getPageSize()); if (pageData.getOffset() == 0) { // Set the total result size into the page data. criteria.setProjection(Projections.count("id")); Integer total = (Integer) criteria.uniqueResult(); pageData.setTotal(total);/* www .ja v a2 s . co m*/ criteria.setProjection(null); } if (sortColumn != null) { criteria.addOrder((descending ? Order.desc(sortColumn.trim()) : Order.asc(sortColumn.trim()))); } List<ExecutionData> list = new ArrayList<ExecutionData>(); ScrollableResults scroll = criteria.scroll(ScrollMode.SCROLL_INSENSITIVE); while (scroll.next()) { list.add((ExecutionData) scroll.get(0)); } scroll.close(); pageData.setExecutionData(list); return pageData; }
From source file:postgreHibernateClient.postgreCacheClient.java
License:Open Source License
@Override public HashMap<String, String> getInitialStats() { HashMap<String, String> stats = new HashMap<String, String>(); session = sessionFactory.openSession(); try {/*from w ww . jav a 2s. c om*/ tx = session.beginTransaction(); Criteria c = session.createCriteria(USERS.class).setProjection(Projections.count("userid")); Long usercount = (Long) c.list().get(0); usercount = usercount > 0 ? usercount : 0; stats.put("usercount", Long.toString(usercount)); Criteria c1 = session.createCriteria(USERS.class).setProjection(Projections.min("userid")); String offset = (String) c1.list().get(0); //get resources per user USERS u = new USERS(); u = (USERS) session.get(USERS.class, offset); stats.put("avgfriendsperuser", Integer.toString(u.getConfFriendCnt())); stats.put("resourcesperuser", Integer.toString(u.getResCnt())); stats.put("avgpendingperuser", Integer.toString(u.getPendFriendCnt())); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } return stats; }