package is.idega.idegaweb.campus.nortek.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.GenericEntity; import com.idega.data.IDOQuery; import com.idega.user.data.User; public class CardBMPBean extends GenericEntity implements Card { public static final String ENTITY_NAME = "nt_card"; private static final String COLUMN_CARD = "card_serial_number"; private static final String COLUMN_DECODED_SERIAL = "card_decoded_number"; private static final String COLUMN_USER = "card_user"; private static final String COLUMN_VALID = "valid"; private static final String COLUMN_DELETED = "deleted"; public CardBMPBean() { } public void initializeAttributes() { addAttribute(COLUMN_CARD, "Card serial number", String.class, 255); setAsPrimaryKey(COLUMN_CARD, true); addAttribute(COLUMN_DECODED_SERIAL, "Decoded card serial number", String.class, 255); addAttribute(COLUMN_VALID, "Valid", Boolean.class); addManyToOneRelationship(COLUMN_USER, User.class); addAttribute(COLUMN_DELETED, "Deleted", Boolean.class); setUnique(COLUMN_USER, true); } public String getEntityName() { return ENTITY_NAME; } public Class getPrimaryKeyClass() { return String.class; } public String getIDColumnName() { return COLUMN_CARD; } public void setDefaultValues() { } //getters public String getCardSerialNumber() { return getStringColumnValue(COLUMN_CARD); } public String getDecodedCardSerialNumber() { return getStringColumnValue(COLUMN_DECODED_SERIAL); } public User getUser() { return (User) getColumnValue(COLUMN_USER); } public boolean getIsValid() { return getBooleanColumnValue(COLUMN_VALID, true); } public boolean getIsDeleted() { return getBooleanColumnValue(COLUMN_DELETED, false); } //setters public void setCardSerialNumber(String serialNumber) { setColumn(COLUMN_CARD, serialNumber); } public void setDecodedCardSerialNumber(String serialNumber) { setColumn(COLUMN_DECODED_SERIAL, serialNumber); } public void setUser(User user) { setColumn(COLUMN_USER, user); } public void setIsValid(boolean isValid) { setColumn(COLUMN_VALID, isValid); } public void setIsDeleted(boolean isDeleted) { if (isDeleted) { setIsValid(!isDeleted); } setColumn(COLUMN_DELETED, isDeleted); } //ejb public Collection ejbFindAll() throws FinderException { IDOQuery query = idoQuery(); query.appendSelectAllFrom(this); query.appendWhere(); query.appendLeftParenthesis(); query.append(COLUMN_DELETED); query.appendIsNull(); query.appendOr(); query.appendEquals(COLUMN_DELETED, false); query.appendRightParenthesis(); query.appendOrderBy(COLUMN_DECODED_SERIAL); System.out.println("query = " + query.toString()); return idoFindPKsByQuery(query); } public Object ejbFindByUser(User user) throws FinderException { IDOQuery query = idoQuery(); query.appendSelectAllFrom(this); query.appendWhereEquals(COLUMN_USER, user); query.appendAnd(); query.appendLeftParenthesis(); query.append(COLUMN_DELETED); query.appendIsNull(); query.appendOr(); query.appendEquals(COLUMN_DELETED, false); query.appendRightParenthesis(); System.out.println("query = " + query.toString()); return idoFindOnePKByQuery(query); } public Collection ejbFindAllByValid(boolean valid) throws FinderException { IDOQuery query = idoQuery(); query.appendSelectAllFrom(this); query.appendWhereEquals(COLUMN_VALID, valid); query.appendAnd(); query.appendLeftParenthesis(); query.append(COLUMN_DELETED); query.appendIsNull(); query.appendOr(); query.appendEquals(COLUMN_DELETED, false); query.appendRightParenthesis(); query.appendOrderBy(COLUMN_DECODED_SERIAL); System.out.println("query = " + query.toString()); return idoFindPKsByQuery(query); } }