first cut of merge of STABLE-pre1_0 into HEAD. I won't even guarantee that it
[mir.git] / source / mircoders / storage / DatabaseContent.java
index 7725d97..624b116 100755 (executable)
@@ -7,11 +7,11 @@ import java.util.*;
 
 import freemarker.template.*;
 
-import webdb.storage.*;
-import webdb.entity.*;
-import webdb.misc.*;
-
+import mir.storage.*;
 import mir.entity.*;
+import mir.misc.*;
+
+import mircoders.entity.*;
 
 /**
  * <b>this class implements the access to the content-table</b>
@@ -21,87 +21,75 @@ import mir.entity.*;
 
 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("mir.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 EntityList getComments(EntityContent entC) throws StorageObjectException {
+    return relationComments.getMany(entC,"webdb_create","is_published='1'");
+  }
+
+  /**
+   * returns the features that belong to the article (via entityrelation)
+   */
+  public EntityList getFeature(EntityContent entC) throws StorageObjectException {
+    return relationFeature.getMany(entC);
+  }
+
+  public boolean delete(String id) throws StorageObjectException
+  {
+    DatabaseComment.getInstance().deleteByContentId(id);
+    super.delete(id);
+    return true;
+  }
 
 }