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.cm.model.dao.impl.DaoProjectImpl.java

License:Open Source License

/**
 * Returns a list of projects for the corresponding team members
 * @author Coni//from  ww w  .j a v  a 2  s .co  m
 * @param teamMembers
 * @return
 */
public ArrayList<Project> getProjectsByTeamMembers(ArrayList<TeamMember> teamMembers,
        boolean isFinishedAndAbandoned) {
    logger.debug("getProjectsByTeamMembers - START");

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectAllEntity);
    ArrayList<Project> projects = null;

    if (teamMembers != null && teamMembers.size() > 0) {
        List<Integer> projectTeamsIds = new ArrayList<Integer>();
        for (TeamMember member : teamMembers) {
            projectTeamsIds.add(member.getProjectTeamId());
        }
        if (projectTeamsIds.size() > 0) {
            List<ProjectTeam> projectTeams = projectTeamDao.getByProjectTeamIds(projectTeamsIds);
            List<Integer> projectIds = new ArrayList<Integer>();
            for (ProjectTeam projectTeam : projectTeams) {
                projectIds.add(projectTeam.getProjectId());
            }
            if (!projectIds.isEmpty()) {
                dc.add(Restrictions.in("projectId", projectIds));

                if (isFinishedAndAbandoned) {
                    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_STATUS_DELETED));
                } else {
                    dc.add(Restrictions.eq("status", IConstant.NOM_PROJECT_STATUS_OPENED));
                }

                projects = (ArrayList<Project>) getHibernateTemplate().findByCriteria(dc);
                for (Project project : projects) {
                    for (ProjectTeam projectTeam : projectTeams) {
                        if (project.getProjectId() == projectTeam.getProjectId()) {
                            project.setProjectTeam(projectTeam);
                            break;
                        }
                    }
                }
            }
        }
    }

    logger.debug("getProjectsByTeamMembers - END");
    return projects;
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectImpl.java

License:Open Source License

/**
 * Gets a Project with the project team by its projectId
 * //w ww  . j av a 2s.  c om
 * @author Coni
 * @author Adelina
 * 
 * @param projectId
 * @return
 */
public Project getWithProjectTeamByProjectId(int projectId, boolean isNotDeleted) {
    logger.debug("getWithProjectTeamByProjectId - START");
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectAllEntity);
    List<Project> projects = null;
    dc.add(Restrictions.eq("projectId", projectId));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_STATUS_DELETED));
    projects = getHibernateTemplate().findByCriteria(dc);
    logger.debug("getWithProjectTeamByProjectId - END , projects size = " + projects.size());
    if (projects.size() > 0) {
        Project project = projects.get(0);
        project.setProjectTeam(projectTeamDao.getWithAllTeamMembers(project.getProjectId(), isNotDeleted));

        Integer managerId = project.getManagerId();

        logger.debug("managerId = " + managerId);
        Person manager = new Person();
        try {
            manager = BLPerson.getInstance().get(managerId);
        } catch (BusinessException be) {
            logger.error("", be);
        } catch (Exception e) {
            logger.error("", e);
        }
        // set the manager
        project.setManager(manager);

        Integer clientId = project.getClientId();
        if (clientId != null && clientId > 0) {
            Client client = new Client();
            try {
                client = BLClient.getInstance().get(clientId);
            } catch (BusinessException be) {
                logger.error("", be);
            } catch (Exception e) {
                logger.error("", e);
            }
            project.setClient(client);
        }

        return project;
    } else {
        return null;
    }
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectImpl.java

License:Open Source License

/**
 * Gets a list of projects with the corresponding project ids
 * @author Coni//from  www  . j av a 2 s .c  om
 * @param projectIds
 * @return
 * @throws BusinessException
 */
