Example usage for org.hibernate.criterion DetachedCriteria forEntityName

List of usage examples for org.hibernate.criterion DetachedCriteria forEntityName

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria forEntityName.

Prototype

@SuppressWarnings("UnusedDeclaration")
public static DetachedCriteria forEntityName(String entityName) 

Source Link

Document

Static builder to create a DetachedCriteria for the given entity.

Usage

From source file:ro.cs.logaudit.dao.impl.DaoAuditCmImpl.java

License:Open Source License

/**
 * @author coni/*from   w ww  .  j  ava 2s  . c  om*/
 * @param getDataCriteria
 * Gets data for the Audit Events report data source request
 */
public List<AuditCmBean> getAuditBeanForAuditEventsReportDataSource(
        AuditEventsReportGetDataCriteria getDataCriteria) {
    logger.debug("getAuditBeanForAuditEventsReportDataSource - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditcmReportsEntity);
    HashMap<String, Object> criteria = getDataCriteria.getProperties();

    String event = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM);
    if (event != null && !"-1".equals(event)) {
        dc.add(Restrictions.ilike("event", "%".concat(event).concat("%")));
    }

    String message = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM);
    if (message != null && !"".equals(message)) {
        String locale = ((String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_LOCALE_PARAM))
                .toUpperCase();
        dc.add(Restrictions.ilike("message".concat(locale), "%".concat(message).concat("%")));
    }

    Integer personId = (Integer) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM);
    if (personId != null && !"".equals(personId)) {
        dc.add(Restrictions.eq("personId", personId));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM) != null) {
        Date startDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.ge("date", startDate));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM) != null) {
        Date endDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.le("date", endDate));
    }

    Integer organizationId = (Integer) criteria
            .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM);
    if (organizationId != null) {
        dc.add(Restrictions.eq("organisationId", organizationId));
    }

    List<AuditCmBean> res = (List<AuditCmBean>) getHibernateTemplate().findByCriteria(dc);
    logger.debug("getAuditBeanForAuditEventsReportDataSource - END");
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditDmImpl.java

License:Open Source License

/**
 * Searches for audit after criterion from searchBean
 * //from   w ww  .ja v  a 2  s.  c  o m
 * @author coni
 * 
 * @return A list of audit beans 
 * @throws ParseException 
 */
