//idega 2000 - Tryggvi Larusson package is.idega.idegaweb.golf.entity; //import java.util.*; import com.idega.data.GenericEntity; import com.idega.data.IDOException; import com.idega.data.query.Column; import com.idega.data.query.CountColumn; import com.idega.data.query.MatchCriteria; import com.idega.data.query.SelectQuery; import com.idega.data.query.SumColumn; import com.idega.data.query.Table; public class StrokeBMPBean extends GenericEntity implements Stroke{ public void initializeAttributes(){ addAttribute(getIDColumnName()); addAttribute(COLUMN_SCORECARD, "Skorkort", true, true, "java.lang.Integer","one-to-many","is.idega.idegaweb.golf.entity.Scorecard"); addAttribute(COLUMN_POINT_COUNT, "Punktafj�ldi", true, true, "java.lang.Integer"); addAttribute(COLUMN_TEE, "Teigur", true, true, "java.lang.Integer","one-to-many","is.idega.idegaweb.golf.entity.Tee"); addAttribute(COLUMN_STROKE_COUNT, "H�ggafj�ldi", true, true, "java.lang.Integer"); addAttribute(COLUMN_HOLE_PAR, "Par holu", true, true, "java.lang.Integer"); addAttribute(COLUMN_HOLE_HANDICAP, "Forgj�f holu", true, true, "java.lang.Integer"); } public String getEntityName(){ return TABLE_NAME; } public int getScorecardID(){ return getIntColumnValue(COLUMN_SCORECARD); } public void setScorecardID(int scorecard_id) { setColumn(COLUMN_SCORECARD,scorecard_id); } public int getPointCount(){ return getIntColumnValue(COLUMN_POINT_COUNT); } public void setPointCount(int point_count) { setColumn(COLUMN_POINT_COUNT,point_count); } public int getTeeID() { return getIntColumnValue(COLUMN_TEE); } public void setTeeID(int tee_id) { setColumn(COLUMN_TEE,tee_id); } public int getStrokeCount(){ return getIntColumnValue(COLUMN_STROKE_COUNT); } public void setStrokeCount(int stroke_count) { setColumn(COLUMN_STROKE_COUNT,stroke_count); } public int getHolePar(){ return getIntColumnValue(COLUMN_HOLE_PAR); } public void setHolePar(int hole_par) { setColumn(COLUMN_HOLE_PAR,hole_par); } public int getHoleHandicap(){ return getIntColumnValue(COLUMN_HOLE_HANDICAP); } public void setHoleHandicap(int hole_handicap) { setColumn(COLUMN_HOLE_HANDICAP,hole_handicap); } public int ejbHomeGetCountDifferenceByMember(int member, int difference, String criteria) throws IDOException { Table table = new Table(this); Table scorecard = new Table(Scorecard.class); Column strokes = new Column(table, COLUMN_STROKE_COUNT); SelectQuery query = new SelectQuery(table); query.addColumn(new CountColumn(table, this.getIDColumnName())); query.addJoin(table, scorecard); query.addCriteria(new MatchCriteria(scorecard, "member_id", MatchCriteria.EQUALS, member)); query.addCriteria(new MatchCriteria(strokes, criteria, COLUMN_HOLE_PAR + " + (" + difference + ")", false)); query.addCriteria(new MatchCriteria(strokes, MatchCriteria.NOTEQUALS, 0)); return this.idoGetNumberOfRecords(query.toString()); } public int ejbHomeGetCountOfHolesPlayedByMember(int member) throws IDOException { Table table = new Table(this); Table scorecard = new Table(Scorecard.class); Column strokes = new Column(table, COLUMN_STROKE_COUNT); SelectQuery query = new SelectQuery(table); query.addColumn(new CountColumn(table, this.getIDColumnName())); query.addJoin(table, scorecard); query.addCriteria(new MatchCriteria(scorecard, "member_id", MatchCriteria.EQUALS, member)); return this.idoGetNumberOfRecords(query.toString()); } public int ejbHomeGetSumOfStrokesByMember(int member) throws IDOException { Table table = new Table(this); Table scorecard = new Table(Scorecard.class); Column strokes = new Column(table, COLUMN_STROKE_COUNT); SelectQuery query = new SelectQuery(table); query.addColumn(new SumColumn(table, COLUMN_STROKE_COUNT)); query.addJoin(table, scorecard); query.addCriteria(new MatchCriteria(scorecard, "member_id", MatchCriteria.EQUALS, member)); return this.idoGetNumberOfRecords(query.toString()); } }