-public class DatabaseContent extends Database implements StorageObject {
-
- 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;
- }