public Project add(Project project) {
   StateMachine sm = stateMachineRepository.findTheStateMachine();
   project.setInitialStatus(sm.getInitialStatus());
   project.setInitiatedBy(securityInfo.getCurrentUser());
   projectRepository.add(project);
   return project;
 }
 public boolean changeStatus(Project project, boolean approve, String comments) {
   project = projectRepository.merge(project);
   User user = securityInfo.getCurrentUser();
   return project.changeStatus(approve, user, comments);
 }
 public List getProjectsWaitingForApproval(ProjectColumnType sortColumn) {
   RoleType role = getRoleForLoggedInUser();
   return projectRepository.getProjectsWaitingApprovalByRole(role, sortColumn);
 }
 public List getAllProjects(ProjectColumnType sortColumn) {
   return projectRepository.getAllProjects(sortColumn);
 }
 public Project get(int id) {
   return projectRepository.get(id);
 }