public List<AuditDmBean> getAuditBeanFromSearch(SearchAuditDmBean searchAuditDmBean, boolean isDeleteAction,
        Locale locale) throws ParseException {

    logger.debug("getAuditBeanFromSearch - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditdmEntity);
    DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.auditdmEntity);

    if (searchAuditDmBean.getOrganisationId() != -1) {
        dc.add(Restrictions.eq("organisationId", searchAuditDmBean.getOrganisationId()));
        dcCount.add(Restrictions.eq("organisationId", searchAuditDmBean.getOrganisationId()));
    }

    if (searchAuditDmBean.getEvent() != null && !"-1".equals(searchAuditDmBean.getEvent())) {
        dc.add(Restrictions.ilike("event", "%".concat(searchAuditDmBean.getEvent()).concat("%")));
        dcCount.add(Restrictions.ilike("event", "%".concat(searchAuditDmBean.getEvent()).concat("%")));
    }
    if (searchAuditDmBean.getPersonId() != null && !"".equals(searchAuditDmBean.getPersonId())) {
        dc.add(Restrictions.eq("personId", searchAuditDmBean.getPersonId()));
        dcCount.add(Restrictions.eq("personId", searchAuditDmBean.getPersonId()));
    }
    if (searchAuditDmBean.getMessage() != null && !"".equals(searchAuditDmBean.getMessage())) {
        dc.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditDmBean.getMessage()).concat("%")));
        dcCount.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditDmBean.getMessage()).concat("%")));
    }

    if (searchAuditDmBean.getStartDate() != null) {
        dc.add(Expression.ge("date", searchAuditDmBean.getStartDate()));
        dcCount.add(Expression.ge("date", searchAuditDmBean.getStartDate()));
    }

    if (searchAuditDmBean.getEndDate() != null) {
        dc.add(Expression.le("date", searchAuditDmBean.getEndDate()));
        dcCount.add(Expression.le("date", searchAuditDmBean.getEndDate()));
    }

    // check if I have to order the results
    if (searchAuditDmBean.getSortParam() != null && !"".equals(searchAuditDmBean.getSortParam())) {
        // if I have to, check if I have to order them ascending or descending
        if (searchAuditDmBean.getSortDirection() == -1) {
            // ascending
            dc.addOrder(Order.asc(searchAuditDmBean.getSortParam()));
        } else {
            // descending
            dc.addOrder(Order.desc(searchAuditDmBean.getSortParam()));
        }
    }

    // if the request didn't come from the pagination area, 
    // it means that I have to set the number of results and pages
    if (isDeleteAction || searchAuditDmBean.getNbrOfResults() == -1) {
        boolean isSearch = false;
        if (searchAuditDmBean.getNbrOfResults() == -1) {
            isSearch = true;
        }
        // set the count(*) restriction         
        dcCount.setProjection(Projections.countDistinct("auditId"));

        //findByCriteria must be called with firstResult and maxResults parameters; the default findByCriteria(DetachedCriteria criteria) implementation
        //sets firstResult and maxResults to -1, which kills the countDistinct Projection         
        int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue();
        logger.debug("search results: ".concat(String.valueOf(nbrOfResults)));
        searchAuditDmBean.setNbrOfResults(nbrOfResults);

        // get the number of pages
        if (nbrOfResults % searchAuditDmBean.getResultsPerPage() == 0) {
            searchAuditDmBean.setNbrOfPages(nbrOfResults / searchAuditDmBean.getResultsPerPage());
        } else {
            searchAuditDmBean.setNbrOfPages(nbrOfResults / searchAuditDmBean.getResultsPerPage() + 1);
        }
        // after an audit is deleted, the same page has to be displayed;
        //only when all the roles from last page are deleted, the previous page will be shown 
        if (isDeleteAction && (searchAuditDmBean.getCurrentPage() > searchAuditDmBean.getNbrOfPages())) {
            searchAuditDmBean.setCurrentPage(searchAuditDmBean.getNbrOfPages());
        } else if (isSearch) {
            searchAuditDmBean.setCurrentPage(1);
        }

    }

    List<AuditDmBean> res = (List<AuditDmBean>) getHibernateTemplate().findByCriteria(dc,
            (searchAuditDmBean.getCurrentPage() - 1) * searchAuditDmBean.getResultsPerPage(),
            searchAuditDmBean.getResultsPerPage());
    logger.debug("getAuditBeanFromSearch - END results size : ".concat(String.valueOf(res.size())));
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditDmImpl.java

License:Open Source License

/**
 * @author coni/*from ww w.j a v a  2s  .  co m*/
 * @param getDataCriteria
 * Gets data for the Audit Events report data source request
 */
public List<AuditDmBean> getAuditBeanForAuditEventsReportDataSource(
        AuditEventsReportGetDataCriteria getDataCriteria) {
    logger.debug("getAuditBeanForAuditEventsReportDataSource - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditdmReportsEntity);
    HashMap<String, Object> criteria = getDataCriteria.getProperties();

    String event = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM);
    if (event != null && !"-1".equals(event)) {
        dc.add(Restrictions.ilike("event", "%".concat(event).concat("%")));
    }

    String message = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM);
    if (message != null && !"".equals(message)) {
        String locale = ((String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_LOCALE_PARAM))
                .toUpperCase();
        dc.add(Restrictions.ilike("message".concat(locale), "%".concat(message).concat("%")));
    }

    Integer personId = (Integer) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM);
    if (personId != null && !"".equals(personId)) {
        dc.add(Restrictions.eq("personId", personId));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM) != null) {
        Date startDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.ge("date", startDate));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM) != null) {
        Date endDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.le("date", endDate));
    }

    Integer organizationId = (Integer) criteria
            .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM);
    if (organizationId != null) {
        dc.add(Restrictions.eq("organisationId", organizationId));
    }

    List<AuditDmBean> res = (List<AuditDmBean>) getHibernateTemplate().findByCriteria(dc);
    logger.debug("getAuditBeanForAuditEventsReportDataSource - END");
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditOmImpl.java

License:Open Source License

