- private static DatabaseContent instance;
- private static EntityRelation relationComments;
- private static EntityRelation relationFeature;
-
- // Contructors / Singleton
-
- public static DatabaseContent getInstance()
- throws StorageObjectException {
-
- if (instance == null ) {
- instance = new DatabaseContent();
- instance.myselfDatabase = instance;
- }
- return instance;
- }
-
- private DatabaseContent()
- throws StorageObjectException {
-
- super();
- this.theTable="content";
- this.theCoreTable="media";
- relationComments = new EntityRelation("id", "to_media", DatabaseComment.getInstance(), EntityRelation.TO_MANY);
- relationFeature = new EntityRelation("id", "to_feature", DatabaseFeature.getInstance(), EntityRelation.TO_ONE);
- try { this.theEntityClass = Class.forName("mircoders.entity.EntityContent"); }
- catch (Exception e) { throw new StorageObjectException(e.toString()); }
- }
-
- // methods
-
- /**
- * sets the database flag is_produced to unproduced
- */
-
- public void setUnproduced(String where)
- {
- Connection con=null;Statement stmt=null;
- String sql = "update content set is_produced=0 where " + where;
- try {
- con = getPooledCon();
- // should be a preparedStatement because is faster
- stmt = con.createStatement();
- executeSql(stmt,sql);
- }
- catch (Exception e) {theLog.printDebugInfo("-- set unproduced failed");}
- finally { freeConnection(con,stmt);}
- }
-
- /**
- * returns the comments that belong to the article (via entityrelation)
- */
- public SimpleList getComments(EntityContent entC) {
- SimpleList comments=null;
- try {
- comments = relationComments.getManyAsSimpleList(entC,"webdb_create");
- }
- catch (StorageObjectException e) {
- theLog.printError("DatabaseComments :: failed to get comments");
- }
- return comments;
- }
-
- /**
- * returns the features that belong to the article (via entityrelation)
- */
- public SimpleList getFeature(EntityContent entC) {
- SimpleList feature=null;
- try {
- feature = relationFeature.getManyAsSimpleList(entC);
- }
- catch (StorageObjectException e) {
- theLog.printError("DatabaseComments :: failed to get features");
- }
- return feature;
- }
-
- public boolean delete(String id)
- throws StorageObjectException {
- DatabaseComment.getInstance().deleteByContentId(id);
- super.delete(id);
- return true;
- }
+ private static DatabaseContent instance;
+ private static EntityRelation relationComments;
+ private static EntityRelation relationFeature;
+
+ // Contructors / Singleton
+
+ public static DatabaseContent getInstance()
+ throws StorageObjectException {
+
+ if (instance == null ) {
+ instance = new DatabaseContent();
+ instance.myselfDatabase = instance;
+ }
+ return instance;
+ }
+
+ private DatabaseContent()
+ throws StorageObjectException {
+
+ super();
+ this.theTable="content";
+ this.theCoreTable="media";
+
+ relationComments = new EntityRelation("id", "to_media", DatabaseComment.getInstance(), EntityRelation.TO_MANY);
+ relationFeature = new EntityRelation("id", "to_feature", DatabaseFeature.getInstance(), EntityRelation.TO_ONE);
+ try { this.theEntityClass = Class.forName("mircoders.entity.EntityContent"); }
+ catch (Exception e) { throw new StorageObjectException(e.toString()); }
+ }
+
+ // methods
+
+ /**
+ * sets the database flag is_produced to unproduced
+ */
+
+ public void setUnproduced(String where) throws StorageObjectException
+ {
+ Connection con=null;Statement stmt=null;
+ String sql = "update content set is_produced='0' where " + where;
+ try {
+ con = getPooledCon();
+ // should be a preparedStatement because is faster
+ stmt = con.createStatement();
+ executeUpdate(stmt,sql);
+ }
+ catch (Exception e) {_throwStorageObjectException(e, "-- set unproduced failed");}
+ finally { freeConnection(con,stmt);}
+ }
+
+ /**
+ * returns the comments that belong to the article (via entityrelation)
+ * where db-flag is_published is true
+ */
+ public SimpleList getComments(EntityContent entC) throws StorageObjectException {
+ SimpleList comments=null;
+ try {
+ comments = relationComments.getManyAsSimpleList(entC,"webdb_create","is_published='1'");
+ }
+ catch (StorageObjectException e) {
+ _throwStorageObjectException(e, "DatabaseComments :: failed to get comments");
+ }
+ return comments;
+ }
+
+ /**
+ * returns the features that belong to the article (via entityrelation)
+ */
+ public SimpleList getFeature(EntityContent entC) throws StorageObjectException {
+ SimpleList feature=null;
+ try {
+ feature = relationFeature.getManyAsSimpleList(entC);
+ }
+ catch (StorageObjectException e) {
+ _throwStorageObjectException(e, "DatabaseComments :: failed to get features");
+ }
+ return feature;
+ }
+
+ public boolean delete(String id) throws StorageObjectException
+ {
+ DatabaseComment.getInstance().deleteByContentId(id);
+ super.delete(id);
+ return true;
+ }