public List<Project> getSimpleByProjectIds(Set<Integer> projectIds) {
    logger.debug("getSimpleByProjectIds - START");
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectAllEntity);

    dc.add(Restrictions.in("projectId", projectIds));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_STATUS_DELETED));

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

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Get the projectTeam identified by it's id
 * //w  w w.  ja  v a 2 s  . co  m
 * @author Adelina
 * 
 * @param projectId
 * @return
 */
public ProjectTeam get(Integer projectId, boolean withExternalPerson) {
    logger.debug("get - START - project with id = ".concat(Integer.toString(projectId)));

    List<ProjectTeam> projectTeams = new ArrayList<ProjectTeam>();

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectTeamAllEntity);
    dc.add(Restrictions.eq("projectId", projectId));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_TEAM_STATUS_DELETED));
    projectTeams = getHibernateTemplate().findByCriteria(dc);
    ProjectTeam projectTeam = null;

    if (projectTeams != null && projectTeams.size() > 0) {
        projectTeam = projectTeams.get(0);
        List<TeamMember> members = new ArrayList<TeamMember>();

        DetachedCriteria dc1 = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity);
        if (!withExternalPerson) {
            dc1.add(Restrictions.ne("personId", new Integer(0)));
        }
        dc1.add(Restrictions.eq("projectTeamId", projectTeam.getProjectTeamId()));
        dc1.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED));
        members = getHibernateTemplate().findByCriteria(dc1);
        Tools.getInstance().printList(logger, members);

        logger.debug("projectTeam members =  " + members);

        Set<Person> persons = new HashSet<Person>();

        Set<TeamMember> teamMembers = new HashSet<TeamMember>();

        for (TeamMember teamMember : members) {
            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) {
                        Person user = new Person();
                        user.setPersonId(teamMember.getPersonId());
                        user.setFirstName(teamMember.getFirstName());
                        user.setLastName(teamMember.getLastName());
                        user.setEmail(teamMember.getEmail());
                        persons.add(user);
                        logger.debug("teamMember = " + teamMember);
                        logger.debug("person = " + user);
                        teamMembers.add(teamMember);
                    } else {
                        if (person != null) {
                            teamMemberDao.changeStatus(teamMember, person.getStatus());
                        }
                    }
                } catch (BusinessException e) {
                    e.printStackTrace();
                }
            }
        }
        projectTeam.setPersons(persons);
        projectTeam.setTeamMembers(teamMembers);
        logger.debug("projectTeam persons = " + persons);
    }
    logger.debug("get - END");
    return projectTeam;
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Updates a projectTeam to the database
 * //from   w  ww .ja va 2 s . c  o m
 * @author Adelina
 * 
 * @param projectTeam
 */
