/* * Created on May 19, 2003 */ package is.idega.idegaweb.member.isi.block.reports.data; import java.sql.SQLException; import java.util.Collection; import javax.ejb.FinderException; import com.idega.core.location.data.PostalCode; import com.idega.data.GenericEntity; import com.idega.data.IDOAddRelationshipException; import com.idega.data.IDOEntity; import com.idega.data.IDOException; import com.idega.data.IDOQuery; import com.idega.data.IDORemoveRelationshipException; import com.idega.user.data.Group; import com.idega.user.data.GroupType; /** * Description: The list of leagues and their info in the import files<br> * Copyright: Idega Software 2003 <br> * Company: Idega Software <br> * @author <a href="mailto:eiki@idega.is">Eirikur S. Hrafnsson</a> */ public class WorkReportGroupBMPBean extends GenericEntity implements WorkReportGroup { protected final static String ENTITY_NAME = "ISI_WR_GROUP"; protected final static String COLUMN_NAME_GROUP_YEAR = "YEAR_OF_REPORT"; protected final static String COLUMN_NAME_GROUP_NAME = "NAME"; protected final static String COLUMN_NAME_GROUP_NR= "GROUP_NUMBER"; protected final static String COLUMN_NAME_GROUP_SHORT_NAME = "SHORT_NAME"; protected final static String COLUMN_NAME_GROUP_ID = "IC_GROUP_ID"; protected final static String COLUMN_NAME_GROUP_TYPE = "GROUP_TYPE"; protected final static String COLUMN_NAME_PERSONAL_ID = "PERSONAL_ID"; protected final static String COLUMN_NAME_STREET_NAME = "STREET_NAME"; protected final static String COLUMN_NAME_POSTAL_CODE_ID = "POSTAL_CODE_ID"; protected final static String COLUMN_NAME_HOME_PHONE = "HOME_PHONE"; protected final static String COLUMN_NAME_WORK_PHONE = "WORK_PHONE"; protected final static String COLUMN_NAME_FAX = "FAX"; protected final static String COLUMN_NAME_EMAIL = "EMAIL"; public WorkReportGroupBMPBean() { super(); } public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(COLUMN_NAME_GROUP_YEAR, "Year of the work report",true,true,Integer.class); addAttribute(COLUMN_NAME_GROUP_NAME,"Name of group",true,true,String.class); addAttribute(COLUMN_NAME_GROUP_SHORT_NAME,"Short name of group",true,true,String.class,30); addAttribute(COLUMN_NAME_GROUP_NR,"Nr of group",true,true,String.class,30); addAttribute(COLUMN_NAME_GROUP_ID, "Group id",true,true,Integer.class,"many-to-one",Group.class); addAttribute(COLUMN_NAME_GROUP_TYPE, "Group type",true,true,String.class,30,"many-to-one",GroupType.class); addAttribute(COLUMN_NAME_PERSONAL_ID,"Personal id",true,true,String.class,10); addAttribute(COLUMN_NAME_STREET_NAME,"Streetname",true,true,String.class); addAttribute(COLUMN_NAME_POSTAL_CODE_ID, "Postal code id",true,true,Integer.class,"many-to-one",PostalCode.class); addAttribute(COLUMN_NAME_HOME_PHONE,"Home phone number",true,true,String.class); addAttribute(COLUMN_NAME_WORK_PHONE,"Work phone number",true,true,String.class); addAttribute(COLUMN_NAME_FAX,"Fax number",true,true,String.class); addAttribute(COLUMN_NAME_EMAIL,"Email",true,true,String.class); } public String getEntityName() { return ENTITY_NAME; } public Integer getYearOfReport(){ return getIntegerColumnValue(COLUMN_NAME_GROUP_YEAR); } public void setYearOfReport(int year){ setColumn(COLUMN_NAME_GROUP_YEAR,year); } public Integer getGroupId(){ return getIntegerColumnValue(COLUMN_NAME_GROUP_ID); } public void setGroupId(int groupId){ setColumn(COLUMN_NAME_GROUP_ID,groupId); } public String getGroupType() { return getStringColumnValue(COLUMN_NAME_GROUP_TYPE); } public void setGroupType(String type) { setColumn(COLUMN_NAME_GROUP_TYPE,type); } public String getName() { return getStringColumnValue(COLUMN_NAME_GROUP_NAME); } public void setNumber(String number) { setColumn(COLUMN_NAME_GROUP_NR,number); } public String getNumber() { return getStringColumnValue(COLUMN_NAME_GROUP_NR); } public void setName(String name) { setColumn(COLUMN_NAME_GROUP_NAME,name); } public String getShortName() { String shortName = getStringColumnValue(COLUMN_NAME_GROUP_SHORT_NAME); return (shortName == null) ? getName() : shortName; } public String getPersonalId() { return getStringColumnValue(COLUMN_NAME_PERSONAL_ID); } public void setPersonalId(String pin) { setColumn(COLUMN_NAME_PERSONAL_ID,pin); } public void setShortName(String name) { setColumn(COLUMN_NAME_GROUP_SHORT_NAME,name); } public String getStreetName() { return (String) getColumnValue(COLUMN_NAME_STREET_NAME); } public void setStreetName(String streetName) { setColumn(COLUMN_NAME_STREET_NAME, streetName); } public PostalCode getPostalCode() throws SQLException { return (PostalCode) getColumnValue(COLUMN_NAME_POSTAL_CODE_ID); } public int getPostalCodeID() { return getIntColumnValue(COLUMN_NAME_POSTAL_CODE_ID); } public void setPostalCode(PostalCode postalCode) { setColumn(COLUMN_NAME_POSTAL_CODE_ID, postalCode); } public void setPostalCodeID(int postal_code_id) { setColumn(COLUMN_NAME_POSTAL_CODE_ID, postal_code_id); } public void setHomePhone(String number){ setColumn(COLUMN_NAME_HOME_PHONE, number); } public String getHomePhone(){ return getStringColumnValue(COLUMN_NAME_HOME_PHONE); } public void setWorkPhone(String number){ setColumn(COLUMN_NAME_WORK_PHONE, number); } public String getWorkPhone(){ return getStringColumnValue(COLUMN_NAME_WORK_PHONE); } public void setFax(String number){ setColumn(COLUMN_NAME_FAX, number); } public String getFax(){ return getStringColumnValue(COLUMN_NAME_FAX); } public void setEmail(String email){ setColumn(COLUMN_NAME_EMAIL, email); } public String getEmail(){ return getStringColumnValue(COLUMN_NAME_EMAIL); } public Collection getMembers() throws IDOException { return idoGetRelatedEntities(WorkReportMember.class); } public Collection getMemberIDs() throws IDOException { return idoGetRelatedEntityPKs(WorkReportMember.class); } public void addMember(IDOEntity member) throws IDOAddRelationshipException{ this.idoAddTo(member); } public void removeMember(IDOEntity member) throws IDORemoveRelationshipException { this.idoRemoveFrom(member); } public Integer ejbFindWorkReportGroupByGroupIdAndYear(int groupId, int year) throws FinderException{ IDOQuery sql = idoQuery(); sql.appendSelect().append(getIDColumnName()).appendFrom(this.getEntityName()) .appendWhere() .append(COLUMN_NAME_GROUP_ID).appendEqualSign().append(groupId) .appendAndEquals(COLUMN_NAME_GROUP_YEAR,year); return (Integer) idoFindOnePKByQuery(sql); } public Integer ejbFindWorkReportGroupByShortNameAndYear(String shortName, int year) throws FinderException{ IDOQuery sql = idoQuery(); sql.appendSelectAllFrom(this.getEntityName()) .appendWhere() .appendEqualsQuoted(COLUMN_NAME_GROUP_SHORT_NAME,shortName) .appendAndEquals(COLUMN_NAME_GROUP_YEAR,year); return (Integer) idoFindOnePKByQuery(sql); } public Integer ejbFindWorkReportGroupByNameAndYear(String name, int year) throws FinderException{ IDOQuery sql = idoQuery(); sql.appendSelect().append(getIDColumnName()).appendFrom().append(this.getEntityName()) .appendWhere() .appendEqualsQuoted(COLUMN_NAME_GROUP_NAME,name) .appendAndEquals(COLUMN_NAME_GROUP_YEAR,year); return (Integer) idoFindOnePKByQuery(sql); } public Collection ejbFindAllWorkReportGroupsByYear(int year) throws FinderException{ return idoFindAllIDsByColumnOrderedBySQL(COLUMN_NAME_GROUP_YEAR,year); } public Collection ejbFindAllWorkReportGroupsByGroupTypeAndYear(String groupType, int year) throws FinderException{ IDOQuery sql = idoQuery(); sql.appendSelectAllFrom(this.getEntityName()) .appendWhere() .appendEqualsQuoted(COLUMN_NAME_GROUP_TYPE, groupType) .appendAndEquals(COLUMN_NAME_GROUP_YEAR,year); return idoFindIDsBySQL(sql.toString()); } }