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 SimpleList getComments(EntityContent entC) throws StorageObjectException {
78 SimpleList comments=null;
80 comments = relationComments.getManyAsSimpleList(entC,"webdb_create","is_published='1'");
82 catch (StorageObjectException e) {
83 _throwStorageObjectException(e, "DatabaseComments :: failed to get comments");
89 * returns the features that belong to the article (via entityrelation)
91 public SimpleList getFeature(EntityContent entC) throws StorageObjectException {
92 SimpleList feature=null;
94 feature = relationFeature.getManyAsSimpleList(entC);
96 catch (StorageObjectException e) {
97 _throwStorageObjectException(e, "DatabaseComments :: failed to get features");
102 public boolean delete(String id) throws StorageObjectException
104 DatabaseComment.getInstance().deleteByContentId(id);