1 package mircoders.storage;
8 import freemarker.template.*;
14 import mircoders.entity.*;
17 * <b>this class implements the access to the content-table</b>
22 public class DatabaseContent extends Database implements StorageObject {
24 private static DatabaseContent instance;
25 private static EntityRelation relationComments;
26 private static EntityRelation relationFeature;
28 // Contructors / Singleton
30 public static DatabaseContent getInstance()
31 throws StorageObjectException {
33 if (instance == null ) {
34 instance = new DatabaseContent();
35 instance.myselfDatabase = instance;
40 private DatabaseContent()
41 throws StorageObjectException {
44 this.theTable="content";
45 this.theCoreTable="media";
47 relationComments = new EntityRelation("id", "to_media", DatabaseComment.getInstance(), EntityRelation.TO_MANY);
48 relationFeature = new EntityRelation("id", "to_feature", DatabaseFeature.getInstance(), EntityRelation.TO_ONE);
49 try { this.theEntityClass = Class.forName("mircoders.entity.EntityContent"); }
50 catch (Exception e) { throw new StorageObjectException(e.toString()); }
56 * sets the database flag is_produced to unproduced
59 public void setUnproduced(String where) throws StorageObjectException
61 Connection con=null;Statement stmt=null;
62 String sql = "update content set is_produced='0' where " + where;
65 // should be a preparedStatement because is faster
66 stmt = con.createStatement();
67 executeUpdate(stmt,sql);
69 catch (Exception e) {_throwStorageObjectException(e, "-- set unproduced failed");}
70 finally { freeConnection(con,stmt);}
74 * returns the comments that belong to the article (via entityrelation)
75 * where db-flag is_published is true
77 public EntityList getComments(EntityContent entC) throws StorageObjectException {
78 return relationComments.getMany(entC,"webdb_create","is_published='1'");
82 * returns the features that belong to the article (via entityrelation)
84 public EntityList getFeature(EntityContent entC) throws StorageObjectException {
85 return relationFeature.getMany(entC);
88 public boolean delete(String id) throws StorageObjectException
90 DatabaseComment.getInstance().deleteByContentId(id);