package je7hb.intro.xentracker.control; import je7hb.intro.xentracker.boundary.ProjectTaskService; import je7hb.intro.xentracker.entity.Project; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import javax.inject.Inject; /** * The type ProjectViewController * * @author Peter Pilgrim */ @ManagedBean(name="projectEditController") @ViewScoped public class ProjectEditController { @Inject ProjectTaskService service; private int id; private String name; private String headline; private String description; public void findProjectById() { if (id <= 0) { String message = "Bad request. Please use a link from within the system."; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, message, null)); return; } Project project = service.findProjectById(id).get(0); if (project == null) { String message = "Bad request. Unknown project."; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, message, null)); } name = project.getName(); headline = project.getHeadline(); description = project.getDescription(); } public String cancel() { return "index?faces-redirect=true"; } public String editProject() { final Project project = service.findProjectById(id).get(0); project.setName(name); project.setHeadline(headline); project.setDescription(description); service.updateProject(project); return "index?faces-redirect=true"; } public String removeProject() { final Project project = service.findProjectById(id).get(0); service.removeProject(project); return "index?faces-redirect=true"; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getHeadline() { return headline; } public void setHeadline(String headline) { this.headline = headline; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }