List of usage examples for org.hibernate.criterion Projections alias
public static Projection alias(Projection projection, String alias)
From source file:com.denimgroup.threadfix.data.dao.hibernate.HibernateApplicationDao.java
License:Mozilla Public License
@SuppressWarnings("unchecked") @Override//w w w. j a v a2 s . c om public List<Integer> getTopXVulnerableAppsFromList(int numApps, List<Integer> teamIdList, List<Integer> applicationIdList, List<Integer> tagIdList, List<Integer> vulnTagIdList) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Application.class); criteria.createAlias("vulnerabilities", "vulnerability"); criteria.add(Restrictions.eq("active", true)); criteria.add(Restrictions.eq("vulnerability.active", true)); criteria.add(Restrictions.eq("vulnerability.hidden", false)); criteria.add(Restrictions.eq("vulnerability.isFalsePositive", false)); if (vulnTagIdList.size() > 0) { criteria.createAlias("vulnerability.tags", "tags"); criteria.add(Restrictions.in("tags.id", vulnTagIdList)); } if (teamIdList.isEmpty() || applicationIdList.isEmpty()) { if (!applicationIdList.isEmpty()) { criteria.add(Restrictions.in("id", applicationIdList)); } if (!teamIdList.isEmpty()) { criteria.add(Restrictions.in("organization.id", teamIdList)); } } else { criteria.add(Restrictions.or(Restrictions.in("id", applicationIdList), Restrictions.in("organization.id", teamIdList))); } if (!tagIdList.isEmpty()) { criteria.createAlias("tags", "tag"); criteria.add(Restrictions.in("tag.id", tagIdList)); } criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("id")) .add(Projections.alias(Projections.countDistinct("vulnerability.id"), "vulnCount"))); criteria.addOrder(Order.desc("vulnCount")); List<Integer> list = list(); List results = criteria.list(); int i = 0; for (Object result : results) { if (i++ >= numApps) { break; } Object[] resultArray = (Object[]) result; list.add((Integer) resultArray[0]); } if (list.isEmpty()) list = Arrays.asList(-1); return list; }
From source file:com.denimgroup.threadfix.data.dao.hibernate.HibernateApplicationDao.java
License:Mozilla Public License
@Override public List<Map<String, Object>> retrieveAppsInfoMap(List<Integer> applicationIdList, List<Integer> vulnTagIds) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Application.class); criteria.createAlias("vulnerabilities", "vulnerability"); criteria.createAlias("organization", "team"); criteria.add(Restrictions.eq("active", true)); criteria.add(Restrictions.eq("vulnerability.active", true)); criteria.add(Restrictions.eq("vulnerability.isFalsePositive", false)); criteria.createAlias("vulnerability.genericSeverity", "severity"); if (applicationIdList.size() > 0) { criteria.add(Restrictions.in("id", applicationIdList)); }//ww w. ja v a 2 s . co m if (vulnTagIds.size() > 0) { criteria.createAlias("vulnerability.tags", "tags"); criteria.add(Restrictions.in("tags.id", vulnTagIds)); } criteria.setProjection(Projections.projectionList().add(Projections.groupProperty("id"), "appId") .add(Projections.groupProperty("name"), "appName") .add(Projections.groupProperty("team.id"), "teamId") .add(Projections.groupProperty("team.name"), "teamName") .add(Projections.groupProperty("severity.intValue"), "severityIntValue") .add(Projections.groupProperty("severity.name"), "severityNameValue") .add(Projections.alias(Projections.countDistinct("vulnerability.id"), "vulnCount"))); criteria.addOrder(Order.desc("vulnCount")); criteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List results = criteria.list(); return results; }
From source file:com.denimgroup.threadfix.data.dao.hibernate.HibernateVulnerabilitySearchDao.java
License:Mozilla Public License
@Override public List<Map> getScanComparison(VulnerabilitySearchParameters parameters, boolean isFalsePositive) { assert parameters != null; List<Integer> idList = getVulnIdList(parameters); if (idList.isEmpty()) return list(); Session session = sessionFactory.getCurrentSession(); List<Map> fullList = list(); // TODO refactor this to reduce duplication or remove the need for it int current = 0; while (current < idList.size()) { int start = current, end = current + 500; if (end > idList.size()) { end = idList.size();// www . java 2 s. co m } List<Integer> thisPage = idList.subList(start, end); Criteria criteria = session.createCriteria(Vulnerability.class); criteria.createAlias("findings", "finding"); criteria.createAlias("finding.scan", "scan"); criteria.createAlias("scan.applicationChannel", "applicationChannel"); criteria.createAlias("applicationChannel.channelType", "channelType"); criteria.add(Restrictions.in("id", thisPage)); ProjectionList projectionList = Projections.projectionList() .add(Projections.groupProperty("channelType.name"), "channelName") .add(Projections.alias(Projections.countDistinct("id"), "foundCount")); if (!isFalsePositive) { projectionList.add(Projections.groupProperty("foundHAMEndpoint"), "foundHAMEndpoint"); } criteria.setProjection(projectionList); criteria.addOrder(Order.desc("foundCount")); criteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List results = (List<Map>) criteria.list(); fullList.addAll(results); current += 500; } return fullList; }
From source file:com.ihsolution.hqipo.dao.utils.QueryHelper.java
License:Open Source License
public void applyOrderBy() throws Exception { if (!doOrder) return;//from ww w . j av a2 s . com if (dto == null) throw new Exception("dto is null"); Map<String, Boolean> sortBy = dto.getSortByMap(); // logger.debug("order by Map size="+sortBy.size()); if ((this.orderBy == null || "".equals(orderBy)) && !dto.isSortByMap()) { return; } // Map has highest priority if (dto.isSortByMap()) { for (Map.Entry<String, Boolean> entry : sortBy.entrySet()) { String alias = this.createAliases(entry.getKey()); if (logger.isDebugEnabled()) logger.debug("Using sortByMap order by = " + alias); if (entry.getValue()) detCriteria.addOrder(Order.asc(alias).ignoreCase()); else detCriteria.addOrder(Order.desc(alias).ignoreCase()); } return; } // if we have arithmetic operators, checking only for plus for now if (orderBy.contains("+")) { String[] fields = orderBy.split("\\+"); if (fields.length > 1) { String sql = this.createSqlAliasAndField(fields[0]) + "+" + this.createSqlAliasAndField(fields[1]) + " as sF"; detCriteria.setProjection(Projections.projectionList() .add(Projections.alias(Projections.sqlProjection(sql, new String[] { "sF" }, new Type[] { Hibernate.INTEGER }), "sumF")) .add(Projections.sqlProjection("this_.*", new String[] { this.targetClass.getSimpleName() + "_id" }, new Type[] { Hibernate.entity(this.targetClass) }))); detCriteria.addOrder(Order.desc("sumF")); if (fields.length > 2) { String alias = this.createAliases(fields[2]); detCriteria.addOrder(Order.asc(alias).ignoreCase()); } return; } } if (orderBy != null && !"".equals(orderBy)) { String[] obs = orderBy.split(";"); for (String ob : obs) { String alias = this.createAliases(ob); if (logger.isDebugEnabled()) logger.debug("order by = " + alias); if (asc) detCriteria.addOrder(Order.asc(alias).ignoreCase()); else detCriteria.addOrder(Order.desc(alias).ignoreCase()); } } }
From source file:com.liferay.portal.dao.orm.hibernate.ProjectionFactoryImpl.java
License:Open Source License
public Projection alias(Projection projection, String alias) { ProjectionImpl projectionImpl = (ProjectionImpl) projection; return new ProjectionImpl(Projections.alias(projectionImpl.getWrappedProjection(), alias)); }
From source file:com.mg.framework.support.orm.GenericProjectionImpl.java
License:Open Source License
public Projection as(String alias) { return new GenericProjectionImpl(Projections.alias(this.hibernateProjection, alias)); }
From source file:com.qcadoo.model.api.search.SearchProjections.java
License:Open Source License
/** * Wraps projection with aliased projection. * //from ww w . ja v a 2 s . co m * @param projection * projection * @param alias * alias * @return aliased projection */ public static SearchProjection alias(final SearchProjection projection, final String alias) { return new SearchProjectionImpl(Projections.alias(projection.getHibernateProjection(), alias)); }
From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java
License:Open Source License
@Override public List<String> getBySimulationID(List<String> simulationID) throws DAOException { //System.out.println("Calling SimulationStatsData: getBySimuID"); List<String> result = new ArrayList<String>(); try {/*from w ww . j a v a 2 s . co m*/ Session session = sessionFactory.openSession(); session.beginTransaction(); Criteria criteria = session.createCriteria(Stats.class); // 'workflowID' is the variable in the class Stats //criteria.add(Restrictions.eq("workflowID", simulationID)); criteria.add(Restrictions.in("workflowID", simulationID)); //criteria.addOrder(Order.desc("workflowID")); ProjectionList p = Projections.projectionList(); //p.add(Projections.sum("completed")); p.add(Projections.alias(Projections.sum("completed"), "sumCompleted")); p.add(Projections.alias(Projections.sum("completedWaitingTime"), "sumCompletedWaitingTime")); p.add(Projections.alias(Projections.sum("completedExecutionTime"), "sumCompletedExecutionTime")); p.add(Projections.alias(Projections.sum("completedInputTime"), "sumCompletedInputTime")); p.add(Projections.alias(Projections.sum("completedOutputTime"), "sumCompletedOutputTime")); p.add(Projections.sum("cancelled")); p.add(Projections.sum("cancelledWaitingTime")); p.add(Projections.sum("cancelledExecutionTime")); p.add(Projections.sum("cancelledInputTime")); p.add(Projections.sum("cancelledOutputTime")); p.add(Projections.sum("failedApplication")); p.add(Projections.sum("failedApplicationWaitingTime")); p.add(Projections.sum("failedApplicationExecutionTime")); p.add(Projections.sum("failedApplicationInputTime")); p.add(Projections.sum("failedApplicationOutputTime")); p.add(Projections.sum("failedInput")); p.add(Projections.sum("failedInputWaitingTime")); p.add(Projections.sum("failedInputExecutionTime")); p.add(Projections.sum("failedInputInputTime")); p.add(Projections.sum("failedInputOutputTime")); p.add(Projections.sum("failedOutput")); p.add(Projections.sum("failedOutputWaitingTime")); p.add(Projections.sum("failedOutputExecutionTime")); p.add(Projections.sum("failedOutputInputTime")); p.add(Projections.sum("failedOutputOutputTime")); p.add(Projections.sum("failedStalled")); p.add(Projections.sum("failedStalledWaitingTime")); p.add(Projections.sum("failedStalledExecutionTime")); p.add(Projections.sum("failedStalledInputTime")); p.add(Projections.sum("failedStalledOutputTime")); criteria.setProjection(p); List l = criteria.list(); session.getTransaction().commit(); session.close(); Iterator it = l.iterator(); while (it.hasNext()) { Object ob[] = (Object[]) it.next(); /* for (int i = 0; i < ob.length; i++) { System.out.println("Object " + i + " is " + ob[i]); if (ob[i] != null) { result.add(String.valueOf(ob[i])); } } * */ if (ob.length >= 30) { result.add("Completed Jobs##" + String.valueOf(ob[0]) + ""); result.add("CompletedJobs WaitingTime##" + String.valueOf(ob[1]) + ""); result.add("CompletedJobs ExecutionTime##" + String.valueOf(ob[2]) + ""); result.add("CompletedJobs InputTime##" + String.valueOf(ob[3]) + ""); result.add("CompletedJobs OutputTime##" + String.valueOf(ob[4]) + ""); result.add("Cancelled Jobs##" + String.valueOf(ob[5]) + ""); result.add("CancelledJobs WaitingTime##" + String.valueOf(ob[6]) + ""); result.add("CancelledJobs ExecutionTime##" + String.valueOf(ob[7]) + ""); result.add("CancelledJobs InputTime##" + String.valueOf(ob[8]) + ""); result.add("CancelledJobs OutputTime##" + String.valueOf(ob[9]) + ""); result.add("failedApplication Jobs##" + String.valueOf(ob[10]) + ""); result.add("failedApplicationJobs WaitingTime##" + String.valueOf(ob[11]) + ""); result.add("failedApplicationJobs ExecutionTime##" + String.valueOf(ob[12]) + ""); result.add("failedApplicationJobs InputTime##" + String.valueOf(ob[13]) + ""); result.add("failedApplicationJobs OutputTime##" + String.valueOf(ob[14]) + ""); result.add("failedInput Jobs##" + String.valueOf(ob[15]) + ""); result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + ""); result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + ""); result.add("failedInputJobs InputTime##" + String.valueOf(ob[18]) + ""); result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + ""); result.add("failedInput Jobs##" + String.valueOf(ob[15]) + ""); result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + ""); result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + ""); result.add("failedInputJpbs InputTime##" + String.valueOf(ob[18]) + ""); result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + ""); result.add("failedOutput Jobs##" + String.valueOf(ob[20]) + ""); result.add("failedOutputJobs WaitingTime##" + String.valueOf(ob[21]) + ""); result.add("failedOutputJobs ExecutionTime##" + String.valueOf(ob[22]) + ""); result.add("failedOutputJobs InputTime##" + String.valueOf(ob[23]) + ""); result.add("failedOutputJobs OutputTime##" + String.valueOf(ob[24]) + ""); result.add("failedStalled Jobs##" + String.valueOf(ob[25]) + ""); result.add("failedStalledJobs WaitingTime##" + String.valueOf(ob[26]) + ""); result.add("failedStalledJobs ExecutionTime##" + String.valueOf(ob[27]) + ""); result.add("failedStalledJobs InputTime##" + String.valueOf(ob[28]) + ""); result.add("failedStalledJobs OutputTime##" + String.valueOf(ob[29]) + ""); } else { throw new DAOException("getBySimulationID: Not enough data"); } } return result; } catch (HibernateException ex) { throw new DAOException(ex); } }
From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java
License:Open Source License
@Override public List<String> getWorkflowsPerUser(List<String> workflowsId) throws WorkflowsDBDAOException { List<String> result = new ArrayList<String>(); try {//from ww w.j av a 2 s . c o m Session session = sessionFactory.openSession(); session.beginTransaction(); Criteria criteria = session.createCriteria(Workflow.class); criteria.add(Restrictions.in("id", workflowsId)); ProjectionList p = Projections.projectionList(); p.add(Projections.groupProperty("username")); p.add(Projections.property("username")); p.add(Projections.alias(Projections.count("status"), "nbWfls")); //p.add(Projections.count("status")); criteria.setProjection(p); criteria.addOrder(Order.desc("nbWfls")); List l = criteria.list(); session.getTransaction().commit(); session.close(); Iterator it = l.iterator(); while (it.hasNext()) { Object ob[] = (Object[]) it.next(); if (ob[0] != null && ob[1] != null) { result.add(String.valueOf(ob[0]) + "##" + String.valueOf(ob[2])); } } return result; } catch (HibernateException ex) { throw new WorkflowsDBDAOException(ex); } }
From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java
License:Open Source License
@Override public List<String> getApplications(List<String> workflowsId) throws WorkflowsDBDAOException { List<String> result = new ArrayList<String>(); try {/*from ww w .j a v a 2 s .c o m*/ Session session = sessionFactory.openSession(); session.beginTransaction(); Criteria criteria = session.createCriteria(Workflow.class); criteria.add(Restrictions.in("id", workflowsId)); ProjectionList p = Projections.projectionList(); p.add(Projections.groupProperty("application")); p.add(Projections.property("application")); p.add(Projections.alias(Projections.count("status"), "nbWfls")); criteria.setProjection(p); criteria.setProjection(p); criteria.addOrder(Order.desc("nbWfls")); List l = criteria.list(); session.getTransaction().commit(); session.close(); Iterator it = l.iterator(); while (it.hasNext()) { Object ob[] = (Object[]) it.next(); if (ob[0] != null && ob[1] != null) { result.add(String.valueOf(ob[0]) + "##" + String.valueOf(ob[2])); } } return result; } catch (HibernateException ex) { throw new WorkflowsDBDAOException(ex); } //System.out.println("getApplications, first result is " + result.get(0).toString()); }