subNodes.add(aSubNode);
}
+ public void clear() {
+ subNodes.clear();
+ }
+
public void produce(Map aValueSet, String aVerb, PrintWriter aLogger) throws ProducerFailure {
Iterator i = subNodes.iterator();
return producerFactories;
};
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
}
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
}
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
+ protected void setupSynchronizationFactory(CompositeProducerNode aProducerNode) {
+ if(MirGlobal.getConfigBooleanProperty("Rsync")){
+ aProducerNode.addSubNode(
+ new ScriptCallingProducerNode(MirGlobal.getConfigProperty("Rsync.Script.Path"))
+ );
+ }
}
- protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+ }
+
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
}
protected void setupFactories(Map aFactoriesMap ) {
+ CompositeProducerNode node;
- CompositeProducerFactory factory;
+ node = new CompositeProducerNode();
+ setupContentFactory( node );
+ aFactoriesMap.put("content", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupContentFactory(factory);
- aFactoriesMap.put("content", factory);
+ node = new CompositeProducerNode();
+ setupStartPageFactory( node );
+ aFactoriesMap.put("startpage", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupStartPageFactory(factory);
- aFactoriesMap.put("startpage", factory);
+ node = new CompositeProducerNode();
+ setupSynchronizationFactory( node );
+ aFactoriesMap.put("synchronization", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupSynchronizationFactory(factory);
- aFactoriesMap.put("synchronization", factory);
+ node = new CompositeProducerNode();
+ setupStaticFactory( node );
+ aFactoriesMap.put("static", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupStaticFactory(factory);
- aFactoriesMap.put("static", factory);
+ node = new CompositeProducerNode();
+ setupTopicsFactory( node );
+ aFactoriesMap.put("topics", new NodedProducerFactory(node));
aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
-/* aFactoriesMap.put("navigationold", new OldProducerAdapterFactory(new ProducerNavigation()));
- aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
- aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
-*/
};
}
+++ /dev/null
-package mircoders.producer;
-
-import java.util.*;
-import java.io.*;
-import mir.producer.*;
-
-public class CompositeProducer implements mir.producer.Producer {
-
- List producers;
-
- public CompositeProducer() {
- producers = new Vector();
- }
-
- public void addProducer(mir.producer.Producer aProducer) {
- producers.add(aProducer);
- }
-
- public void produce( PrintWriter aLogger ) throws ProducerFailure {
- Iterator i;
-
- i=producers.iterator();
-
- while (i.hasNext())
- ((mir.producer.Producer) i.next()).produce(aLogger);
- }
-}
+++ /dev/null
-package mircoders.producer;
-
-import java.util.*;
-import mir.entity.*;
-import mir.producer.*;
-import mircoders.storage.*;
-
-public class CompositeProducerFactory implements ProducerFactory {
- Map factories; // verb -> Vector ( ProducerFactory )
-
- public CompositeProducerFactory() {
- factories = new HashMap();
- }
-
- private List factoriesForVerb(String aVerb) {
- List result;
-
- result=(List) factories.get(aVerb);
-
- if (result==null) {
- result=new Vector();
-
- factories.put(aVerb, result);
- }
-
- return result;
- }
-
- public void addFactory(ProducerFactory aFactory) {
- Iterator i;
-
- i=aFactory.verbs();
-
- while (i.hasNext()) {
- factoriesForVerb((String) i.next()).add(aFactory);
- }
- }
-
- public mir.producer.Producer makeProducer(String aVerb) throws ProducerFailure {
- CompositeProducer result = new CompositeProducer();
-
- Iterator i=factoriesForVerb(aVerb).iterator();
-
- while (i.hasNext())
- result.addProducer(((ProducerFactory) i.next()).makeProducer(aVerb));
-
- return result;
- }
-
- public Iterator verbs() {
- return factories.keySet().iterator();
- }
-}
+++ /dev/null
-package mircoders.producer;
-
-import java.io.*;
-import mir.producer.*;
-
-public class NullProducer implements mir.producer.Producer {
- public NullProducer() {
- }
-
- public void produce( PrintWriter aLogger ) throws ProducerFailure {
- }
-}
-
-
-
+++ /dev/null
-package mircoders.producer;
-
-import java.io.*;
-import java.util.*;
-import mir.producer.*;
-
-public class NullProducerFactory implements ProducerFactory {
- List verbs;
-
- public NullProducerFactory() {
- verbs = new Vector();
- }
-
- public void addVerb(String aVerb) {
- verbs.add(aVerb);
- }
-
- public mir.producer.Producer makeProducer(String aVerb) {
- return new NullProducer();
- }
-
-
- public Iterator verbs() {
- return verbs.iterator();
- }
-}
public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aNode) {
+ }
+
+ protected void setupStartPageFactory(CompositeProducerNode aNode) {
+ }
+
+ protected void setupSynchronizationFactory(CompositeProducerNode aNode) {
+ }
+
+ protected void setupStaticFactory(CompositeProducerNode aNode) {
+ }
+
+ protected void setupTopicsFactory(CompositeProducerNode aNode) {
+ }
-/* EntityEnumeratingProducerNode contentNode = null;
+/* protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+
+ EntityEnumeratingProducerNode contentNode = null;
try {
contentNode =
contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
-*/
+
// public EntityEnumeratingProducerNode(String aKey, StorageObject aStorage, EntityAdapterDefinition aDefinition, ProducerNode aSubNode) {
}
protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
-/* ProducerNode topicNode = null;
+ ProducerNode topicNode = null;
try {
topicNode =
aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
-/*
+
aStartPageFactory.addFactory(
new TopicStartPageProducerFactory(
"producer/citystart.template",
0,
MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
-*/
+
}
protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
-/* aStaticFactory.addFactory(
+ aStaticFactory.addFactory(
new StaticProducerFactory(
"producer/nav.template",
"bundles.admin",
"producer/articlepost.template",
"bundles.admin",
MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepost.shtml"));
-*/ }
+ }
+*/
}
public class EHProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
EntityEnumeratingProducerNode contentNode = null;
+ aProducerNode.clear();
try {
contentNode =
contentNode.addVerb( "all", "is_published='1'", "" );
contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
- aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
+ aProducerNode.addSubNode( contentNode );
}
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
- ProducerNode startPageNode = null;
-
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
try {
- startPageNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
"is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
)
)
)
- );
+ )
+ );
}
catch (Throwable t) {
}
-
- aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
- }
-
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
-/* if(MirGlobal.getConfigBooleanProperty("Rsync")){
- aSynchronizationFactory.addFactory(
- new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
- }
- else {
-*/ NullProducerFactory nullFactory = new NullProducerFactory();
- nullFactory.addVerb("run");
- aSynchronizationFactory.addFactory(nullFactory);
-/* }*/
}
- protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
- ProducerNode staticNode = null;
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
try {
- staticNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
"", "code", 10, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
)
)
)
- );
+ )
+ );
}
catch (Throwable t) {
}
-
- aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
}
- protected void setupFactories(Map aFactoriesMap ) {
- EntityBatchingProducerNode topicPageNode = null;
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
- super.setupFactories(aFactoriesMap);
+ EntityBatchingProducerNode topicPageNode = null;
try {
topicPageNode =
topicPageNode.addVerb("all", -1);
topicPageNode.addVerb("new", 3);
- aFactoriesMap.put("topics",
- new NodedProducerFactory(
+ aProducerNode.addSubNode(
new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
"is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 1, 0,
)
)
)
- )
);
}
catch (Throwable t) {
}
}
+
+ protected void setupFactories(Map aFactoriesMap ) {
+ super.setupFactories(aFactoriesMap);
+ }
}
public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
EntityEnumeratingProducerNode contentNode = null;
try {
new CompositeProducerNode( new ProducerNode[] {
new GeneratingProducerNode(
"/producer/indymedia.nl/content.template",
- "${config.storageRoot}/content/${content.date.year}/${content.date.month}/${content.id}.inc"
+ "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc"
),
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new CompositeProducerNode( new ProducerNode[] {
new GeneratingProducerNode(
"/producer/indymedia.nl/article.template",
- "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date..formatted.MM}/${content.id}.shtml"
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
),
new FileDateSettingProducerNode(
- "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date..formatted.MM}/${content.id}.shtml",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
"content.date.date"
)
} )
}
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 ) );
-
-
-/*
- aContentFactory.addFactory(
- new ContentProducerFactory(
- "producer/content.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/content/${contentyear}/${contentmonth}/${contentid}.inc",
- Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
-
- aContentFactory.addFactory(
- new ContentProducerFactory(
- "producer/article.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/${contentyear}/${contentmonth}/${contentid}.shtml",
- Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
- */
+ aProducerNode.addSubNode( contentNode );
}
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
- ProducerNode startPageNode = null;
-
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
try {
- startPageNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
"is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
)
})
)
- );
+ )
+ );
}
catch (Throwable t) {
}
+ }
- aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
-/*
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/start.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
- 0));
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ EntityBatchingProducerNode topicPageNode = null;
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/newswire.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
- 0,
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
-*/
- }
+ try {
+ topicPageNode =
+ new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ "is_published='1' and to_article_type = ${articletype.newswire} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date asc, webdb_create asc", 6, 5, 0,
+ new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/topic.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/topicnavigation.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
+ )
+ )
+ )
+ )
+ );
+ topicPageNode.addVerb("all", -1);
+ topicPageNode.addVerb("new", 3);
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
-/* if(MirGlobal.getConfigBooleanProperty("Rsync")){
- aSynchronizationFactory.addFactory(
- new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
+ aProducerNode.addSubNode(
+ new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
+ new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ "is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 1, 0,
+ topicPageNode
+ )
+ )
+ );
}
- else {
-*/
- NullProducerFactory nullFactory = new NullProducerFactory();
- nullFactory.addVerb("run");
- aSynchronizationFactory.addFactory(nullFactory);
-/*
+ catch (Throwable t) {
}
- */
}
- protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
- ProducerNode staticNode = null;
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
try {
- staticNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
"", "code", 10, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
} )
)
)
- );
+ )
+ );
}
catch (Throwable t) {
}
-
- aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
}
protected void setupFactories(Map aFactoriesMap ) {
catch (Throwable t) {
}
aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
-
-/*
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/start.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
- 0));
-
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/newswire.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
- 0,
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
-*/
}
}