bugfixes...
authorzapata <zapata>
Mon, 10 Jun 2002 23:05:20 +0000 (23:05 +0000)
committerzapata <zapata>
Mon, 10 Jun 2002 23:05:20 +0000 (23:05 +0000)
source/mir/producer/EntityBatchingProducerNode.java
source/mir/storage/Database.java
source/mircoders/entity/adapter/CommentAdapterDefinition.java
source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java
source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java

index 9a865c0..e0d74c6 100755 (executable)
@@ -7,8 +7,6 @@ import mir.entity.*;
 import mir.storage.*;
 import mir.util.*;
 
-//     abstract public int getSize(String where) throws SQLException,StorageObjectException;
-
 public class EntityBatchingProducerNode implements ProducerNode {
   private Map verbs;
 
index a7c116b..37c322a 100755 (executable)
@@ -1011,7 +1011,9 @@ public class Database implements StorageObject {
                throws SQLException,StorageObjectException
        {
                long  startTime = System.currentTimeMillis();
-               String sql = "SELECT count(*) FROM "+ theTable + " where " + where;
+               String sql = "SELECT Count(*) FROM "+ theTable;
+               if (where != null && !(where.length() == 0))
+                 sql = sql + " where " + where;
                Connection con = null;
                Statement stmt = null;
                int result = 0;
index c61301a..246004f 100755 (executable)
@@ -20,8 +20,27 @@ public class CommentAdapterDefinition extends EntityAdapterDefinition {
     super();
 
     addDBDateField("creationdate", "webdb_create");
-    addDBDateField("changedate", "webdb_lastchange");
   }
+
+  public EntityAdapter makeEntityAdapter(Entity anEntity) {
+    return new EntityAdapter(anEntity, this);
+  }
+
+  private class CommentToContentField implements CalculatedField {
+    public Object getValue(EntityAdapter anEntityAdapter) {
+      try {
+        return getRelation(
+                    DatabaseContent.getInstance(),
+                    "id="+anEntityAdapter.get("to_media"),
+                    "id",
+                    ContentAdapterDefinition.getInstance());
+      }
+      catch (Throwable t) {
+        throw new RuntimeException(t.getMessage());
+      }
+    }
+  }
+
 }
 
 
index e9b391c..2d03d2e 100755 (executable)
@@ -240,6 +240,47 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
     catch (Throwable t) {
       logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
     }
+  }
+
+  protected void setupFactories(Map aFactoriesMap ) {
+    super.setupFactories(aFactoriesMap);
+    try {
+
+      ProducerNode node = null;
+      EntityBatchingProducerNode batchingNode =
+          new EntityBatchingProducerNode( "comments", "batch", DatabaseComment.getInstance(), CommentAdapterDefinition.getInstance(),
+                "", "id desc", 25, 15, 0,
+            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                    "", "code", 10, 0,
+              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                  new GeneratingProducerNode(
+                      "/producer/indymedia.nl/commentsindex.template",
+                      "${config.storageRoot}/${language.code}/comments/comments${batch.current.identifier}.shtml"
+                  )
+                )
+              )
+            ),
+            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                    "", "code", 10, 0,
+              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                  new GeneratingProducerNode(
+                      "/producer/indymedia.nl/commentsindexnavigation.template",
+                      "${config.storageRoot}/${language.code}/comments/commentsnavigation.inc"
+                  )
+                )
+              )
+            )
+          );
+      batchingNode.addVerb("new", 3);
+      batchingNode.addVerb("all", -1);
+
+      aFactoriesMap.put("commentsindex", new NodedProducerFactory( batchingNode ));
+    }
+    catch (Throwable t) {
+      logger.printError("BoliviaProducerLocalizer.setupFactories: Exception "+t.getMessage());
+    }
 
   }
 }
index 3a5de34..9496336 100755 (executable)
@@ -220,6 +220,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
     super.setupFactories(aFactoriesMap);
 
     ProducerNode node = null;
+    EntityBatchingProducerNode batchingNode = null;
 
     try {
       node =
@@ -270,6 +271,43 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
     catch (Throwable t) {
       logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage());
     }
+
     aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
+    try {
+      batchingNode =
+          new EntityBatchingProducerNode( "comments", "batch", DatabaseComment.getInstance(), CommentAdapterDefinition.getInstance(),
+                "", "id desc", 25, 15, 0,
+            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                    "", "code", 10, 0,
+              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                  new GeneratingProducerNode(
+                      "/producer/indymedia.nl/commentsindex.template",
+                      "${config.storageRoot}/${language.code}/comments/comments${batch.current.identifier}.shtml"
+                  )
+                )
+              )
+            ),
+            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                    "", "code", 10, 0,
+              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                  new GeneratingProducerNode(
+                      "/producer/indymedia.nl/commentsindexnavigation.template",
+                      "${config.storageRoot}/${language.code}/comments/commentsnavigation.inc"
+                  )
+                )
+              )
+            )
+          );
+      batchingNode.addVerb("new", 3);
+      batchingNode.addVerb("all", -1);
+
+      aFactoriesMap.put("commentsindex", new NodedProducerFactory( batchingNode ));
+    }
+    catch (Throwable t) {
+      logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+    }
+
   }
 }