small changes
authorzapata <zapata>
Fri, 17 May 2002 21:58:46 +0000 (21:58 +0000)
committerzapata <zapata>
Fri, 17 May 2002 21:58:46 +0000 (21:58 +0000)
source/mir/producer/AssignmentProducerNode.java [new file with mode: 0755]
source/mir/producer/EvaluatedAssignmentProducerNode.java [new file with mode: 0755]
source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java
source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java

diff --git a/source/mir/producer/AssignmentProducerNode.java b/source/mir/producer/AssignmentProducerNode.java
new file mode 100755 (executable)
index 0000000..4537ef8
--- /dev/null
@@ -0,0 +1,39 @@
+package mir.producer;
+
+import java.util.*;
+import java.io.*;
+import org.apache.struts.util.MessageResources;
+import mir.util.*;
+
+public class AssignmentProducerNode extends ProducerNodeDecorator {
+  private String key;
+  private String bundleIdentifier;
+  private Object value;
+
+  public AssignmentProducerNode(String aKey, Object aValue, ProducerNode aSubNode) {
+    super(aSubNode);
+
+    key = aKey;
+    value = aValue;
+  }
+
+  public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
+    Object savedValue;
+
+    savedValue = aValueMap.get(key);
+    try {
+      try {
+        aValueMap.put(key, value);
+
+        super.produce(aValueMap, aVerb, aLogger);
+      }
+      catch (Throwable t) {
+        throw new ProducerFailure(t.getMessage(), t);
+      }
+    }
+    finally {
+      aValueMap.put(key,savedValue);
+    }
+  };
+
+}
\ No newline at end of file
diff --git a/source/mir/producer/EvaluatedAssignmentProducerNode.java b/source/mir/producer/EvaluatedAssignmentProducerNode.java
new file mode 100755 (executable)
index 0000000..c9af95b
--- /dev/null
@@ -0,0 +1,39 @@
+package mir.producer;
+
+import java.util.*;
+import java.io.*;
+import org.apache.struts.util.MessageResources;
+import mir.util.*;
+
+public class EvaluatedAssignmentProducerNode extends ProducerNodeDecorator {
+  private String key;
+  private String bundleIdentifier;
+  private String value;
+
+  public EvaluatedAssignmentProducerNode(String aKey, String aValue, ProducerNode aSubNode) {
+    super(aSubNode);
+
+    key = aKey;
+    value = aValue;
+  }
+
+  public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
+    Object savedValue;
+
+    savedValue = aValueMap.get(key);
+    try {
+      try {
+        aValueMap.put(key, ParameterExpander.expandExpression( aValueMap, value ));
+
+        super.produce(aValueMap, aVerb, aLogger);
+      }
+      catch (Throwable t) {
+        throw new ProducerFailure(t.getMessage(), t);
+      }
+    }
+    finally {
+      aValueMap.put(key,savedValue);
+    }
+  };
+
+}
\ No newline at end of file
index 132c98a..2becc33 100755 (executable)
@@ -34,7 +34,7 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
     }
 
     contentNode.addVerb( "all", "is_published='1'", "" );
-    contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
+    contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
 
     aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
 
index 2749658..f436e4f 100755 (executable)
@@ -64,12 +64,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       startPageNode =
-          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                  "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
             new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                    "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 10,
-              new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
-                      "", "webdb_create desc", 5,
+                    "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40,
                 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
                         "", "code", 10,
                     new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
@@ -87,9 +83,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                       )
                     )
                 )
-              )
-            )
-          );
+            );
     }
     catch (Throwable t) {
     }
@@ -173,44 +167,78 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
     }
 
     aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
+  }
 
+  protected void setupFactories(Map aFactoriesMap ) {
+    super.setupFactories(aFactoriesMap);
 
-/*
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/nav.template",
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/nav.inc"));
+    ProducerNode node = null;
 
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/top.template",
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/top.inc"));
+    try {
+      node =
+          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                  "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
+            new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+                      "", "webdb_create desc", 5,
+              new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                        "", "code", 10,
+                new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+                  new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                      new GeneratingProducerNode(
+                          "/producer/indymedia.nl/features.template",
+                          "${config.storageRoot}/${language.code}/features.inc"
+                      )
+                  )
+                )
+              )
+            )
+          );
+    }
+    catch (Throwable t) {
+    }
 
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/bottom.template",
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/bottom.inc"));
+    aFactoriesMap.put("features", new NodedProducerFactory( node ) );
 
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/style.template",
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/style.css"));
+    try {
+      node =
+          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                  "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
+            new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+                      "", "webdb_create desc", 5,
+              new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+                        "", "code", 10,
+                new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+                  new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                      new GeneratingProducerNode(
+                          "/producer/indymedia.nl/features.template",
+                          "${config.storageRoot}/try/${language.code}/features.inc"
+                      )
+                  )
+                )
+              )
+            )
+          );
+    }
+    catch (Throwable t) {
+    }
+    aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
 
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/articlepre.template",
+/*
+    aStartPageFactory.addFactory(
+      new StartPageProducerFactory(
+          "producer/start.template",
           "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepre.shtml"));
+          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
+          MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
+          0));
 
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          "producer/articlepost.template",
+    aStartPageFactory.addFactory(
+      new StartPageProducerFactory(
+          "producer/newswire.template",
           "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepost.shtml"));
+          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
+          0,
+          MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
 */
   }
 }