public void update(ProjectTeam projectTeam, List<TeamMember> externalMembers) {
    logger.debug("update - START");

    Set<Person> persons = projectTeam.getPersons();

    Set<Person> newPersons = new HashSet<Person>();

    Set<TeamMember> teamMembers = new HashSet<TeamMember>();

    List<TeamMember> members = new ArrayList<TeamMember>();

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity);
    dc.add(Restrictions.eq("projectTeamId", projectTeam.getProjectTeamId()));
    dc.add(Restrictions.ne("personId", new Integer(0)));
    members = getHibernateTemplate().findByCriteria(dc);
    logger.debug("members = " + members);
    logger.debug("project persons = " + persons);

    if (persons != null && persons.size() > 0) {

        for (Person person : persons) {
            if (person != null && person.getPersonId() != -1) {

                //               Person user = null;
                //               try {
                //                  user = BLPerson.getInstance().get(person.getPersonId());
                //               } catch (BusinessException e) {
                //                  // TODO Auto-generated catch block
                //                  e.printStackTrace();
                //               }
                //               logger.debug("user = " + user);
                //               if(user != null && user.getStatus() == IConstant.NOM_PERSON_STATUS_DELETED) {                  
                //                  continue;
                //               }

                newPersons.add(person);

                TeamMember teamMember = teamMemberDao.getMember(person.getPersonId(),
                        projectTeam.getProjectTeamId());
                logger.debug("teamMember = " + teamMember);
                boolean same = members.contains(teamMember);
                logger.debug("same = " + same);
                if (same) {
                    if (teamMember != null
                            && teamMember.getStatus() != IConstant.NOM_TEAM_MEMBER_STATUS_ACTIVATED) {
                        teamMemberDao.changeStatusToOpen(teamMember);
                    }
                    members.remove(teamMember);
                    teamMembers.add(teamMember);
                    logger.debug("members = " + members);
                    logger.debug("teamMembers = " + teamMembers);

                } else {
                    TeamMember member = new TeamMember();
                    member.setProjectTeamId(projectTeam.getProjectTeamId());
                    member.setPersonId(person.getPersonId());
                    member.setFirstName(person.getFirstName());
                    member.setLastName(person.getLastName());
                    member.setEmail(person.getEmail());
                    member.setStatus(IConstant.NOM_TEAM_MEMBER_STATUS_ACTIVATED);
                    teamMembers.add(member);
                    projectTeam.setTeamMembers(teamMembers);
                    teamMemberDao.add(member);
                }
            }
        }
    }

    // set the persons
    projectTeam.setPersons(newPersons);
    logger.debug("externalMembers = " + externalMembers);
    if (externalMembers != null && externalMembers.size() > 0) {
        for (TeamMember external : externalMembers) {
            logger.debug("external = " + external);
            if (external.getMemberId() > 0) {
                TeamMember teamMember = teamMemberDao.getByMemberId(external.getMemberId());
                if (external.getFirstName().isEmpty() && external.getLastName().isEmpty()) {
                    teamMemberDao.changeStatusToDelete(teamMember);
                } else {
                    if (teamMember.compareTo(external) != 0) {
                        teamMemberDao.update(external);
                    }
                }
            } else {
                teamMemberDao.add(external);
            }
        }
    }

    // set the team members
    projectTeam.setTeamMembers(new HashSet<TeamMember>(teamMembers));

    logger.debug("teamMembers = " + teamMembers);

    logger.debug("members = " + members);
    if (members != null && members.size() > 0) {
        for (TeamMember member : members) {
            teamMemberDao.changeStatusToDelete(member);
        }
    }

    getHibernateTemplate().update(IModelConstant.projectTeamAllEntity, projectTeam);

    logger.debug("update - END");
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Checks if a project has associated a project team
 * /* w w  w. j  a  va2  s.c  om*/
 * @author Adelina
 * 
 * @param projectId
 * @return
 */
public boolean hasProjectTeam(Integer projectId) {
    logger.debug("hasProjectTeam - START");
    List<ProjectTeam> projectTeams = new ArrayList<ProjectTeam>();

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectTeamEntity);
    dc.add(Restrictions.eq("projectId", projectId));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_TEAM_STATUS_DELETED));
    projectTeams = getHibernateTemplate().findByCriteria(dc);
    logger.debug("hasProjectTeam - END");
    if (projectTeams.size() > 0) {
        return true;
    } else {
        return false;
    }
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Gets all the project teams that have as a team member the person with the specified id 
 * @author Coni/*from   w ww .  j  a v  a2s  . com*/
 * @param personId
 * @return
 */
public List<ProjectTeam> getByPerson(Integer personId) {
    logger.debug("getByTeamMember - START");
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectTeamAllEntity);
    List<Integer> projectTeamIds = new ArrayList<Integer>();
    List<TeamMember> members = teamMemberDao.getByPersonId(personId, true);
    for (TeamMember member : members) {
        projectTeamIds.add(new Integer(member.getProjectTeamId()));
    }
    dc.add(Restrictions.in("projectTeamId", projectTeamIds));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_TEAM_STATUS_DELETED));
    List<ProjectTeam> projectTeams = getHibernateTemplate().findByCriteria(dc);
    logger.debug("getByTeamMember - END");
    return projectTeams;
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Get the projectTeam identified by it's id with team members from inside and outside of the organization
 * //from   ww w  . j  a  v  a  2s  .  c o m
 * @author Coni
 * 
 * @param projectId
 * @return
 */
