Example usage for org.hibernate.criterion Restrictions in

List of usage examples for org.hibernate.criterion Restrictions in

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions in.

Prototype

public static Criterion in(String propertyName, Collection values) 

Source Link

Document

Apply an "in" constraint to the named property.

Usage

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * //from  www .  j a v  a  2s. 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

/**
 * //  ww w.j  a v a2 s .  c om
 * 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  ww w  .  ja v  a2  s.c om
 * 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  w w  w. j  a va 2 s.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

/**
 * //w w  w . ja 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;
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * //w  ww. j a  v  a  2 s  . co  m
 * get Violations with tests By TrafficFileNumber And ChassisNumber
 * associated overloaded method
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param trafficFileNumber
 * @param vehicleChassisNumber
 * @return List<Violation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithTestsByTrafficFileNumberAndChassisNumber(
        final DataServiceContext dsContext, boolean retrieveArabicData, String trafficFileNumber,
        String vehicleChassisNumber, int maxResults) throws VSDDataAccessException {
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- 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))
                .add(Restrictions.eq("vi.vehicleChassisNumber", vehicleChassisNumber).ignoreCase())
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.isNotNull("ct.createdTimestamp"))
                .createCriteria("ct.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("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.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", "part", Criteria.LEFT_JOIN,
                        Restrictions.eq("part.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.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))
                .add(Restrictions.eq("oi.trafficFileNumber", trafficFileNumber).ignoreCase())
                .createCriteria("violation.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.isNotNull("ct.createdTimestamp"))
                .createCriteria("ct.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("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.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", "part", Criteria.LEFT_JOIN,
                        Restrictions.eq("part.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 getViolationsWithTestsByTrafficFileNumberAndChassisNumber()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getViolationsWithTestsByTrafficFileNumberAndChassisNumber -- END");
    return violations;
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * /*  ww w . java 2  s. c  o  m*/
 * get Violations with tests By TrafficFileNumber
 * getViolationsWithTestsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber)
 * getCountForViolationsWithTestsByTrafficFileNumber(dsContext, retrieveArabicData, trafficFileNumber)
 * getViolationsWithTestsByTrafficFileNumber(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> getViolationsWithTestsByTrafficFileNumber(final DataServiceContext dsContext,
        boolean retrieveArabicData, String trafficFileNumber, int maxResults, int firstResult)
        throws VSDDataAccessException {
    logger.info("getViolationsWithTestsByTrafficFileNumber -- 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.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN,
                        Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.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.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdChannelPartInst", "cpi", Criteria.LEFT_JOIN,
                        Restrictions.eq("cpi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("ct.vsdTestType", "tt", Criteria.LEFT_JOIN,
                        Restrictions.eq("tt.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 getViolationsWithTestsByTrafficFileNumber()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
    logger.info("getViolationsWithTestsByTrafficFileNumber -- END");
    return violations;
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * //  w ww .  j ava  2 s.c  o  m
 * Gets a list of violations with their associated defects(VsdChannelDefect) by their statuses
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param statuses
 * @param testStatus
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithDefectsByStatuses(DataServiceContext dsContext,
        boolean retrieveArabicData, List<Long> violationStatusIds, String testStatus)
        throws VSDDataAccessException {
    logger.info("getViolationsWithDefectsByStatuses -- START");
    List<VsdViolation> violations = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        Criteria criteria = session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByFrontPlateConditionId", "fpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("fpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByRearPlateConditionId", "rpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("rpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdDriverInfos", "di", Criteria.LEFT_JOIN,
                        Restrictions.eq("di.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE));
        if (testStatus != null) {
            criteria.add(Restrictions.eq("ct.testStatus", testStatus));
        }
        criteria.createCriteria("violations.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds));
        violations = criteria.list();
        logger.info("getViolationsWithDefectsByStatuses -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithDefectsByStatuses()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * /*from www.j av  a  2s .c o m*/
 * Gets a list of violations with their associated defects(VsdChannelDefect) by their statuses
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param statuses
 * @param testStatus
 * @param isViolationDefect
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithDefectsByStatuses(DataServiceContext dsContext,
        boolean retrieveArabicData, List<Long> violationStatusIds, String testStatus,
        Character isViolationDefect) throws VSDDataAccessException {
    logger.info("getViolationsWithDefectsByStatuses -- START");
    List<VsdViolation> violations = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        Criteria criteria = session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByFrontPlateConditionId", "fpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("fpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByRearPlateConditionId", "rpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("rpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdDriverInfos", "di", Criteria.LEFT_JOIN,
                        Restrictions.eq("di.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("cd.isViolationDefect", isViolationDefect))
                .createCriteria("cd.vsdDefect", "def", Criteria.LEFT_JOIN,
                        Restrictions.eq("def.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE));
        if (testStatus != null) {
            criteria.add(Restrictions.eq("ct.testStatus", testStatus));
        }
        criteria.createCriteria("violations.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds));
        violations = criteria.list();
        logger.info("getViolationsWithDefectsByStatuses -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithDefectsByStatuses()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

From source file:com.rta.vsd.data.service.impl.ViolationDataServiceImpl.java

/**
 * /*from  w  w w.  jav a 2 s  . co m*/
 * Gets a list of violations with their associated defects(VsdChannelDefect) by their statuses
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param statuses
 * @param testStatus
 * @param reportedDate
 * @return List<VsdViolation>
 * @throws VSDDataAccessException
 */
public List<VsdViolation> getViolationsWithDefectsByStatuses(DataServiceContext dsContext,
        boolean retrieveArabicData, List<Long> violationStatusIds, String testStatus, Date reportedDate)
        throws VSDDataAccessException {
    logger.info("getViolationsWithDefectsByStatuses -- START");
    List<VsdViolation> violations = null;
    try {
        Session session = (Session) dsContext.getInternalContext();

        Criteria criteria = session.createCriteria(VsdViolation.class, "violations")
                .add(Restrictions.eq("violations.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("violations.reportedDate", reportedDate))
                .createCriteria("violations.vsdInspections", "i", Criteria.LEFT_JOIN,
                        Restrictions.eq("i.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByFrontPlateConditionId", "fpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("fpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdPlateConditionByRearPlateConditionId", "rpc", Criteria.LEFT_JOIN,
                        Restrictions.eq("rpc.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("i.vsdVehicleInfo", "vi", Criteria.LEFT_JOIN,
                        Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdDriverInfos", "di", Criteria.LEFT_JOIN,
                        Restrictions.eq("di.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.LEFT_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdSeverityLevel", "s", Criteria.LEFT_JOIN,
                        Restrictions.eq("s.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("violations.vsdChannelDefects", "cd", Criteria.LEFT_JOIN,
                        Restrictions.eq("cd.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cd.vsdChannelDefectTests", "cdt", Criteria.LEFT_JOIN,
                        Restrictions.eq("cdt.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("cdt.vsdChannelTest", "ct", Criteria.LEFT_JOIN,
                        Restrictions.eq("ct.isDeleted", IDataService.BOOL_FALSE));
        if (testStatus != null) {
            criteria.add(Restrictions.eq("ct.testStatus", testStatus));
        }
        criteria.createCriteria("violations.vsdViolationStatus", "vs", Criteria.LEFT_JOIN,
                Restrictions.eq("vs.isDeleted", IDataService.BOOL_FALSE))
                .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
                .add(Restrictions.in("vs.violationStatusId", violationStatusIds));
        violations = criteria.list();
        logger.info("getViolationsWithDefectsByStatuses -- END");
        return violations;
    } catch (Exception ex) {
        logger.error("An error occured in getViolationsWithDefectsByStatuses()");
        logger.error(ex);
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}