/**
 * Searches for audit after criterion from searchBean
 * /*from  w  w w.j  a v a 2s .  c o m*/
 * @author Adelina
 * @author Coni
 * 
 * @return A list of audit beans 
 * @throws ParseException 
 */
public List<AuditOmBean> getAuditBeanFromSearch(SearchAuditOmBean searchAuditOmBean, boolean isDeleteAction,
        Locale locale) throws ParseException {

    logger.debug("getAuditBeanFromSearch - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditomEntity);
    DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.auditomEntity);

    if (searchAuditOmBean.getOrganisationId() != -1) {
        dc.add(Restrictions.eq("organisationId", searchAuditOmBean.getOrganisationId()));
        dcCount.add(Restrictions.eq("organisationId", searchAuditOmBean.getOrganisationId()));
    }

    if (searchAuditOmBean.getEvent() != null && !"-1".equals(searchAuditOmBean.getEvent())) {
        dc.add(Restrictions.ilike("event", "%".concat(searchAuditOmBean.getEvent()).concat("%")));
        dcCount.add(Restrictions.ilike("event", "%".concat(searchAuditOmBean.getEvent()).concat("%")));
    }
    if (searchAuditOmBean.getPersonId() != null && !"".equals(searchAuditOmBean.getPersonId())) {
        dc.add(Restrictions.eq("personId", searchAuditOmBean.getPersonId()));
        dcCount.add(Restrictions.eq("personId", searchAuditOmBean.getPersonId()));
    }
    if (searchAuditOmBean.getMessage() != null && !"".equals(searchAuditOmBean.getMessage())) {
        dc.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditOmBean.getMessage()).concat("%")));
        dcCount.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditOmBean.getMessage()).concat("%")));
    }

    if (searchAuditOmBean.getStartDate() != null) {
        dc.add(Expression.ge("date", searchAuditOmBean.getStartDate()));
        dcCount.add(Expression.ge("date", searchAuditOmBean.getStartDate()));
    }

    if (searchAuditOmBean.getEndDate() != null) {
        dc.add(Expression.le("date", searchAuditOmBean.getEndDate()));
        dcCount.add(Expression.le("date", searchAuditOmBean.getEndDate()));
    }

    // check if I have to order the results
    if (searchAuditOmBean.getSortParam() != null && !"".equals(searchAuditOmBean.getSortParam())) {
        // if I have to, check if I have to order them ascending or descending
        if (searchAuditOmBean.getSortDirection() == -1) {
            // ascending
            dc.addOrder(Order.asc(searchAuditOmBean.getSortParam()));
        } else {
            // descending
            dc.addOrder(Order.desc(searchAuditOmBean.getSortParam()));
        }
    }

    // if the request didn't come from the pagination area, 
    // it means that I have to set the number of results and pages
    if (isDeleteAction || searchAuditOmBean.getNbrOfResults() == -1) {
        boolean isSearch = false;
        if (searchAuditOmBean.getNbrOfResults() == -1) {
            isSearch = true;
        }
        // set the count(*) restriction         
        dcCount.setProjection(Projections.countDistinct("auditId"));

        //findByCriteria must be called with firstResult and maxResults parameters; the default findByCriteria(DetachedCriteria criteria) implementation
        //sets firstResult and maxResults to -1, which kills the countDistinct Projection         
        int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue();
        logger.debug("search results: ".concat(String.valueOf(nbrOfResults)));
        searchAuditOmBean.setNbrOfResults(nbrOfResults);

        // get the number of pages
        if (nbrOfResults % searchAuditOmBean.getResultsPerPage() == 0) {
            searchAuditOmBean.setNbrOfPages(nbrOfResults / searchAuditOmBean.getResultsPerPage());
        } else {
            searchAuditOmBean.setNbrOfPages(nbrOfResults / searchAuditOmBean.getResultsPerPage() + 1);
        }
        // after an audit is deleted, the same page has to be displayed;
        //only when all the audit events from last page are deleted, the previous page will be shown 
        if (isDeleteAction && (searchAuditOmBean.getCurrentPage() > searchAuditOmBean.getNbrOfPages())) {
            searchAuditOmBean.setCurrentPage(searchAuditOmBean.getNbrOfPages());
        } else if (isSearch) {
            searchAuditOmBean.setCurrentPage(1);
        }

    }

    List<AuditOmBean> res = (List<AuditOmBean>) getHibernateTemplate().findByCriteria(dc,
            (searchAuditOmBean.getCurrentPage() - 1) * searchAuditOmBean.getResultsPerPage(),
            searchAuditOmBean.getResultsPerPage());
    logger.debug("getAuditBeanFromSearch - END results size : ".concat(String.valueOf(res.size())));
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditOmImpl.java

