From 694108e88383b1f7b095d9522f116a439715742a Mon Sep 17 00:00:00 2001 From: zapata Date: Mon, 10 Jun 2002 23:05:20 +0000 Subject: [PATCH] bugfixes... --- .../mir/producer/EntityBatchingProducerNode.java | 2 -- source/mir/storage/Database.java | 4 ++- .../entity/adapter/CommentAdapterDefinition.java | 21 ++++++++++- .../BoliviaProducerLocalizer.java | 41 ++++++++++++++++++++++ .../indymedia.nl/IndyNLProducerLocalizer.java | 38 ++++++++++++++++++++ 5 files changed, 102 insertions(+), 4 deletions(-) diff --git a/source/mir/producer/EntityBatchingProducerNode.java b/source/mir/producer/EntityBatchingProducerNode.java index 9a865c00..e0d74c64 100755 --- a/source/mir/producer/EntityBatchingProducerNode.java +++ b/source/mir/producer/EntityBatchingProducerNode.java @@ -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; diff --git a/source/mir/storage/Database.java b/source/mir/storage/Database.java index a7c116b2..37c322af 100755 --- a/source/mir/storage/Database.java +++ b/source/mir/storage/Database.java @@ -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; diff --git a/source/mircoders/entity/adapter/CommentAdapterDefinition.java b/source/mircoders/entity/adapter/CommentAdapterDefinition.java index c61301a8..246004f3 100755 --- a/source/mircoders/entity/adapter/CommentAdapterDefinition.java +++ b/source/mircoders/entity/adapter/CommentAdapterDefinition.java @@ -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()); + } + } + } + } diff --git a/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java b/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java index e9b391c2..2d03d2e4 100755 --- a/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java +++ b/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java @@ -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()); + } } } diff --git a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java index 3a5de349..9496336f 100755 --- a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java @@ -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()); + } + } } -- 2.11.0