package com.idega.block.book.data; import com.idega.data.IDOException; import javax.ejb.FinderException; import java.util.Collection; import java.sql.Timestamp; import com.idega.data.GenericEntity; /** * Title: Review bean * Description: * Copyright: Copyright (c) 2001 * Company: idega.is * @author <a href="mailto:laddi@idega.is">��rhallur Helgason</a> * @version 1.0 */ public class ReviewBMPBean extends GenericEntity implements Review { public void initializeAttributes(){ addAttribute(getIDColumnName()); addAttribute(getColumnBookID(), "Book ID", true, true, Integer.class,"many-to-one",Book.class); addAttribute(getColumnName(), "Name", true, true, String.class); addAttribute(getColumnReview(), "Review", true, true, String.class,4000); addAttribute(getColumnRating(), "Rating", true, true, Integer.class); addAttribute(getColumnDate(),"Date",true,true,Timestamp.class); } public String getIDColumnName(){ return "BO_REVIEW_ID";} protected static String getEntityTableName(){ return "BO_REVIEW";} protected static String getColumnBookID(){ return "BO_BOOK_ID";} protected static String getColumnName(){ return "REVIEWER_NAME";} protected static String getColumnReview(){ return "REVIEW";} protected static String getColumnRating(){ return "RATING";} protected static String getColumnDate(){ return "DATE_ADDED";} public String getEntityName(){ return getEntityTableName(); } public int getBookID(){ return getIntColumnValue(getColumnBookID()); } public void setBookID(int bookID){ setColumn(getColumnBookID(), bookID); } public String getName(){ return getStringColumnValue(getColumnName()); } public void setName(String name){ setColumn(getColumnName(), name); } public String getReview(){ return getStringColumnValue(getColumnReview()); } public void setReview(String review){ setColumn(getColumnReview(), review); } public int getRating(){ return getIntColumnValue(getColumnRating()); } public void setRating(int rating){ setColumn(getColumnRating(), rating); } public Timestamp getDateAdded(){ return (Timestamp) getColumnValue(getColumnDate()); } public void setDateAdded(Timestamp date){ setColumn(getColumnDate(),date); } public Collection ejbFindAllReviewsForBook(int bookID)throws FinderException{ return super.idoFindIDsBySQL("select * from "+ReviewBMPBean.getEntityTableName()+" where "+getColumnBookID()+" = "+String.valueOf(bookID)+" order by "+getColumnDate()+" desc"); } public Collection ejbFindNewestReviewForBook(int bookID)throws FinderException{ return super.idoFindIDsBySQL("select * from "+ReviewBMPBean.getEntityTableName()+" where "+getColumnBookID()+" = "+String.valueOf(bookID)+" order by +"+getColumnDate()+" desc",1); } public int ejbHomeGetNumberOfReviews(int bookID) throws javax.ejb.EJBException,IDOException { return super.idoGetNumberOfRecords("select count(*) from "+ReviewBMPBean.getEntityTableName()+" where "+getColumnBookID()+" = "+String.valueOf(bookID)); } public int ejbHomeGetRatingTotal(int bookID) throws javax.ejb.EJBException,IDOException { return super.idoGetNumberOfRecords("select sum("+getColumnRating()+") from "+ReviewBMPBean.getEntityTableName()+" where "+getColumnBookID()+" = "+String.valueOf(bookID)); } }