License:Open Source License

/**
 * @author coni//from   ww w.  j a va 2s  .  c om
 * @param getDataCriteria
 * Gets data for the Audit Events report data source request
 */
public List<AuditOmBean> getAuditBeanForAuditEventsReportDataSource(
        AuditEventsReportGetDataCriteria getDataCriteria) {
    logger.debug("getAuditBeanForAuditEventsReportDataSource - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditomReportsEntity);
    HashMap<String, Object> criteria = getDataCriteria.getProperties();

    String event = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM);
    if (event != null && !"-1".equals(event)) {
        dc.add(Restrictions.ilike("event", "%".concat(event).concat("%")));
    }

    String message = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM);
    if (message != null && !"".equals(message)) {
        String locale = ((String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_LOCALE_PARAM))
                .toUpperCase();
        dc.add(Restrictions.ilike("message".concat(locale), "%".concat(message).concat("%")));
    }

    Integer personId = (Integer) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM);
    if (personId != null && !"".equals(personId)) {
        dc.add(Restrictions.eq("personId", personId));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM) != null) {
        Date startDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.ge("date", startDate));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM) != null) {
        Date endDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.le("date", endDate));
    }

    Integer organizationId = (Integer) criteria
            .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM);
    if (organizationId != null) {
        dc.add(Restrictions.eq("organisationId", organizationId));
    }

    List<AuditOmBean> res = (List<AuditOmBean>) getHibernateTemplate().findByCriteria(dc);
    logger.debug("getAuditBeanForAuditEventsReportDataSource - END");
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditTsImpl.java

License:Open Source License

/**
 * Searches for audit after criterion from searchBean
 * /*from   w w w  .j av a 2 s .com*/
 * @author Coni
 * 
 * @return A list of audit beans 
 * @throws ParseException 
 */
