List of usage examples for org.hibernate.criterion Restrictions in
public static Criterion in(String propertyName, Collection values)
From source file:co.id.pegadaian.pasg2.util.SusunTreeJeasyUI.java
public Set<BigDecimal> listMenuByUser(Session session, String userId) { /* Ambil gropu by user */ Criteria critGroup = session.createCriteria(TblUserGroup.class); critGroup.add(Restrictions.eq("id.userId", userId)); critGroup.setProjection(Projections.projectionList().add(Projections.property("id.groupId")));//"id.groupId" List<BigDecimal> l = critGroup.list(); if (l.size() > 0) { /*Menu berdasarkan Priviledge */ Criteria c = session.createCriteria(TblPriviledge.class); c.add(Restrictions.in("id.groupId", l)); c.setProjection(Projections.projectionList().add(Projections.property("id.menuId"))); Set<BigDecimal> lMenuId = new HashSet(); List<BigDecimal> k = c.list(); for (BigDecimal x : k) { lMenuId.add(x);//new BigDecimal(x)); }//from w w w . jav a2 s. c om return lMenuId; } else { return null; } }
From source file:com.abiquo.abiserver.commands.impl.InfrastructureCommandImpl.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public DataResult<ArrayList<VirtualMachine>> checkVirtualMachinesState( final ArrayList<VirtualMachine> virtualMachinesToCheck) { DataResult<ArrayList<VirtualMachine>> dataResult = new DataResult<ArrayList<VirtualMachine>>(); ArrayList<VirtualMachine> virtualMachinesChecked = new ArrayList<VirtualMachine>(); Session session = null;/* w w w . j ava 2s .c o m*/ Transaction transaction = null; try { session = HibernateUtil.getSession(); transaction = session.beginTransaction(); // Generating the list of id's of the virtual machines requested ArrayList<Integer> virtualMachinesToCheckIds = new ArrayList<Integer>(); for (VirtualMachine virtualMachine : virtualMachinesToCheck) { virtualMachinesToCheckIds.add(virtualMachine.getId()); } // Getting the virtual machines updated from the data base ArrayList<VirtualmachineHB> virtualMachinesHBChecked = (ArrayList<VirtualmachineHB>) session .createCriteria(VirtualmachineHB.class).add(Restrictions.in("idVm", virtualMachinesToCheckIds)) .list(); // Returning the result for (VirtualmachineHB virtualMachineHB : virtualMachinesHBChecked) { virtualMachinesChecked.add(virtualMachineHB.toPojo()); } transaction.commit(); dataResult.setSuccess(true); dataResult.setMessage(resourceManager.getMessage("checkVirtualMachinesState.success")); dataResult.setData(virtualMachinesChecked); } catch (Exception e) { if (transaction != null && transaction.isActive()) { transaction.rollback(); } errorManager.reportError(resourceManager, dataResult, "checkVirtualMachinesState", e); } return dataResult; }
From source file:com.abiquo.abiserver.commands.InfrastructureCommand.java
License:Mozilla Public License
/** * Checks the current state of a list of virtual machines * //from w w w. j ava 2 s . c o m * @param virtualMachinesToCheck ArrayList with the list of virtual machines to check * @return A DataResult object containing a list of the same virtual machines with their state * updated */ @SuppressWarnings("unchecked") protected DataResult<ArrayList<VirtualMachine>> checkVirtualMachinesState( ArrayList<VirtualMachine> virtualMachinesToCheck) { DataResult<ArrayList<VirtualMachine>> dataResult = new DataResult<ArrayList<VirtualMachine>>(); ArrayList<VirtualMachine> virtualMachinesChecked = new ArrayList<VirtualMachine>(); Session session = null; Transaction transaction = null; try { session = HibernateUtil.getSession(); transaction = session.beginTransaction(); // Generating the list of id's of the virtual machines requested ArrayList<Integer> virtualMachinesToCheckIds = new ArrayList<Integer>(); for (VirtualMachine virtualMachine : virtualMachinesToCheck) { virtualMachinesToCheckIds.add(virtualMachine.getId()); } // Getting the virtual machines updated from the data base ArrayList<VirtualmachineHB> virtualMachinesHBChecked = (ArrayList<VirtualmachineHB>) session .createCriteria(VirtualmachineHB.class).add(Restrictions.in("idVm", virtualMachinesToCheckIds)) .list(); // Returning the result for (VirtualmachineHB virtualMachineHB : virtualMachinesHBChecked) { virtualMachinesChecked.add((VirtualMachine) virtualMachineHB.toPojo()); } transaction.commit(); dataResult.setSuccess(true); dataResult.setMessage(resourceManager.getMessage("checkVirtualMachinesState.success")); dataResult.setData(virtualMachinesChecked); } catch (Exception e) { if (transaction != null && transaction.isActive()) transaction.rollback(); this.errorManager.reportError(resourceManager, dataResult, "checkVirtualMachinesState", e); } return dataResult; }
From source file:com.abiquo.abiserver.commands.UserCommand.java
License:Mozilla Public License
/** * Returns a list of users stored in the Data Base * //from www. ja v a2s. c om * @param userSession * @param userListOptions an UserListOptions object containing the options to retrieve the list * of users * @return A DataResult object containing an UserListResult object with an ArrayList of User and * the number of total users */ @SuppressWarnings("unchecked") protected DataResult<UserListResult> getUsers(UserSession userSession, UserListOptions userListOptions) { DataResult<UserListResult> dataResult = new DataResult<UserListResult>(); UserListResult userListResult = new UserListResult(); Session session = null; Transaction transaction = null; try { session = HibernateUtil.getSession(); transaction = session.beginTransaction(); // Getting the user that called this method UserHB userHB = (UserHB) session.createCriteria(UserHB.class) .add(Restrictions.eq("user", userSession.getUser())).uniqueResult(); // getUsers has two different authorization resources // If the user who called this method, does not match the security level for the // authorization resource // USER_GET_ALL_USERS, this method will only return those users who belongs to the same // enterprise than // the user that called this method // Getting the authorization resource USER_GET_ALL_USERS AuthResourceHB authResourceHB = (AuthResourceHB) session.createCriteria(AuthResourceHB.class) .add(Restrictions.eq("name", "USER_GET_ALL_USERS")).uniqueResult(); // Checking if the user has not the necessary security level to see the whole list of // Users. If so, we force // the userListOptions object to filter by the enterprise assigned to the user if (authResourceHB.getRoleHB().getSecurityLevel() .compareTo(userHB.getRoleHB().getSecurityLevel()) == -1) { // NOT GRANTED! userListOptions.setByEnterprise((Enterprise) userHB.getEnterpriseHB().toPojo()); } // Creating users criteria Criteria usersListCriteria = session.createCriteria(UserHB.class); Criteria usersCountCriteria = session.createCriteria(UserHB.class); // Removing the users that are deleted usersListCriteria.add(Restrictions.eq("deleted", 0)); usersCountCriteria.add(Restrictions.eq("deleted", 0)); // Adding filter by name, surname or email Disjunction filterDisjunction = Restrictions.disjunction(); if (userListOptions.getFilter().length() > 0) { filterDisjunction.add(Restrictions.like("name", '%' + userListOptions.getFilter() + '%')); filterDisjunction.add(Restrictions.like("surname", '%' + userListOptions.getFilter() + '%')); filterDisjunction.add(Restrictions.like("email", '%' + userListOptions.getFilter() + '%')); } usersListCriteria.add(filterDisjunction); usersCountCriteria.add(filterDisjunction); // Adding filter by Enterprise if (userListOptions.getByEnterprise() != null) { usersListCriteria.add(Restrictions.eq("enterpriseHB", (EnterpriseHB) userListOptions.getByEnterprise().toPojoHB())); usersCountCriteria.add(Restrictions.eq("enterpriseHB", (EnterpriseHB) userListOptions.getByEnterprise().toPojoHB())); } // Adding order // Little fix to match the object used in Hibernate if (userListOptions.getOrderBy().compareTo("role") == 0) userListOptions.setOrderBy("roleHB"); Order order; if (userListOptions.getAsc()) order = Order.asc(userListOptions.getOrderBy()); else order = Order.desc(userListOptions.getOrderBy()); usersListCriteria.addOrder(order); usersCountCriteria.addOrder(order); // Adding filter to get only the users that currently have an active session if (userListOptions.getLoggedOnly()) { ArrayList<String> currentLoggedUsers = (ArrayList<String>) session .createSQLQuery("SELECT user FROM session WHERE expireDate > CURRENT_TIMESTAMP()").list(); usersListCriteria.add(Restrictions.in("user", currentLoggedUsers)); usersCountCriteria.add(Restrictions.in("user", currentLoggedUsers)); } // Once we have the criteria... // 1. Getting the total number of users that match userListOptions Integer totalUsers = (Integer) usersCountCriteria.setProjection(Projections.rowCount()).uniqueResult(); // 2. Getting the list of users, applying an offset and a max of results ArrayList<UserHB> usersHB = (ArrayList<UserHB>) usersListCriteria .setFirstResult(userListOptions.getOffset()).setMaxResults(userListOptions.getLength()).list(); // Building result ArrayList<User> usersList = new ArrayList<User>(); for (UserHB userToReturnHB : usersHB) { usersList.add((User) userToReturnHB.toPojo()); } userListResult.setTotalUsers(totalUsers); userListResult.setUsersList(usersList); transaction.commit(); } catch (Exception e) { if (transaction != null && transaction.isActive()) transaction.rollback(); this.errorManager.reportError(resourceManager, dataResult, "getUsers", e); return dataResult; } dataResult.setData(userListResult); dataResult.setSuccess(true); dataResult.setMessage(UserCommand.resourceManager.getMessage("getUsers.success")); return dataResult; }
From source file:com.abiquo.server.core.appslibrary.VirtualImageConversionDAO.java
License:Open Source License
private static Criterion targetFormatIn(final Collection<DiskFormatType> formats) { return Restrictions.in(VirtualImageConversion.TARGET_TYPE_PROPERTY, formats); }
From source file:com.abiquo.server.core.appslibrary.VirtualImageConversionDAO.java
License:Open Source License
private static Criterion targetFormatIn(final DiskFormatType format) { return Restrictions.in(VirtualImageConversion.TARGET_TYPE_PROPERTY, Collections.singletonList(format)); }
From source file:com.abiquo.server.core.appslibrary.VirtualMachineTemplateDAO.java
License:Open Source License
/** Virtual Machine Template is compatible. */ private Criterion compatible(final Collection<DiskFormatType> types) { return Restrictions.in(VirtualMachineTemplate.DISKFORMAT_TYPE_PROPERTY, types); }
From source file:com.abiquo.server.core.appslibrary.VirtualMachineTemplateDAO.java
License:Open Source License
/** * If (finished) conversions check some compatible. Left join to {@link VirtualImageConversion} */// w w w . j av a 2 s .co m private Criterion compatibleConversions(final Collection<DiskFormatType> types, final Criteria criteria) { criteria.createAlias(VirtualMachineTemplate.CONVERSIONS_PROPERTY, "conversions", JoinFragment.LEFT_OUTER_JOIN); Criterion finished = Restrictions.eq("conversions." + VirtualImageConversion.STATE_PROPERTY, ConversionState.FINISHED); Criterion compatible = Restrictions.in("conversions." + VirtualImageConversion.TARGET_TYPE_PROPERTY, types); return Restrictions.and(finished, compatible); }
From source file:com.abiquo.server.core.cloud.VirtualApplianceDAO.java
License:Open Source License
/** * @param user, only users with restricted VDCs. If no restricted then use user = null *///from w w w . j a va2 s . c om public List<VirtualAppliance> findByEnterprise(final Enterprise enterprise, final FilterOptions filterOptions, final User user) { if (filterOptions == null) { return findByEnterprise(enterprise); } // Check if the orderBy element is actually one of the available ones VirtualAppliance.OrderByEnum orderByEnum = VirtualAppliance.OrderByEnum .valueOf(filterOptions.getOrderBy().toUpperCase()); Integer limit = filterOptions.getLimit(); Integer startwith = filterOptions.getStartwith(); String filter = filterOptions.getFilter(); boolean asc = filterOptions.getAsc(); Criteria criteria = createCriteria(enterprise, filter, orderByEnum, asc); // Check if the page requested is bigger than the last one Long total = count(criteria); criteria = createCriteria(enterprise, filter, orderByEnum, asc); Integer totalResults = total.intValue(); limit = limit != 0 ? limit : totalResults; if (limit != null) { criteria.setMaxResults(limit); } if (startwith >= totalResults) { startwith = totalResults - limit; } criteria.setFirstResult(startwith); criteria.setMaxResults(limit); if (user != null) { criteria.createAlias(VirtualAppliance.VIRTUAL_DATACENTER_PROPERTY, "virtualdatacenter"); criteria.add( Restrictions.in("virtualdatacenter." + PersistentEntity.ID_PROPERTY, availableVdsToUser(user))); } List<VirtualAppliance> result = getResultList(criteria); PagedList<VirtualAppliance> page = new PagedList<VirtualAppliance>(); page.addAll(result); page.setCurrentElement(startwith); page.setPageSize(limit); page.setTotalResults(totalResults); return page; }
From source file:com.abiquo.server.core.cloud.VirtualDatacenterDAO.java
License:Open Source License
private static Criterion availableToUser(final User user) { Collection<String> idsStrings = Arrays.asList(user.getAvailableVirtualDatacenters().split(",")); Collection<Integer> ids = CollectionUtils.collect(idsStrings, new Transformer() { @Override/*w w w . ja va2s .co m*/ public Object transform(final Object input) { return Integer.valueOf(input.toString()); } }); return Restrictions.in(PersistentEntity.ID_PROPERTY, ids); }