package in.co.sunrays.proj1.action;
import in.co.sunrays.proj1.dto.RoleDTO; import in.co.sunrays.proj1.exception.ApplicationException; import in.co.sunrays.proj1.exception.DuplicateRecordException; import in.co.sunrays.proj1.service.RoleServiceInt; import org.apache.log4j.Logger; /** * Role functionality Controller. Performs operation for add, update and get * Role * * @author SUNRAYS Technologies * @version 1.0 * @Copyright (c) SUNRAYS Technologies */ public class RoleAction extends BaseAction { private static Logger log = Logger.getLogger(RoleAction.class); private String name; private String description; private RoleServiceInt service; public void setService(RoleServiceInt service) { this.service = service; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } /** * Performs display operations for RoleAction * * @return type String * @return INPUT */ @Override public String input() { log.debug("RoleAction.input() Start"); if (id > 0) { try { RoleDTO dto = service.findByPK(id); if (dto != null) { id = dto.getId(); name = dto.getName(); description = dto.getDescription(); createdBy = dto.getCreatedBy(); modifiedBy = dto.getModifiedBy(); createdDatetime = dto.getCreatedDatetime().getTime(); modifiedDatetime = dto.getModifiedDatetime().getTime(); } } catch (ApplicationException e) { log.error("Critical Issue", e); addActionError("Critical issue : " + e.getMessage()); } } log.debug("RoleAction.input() End"); return INPUT; } /** * Populates RoleDTO from Action attributes */ protected RoleDTO populateDTO(RoleDTO dto) { super.populateDTO(dto); dto.setId(id); dto.setName(name); dto.setDescription(description); return dto; } /** * Performs submit operations for RoleAction * * @return type String * @return SUCCESS */ @Override public String execute() { log.debug("RoleAction.execute() Start"); try { RoleDTO dto = populateDTO(new RoleDTO()); if (OP_SAVE.equalsIgnoreCase(operation)) { if (id > 0) { service.update(dto); addActionMessage("Data is Updated Successfully"); } else { id = service.add(dto); addActionMessage("Data is Successfully added"); } } else if (OP_DELETE.equalsIgnoreCase(operation)) { service.delete(dto); log.debug("Role Deleted Successfully."); } } catch (ApplicationException e) { log.error("Critical Issue ", e); return OP_ERROR; } catch (DuplicateRecordException e) { log.error("Name already exist.", e); addActionError("Name already exist"); return INPUT; } log.debug("RoleAction.execute() End " + operation); return operation; } } |