List of usage examples for org.hibernate Query setFirstResult
@Override
Query<R> setFirstResult(int startPosition);
From source file:cognition.pipeline.data.PatientDao.java
License:Apache License
/** * Returns the patient with the given id. * Returns the patient from the cache if it's been fetched once. * * @param id/* w w w . j av a 2 s. c o m*/ * @return a patient object of the patient with the given id. */ @Cacheable(value = "patients", key = "#id") public Individual getPatient(Long id) { SessionWrapper sessionWrapper = createSourceSession(); try { Query getPatient = sessionWrapper.getNamedQuery("getPatient"); getPatient.setParameter("patientId", id); logger.info("Loading patient " + id); Individual individual = (Individual) getPatient.setFirstResult(0).setMaxResults(1) .setResultTransformer(Transformers.aliasToBean(Individual.class)).uniqueResult(); setNames(individual); setPhoneNumbers(individual); setAddresses(individual); setCarers(individual); setNhsNumbers(individual); setDateOfBirths(individual); return individual; } finally { sessionWrapper.closeSession(); } }
From source file:com.abiquo.server.core.cloud.VirtualMachineDAO.java
License:Open Source License
public List<VirtualMachine> findVirtualMachinesByVirtualAppliance(final Integer vappId, Integer startwith, Integer limit, final String filter, final OrderByEnum orderby, final boolean asc) { // List<VirtualMachine> vmList = null; // TypedQuery<VirtualMachine> query = // getEntityManager().createNamedQuery("VIRTUAL_MACHINE.BY_VAPP", VirtualMachine.class); // query.setParameter("vapp_id", vappId); // vmList = query.getResultList(); String orderBy = defineOrderBy(orderby.getColumnHQL(), asc); Query query = getSession().getNamedQuery("VIRTUAL_MACHINE.BY_VAPP"); String req = query.getQueryString() + orderBy; // Add order filter to the query Query queryWithOrder = getSession().createQuery(req); queryWithOrder.setInteger("vapp_id", vappId); queryWithOrder.setString("filterLike", filter.isEmpty() ? "%" : "%" + filter + "%"); Integer size = queryWithOrder.list().size(); // Limit 0 means no size filter if (limit == 0) { limit = size;//from ww w.j a v a 2s . c o m startwith = 0; } queryWithOrder.setFirstResult(startwith); queryWithOrder.setMaxResults(limit); PagedList<VirtualMachine> vmList = new PagedList<VirtualMachine>(queryWithOrder.list()); vmList.setTotalResults(size); vmList.setPageSize(limit > size ? size : limit); vmList.setCurrentElement(startwith); return vmList; }
From source file:com.abiquo.server.core.infrastructure.DatacenterDAO.java
License:Open Source License
public List<Enterprise> findEnterprisesByDatacenters(final Datacenter datacenter, final Integer firstElem, final Integer numElem, final Boolean network) { // Get the query that counts the total results. Query finalQuery; if (network) { finalQuery = getSession().createQuery(BY_ENT_WITH_NETWORK); } else {/* ww w. j a v a2s. c o m*/ finalQuery = getSession().createQuery(BY_ENT); } finalQuery.setParameter("datacenter_id", datacenter.getId()); Integer totalResults = finalQuery.list().size(); Integer Start = firstElem; if (totalResults < firstElem) { Start = totalResults - numElem; } // Get the list of elements finalQuery.setFirstResult(Start); finalQuery.setMaxResults(numElem); PagedList<Enterprise> entList = new PagedList<Enterprise>(finalQuery.list()); entList.setTotalResults(totalResults); entList.setPageSize(numElem); entList.setCurrentElement(firstElem); return entList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
public List<IpPoolManagement> findExternalIpsByVlan(final Integer entId, final Integer datacenterLimitId, final Integer vlanId, Integer startwith, final Integer limit, final String filter, final OrderByEnum orderByEnum, final Boolean descOrAsc, final Boolean onlyAvailable) { // TODO Auto-generated method stub Query finalQuery = getSession().createQuery(BY_EXTERNAL_VLAN + " " + defineOnlyAvailableFilter(onlyAvailable) + defineOrderBy(orderByEnum, descOrAsc)); finalQuery.setParameter("ent_id", entId); finalQuery.setParameter("dc_limit_id", datacenterLimitId); finalQuery.setParameter("vlan_id", vlanId); finalQuery.setParameter("filterLike", filter == null || filter.isEmpty() ? "%" : "%" + filter + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (limit != null) { finalQuery.setMaxResults(limit); }//w w w .j a v a 2 s .com if (startwith >= totalResults) { startwith = totalResults - limit; } finalQuery.setFirstResult(startwith); finalQuery.setMaxResults(limit); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(limit); ipList.setCurrentElement(startwith); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
public List<IpPoolManagement> findIpsByEnterprise(final Integer entId, Integer firstElem, final Integer numElem, final String has, final IpPoolManagement.OrderByEnum orderby, final Boolean asc) { // Get the query that counts the total results. Query finalQuery = getSession().createQuery(BY_ENT + " " + defineOrderBy(orderby, asc)); finalQuery.setParameter("ent_id", entId); finalQuery.setParameter("filterLike", has.isEmpty() ? "%" : "%" + has + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (firstElem >= totalResults) { firstElem = totalResults - numElem; }// w w w . j a va 2 s .c om // Get the list of elements finalQuery.setFirstResult(firstElem); finalQuery.setMaxResults(numElem); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(numElem); ipList.setCurrentElement(firstElem); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
/** * Return all the IPs from a VLAN filtered by a string and saying how many elements do you want * and the first element to retrieve//from www.jav a2s . co m * * @param network {@link Network} network entity that stores all the VLANs * @param vlanId identifier of the VLAN to search into. * @param has to filter the search * @param firstElem firstelement to retrieve. * @param numeElem to retrieve. * @return all the {@link IpPoolManagement} ips. */ public List<IpPoolManagement> findIpsByNetwork(final Network network, final Integer vlanId, final String has, Integer firstElem, final Integer numElem) { Query finalQuery = getSession().createQuery(BY_NETWORK); finalQuery.setParameter("net_id", network.getId()); finalQuery.setParameter("vlan_id", vlanId); finalQuery.setParameter("filterLike", has == null || has.isEmpty() ? "%" : "%" + has + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (numElem != null) { finalQuery.setMaxResults(numElem); } if (firstElem >= totalResults) { firstElem = totalResults - 1; finalQuery.setMaxResults(1); } finalQuery.setFirstResult(firstElem); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(numElem); ipList.setCurrentElement(firstElem); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
/** * Find all the IpPoolManagement created and available by a vLAN with filter options * /*from w ww. j av a2s . c o m*/ * @param vdcId identifier of the virtual datacenter. * @param vlanId identifier of the vlan. * @param firstElem first element to retrieve. * @param numElem number of elements to retrieve. * @param has filter %like% * @param orderby ordering filter. {@see IpPoolManagement.OrderByEnum} * @param asc ordering filter, ascending = true, descending = false. * @return List of IP addresses that pass the filter. */ public List<IpPoolManagement> findIpsByPrivateVLANAvailableFiltered(final Integer vdcId, final Integer vlanId, Integer firstElem, final Integer numElem, final String has, final IpPoolManagement.OrderByEnum orderby, final Boolean asc) { // Get the query that counts the total results. Query finalQuery = getSession() .createQuery(BY_VLAN + " " + defineFilterAvailable() + defineOrderBy(orderby, asc)); finalQuery.setParameter("vdc_id", vdcId); finalQuery.setParameter("vlan_id", vlanId); finalQuery.setParameter("filterLike", has.isEmpty() ? "%" : "%" + has + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (firstElem >= totalResults) { firstElem = totalResults - numElem; } finalQuery.setFirstResult(firstElem); finalQuery.setMaxResults(numElem); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(numElem); ipList.setCurrentElement(firstElem); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
/** * Find all the IpPoolManagement created by a vLAN with filter options * // w w w . java2 s .c o m * @param vdcId identifier of the virtual datacenter. * @param vlanId identifier of the vlan. * @param firstElem first element to retrieve. * @param numElem number of elements to retrieve. * @param has filter %like% * @param orderby ordering filter. {@see IpPoolManagement.OrderByEnum} * @param asc ordering filter, ascending = true, descending = false. * @return List of IP addresses that pass the filter. */ public List<IpPoolManagement> findIpsByPrivateVLANFiltered(final Integer vdcId, final Integer vlanId, Integer firstElem, final Integer numElem, final String has, final IpPoolManagement.OrderByEnum orderby, final Boolean asc, final Boolean freeIps) { // Get the query that counts the total results. Query finalQuery; if (!freeIps) { finalQuery = getSession().createQuery(BY_VLAN + " " + defineOrderBy(orderby, asc)); } else { finalQuery = getSession().createQuery( BY_VLAN_WITHOUT_USED_IPS + " " + defineFilterAvailable() + defineOrderBy(orderby, asc)); } finalQuery.setParameter("vdc_id", vdcId); finalQuery.setParameter("vlan_id", vlanId); finalQuery.setParameter("filterLike", has.isEmpty() ? "%" : "%" + has + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (firstElem >= totalResults) { firstElem = totalResults - numElem; } finalQuery.setFirstResult(firstElem); finalQuery.setMaxResults(numElem); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(numElem); ipList.setCurrentElement(firstElem); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
public List<IpPoolManagement> findIpsByVdc(final Integer vdcId, Integer firstElem, final Integer numElem, final String has, final IpPoolManagement.OrderByEnum orderby, final Boolean asc) { // Get the query that counts the total results. Query finalQuery = getSession().createQuery(BY_VDC + " " + defineOrderBy(orderby, asc)); finalQuery.setParameter("vdc_id", vdcId); finalQuery.setParameter("filterLike", has.isEmpty() ? "%" : "%" + has + "%"); // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (firstElem == null) { firstElem = 0;//www . j ava 2s.c o m } if (firstElem >= totalResults) { firstElem = totalResults - numElem; } finalQuery.setFirstResult(firstElem); finalQuery.setMaxResults(numElem); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(numElem); ipList.setCurrentElement(firstElem); return ipList; }
From source file:com.abiquo.server.core.infrastructure.network.IpPoolManagementDAO.java
License:Open Source License
/** * Return all the public IPS defined into a Datacenter. * //from www . j ava 2 s .co m * @param datacenterId identifier of the datacenter. * @param startwith first element to retrieve. * @param limit number of elements to retrieve. * @param filter filter query. * @param orderByEnum the way we order the query. * @param descOrAsc if the order is ascendant or descendant. * @return the list of matching {@link IpPoolManagement} object. */ public List<IpPoolManagement> findPublicIpsByDatacenter(final Integer datacenterId, Integer startwith, final Integer limit, final String filter, final OrderByEnum orderByEnum, final Boolean descOrAsc, NetworkType type, final Boolean all) { NetworkType type2 = type; String query = BY_DATACENTER; if (type != null) { if (type.equals(NetworkType.EXTERNAL_UNMANAGED)) { type = NetworkType.EXTERNAL; // to check. unecessary because with unmanaged vlan doesn't exist ips type2 = NetworkType.UNMANAGED; } // Get the query that counts the total results. query = BY_DATACENTER + " AND (vlan.type = :type OR vlan.type = :type2 )"; } Query finalQuery = getSession() .createQuery(query + " " + defineAllFilter(all) + " " + defineOrderBy(orderByEnum, descOrAsc)); finalQuery.setParameter("datacenter_id", datacenterId); finalQuery.setParameter("filterLike", filter == null || filter.isEmpty() ? "%" : "%" + filter + "%"); if (type != null) { finalQuery.setParameter("type", type); finalQuery.setParameter("type2", type2); } // Check if the page requested is bigger than the last one Integer totalResults = finalQuery.list().size(); if (limit != null) { finalQuery.setMaxResults(limit); } if (startwith >= totalResults) { startwith = totalResults - limit; } finalQuery.setFirstResult(startwith); finalQuery.setMaxResults(limit); PagedList<IpPoolManagement> ipList = new PagedList<IpPoolManagement>(finalQuery.list()); ipList.setTotalResults(totalResults); ipList.setPageSize(limit); ipList.setCurrentElement(startwith); return ipList; }