/* * $Id: ApplicantBMPBean.java,v 1.5.2.3 2007/04/12 12:18:20 palli Exp $ * * Copyright (C) 2001 Idega hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. * */ package com.idega.block.application.data; import java.sql.SQLException; import java.util.Collection; import java.util.StringTokenizer; import javax.ejb.FinderException; import com.idega.data.TreeableEntityBMPBean; /** * * @author <a href="mailto:palli@idega.is">Pall Helgason</a> * @version 1.0 */ public class ApplicantBMPBean extends TreeableEntityBMPBean implements Applicant { public static final String ENTITY_NAME = "app_applicant"; public static final String COLUMN_FIRST_NAME = "first_name"; public static final String COLUMN_MIDDLE_NAME = "middle_name"; public static final String COLUMN_LAST_NAME = "last_name"; public static final String COLUMN_FULL_NAME = "full_name"; public static final String COLUMN_SSN = "ssn"; public static final String COLUMN_LEGAL_RESIDENCE = "legal_residence"; public static final String COLUMN_RESIDENCE = "residence"; public static final String COLUMN_PHONE = "residence_phone"; public static final String COLUMN_PO = "po"; public static final String COLUMN_MOBILE_PHONE = "mobile_phone"; public static final String COLUMN_SEND_SMS = "send_sms"; public static final String COLUMN_STATUS = "status"; public static final String COLUMN_RESIGNATION_ADDRESS = "resignation_address"; public static final String COLUMN_RESIGNATION_PO = "resignation_po"; public static final String COLUMN_RESIGNATION_PHONE = "resignation_phone"; public static final String COLUMN_RESIGNATION_EMAIL = "resignation_email"; public ApplicantBMPBean() { super(); } public ApplicantBMPBean(int id) throws SQLException { super(id); } public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(COLUMN_FIRST_NAME, "First name", String.class, 255); addAttribute(COLUMN_MIDDLE_NAME, "Middle name", String.class, 255); addAttribute(COLUMN_LAST_NAME, "Last name", String.class, 255); addAttribute(COLUMN_FULL_NAME, "Full name", String.class, 255); addAttribute(COLUMN_SSN, "Social security number", String.class, 20); addAttribute(COLUMN_LEGAL_RESIDENCE, "Legal residence", String.class, 255); addAttribute(COLUMN_RESIDENCE, "Residence", String.class, 255); addAttribute(COLUMN_PHONE, "Telephone", String.class, 40); addAttribute(COLUMN_PO, "Post office", String.class, 255); addAttribute(COLUMN_MOBILE_PHONE, "Mobile phone", String.class, 40); addAttribute(COLUMN_SEND_SMS, "Send SMS", String.class, 1); addAttribute(COLUMN_STATUS, "Status", String.class, 1); addAttribute(COLUMN_RESIGNATION_ADDRESS, "Resignation email", String.class, 1000); addAttribute(COLUMN_RESIGNATION_PO, "Resignation po", String.class, 255); addAttribute(COLUMN_RESIGNATION_PHONE, "Resignation phone", String.class, 255); addAttribute(COLUMN_RESIGNATION_EMAIL, "Resignation email", String.class, 255); } public String getEntityName() { return ENTITY_NAME; } public static String getEntityTableName() { return ENTITY_NAME; } public static String getFullnameOrderValue() { StringBuffer ret = new StringBuffer(COLUMN_FIRST_NAME); ret.append(","); ret.append(COLUMN_MIDDLE_NAME); ret.append(","); ret.append(COLUMN_LAST_NAME); return (ret.toString()); } public void setFirstName(String name) { setColumn(COLUMN_FIRST_NAME, name); } public String getFirstName() { return (getStringColumnValue(COLUMN_FIRST_NAME)); } public void setMiddleName(String name) { setColumn(COLUMN_MIDDLE_NAME, name); } public String getMiddleName() { return (getStringColumnValue(COLUMN_MIDDLE_NAME)); } public void setLastName(String name) { setColumn(COLUMN_LAST_NAME, name); } public String getLastName() { return (getStringColumnValue(COLUMN_LAST_NAME)); } private void setFullName() { setColumn(COLUMN_FULL_NAME, getFullName()); } public void setSSN(String ssn) { setColumn(COLUMN_SSN, ssn); } public String getSSN() { return (getStringColumnValue(COLUMN_SSN)); } public void setLegalResidence(String legal) { setColumn(COLUMN_LEGAL_RESIDENCE, legal); } public String getLegalResidence() { return (getStringColumnValue(COLUMN_LEGAL_RESIDENCE)); } public void setResidence(String residence) { setColumn(COLUMN_RESIDENCE, residence); } public String getResidence() { return (getStringColumnValue(COLUMN_RESIDENCE)); } public void setResidencePhone(String phone) { setColumn(COLUMN_PHONE, phone); } public String getResidencePhone() { return (getStringColumnValue(COLUMN_PHONE)); } public void setPO(String po) { setColumn(COLUMN_PO, po); } public String getPO() { return (getStringColumnValue(COLUMN_PO)); } public void setMobilePhone(String mobilePhone) { setColumn(COLUMN_MOBILE_PHONE, mobilePhone); } public void setResignationAddress(String resignationAddress) { setColumn(COLUMN_RESIGNATION_ADDRESS, resignationAddress); } public void setResignationPO(String resignationPO) { setColumn(COLUMN_RESIGNATION_PO, resignationPO); } public void setResignationPhone(String resignationPhone) { setColumn(COLUMN_RESIGNATION_PHONE, resignationPhone); } public void setResignationEmail(String resignationEmail) { setColumn(COLUMN_RESIGNATION_EMAIL, resignationEmail); } public String getMobilePhone() { return (getStringColumnValue(COLUMN_MOBILE_PHONE)); } public boolean getSendSMS() { String send = getStringColumnValue(COLUMN_SEND_SMS); if ((send == null) || (send.equalsIgnoreCase("n"))) { return (false); } else if (send.equalsIgnoreCase("y")) { return (true); } else { return (false); } } public void setSendSMS(boolean send) { if (send) { setColumn(COLUMN_SEND_SMS, "Y"); } else { setColumn(COLUMN_SEND_SMS, "N"); } } public void setStatus(String status) { setColumn(COLUMN_STATUS, status); } public String getStatus() { return getStringColumnValue(COLUMN_STATUS); } public String getName() { return getFullName(); } public String getFullName() { StringBuffer fullName = new StringBuffer(""); if (getFirstName() != null) { fullName.append(getFirstName()); fullName.append(" "); } if (getMiddleName() != null) { fullName.append(getMiddleName()); fullName.append(" "); } if (getLastName() != null) { fullName.append(getLastName()); } return fullName.toString(); } public void setFullName(String fullName) { StringTokenizer tok = new StringTokenizer(fullName); String temp = ""; if (tok.hasMoreTokens()) { temp = tok.nextToken(); setFirstName(temp); temp = ""; if (tok.hasMoreTokens()) { temp = tok.nextToken(); setMiddleName(temp); } if (tok.hasMoreTokens()) { temp = tok.nextToken(); setLastName(temp); } else { setMiddleName(""); setLastName(temp); } } } public String getResignationAddress() { return getStringColumnValue(COLUMN_RESIGNATION_ADDRESS); } public String getResignationPO() { return getStringColumnValue(COLUMN_RESIGNATION_PO); } public String getResignationPhone() { return getStringColumnValue(COLUMN_RESIGNATION_PHONE); } public String getResignationEmail() { return getStringColumnValue(COLUMN_RESIGNATION_EMAIL); } public void insert() throws SQLException { setFullName(); super.insert(); } public void update() throws SQLException { setFullName(); super.update(); } public java.util.Collection ejbFindBySSN(String SSN) throws javax.ejb.FinderException { return super.idoFindPKsByQuery(super.idoQueryGetSelect() .appendWhereEqualsQuoted(COLUMN_SSN, SSN)); } public Collection ejbFindByApplicationStatusOrderedBy(String status, String order) throws FinderException { String applicantTable = ENTITY_NAME; String applicationTable = ApplicationBMPBean.ENTITY_NAME; StringBuffer sql = new StringBuffer("select distinct "); sql.append(applicantTable); sql.append(".* from "); sql.append(applicantTable); sql.append(","); sql.append(applicationTable); sql.append(" where "); sql.append(applicantTable); sql.append("."); sql.append(getIDColumnName()); sql.append(" = "); sql.append(applicationTable); sql.append("."); sql.append(ApplicationBMPBean.getApplicantIdColumnName()); sql.append(" and "); if (status != null) { sql.append(applicationTable); sql.append("."); sql.append(ApplicationBMPBean.getStatusColumnName()); sql.append(" = '"); sql.append(status); sql.append("' "); } if (order != null && order.length() > 0) { sql.append(" order by "); sql.append(order); } return super.idoFindPKsBySQL(sql.toString()); } public Collection ejbFindBySQL(String sql) throws FinderException { return super.idoFindPKsBySQL(sql); } }