Show TOC

Syntax documentationManaged Bean (ProjectMB) Source Code Locate this document in the navigation structure

Syntax Syntax

  1. package com.sap.nwce.ra.edm.managedbean;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    
    import javax.ejb.EJB;
    import javax.faces.context.FacesContext;
    
    import com.sap.nwce.ra.sedm.ejb.entity.Employee;
    import com.sap.nwce.ra.sedm.ejb.entity.Project;
    import com.sap.nwce.ra.sedm.ejb.service.ProjectFacadeLocal;
    
    public class ProjectMB {
    	@EJB
    	private ProjectFacadeLocal projectFacade;
    
    	private String projectsPtrn = "";
    	private String employeesPtrn = "";
    	private HashMap<Integer, Employee> tempCurrProjEmplMap = new HashMap<Integer, Employee>();
    
    	private Project currentProject = new Project();
    	private Employee currentEmployee = new Employee();
    
    	public Project getCurrentProject() {
    		return currentProject;
    
    	}
    
    	public String getProjectsPtrn() {
    		return projectsPtrn;
    	}
    
    	public void setProjectsPtrn(String projectsPtrn) {
    		this.projectsPtrn = projectsPtrn;
    	}
    
    	public String getEmployeesPtrn() {
    		return employeesPtrn;
    	}
    
    	public void setEmployeesPtrn(String employeesPtrn) {
    		this.employeesPtrn = employeesPtrn;
    	}
    
    	public List<Project> getProjects() {
    		return projectFacade.findProjects(projectsPtrn);
    	}
    
    	public List<Employee> getEmployees() {
    		return projectFacade.findEmployees(employeesPtrn);
    	}
    
    	public boolean getRenderEmployees() {
    		return !currentProject.getEmployees().isEmpty();
    	}
    
    	public String editProject() {
    		String param = "currProjId";
    		String prjId = ogtainJSFParam(param);
    		currentProject = projectFacade.getProjectById(Integer.parseInt(prjId));
    
    		populateTempEmpl();
    		return "editProject";
    	}
    
    	public String editEmloyee() {
    		String param = "emplId";
    		String emplId = ogtainJSFParam(param);
    		currentEmployee = projectFacade.getEmployeeById(Integer.parseInt(emplId));
    
    		return "editEmployee";
    	}
    
    	public String addTempEmployee() {
    
    		String param = "emplID";
    		String emplId = ogtainJSFParam(param);
    		Employee selectedEmpl = projectFacade.getEmployeeById(Integer.parseInt(emplId));
    		tempCurrProjEmplMap.put(selectedEmpl.getEmployeeId(), selectedEmpl);
    
    		return "refreshSetEmployees";
    
    	}
    
    	public String removeTempEmployee() {
    		String param = "emplID";
    		String emplId = ogtainJSFParam(param);
    
    		if (emplId != null){
    			Employee selectedEmpl = projectFacade.getEmployeeById(Integer.parseInt(emplId));
    			tempCurrProjEmplMap.remove(selectedEmpl.getEmployeeId());
    		}
    
    		return "refreshSetEmployees";
    
    	}
    
    	private String ogtainJSFParam(String param) {
    		String emplId = null;
    		FacesContext context = FacesContext.getCurrentInstance();
    		if (context.getExternalContext().getRequestParameterValuesMap().containsKey(param)) {
    			emplId = context.getExternalContext().getRequestParameterValuesMap().get(param)[0];
    		}
    		return emplId;
    	}
    
    	public boolean getDisableAddTempEmployee() {
    		String param = "emplID";
    		String emplId = ogtainJSFParam(param);
    		Employee selectedEmpl = projectFacade.getEmployeeById(Integer.parseInt(emplId));
    
    		return tempCurrProjEmplMap.containsKey(selectedEmpl.getEmployeeId());
    
    	}
    
    	public boolean getDisableRemoveTempEmployee() {
    		return !getDisableAddTempEmployee();
    	}
    
    	public String projListNavigation() {
    		return "listProjects";
    	}
    
    	public String emplListNavigation() {
    		return "listEmployees";
    
    	}
    
    	public String navigationCancelTempEmpls() {
    		tempCurrProjEmplMap.clear();
    		return "backToProjectEdit";
    	}
    
    	public String navigationNewProject() {
    		currentProject = new Project();
    		return "newProject";
    	}
    
    	public String navigationNewEmployee() {
    		currentEmployee = new Employee();
    		return "newEmployee";
    	}
    
    	public String navigationSetEmployees() {
    		return "setEmployees";
    	}
    
    	public String navigationBackToProjectEdit() {
    		populateTempEmpl();
    		return "backToProjectEdit";
    	}
    
    	private void populateTempEmpl() {
    		List<Employee> empls = currentProject.getEmployees();
    		for (Employee employee : empls) {
    			tempCurrProjEmplMap.put(employee.getEmployeeId(), employee);
    
    		}
    	}
    
    	public String createProject() {
    		currentProject.setEmployees(getTempCurrProjEmployees());
    		projectFacade.saveProject(currentProject);
    		return "listProjects";
    
    	}
    
    	public String createEmloyee() {
    		projectFacade.saveEmployee(currentEmployee);
    		return "listEmployees";
    
    	}
    
    	public List<Employee> getTempCurrProjEmployees() {
    		return new ArrayList<Employee>(tempCurrProjEmplMap.values());
    	}
    
    	public Employee getCurrentEmployee() {
    		return currentEmployee;
    	}
    
    	public void setCurrentEmployee(Employee currentEmployee) {
    		this.currentEmployee = currentEmployee;
    	}
    
    }
    
End of the code.