public ProjectTeam getWithAllTeamMembers(Integer projectId, boolean isNotDeleted) {
    logger.debug("getWithAllTeamMembers - START - project with id = ".concat(Integer.toString(projectId)));

    List<ProjectTeam> projectTeams = new ArrayList<ProjectTeam>();

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectTeamAllEntity);
    dc.add(Restrictions.eq("projectId", projectId));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_TEAM_STATUS_DELETED));

    projectTeams = getHibernateTemplate().findByCriteria(dc);
    ProjectTeam projectTeam = null;

    if (projectTeams != null && projectTeams.size() > 0) {
        projectTeam = projectTeams.get(0);
        List<TeamMember> members = new ArrayList<TeamMember>();

        DetachedCriteria dc1 = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity);
        dc1.add(Restrictions.eq("projectTeamId", projectTeam.getProjectTeamId()));
        logger.debug("isNotDeleted = " + isNotDeleted);
        if (isNotDeleted) {
            dc1.add(Restrictions.ne("status", IConstant.NOM_TEAM_MEMBER_STATUS_DELETED));
        }
        members = getHibernateTemplate().findByCriteria(dc1);

        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;
                        }

                        logger.debug("changeStatus = " + changeStatus);
                        if (!changeStatus) {
                            logger.debug("teamMember = " + teamMember);
                            teamMembers.add(teamMember);
                        } else {
                            if (person != null) {
                                teamMemberDao.changeStatus(teamMember, person.getStatus());
                            }
                        }

                    } catch (BusinessException e) {
                        e.printStackTrace();
                    }
                }
                if (!isNotDeleted) {
                    teamMembers.add(teamMember);
                }
            }
        }
        Tools.getInstance().printList(logger, teamMembers);
        projectTeam.setTeamMembers(new HashSet<TeamMember>(teamMembers));
    }
    logger.debug("getWithAllTeamMembers - END");
    return projectTeam;
}

From source file:ro.cs.cm.model.dao.impl.DaoProjectTeamImpl.java

License:Open Source License

/**
 * Gets a list of project teams (without the team members) identified by the corresponding projectTeamIds
 * @author Coni/*from  w w w . java 2s.com*/
 * @param projectTeamIds
 * @return
 */
public List<ProjectTeam> getByProjectTeamIds(List<Integer> projectTeamIds) {
    logger.debug("getByProjectTeamIds - START");
    List<ProjectTeam> projectTeams = new ArrayList<ProjectTeam>();

    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.projectTeamEntity);
    dc.add(Restrictions.in("projectTeamId", projectTeamIds));
    dc.add(Restrictions.ne("status", IConstant.NOM_PROJECT_TEAM_STATUS_DELETED));
    projectTeams = getHibernateTemplate().findByCriteria(dc);

    logger.debug("getByProjectTeamIds - END");
    return projectTeams;
}

From source file:ro.cs.cm.model.dao.impl.DaoTeamMemberImpl.java

License:Open Source License

/**
 * Get the teamMember identified by it's id
 * /*w  w  w .  ja va  2 s . c  o m*/
 * @author Adelina
 * 
 * @param memberId
 * @return
 */
public TeamMember get(Integer personId) {
    logger.debug("get - START - teamMember with person id = ".concat(Integer.toString(personId)));
    List<TeamMember> members = new ArrayList<TeamMember>();
    DetachedCriteria dc = DetachedCriteria.forEntityName(IModelConstant.teamMemberEntity);
    dc.add(Restrictions.eq("personId", personId));
    members = getHibernateTemplate().findByCriteria(dc);
    logger.debug("get - END");
    return members.get(0);
}