List of usage examples for org.hibernate.criterion DetachedCriteria forEntityName
@SuppressWarnings("UnusedDeclaration") public static DetachedCriteria forEntityName(String entityName)
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Get the new external persons//from w ww.j a va 2 s .c om * * @author Adelina * * @return */ public List<TeamMember> getNewTeamMembersByProjectTeam(Integer projectTeamId) { logger.debug("getTeamMembersByProjectTeam - START"); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity); dc.add(Restrictions.eq("personId", new Integer(0))); dc.add(Restrictions.eq("projectTeamId", projectTeamId)); dc.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED)); List<TeamMember> members = getHibernateTemplate().findByCriteria(dc); logger.debug("getTeamMembersByProjectTeam - END"); return members; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Get team members from projects// w ww. j a v a 2s .com * * @author Adelina * * @param projectIds * @return */ public List<TeamMember> getTeamMembersByProjectIds(Set<Integer> projectIds, boolean isExternal, boolean isNotDeleted) { logger.debug("getTeamMembersByProjectIds - START"); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberWithProjectTeamEntity); logger.debug("isExternal = " + isExternal); if (isExternal) { dc.add(Restrictions.eq("personId", new Integer(0))); } dc.createCriteria("projectTeam").add(Restrictions.in("projectId", projectIds)); logger.debug("isNotDeleted = " + isNotDeleted); if (isNotDeleted) { dc.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED)); } List<TeamMember> members = getHibernateTemplate().findByCriteria(dc); logger.debug("team members = " + members); List<TeamMember> teamMembers = new ArrayList<TeamMember>(); if (members != null && members.size() > 0) { for (TeamMember teamMember : members) { logger.debug("team member = " + teamMember); boolean changeStatus = false; if (teamMember != null && teamMember.getPersonId() > 0) { try { Person person = BLPerson.getInstance().get(teamMember.getPersonId()); logger.debug("person = " + person); Byte activated = new Byte(IConstant.NOM_PERSON_STATUS_ACTIVATED); if (person != null && !activated.equals(person.getStatus())) { changeStatus = true; } if (!changeStatus) { logger.debug("teamMember = " + teamMember); teamMembers.add(teamMember); } else { if (person != null) { changeStatus(teamMember, person.getStatus()); } } } catch (BusinessException e) { e.printStackTrace(); } } if (!isNotDeleted) { teamMembers.add(teamMember); } } } Tools.getInstance().printList(logger, teamMembers); logger.debug("getTeamMembersByProjectIds - END"); return teamMembers; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Gets the list of team members for a person * @author Coni//ww w . ja v a2 s . c o m * @param personId * @return */ public List<TeamMember> getByPersonId(Integer personId, boolean isNotDeleted) { logger.debug("getByPersonId - START"); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberSimpleEntity); dc.add(Restrictions.eq("personId", personId)); List<TeamMember> teamMembers = new ArrayList<TeamMember>(); List<TeamMember> members = getHibernateTemplate().findByCriteria(dc); for (TeamMember member : members) { if (member.getStatus() == IConstant.NOM_TEAM_MEMBER_STATUS_DISABLED && member.getPersonId() > 0) { if (isNotDeleted) { boolean changeStatusToActivate = false; try { Person person = BLPerson.getInstance().get(personId); logger.debug("person = " + person); Byte activated = new Byte(IConstant.NOM_PERSON_STATUS_ACTIVATED); if (person != null && activated.equals(person.getStatus())) { changeStatusToActivate = true; } } catch (BusinessException e) { e.printStackTrace(); } if (changeStatusToActivate) { changeStatusToOpen(member); teamMembers.add(member); } } else { teamMembers.add(member); } } else { teamMembers.add(member); } } logger.debug("getByPersonId - END"); return teamMembers; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Gets team members by different search criteria * /*from w w w . j a va 2 s.c om*/ * @author Coni * @param searchTeamMemberBean * @return * @throws BusinessException * @throws WSClientException * @throws IOException * @throws XmlMappingException */ public List<TeamMember> getFromSearchSimple(SearchTeamMemberBean searchTeamMemberBean) throws XmlMappingException, IOException, WSClientException { logger.debug("getFromSearchSimple - START"); DetachedCriteria dc = DetachedCriteria .forEntityName(IModelConstant.teamMemberWithProjectTeamAndProjectEntity); //retrieve all the team members for persons from the organization(which have personId != 0) or //not(which have firstName and lastName) that correspond to the search criteria if (searchTeamMemberBean.getFirstName() != null && !"".equals(searchTeamMemberBean.getFirstName()) && searchTeamMemberBean.getLastName() != null && !"".equals(searchTeamMemberBean.getLastName())) { dc.add(Restrictions.and( Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%")), Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%")))); } else if (searchTeamMemberBean.getFirstName() != null && !"".equals(searchTeamMemberBean.getFirstName())) { dc.add(Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%"))); } else if (searchTeamMemberBean.getLastName() != null && !"".equals(searchTeamMemberBean.getLastName())) { dc.add(Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%"))); } if (!searchTeamMemberBean.isWithDeleted()) { dc.add(Restrictions.eq("status", IConstant.NOM_TEAM_MEMBER_STATUS_ACTIVATED)); } if (searchTeamMemberBean.getProjectId() != null) { //if a project is selected, the team members project team must correspond to that project dc.createCriteria("projectTeam").add(Restrictions.eq("projectId", searchTeamMemberBean.getProjectId())); if (!searchTeamMemberBean.isIncludeFinishedAndAbandonedProjects()) { dc.createCriteria("projectTeam").createCriteria("project") .add(Restrictions.eq("status", IConstant.NOM_PROJECT_STATUS_OPENED)); } } if (searchTeamMemberBean.getOrganizationId() != null) { dc.createCriteria("projectTeam").createCriteria("project") .add(Restrictions.eq("organizationId", searchTeamMemberBean.getOrganizationId())); } List<TeamMember> members = getHibernateTemplate().findByCriteria(dc); logger.debug("getFromSearchSimple - END"); return members; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Returns the active team members from a project team * //from w ww .java 2s. c o m * @author Coni * @param projectTeamId * @return */ public List<TeamMember> getTeamMembersByProjectTeam(int projectTeamId) { logger.debug("getTeamMembersByProjectTeam - START"); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberSimpleEntity); dc.add(Restrictions.eq("projectTeamId", projectTeamId)); dc.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED)); List<TeamMember> res = getHibernateTemplate().findByCriteria(dc); logger.debug("getTeamMembersByProjectTeam - START"); return res; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Get team member items identified by their ids * // w w w . j av a 2 s . c o m * @author Coni * * @param memberIds * @return */ public List<TeamMember> getByMemberIds(Set<Integer> memberIds, boolean isNotDeleted) { logger.debug("getByMemberIds - START"); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberSimpleEntity); dc.add(Restrictions.in("memberId", memberIds)); if (isNotDeleted) { dc.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED)); } List<TeamMember> res = getHibernateTemplate().findByCriteria(dc); logger.debug("getByMemberIds - START"); return res; }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Get team member item identified by it's id with id and status if it is not delete * // w w w .j a v a 2 s .co m * @author Adelina * * @param memberId * @return */ public TeamMember getSimpleByMemberId(Integer memberId) { logger.debug("getSimpleByMemberId - START "); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberForDeleteEntity); List<TeamMember> result = null; dc.add(Restrictions.eq("memberId", memberId)); dc.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED)); result = getHibernateTemplate().findByCriteria(dc); logger.debug("getSimpleByMemberId - END"); if (result.size() > 0) { return result.get(0); } else { return null; } }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Get team member by personId and projectTeamId * //from www .j a v a 2 s.c o m * @author Adelina * * @param personId * @param projectTeamId * @return */ public TeamMember getMember(Integer personId, Integer projectTeamId) { logger.debug("getByPersonId - START "); DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity); List<TeamMember> result = null; dc.add(Restrictions.eq("personId", personId)); dc.add(Restrictions.eq("projectTeamId", projectTeamId)); result = getHibernateTemplate().findByCriteria(dc); logger.debug("getByPersonId - END"); if (result.size() > 0) { return result.get(0); } else { return null; } }
From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java
License:Open Source License
/** * Retrieves from search a list of team members with basic info and pagination; search method * for TS person search//from w w w. j a va 2s.c om * * @author Coni * @param searchTeamMemberBean * @return * @throws WSClientException * @throws IOException * @throws XmlMappingException * @throws BusinessException */ public List<TeamMember> getFromSearchSimpleWithPagination(SearchTeamMemberBean searchTeamMemberBean) throws XmlMappingException, IOException, WSClientException, BusinessException { logger.debug("getFromSearchSimpleWithPagination - START"); DetachedCriteria dc = DetachedCriteria .forEntityName(IModelConstant.teamMemberWithProjectTeamAndProjectEntity); DetachedCriteria dcCount = DetachedCriteria .forEntityName(IModelConstant.teamMemberWithProjectTeamAndProjectEntity); //retrieve all the team members for persons from the organization(which have personId != 0) or //not(which have firstName and lastName) that correspond to the search criteria if (searchTeamMemberBean.getFirstName() != null && !"".equals(searchTeamMemberBean.getFirstName()) && searchTeamMemberBean.getLastName() != null && !"".equals(searchTeamMemberBean.getLastName())) { dc.add(Restrictions.and( Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%")), Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%")))); dcCount.add(Restrictions.and( Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%")), Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%")))); } else if (searchTeamMemberBean.getFirstName() != null && !"".equals(searchTeamMemberBean.getFirstName())) { dc.add(Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%"))); dcCount.add( Restrictions.ilike("firstName", "%".concat(searchTeamMemberBean.getFirstName()).concat("%"))); } else if (searchTeamMemberBean.getLastName() != null && !"".equals(searchTeamMemberBean.getLastName())) { dc.add(Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%"))); dcCount.add(Restrictions.ilike("lastName", "%".concat(searchTeamMemberBean.getLastName()).concat("%"))); } if (!searchTeamMemberBean.isWithDeleted()) { dc.add(Restrictions.eq("status", IConstant.NOM_TEAM_MEMBER_STATUS_ACTIVATED)); dcCount.add(Restrictions.eq("status", IConstant.NOM_TEAM_MEMBER_STATUS_ACTIVATED)); } DetachedCriteria dcOnProject = dc.createCriteria("projectTeam").createCriteria("project"); DetachedCriteria dcCountOnProject = dcCount.createCriteria("projectTeam").createCriteria("project"); if (searchTeamMemberBean.getProjectId() != null && !searchTeamMemberBean.getProjectId() .equals(Integer.valueOf(IConstant.NOM_TS_PERSON_SEARCH_IN_ORGANIZATION))) { if (searchTeamMemberBean.getProjectId() .equals(Integer.valueOf(IConstant.NOM_TS_PERSON_SEARCH_ALL_PROJECTS))) { //if the used doesn't have the permission to search in all the projects for team members, //the user must see all the persons from the projects where he is PM and only his person //for the projects where he isn't PM List<Project> userProjects = null; if (!searchTeamMemberBean.isHasPermissionToSeeAllProjects()) { if (!searchTeamMemberBean.isOnlyManager()) { userProjects = BLProject.getInstance().getProjectsByPerson( searchTeamMemberBean.getPersonId(), searchTeamMemberBean.isIncludeFinishedAndAbandonedProjects()); } else { userProjects = BLProject.getInstance().getProjectsByManager( searchTeamMemberBean.getPersonId(), searchTeamMemberBean.isIncludeFinishedAndAbandonedProjects()); } } else { userProjects = BLProject.getInstance().getAllProjects(searchTeamMemberBean.getOrganizationId(), searchTeamMemberBean.isIncludeFinishedAndAbandonedProjects()); } if (userProjects != null && !userProjects.isEmpty()) { List<Integer> projectIds = new ArrayList<Integer>(); for (Project prj : userProjects) { projectIds.add(prj.getProjectId()); } dcOnProject.add(Restrictions.in("projectId", projectIds)); dcCountOnProject.add(Restrictions.in("projectId", projectIds)); } else { return new ArrayList<TeamMember>(); } } else { //if a project is selected, the team members project team must correspond to that project dcOnProject.add(Restrictions.eq("projectId", searchTeamMemberBean.getProjectId())); dcCountOnProject.add(Restrictions.eq("projectId", searchTeamMemberBean.getProjectId())); } } if (searchTeamMemberBean.getOrganizationId() != null) { dcOnProject.add(Restrictions.eq("organizationId", searchTeamMemberBean.getOrganizationId())); dcCountOnProject.add(Restrictions.eq("organizationId", searchTeamMemberBean.getOrganizationId())); } // check if I have to order the results if (searchTeamMemberBean.getSortParam() != null && StringUtils.hasLength(searchTeamMemberBean.getSortParam())) { if (searchTeamMemberBean.getSortParam().equals("projectName")) { if (searchTeamMemberBean.getSortDirection() == IConstant.ASCENDING) { dcOnProject.addOrder(Order.asc("name")); } else { dcOnProject.addOrder(Order.desc("name")); } } else { // if I have to, check if I have to order them ascending or descending if (searchTeamMemberBean.getSortDirection() == IConstant.ASCENDING) { // ascending dc.addOrder(Order.asc(searchTeamMemberBean.getSortParam())); } else { // descending dc.addOrder(Order.desc(searchTeamMemberBean.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 (searchTeamMemberBean.getNbrOfResults() == -1) { // set the countDistinct restriction dcCount.setProjection(Projections.countDistinct("memberId")); int nbrOfResults = ((Integer) getHibernateTemplate().findByCriteria(dcCount, 0, 0).get(0)).intValue(); searchTeamMemberBean.setNbrOfResults(nbrOfResults); logger.debug("NbrOfResults " + searchTeamMemberBean.getNbrOfResults()); logger.debug("----> searchPersonBean.getResults " + searchTeamMemberBean.getResultsPerPage()); // get the number of pages if (nbrOfResults % searchTeamMemberBean.getResultsPerPage() == 0) { searchTeamMemberBean.setNbrOfPages(nbrOfResults / searchTeamMemberBean.getResultsPerPage()); } else { searchTeamMemberBean.setNbrOfPages(nbrOfResults / searchTeamMemberBean.getResultsPerPage() + 1); } searchTeamMemberBean.setCurrentPage(1); } List<TeamMember> res = getHibernateTemplate().findByCriteria(dc, (searchTeamMemberBean.getCurrentPage() - 1) * searchTeamMemberBean.getResultsPerPage(), searchTeamMemberBean.getResultsPerPage()); logger.debug("getFromSearchSimpleWithPagination - END"); return res; }
From source file:ro.cs.logaudit.dao.impl.DaoAuditCmImpl.java
License:Open Source License
/** * Searches for audit after criterion from searchBean * /*from w ww. j a v a 2s . c om*/ * @author Coni * * @return A list of audit beans * @throws ParseException */ public List<AuditCmBean> getAuditBeanFromSearch(SearchAuditCmBean searchAuditCmBean, boolean isDeleteAction, Locale locale) throws ParseException { logger.debug("getAuditBeanFromSearch - START"); // set search criterion DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.auditcmEntity); DetachedCriteria dcCount = DetachedCriteria.forEntityName(IModelConstant.auditcmEntity); if (searchAuditCmBean.getOrganisationId() != -1) { dc.add(Restrictions.eq("organisationId", searchAuditCmBean.getOrganisationId())); dcCount.add(Restrictions.eq("organisationId", searchAuditCmBean.getOrganisationId())); } if (searchAuditCmBean.getEvent() != null && !"-1".equals(searchAuditCmBean.getEvent())) { dc.add(Restrictions.ilike("event", "%".concat(searchAuditCmBean.getEvent()).concat("%"))); dcCount.add(Restrictions.ilike("event", "%".concat(searchAuditCmBean.getEvent()).concat("%"))); } if (searchAuditCmBean.getPersonId() != null && !"".equals(searchAuditCmBean.getPersonId())) { dc.add(Restrictions.eq("personId", searchAuditCmBean.getPersonId())); dcCount.add(Restrictions.eq("personId", searchAuditCmBean.getPersonId())); } if (searchAuditCmBean.getMessage() != null && !"".equals(searchAuditCmBean.getMessage())) { dc.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()), "%".concat(searchAuditCmBean.getMessage()).concat("%"))); dcCount.add(Restrictions.ilike("message".concat(locale.toString().toUpperCase()), "%".concat(searchAuditCmBean.getMessage()).concat("%"))); } if (searchAuditCmBean.getStartDate() != null) { dc.add(Expression.ge("date", searchAuditCmBean.getStartDate())); dcCount.add(Expression.ge("date", searchAuditCmBean.getStartDate())); } if (searchAuditCmBean.getEndDate() != null) { dc.add(Expression.le("date", searchAuditCmBean.getEndDate())); dcCount.add(Expression.le("date", searchAuditCmBean.getEndDate())); } // check if I have to order the results if (searchAuditCmBean.getSortParam() != null && !"".equals(searchAuditCmBean.getSortParam())) { // if I have to, check if I have to order them ascending or descending if (searchAuditCmBean.getSortDirection() == -1) { // ascending dc.addOrder(Order.asc(searchAuditCmBean.getSortParam())); } else { // descending dc.addOrder(Order.desc(searchAuditCmBean.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 || searchAuditCmBean.getNbrOfResults() == -1) { boolean isSearch = false; if (searchAuditCmBean.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))); searchAuditCmBean.setNbrOfResults(nbrOfResults); // get the number of pages if (nbrOfResults % searchAuditCmBean.getResultsPerPage() == 0) { searchAuditCmBean.setNbrOfPages(nbrOfResults / searchAuditCmBean.getResultsPerPage()); } else { searchAuditCmBean.setNbrOfPages(nbrOfResults / searchAuditCmBean.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 && (searchAuditCmBean.getCurrentPage() > searchAuditCmBean.getNbrOfPages())) { searchAuditCmBean.setCurrentPage(searchAuditCmBean.getNbrOfPages()); } else if (isSearch) { searchAuditCmBean.setCurrentPage(1); } } List<AuditCmBean> res = (List<AuditCmBean>) getHibernateTemplate().findByCriteria(dc, (searchAuditCmBean.getCurrentPage() - 1) * searchAuditCmBean.getResultsPerPage(), searchAuditCmBean.getResultsPerPage()); logger.debug("getAuditBeanFromSearch - END results size : ".concat(String.valueOf(res.size()))); return res; }