public List<AuditTsBean> getAuditBeanFromSearch(SearchAuditTsBean searchAuditTsBean, boolean isDeleteAction,
        Locale locale) throws ParseException {

    logger.debug("getAuditBeanFromSearch - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.audittsEntity);
    DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.audittsEntity);

    if (searchAuditTsBean.getOrganisationId() != -1) {
        dc.add(Restrictions.eq("organisationId", searchAuditTsBean.getOrganisationId()));
        dcCount.add(Restrictions.eq("organisationId", searchAuditTsBean.getOrganisationId()));
    }

    if (searchAuditTsBean.getEvent() != null && !"-1".equals(searchAuditTsBean.getEvent())) {
        dc.add(Restrictions.ilike("event", "%".concat(searchAuditTsBean.getEvent()).concat("%")));
        dcCount.add(Restrictions.ilike("event", "%".concat(searchAuditTsBean.getEvent()).concat("%")));
    }
    if (searchAuditTsBean.getPersonId() != null && !"".equals(searchAuditTsBean.getPersonId())) {
        dc.add(Restrictions.eq("personId", searchAuditTsBean.getPersonId()));
        dcCount.add(Restrictions.eq("personId", searchAuditTsBean.getPersonId()));
    }
    if (searchAuditTsBean.getMessage() != null && !"".equals(searchAuditTsBean.getMessage())) {
        dc.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditTsBean.getMessage()).concat("%")));
        dcCount.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()),
                "%".concat(searchAuditTsBean.getMessage()).concat("%")));
    }

    if (searchAuditTsBean.getStartDate() != null) {
        dc.add(Expression.ge("date", searchAuditTsBean.getStartDate()));
        dcCount.add(Expression.ge("date", searchAuditTsBean.getStartDate()));
    }

    if (searchAuditTsBean.getEndDate() != null) {
        dc.add(Expression.le("date", searchAuditTsBean.getEndDate()));
        dcCount.add(Expression.le("date", searchAuditTsBean.getEndDate()));
    }

    // check if I have to order the results
    if (searchAuditTsBean.getSortParam() != null && !"".equals(searchAuditTsBean.getSortParam())) {
        // if I have to, check if I have to order them ascending or descending
        if (searchAuditTsBean.getSortDirection() == -1) {
            // ascending
            dc.addOrder(Order.asc(searchAuditTsBean.getSortParam()));
        } else {
            // descending
            dc.addOrder(Order.desc(searchAuditTsBean.getSortParam()));
        }
    }

    // if the request didn't come from the pagination area, 
    // it means that I have to set the number of results and pages
    if (isDeleteAction || searchAuditTsBean.getNbrOfResults() == -1) {
        boolean isSearch = false;
        if (searchAuditTsBean.getNbrOfResults() == -1) {
            isSearch = true;
        }
        // set the count(*) restriction         
        dcCount.setProjection(Projections.countDistinct("auditId"));

        //findByCriteria must be called with firstResult and maxResults parameters; the default findByCriteria(DetachedCriteria criteria) implementation
        //sets firstResult and maxResults to -1, which kills the countDistinct Projection         
        int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue();
        logger.debug("search results: ".concat(String.valueOf(nbrOfResults)));
        searchAuditTsBean.setNbrOfResults(nbrOfResults);

        // get the number of pages
        if (nbrOfResults % searchAuditTsBean.getResultsPerPage() == 0) {
            searchAuditTsBean.setNbrOfPages(nbrOfResults / searchAuditTsBean.getResultsPerPage());
        } else {
            searchAuditTsBean.setNbrOfPages(nbrOfResults / searchAuditTsBean.getResultsPerPage() + 1);
        }
        // after an audit is deleted, the same page has to be displayed;
        //only when all the audit events from last page are deleted, the previous page will be shown 
        if (isDeleteAction && (searchAuditTsBean.getCurrentPage() > searchAuditTsBean.getNbrOfPages())) {
            searchAuditTsBean.setCurrentPage(searchAuditTsBean.getNbrOfPages());
        } else if (isSearch) {
            searchAuditTsBean.setCurrentPage(1);
        }

    }

    List<AuditTsBean> res = (List<AuditTsBean>) getHibernateTemplate().findByCriteria(dc,
            (searchAuditTsBean.getCurrentPage() - 1) * searchAuditTsBean.getResultsPerPage(),
            searchAuditTsBean.getResultsPerPage());
    logger.debug("getAuditBeanFromSearch - END results size : ".concat(String.valueOf(res.size())));
    return res;
}

From source file:ro.cs.logaudit.dao.impl.DaoAuditTsImpl.java

License:Open Source License

/**
 * @author coni//  ww w  . j  a  va 2s . com
 * @param getDataCriteria
 * Gets data for the Audit Events report data source request
 */
public List<AuditTsBean> getAuditBeanForAuditEventsReportDataSource(
        AuditEventsReportGetDataCriteria getDataCriteria) {
    logger.debug("getAuditBeanForAuditEventsReportDataSource - START");

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.audittsReportsEntity);
    HashMap<String, Object> criteria = getDataCriteria.getProperties();

    String event = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_EVENT_PARAM);
    if (event != null && !"-1".equals(event)) {
        dc.add(Restrictions.ilike("event", "%".concat(event).concat("%")));
    }

    String message = (String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_MESSAGE_PARAM);
    if (message != null && !"".equals(message)) {
        String locale = ((String) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_LOCALE_PARAM))
                .toUpperCase();
        dc.add(Restrictions.ilike("message".concat(locale), "%".concat(message).concat("%")));
    }

    Integer personId = (Integer) criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_PERSON_ID_PARAM);
    if (personId != null && !"".equals(personId)) {
        dc.add(Restrictions.eq("personId", personId));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM) != null) {
        Date startDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_START_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.ge("date", startDate));
    }

    if (criteria.get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM) != null) {
        Date endDate = ((XMLGregorianCalendar) criteria
                .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_END_DATE_PARAM)).toGregorianCalendar()
                        .getTime();
        dc.add(Expression.le("date", endDate));
    }

    Integer organizationId = (Integer) criteria
            .get(IReportsWsClientConstant.AUDIT_EVENTS_REPORT_ORGANISATION_ID_PARAM);
    if (organizationId != null) {
        dc.add(Restrictions.eq("organisationId", organizationId));
    }

    List<AuditTsBean> res = (List<AuditTsBean>) getHibernateTemplate().findByCriteria(dc);
    logger.debug("getAuditBeanForAuditEventsReportDataSource - END");
    return res;
}

