/*
* Created on Nov 3, 2004
*
* TODO To change the template for this generated file go to Window -
* Preferences - Java - Code Style - Code Templates
*/
package se.agura.applications.vacation.data;
import java.sql.Date;
import java.util.Iterator;
import java.util.Map;
import se.agura.applications.vacation.business.VacationConstants;
import com.idega.block.process.data.AbstractCaseBMPBean;
import com.idega.user.data.User;
/**
* @author Anna
*/
public class VacationRequestBMPBean extends AbstractCaseBMPBean implements VacationRequest {
public String getCaseCodeKey() {
return VacationConstants.CASE_CODE_KEY;// ONLY SEVEN LETTERS ALLOWED HERE!
}
public String getCaseCodeDescription() {
return "Vacation requests";
}
public static final String ENTITY_NAME = "vac_vacation_request";
public static final String COLUMN_VACATION_REQUEST_ID = "vacation_request_id";
public static final String COLUMN_VACATION_TYPE = "vacation_type";
public static final String COLUMN_FROM_DATE = "from_date";
public static final String COLUMN_TO_DATE = "to_date";
public static final String COLUMN_ORDINARY_WORKING_HOURS = "ordinary_working_hours";
public static final String COLUMN_CREATED_DATE = "created_date";
public static final String COLUMN_IC_USER_ID = "ic_user_id";
public static final String COLUMN_GRANTED_DATE = "granted_date";
public static final String COLUMN_REJECTED_DATE = "rejected_date";
public static final String COLUMN_DECISION_BY = "decision_by";
public static final String COLUMN_COMMENT = "notes";
public static final String COLUMN_SALARY_COMPENSATION = "salary_compensation";
public String getEntityName() {
return ENTITY_NAME;
}
public void initializeAttributes() {
addAttribute(COLUMN_VACATION_REQUEST_ID);
setAsPrimaryKey(COLUMN_VACATION_REQUEST_ID, true);
addGeneralCaseRelation();
addAttribute(COLUMN_FROM_DATE, "Date from", Date.class);
addAttribute(COLUMN_TO_DATE, "Date to", Date.class);
addAttribute(COLUMN_ORDINARY_WORKING_HOURS, "Ordinal working hours", Integer.class);
addAttribute(COLUMN_CREATED_DATE, "Date", Date.class);
addManyToOneRelationship(COLUMN_IC_USER_ID, User.class);
addAttribute(COLUMN_GRANTED_DATE, "Date", Date.class);
addAttribute(COLUMN_REJECTED_DATE, "Date", Date.class);
addManyToOneRelationship(COLUMN_DECISION_BY, User.class);
addAttribute(COLUMN_COMMENT, "Comment", String.class);
addAttribute(COLUMN_SALARY_COMPENSATION, "Salary compensation", Boolean.class);
addManyToOneRelationship(COLUMN_VACATION_TYPE, VacationType.class);
addMetaDataRelationship();
}
// /////////////////////////////////////////////////
// getters
// /////////////////////////////////////////////////
public Date getFromDate() {
return getDateColumnValue(COLUMN_FROM_DATE);
}
public Date getToDate() {
return getDateColumnValue(COLUMN_TO_DATE);
}
public int getOrdinaryWorkingHours() {
return getIntColumnValue(COLUMN_ORDINARY_WORKING_HOURS);
}
public VacationType getVacationType() {
return (VacationType) getColumnValue(COLUMN_VACATION_TYPE);
}
public Date getCreatedDate() {
return getDateColumnValue(COLUMN_CREATED_DATE);
}
public User getUser() {
return (User) getColumnValue(COLUMN_IC_USER_ID);
}
public Date getGrantedDate() {
return getDateColumnValue(COLUMN_GRANTED_DATE);
}
public Date getRejectedDate() {
return getDateColumnValue(COLUMN_REJECTED_DATE);
}
public User getDecisionBy() {
return (User) getColumnValue(COLUMN_DECISION_BY);
}
public String getComment() {
return getStringColumnValue(COLUMN_COMMENT);
}
public boolean getSalaryCompensation() {
return getBooleanColumnValue(COLUMN_SALARY_COMPENSATION, false);
}
// /////////////////////////////////////////////////
// setters
// //////////////////////////////////////////////// /
public void setFromDate(Date fromDate) {
setColumn(COLUMN_FROM_DATE, fromDate);
}
public void setToDate(Date toDate) {
setColumn(COLUMN_TO_DATE, toDate);
}
public void setOrdinaryWorkingHours(Integer ordinaryWorkingHour) {
setColumn(COLUMN_ORDINARY_WORKING_HOURS, ordinaryWorkingHour);
}
public void setVacationType(VacationType vacationType) {
setColumn(COLUMN_VACATION_TYPE, vacationType);
}
public void setCreatedDate(Date createdDate) {
setColumn(COLUMN_CREATED_DATE, createdDate);
}
public void setUser(User icUserId) {
setColumn(COLUMN_IC_USER_ID, icUserId);
}
public void setGrantedDate(Date grantedDate) {
setColumn(COLUMN_GRANTED_DATE, grantedDate);
}
public void setRejectedDate(Date rejectedDate) {
setColumn(COLUMN_REJECTED_DATE, rejectedDate);
}
public void setDecisionBy(User decisionBy) {
setColumn(COLUMN_DECISION_BY, decisionBy);
}
public void setComment(String comment) {
setColumn(COLUMN_COMMENT, comment);
}
public void setSalaryCompensation(boolean getsCompensation) {
setColumn(COLUMN_SALARY_COMPENSATION, getsCompensation);
}
// Metadata methods
public void setExtraTypeInformation(String key, String value, String type) {
addMetaData(key, value, type);
}
public String getExtraTypeInformation(String key) {
return getMetaData(key);
}
public String getExtraTypeInformationType(String key) {
Map map = this.getMetaDataTypes();
if (map != null) {
return (String) map.get(key);
}
return null;
}
public void removeExtraTypeInformation(String key) {
removeMetaData(key);
}
public void removeAllExtraTypeInformation() {
Map attributes = this.getMetaDataAttributes();
Iterator iter = attributes.keySet().iterator();
while (iter.hasNext()) {
String key = (String) iter.next();
removeExtraTypeInformation(key);
}
}
/* (non-Javadoc)
* @see com.idega.block.process.data.AbstractCaseBMPBean#getCaseStatusDescriptions()
*/
public String[] getCaseStatusDescriptions() {
String[] descriptions = { "Open", "Silent", "Ready", "Deleted", "Rejected", "Granted" };
return descriptions;
}
/* (non-Javadoc)
* @see com.idega.block.process.data.AbstractCaseBMPBean#getCaseStatusKeys()
*/
public String[] getCaseStatusKeys() {
String[] keys = { "UBEH", "TYST", "KLAR", "DELE", "AVSL", "BVJD" };
return keys;
}
}