List of usage examples for org.hibernate.criterion Projections projectionList
public static ProjectionList projectionList()
From source file:com.rta.vsd.data.service.impl.VehicleDataServiceImpl.java
/** * /*from w w w . j a va2 s. c om*/ * Gets a list of vehicles having an owner with the provided trade license number. The manufacturer(VsdVehicleManufaceturer), risk rating (VsdRRProfiling,VsdRiskRating) and plate category code(VsdVehPlateCatCode) details will also be populated * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param tradeLicenseNumber * @param paginationValues * @return List<VsdVehicle> * @throws VSDDataAccessException */ public List<VsdVehicle> getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber( DataServiceContext dsContext, boolean retrieveArabicData, String tradeLicenseNumber, PaginationParam paginationValues) throws VSDDataAccessException { logger.info("getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber -- START"); List<VsdVehicle> vehicles = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.vehicleId"), "vehicleId"); Criteria crit = session.createCriteria(VsdVehicle.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN, Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vo.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN, Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN, Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleManufacturers", "m", Criteria.LEFT_JOIN, Restrictions.eq("m.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehPlateCatCode", "vpcc", Criteria.LEFT_JOIN, Restrictions.eq("vpcc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vpcc.vsdVehPlateCatCode", "pvpcc", Criteria.LEFT_JOIN, Restrictions.eq("pvpcc.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("v.vehicleId")).setProjection(Projections.distinct(projectionList)); crit.setResultTransformer(new AliasToBeanResultTransformer(VsdVehicle.class)); if (paginationValues.getFirstResult() != null && paginationValues.getFirstResult().longValue() != -1) { crit.setFirstResult(paginationValues.getFirstResult().intValue()); } if (paginationValues.getFetchedSize() != null && paginationValues.getFetchedSize().longValue() != -1) { crit.setMaxResults(paginationValues.getFetchedSize().intValue()); } List list = crit.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdVehicle vehicle = (VsdVehicle) iterator.next(); innerQueryList.add(vehicle.getVehicleId()); } Criteria main = session.createCriteria(VsdVehicle.class, "v") .add(Property.forName("v.vehicleId").in(innerQueryList)) .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleOwner", "vo", Criteria.LEFT_JOIN, Restrictions.eq("vo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vo.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .createCriteria("v.vsdRRProfilings", "rrp", Criteria.LEFT_JOIN, Restrictions.eq("rrp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("rrp.vsdRiskRating", "rr", Criteria.LEFT_JOIN, Restrictions.eq("rr.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehicleManufacturers", "m", Criteria.LEFT_JOIN, Restrictions.eq("m.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdVehPlateCatCode", "vpcc", Criteria.LEFT_JOIN, Restrictions.eq("vpcc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vpcc.vsdVehPlateCatCode", "pvpcc", Criteria.LEFT_JOIN, Restrictions.eq("pvpcc.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("v.vehicleId")); vehicles = main.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber -- END"); return vehicles; } catch (Exception ex) { logger.error( "An error occured in getVehiclesWithRiskRatingManufacturerPlateCategoryCodeDetailsByTradeLicenseNumber()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.VehicleDataServiceImpl.java
/** * //from w w w . jav a 2 s . co m * Gets the plate details for the vehicle provided * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehicle * @return VehiclePlate * @throws VSDDataAccessException */ public VehiclePlate getVehiclePlateByVehicle(DataServiceContext dsContext, boolean retrieveArabicData, VsdVehicle vehicle) throws VSDDataAccessException { logger.info("getVehiclePlateByVehicle -- START"); VehiclePlate vehiclePlate = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.vehiclePlateNumber"), "plateNumber"); projectionList.add(Projections.property("cat.categoryName"), "plateCategory"); projectionList.add(Projections.property("code.categoryName"), "plateCode"); projectionList.add(Projections.property("country.countryCode"), "plateSource"); vehiclePlate = (VehiclePlate) session.createCriteria(VsdVehicle.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("v.vehicleId", vehicle.getVehicleId())) .createCriteria("v.vsdVehPlateCatCode", "code", Criteria.LEFT_JOIN, Restrictions.eq("code.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("code.vsdVehPlateCatCode", "cat", Criteria.LEFT_JOIN, Restrictions.eq("cat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cat.vsdCountry", "country", Criteria.LEFT_JOIN, Restrictions.eq("country.isDeleted", IDataService.BOOL_FALSE)) .setProjection(projectionList) .setResultTransformer(new AliasToBeanResultTransformer(VehiclePlate.class)).uniqueResult(); logger.info("getVehiclePlateByVehicle -- END"); return vehiclePlate; } catch (Exception ex) { logger.error("An error occured in getVehiclePlateByVehicle()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /* w w w . j av a 2s .c o m*/ * Gets a list of all the violations based on the plate details provided * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param vehiclePlateDetails * @param paginationValues * @return List<VsdViolation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByPlateDetails(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlateDetails, PaginationParam paginationValues) throws VSDDataAccessException { logger.info("getViolationsByPlateDetails -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violaton.violationId"), "violationId"); projectionList.add(Projections.property("violaton.reportedDate"), "reportedDate"); Criteria crit = session.createCriteria(VsdViolation.class, "violaton") .add(Restrictions.eq("violaton.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdInspections", "inspections", Criteria.LEFT_JOIN, Restrictions.eq("inspections.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdVehicleInfo", "vehicleInfo", Criteria.LEFT_JOIN, Restrictions.eq("vehicleInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vehicleInfo.vehiclePlateCategory", vehiclePlateDetails.getPlateCategory()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateCode", vehiclePlateDetails.getPlateCode()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateSource", vehiclePlateDetails.getPlateSource()) .ignoreCase()) .add(Restrictions.eq("vehicleInfo.vehiclePlateNumber", vehiclePlateDetails.getPlateNumber()) .ignoreCase()) .createCriteria("violaton.vsdSeverityLevel", "vsl", Criteria.LEFT_JOIN, Restrictions.eq("vsl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violaton.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("violaton.reportedDate")) .setProjection(Projections.distinct(projectionList)); crit.setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)); if (paginationValues.getFirstResult() != null && paginationValues.getFirstResult().longValue() != -1) { crit.setFirstResult(paginationValues.getFirstResult().intValue()); } if (paginationValues.getFetchedSize() != null && paginationValues.getFetchedSize().longValue() != -1) { crit.setMaxResults(paginationValues.getFetchedSize().intValue()); } List list = crit.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } Criteria main = session.createCriteria(VsdViolation.class, "violaton") .add(Property.forName("violaton.violationId").in(innerQueryList)) .add(Restrictions.eq("violaton.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdInspections", "inspections", Criteria.LEFT_JOIN, Restrictions.eq("inspections.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vsdVehicleInfo", "vehicleInfo", Criteria.LEFT_JOIN, Restrictions.eq("vehicleInfo.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vehicleInfo.vehiclePlateCategory", vehiclePlateDetails.getPlateCategory())) .add(Restrictions.eq("vehicleInfo.vehiclePlateCode", vehiclePlateDetails.getPlateCode())) .add(Restrictions.eq("vehicleInfo.vehiclePlateSource", vehiclePlateDetails.getPlateSource())) .add(Restrictions.eq("vehicleInfo.vehiclePlateNumber", vehiclePlateDetails.getPlateNumber())) .createCriteria("violaton.vsdSeverityLevel", "vsl", Criteria.LEFT_JOIN, Restrictions.eq("vsl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violaton.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .addOrder(Order.desc("violaton.reportedDate")); violations = main.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsByPlateDetails -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsByPlateDetails()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from w w w. j a va 2 s. c o m * Gets a list of all violations and its associated inspections * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param paginationValues * @return List<VsdViolation> * @throws VSDException */ public List<VsdViolation> getViolationsWithInspections(final DataServiceContext dsContext, boolean retrieveArabicData, PaginationParam paginationValues) throws VSDDataAccessException { logger.info("getViolationsWithInspections -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.violationId"), "violationId"); Criteria crit = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdSeverityLevel", "vSev", Criteria.LEFT_JOIN, Restrictions.eq("vSev.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)); if (paginationValues.getFirstResult() != null && paginationValues.getFirstResult().longValue() != -1) { crit.setFirstResult(paginationValues.getFirstResult().intValue()); } if (paginationValues.getFetchedSize() != null && paginationValues.getFetchedSize().longValue() != -1) { crit.setMaxResults(paginationValues.getFetchedSize().intValue()); } if (paginationValues.getOrderBy() != null && !paginationValues.getOrderBy().equals("")) { if (paginationValues.getSortOrder() != null && !paginationValues.getSortOrder().equals("")) { String columnAttrib = ""; if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.VIOLATION_ID.toString())) { columnAttrib = "v." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.VIOLATION_ID; projectionList.add(Projections.property(columnAttrib), "violationTicketCode"); } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY.toString())) { columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY; projectionList.add(Projections.property(columnAttrib), "violationTicketCode"); } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS.toString())) { columnAttrib = "vs." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS; projectionList.add(Projections.property(columnAttrib), "violationTicketCode"); } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.DATE_TIME.toString())) { columnAttrib = "i." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.DATE_TIME; projectionList.add(Projections.property(columnAttrib), "ownerSuspensionDate"); } else if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { //columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY_A.toString())) { columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY_A; projectionList.add(Projections.property(columnAttrib), "violationTicketCode"); } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS_A.toString())) { columnAttrib = "vs." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS_A; projectionList.add(Projections.property(columnAttrib), "violationTicketCode"); } else { columnAttrib = "v.violationId"; projectionList.add(Projections.property(columnAttrib), "violationId"); } if (paginationValues.getSortOrder().equalsIgnoreCase(IDataService.Sort.DESCENDING.toString())) { if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { crit.addOrder(Order.desc("vi.vehiclePlateNumber").ignoreCase()); crit.addOrder(Order.desc("vi.vehiclePlateCategory").ignoreCase()); crit.addOrder(Order.desc("vi.vehiclePlateCode").ignoreCase()); crit.addOrder(Order.desc("vi.vehiclePlateSource").ignoreCase()); projectionList.add(Projections.property("vi.vehiclePlateNumber"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateCategory"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateCode"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateSource"), "violationTicketCode"); } else crit.addOrder(Order.desc(columnAttrib).ignoreCase()); } else { if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { crit.addOrder(Order.asc("vi.vehiclePlateNumber").ignoreCase()); crit.addOrder(Order.asc("vi.vehiclePlateCategory").ignoreCase()); crit.addOrder(Order.asc("vi.vehiclePlateCode").ignoreCase()); crit.addOrder(Order.asc("vi.vehiclePlateSource").ignoreCase()); projectionList.add(Projections.property("vi.vehiclePlateNumber"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateCategory"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateCode"), "violationTicketCode"); projectionList.add(Projections.property("vi.vehiclePlateSource"), "violationTicketCode"); } else crit.addOrder(Order.asc(columnAttrib).ignoreCase()); } } } else { crit.addOrder(Order.desc("v.violationId").ignoreCase()); } List list = crit.setProjection(Projections.distinct(projectionList)) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)).list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } Criteria main = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .add(Property.forName("v.violationId").in(innerQueryList)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdSeverityLevel", "vSev", Criteria.LEFT_JOIN, Restrictions.eq("vSev.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)); if (paginationValues.getOrderBy() != null && !paginationValues.getOrderBy().equals("")) { if (paginationValues.getSortOrder() != null && !paginationValues.getSortOrder().equals("")) { String columnAttrib = ""; if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.VIOLATION_ID.toString())) { columnAttrib = "v." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.VIOLATION_ID; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY.toString())) { columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS.toString())) { columnAttrib = "vs." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.DATE_TIME.toString())) { columnAttrib = "i." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.DATE_TIME; } else if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { //columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY_A.toString())) { columnAttrib = "vSev." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.SEVERITY_A; } else if (paginationValues.getOrderBy() .equalsIgnoreCase(SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS_A.toString())) { columnAttrib = "vs." + SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.STATUS_A; } else { columnAttrib = "v.violationId"; } if (paginationValues.getSortOrder().equalsIgnoreCase(IDataService.Sort.DESCENDING.toString())) { if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { main.addOrder(Order.desc("vi.vehiclePlateNumber").ignoreCase()); main.addOrder(Order.desc("vi.vehiclePlateCategory").ignoreCase()); main.addOrder(Order.desc("vi.vehiclePlateCode").ignoreCase()); main.addOrder(Order.desc("vi.vehiclePlateSource").ignoreCase()); } else main.addOrder(Order.desc(columnAttrib).ignoreCase()); } else { if (paginationValues.getOrderBy().equalsIgnoreCase( SORT_COLUMN_GET_VIOLATIONS_WITH_INSPECTIONS.PLATE_DETAIL.toString())) { main.addOrder(Order.asc("vi.vehiclePlateNumber").ignoreCase()); main.addOrder(Order.asc("vi.vehiclePlateCategory").ignoreCase()); main.addOrder(Order.asc("vi.vehiclePlateCode").ignoreCase()); main.addOrder(Order.asc("vi.vehiclePlateSource").ignoreCase()); } else main.addOrder(Order.asc(columnAttrib).ignoreCase()); } } } else { main.addOrder(Order.desc("v.violationId").ignoreCase()); } violations = main.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsWithInspections -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsWithInspections()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * // w w w . ja v a 2 s . c o m * Gets all the violations for vehicles owned by the owner with the specified trade license number * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param param * @return List<VsdViolation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByTraficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String traficFileNo, PaginationParam param) throws VSDDataAccessException { logger.info("getViolationsByTraficFileNumber -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.violationId"), "violationId"); projectionList.add(Projections.property("v.reportedDate"), "reportedDate"); violations = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", traficFileNo).ignoreCase()) .addOrder(Order.desc("v.reportedDate")).setProjection(Projections.distinct(projectionList)) .setFirstResult(param.getFirstResult().intValue()) .setMaxResults(param.getFetchedSize().intValue()) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)).list(); if (violations == null || violations.size() == 0) return new ArrayList(); Iterator iterator = violations.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", traficFileNo).ignoreCase()) .add(Restrictions.in("v.violationId", innerQueryList)).addOrder(Order.desc("v.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsByTraficFileNumber -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsByTraficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*w w w.j a va 2 s. co m*/ * Gets all the violations for vehicles owned by the owner with the specified trade license number * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param tradeLicenseNumber * @param paginationValues * @return List<VsdViolation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByTradeLicenseNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String tradeLicenseNumber, PaginationParam paginationValues) throws VSDDataAccessException { logger.info("getViolationsByTradeLicenseNumber -- START"); List<VsdViolation> violations = null; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("v.violationId"), "violationId"); Criteria crit = session.createCriteria(VsdViolation.class, "v") .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .addOrder(Order.desc("v.violationId")).setProjection(Projections.distinct(projectionList)); crit.setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)); if (paginationValues.getFirstResult() != null && paginationValues.getFirstResult().longValue() != -1) { crit.setFirstResult(paginationValues.getFirstResult().intValue()); } if (paginationValues.getFetchedSize() != null && paginationValues.getFetchedSize().longValue() != -1) { crit.setMaxResults(paginationValues.getFetchedSize().intValue()); } List list = crit.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation violation = (VsdViolation) iterator.next(); innerQueryList.add(violation.getViolationId()); } Criteria main = session.createCriteria(VsdViolation.class, "v") .add(Property.forName("v.violationId").in(innerQueryList)) .add(Restrictions.eq("v.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("v.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.tradeLicenseNumber", tradeLicenseNumber).ignoreCase()) .addOrder(Order.desc("v.violationId")); violations = main.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.info("getViolationsByTradeLicenseNumber -- END"); return violations; } catch (Exception ex) { logger.error("An error occured in getViolationsByTradeLicenseNumber()"); throw new VSDDataAccessException(ex.getMessage(), ex); } }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from ww w.ja v a 2 s . co m * get Violations By ChassisNumber * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param vehicleChassisNumber * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByChassisNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String vehicleChassisNumber, int maxResults) throws VSDDataAccessException { logger.info("getViolationsByChassisNumber -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN, Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByChassisNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByChassisNumber -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from w ww . j av a 2s . co m * get Violations By VehiclePlate for webservice * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param VehiclePlate * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByVehiclePlateForWS(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlate, int maxResults) throws VSDDataAccessException { logger.info("getViolationsByVehiclePlateForWS -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN, Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByVehiclePlateForWS()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByVehiclePlateForWS -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * /*from ww w . j a v a 2s . c o m*/ * get Violations By VehiclePlate for webservice * associated overloaded method * * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param VehiclePlate * @param firstResult * @param maxResults * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByVehiclePlateForWS(final DataServiceContext dsContext, boolean retrieveArabicData, VehiclePlate vehiclePlate, int firstResult, int maxResults) throws VSDDataAccessException { logger.info("getViolationsByVehiclePlateForWS -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setFirstResult(firstResult).setMaxResults(maxResults); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdViolationStatus", "vstat", Criteria.LEFT_JOIN, Restrictions.eq("vstat.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdSeverityLevel", "sl", Criteria.LEFT_JOIN, Restrictions.eq("sl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("vi.vehiclePlateCategory", vehiclePlate.getPlateCategory()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateCode", vehiclePlate.getPlateCode()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateSource", vehiclePlate.getPlateSource()).ignoreCase()) .add(Restrictions.eq("vi.vehiclePlateNumber", vehiclePlate.getPlateNumber()).ignoreCase()) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "loc", Criteria.LEFT_JOIN, Restrictions.eq("loc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("loc.vsdLocation", "loc2", Criteria.LEFT_JOIN, Restrictions.eq("loc2.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByVehiclePlateForWS()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByVehiclePlateForWS -- END"); return violations; }
From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java
/** * //from w w w. j a v a2 s . c om * get Violations By TrafficFileNumber * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getCountForViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber) * getViolationsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber, maxResults, firstResult) * @author Eldon Barrows * @param dsContext * @param retrieveArabicData * @param trafficFileNumber * @param maxResults * @param firstResult * @return List<Violation> * @throws VSDDataAccessException */ public List<VsdViolation> getViolationsByTrafficFileNumber(final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber, int maxResults, int firstResult) throws VSDDataAccessException { logger.info("getViolationsByTrafficFileNumber -- START"); List<VsdViolation> violations; try { Session session = (Session) dsContext.getInternalContext(); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.property("violation.violationId"), "violationId"); projectionList.add(Projections.property("violation.reportedDate"), "reportedDate"); Criteria projectionCriteria = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("l.vsdLocation", "pl", Criteria.LEFT_JOIN, Restrictions.eq("pl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("d.vsdDefectCategory", "dc", Criteria.LEFT_JOIN, Restrictions.eq("dc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "partner", Criteria.LEFT_JOIN, Restrictions.eq("partner.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdFine", "vsdFine", Criteria.LEFT_JOIN, Restrictions.eq("vsdFine.isDeleted", IDataService.BOOL_FALSE)) .setProjection(Projections.distinct(projectionList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(new AliasToBeanResultTransformer(VsdViolation.class)) .setMaxResults(maxResults).setFirstResult(firstResult); List list = projectionCriteria.list(); logger.debug("list.size() : " + list.size()); Set resultSet = new HashSet(list); logger.debug("resultSet.size() : " + resultSet.size()); if (resultSet.size() == 0) return new ArrayList(); Iterator iterator = resultSet.iterator(); ArrayList innerQueryList = new ArrayList<Long>(); while (iterator.hasNext()) { VsdViolation vsdViolation = (VsdViolation) iterator.next(); innerQueryList.add(vsdViolation.getViolationId()); } violations = session.createCriteria(VsdViolation.class, "violation") .add(Restrictions.eq("violation.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdInspections", "i", Criteria.LEFT_JOIN, Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN, Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN, Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase()) .createCriteria("violation.vsdViolationStatus", "vs", Criteria.LEFT_JOIN, Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdLocation", "l", Criteria.LEFT_JOIN, Restrictions.eq("l.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("l.vsdLocation", "pl", Criteria.LEFT_JOIN, Restrictions.eq("pl.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("i.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN, Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cpi.vsdChannelPartner", "cp", Criteria.LEFT_JOIN, Restrictions.eq("cp.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cp.vsdPartner", "p", Criteria.LEFT_JOIN, Restrictions.eq("p.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN, Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdDefect", "d", Criteria.LEFT_JOIN, Restrictions.eq("d.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("d.vsdDefectCategory", "dc", Criteria.LEFT_JOIN, Restrictions.eq("dc.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cd.vsdChannelDefectFines", "cdf", Criteria.LEFT_JOIN, Restrictions.eq("cdf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("cdf.vsdVCatDefSevFine", "vcdsf", Criteria.LEFT_JOIN, Restrictions.eq("vcdsf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("vcdsf.vsdPartnerFine", "pf", Criteria.LEFT_JOIN, Restrictions.eq("pf.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdPartner", "partner", Criteria.LEFT_JOIN, Restrictions.eq("partner.isDeleted", IDataService.BOOL_FALSE)) .createCriteria("pf.vsdFine", "vsdFine", Criteria.LEFT_JOIN, Restrictions.eq("vsdFine.isDeleted", IDataService.BOOL_FALSE)) .add(Restrictions.in("violation.violationId", innerQueryList)) .addOrder(Order.desc("violation.reportedDate")) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); logger.debug("violations.size() : " + violations.size()); } catch (Exception ex) { logger.error("An error occured in getViolationsByTrafficFileNumber()"); logger.error(ex); throw new VSDDataAccessException(ex.getMessage(), ex); } logger.info("getViolationsByTrafficFileNumber -- END"); return violations; }