From source file:ro.cs.om.model.dao.impl.DaoCalendarImpl.java

License:Open Source License

/**
 * Get the calendar for an organisation, by the organisation's id
 * //from   w  w w  . j  a v  a  2s. co m
 * @author Adelina
 * @param organisationId
 * @return the Calendar for the organisation
 */
@SuppressWarnings("unchecked")
public Calendar getCalendarByOrganisation(Integer organisationId) {
    logger.debug("getCalendarByOrganisation - START");
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.calendarEntity);
    dc.add(Restrictions.eq("organisationId", organisationId));
    List<Calendar> calendar = getHibernateTemplate().findByCriteria(dc);
    logger.debug("getCalendarByOrganisation - END ");
    return calendar.get(0);

}

From source file:ro.cs.om.model.dao.impl.DaoDepartmentImpl.java

License:Open Source License

/**
* Searches for Departments after criterion from searchOrganisationBean.
* 
* @author alu/*ww w  . j  a  v  a 2s  . co  m*/
* @author dan.damian
*/
public List<Department> getFromSearch(SearchDepartmentBean searchDepartmentBean, boolean isDeleteAction)
        throws ParseException {
    logger.debug("getFromSearch - START");
    /*Once a Projection is being set to a Detached Criteria object, it cannot be removed anymore, so two identical DetachedCriteria objects 
    must be created: 
    -dcCount ( on which the projection is being set )used to retrieve the number of distinct results which is set when 
    the request didn't come from the pagination area and needed further more to set the current page after a delete action; 
    -dc used to retrieve the result set after the current page has been set in case of a delete action
    */

    // set search criterion
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.departmentAllEntity);
    DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.departmentAllEntity);

    dc.createAlias("manager", "manager", Criteria.LEFT_JOIN);
    dcCount.createAlias("manager", "manager", Criteria.LEFT_JOIN);

    if (Tools.getInstance().stringNotEmpty(searchDepartmentBean.getName())) {
        dc.add(Restrictions.ilike("name", "%".concat(searchDepartmentBean.getName()).concat("%")));
        dcCount.add(Restrictions.ilike("name", "%".concat(searchDepartmentBean.getName()).concat("%")));
        logger.debug("name: " + searchDepartmentBean.getName());
    }

    if (searchDepartmentBean.getOrganisationId() != -1) {
        dc.add(Restrictions.eq("organisation.organisationId", searchDepartmentBean.getOrganisationId()));
        dcCount.add(Restrictions.eq("organisation.organisationId", searchDepartmentBean.getOrganisationId()));
        logger.debug("Organisation Id: " + searchDepartmentBean.getOrganisationId());
    }

    if (searchDepartmentBean.getManagerFirstName() != null
            && !"".equals(searchDepartmentBean.getManagerFirstName())) {
        dc.add(Restrictions.eq("manager.firstName", searchDepartmentBean.getManagerFirstName()));
        dcCount.add(Restrictions.eq("manager.firstName", searchDepartmentBean.getManagerFirstName()));
        logger.debug("Manager first name: ".concat(searchDepartmentBean.getManagerFirstName()));
    }

    if (searchDepartmentBean.getManagerLastName() != null
            && !"".equals(searchDepartmentBean.getManagerLastName())) {
        dc.add(Restrictions.eq("manager.lastName", searchDepartmentBean.getManagerLastName()));
        dcCount.add(Restrictions.eq("manager.lastName", searchDepartmentBean.getManagerLastName()));
        logger.debug("Manager last name: ".concat(searchDepartmentBean.getManagerLastName()));
    }

    if (Tools.getInstance().stringNotEmpty(searchDepartmentBean.getParentDepartmentName())) {
        dc.createCriteria("parentDepartment").add(Restrictions.ilike("name",
                "%".concat(searchDepartmentBean.getParentDepartmentName()).concat("%")));
        dcCount.createCriteria("parentDepartment").add(Restrictions.ilike("name",
                "%".concat(searchDepartmentBean.getParentDepartmentName()).concat("%")));
        logger.debug("Parent Department Name: " + searchDepartmentBean.getParentDepartmentName());
    }

    if (searchDepartmentBean.getParentDepartmentId() != -1) {
        dc.add(Restrictions.eq("parentDepartment.departmentId", searchDepartmentBean.getParentDepartmentId()));
        dcCount.add(
                Restrictions.eq("parentDepartment.departmentId", searchDepartmentBean.getParentDepartmentId()));
        logger.debug("Parent Department Id: " + searchDepartmentBean.getParentDepartmentId());
    }

    dc.add(Restrictions.eq("status", IConstant.NOM_DEPARTMENT_ACTIVE));
    dcCount.add(Restrictions.eq("status", IConstant.NOM_DEPARTMENT_ACTIVE));

    // check if I have to order the results
    if (searchDepartmentBean.getSortParam() != null && !"".equals(searchDepartmentBean.getSortParam())) {
        // if I have to, check if I have to order them ascending or descending
        if (searchDepartmentBean.getSortDirection() == -1) {
            // ascending
            dc.addOrder(Order.asc(searchDepartmentBean.getSortParam()));
        } else {
            // descending
            dc.addOrder(Order.desc(searchDepartmentBean.getSortParam()));
        }
    }

    // if the request didn't come from the pagination area, 
    // it means that I have to set the number of result and pages
    if (isDeleteAction || searchDepartmentBean.getNbrOfResults() == -1) {
        boolean isSearch = false;
        if (searchDepartmentBean.getNbrOfResults() == -1) {
            isSearch = true;
        }
        // set the countDistinct restriction
        dcCount.setProjection(Projections.distinct(Projections.countDistinct("departmentId")));

        int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue();
        searchDepartmentBean.setNbrOfResults(nbrOfResults);
        logger.debug("NbrOfResults " + searchDepartmentBean.getNbrOfResults());
        logger.debug("----> searchOrganisationBean.getResults " + searchDepartmentBean.getResultsPerPage());
        // get the number of pages
        if (nbrOfResults % searchDepartmentBean.getResultsPerPage() == 0) {
            searchDepartmentBean.setNbrOfPages(nbrOfResults / searchDepartmentBean.getResultsPerPage());
        } else {
            searchDepartmentBean.setNbrOfPages(nbrOfResults / searchDepartmentBean.getResultsPerPage() + 1);
        }
        // after a department is deleted, the same page has to be displayed;
        //only when all the departments from last page are deleted, the previous page will be shown 
        if (isDeleteAction && (searchDepartmentBean.getCurrentPage() > searchDepartmentBean.getNbrOfPages())) {
            searchDepartmentBean.setCurrentPage(searchDepartmentBean.getNbrOfPages());
        } else if (isSearch) {
            searchDepartmentBean.setCurrentPage(1);
        }
    }

    List<Department> res = getHibernateTemplate().findByCriteria(dc,
            (searchDepartmentBean.getCurrentPage() - 1) * searchDepartmentBean.getResultsPerPage(),
            searchDepartmentBean.getResultsPerPage());

    logger.debug("Res " + res.size());
    logger.debug("getFromSearch - END - results size : ".concat(String.valueOf(res.size())));
    return res;

}

From source file:ro.cs.om.model.dao.impl.DaoDepartmentImpl.java

License:Open Source License

/**
 * Gets the number of departments for an organisation (without the fake departments)
 * /*from  w  w w.j  ava  2s  . co m*/
 * @author Adelina
 * @parm organisationId
 * @return number of departments from an organisation
 */
@SuppressWarnings("unchecked")
public int getCountDepartments(Integer organisationId) {
    logger.debug("getCountDepartments - START");

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.departmentEntity);
    dc.setProjection(Projections.count("departmentId"));
    dc.createCriteria("organisation").add(Restrictions.eq("organisationId", organisationId));
    dc.add(Restrictions.ne("status", (byte) 2));
    List departaments = getHibernateTemplate().findByCriteria(dc);

    logger.debug("getCountDepartments - END - ".concat(String.valueOf(departaments.size())));

    if (departaments != null) {
        int count = ((Integer) departaments.get(0)).intValue();
        logger.debug("count " + count);
        return count;
    } else {
        return 0;
    }
}