import mircoders.localizer.basic.*;
import mircoders.producer.*;
import mircoders.storage.*;
-import mircoders.entity.adapter.*;
public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
EntityEnumeratingProducerNode contentNode = null;
try {
+ // trashed comments
contentNode =
- new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityEnumeratingProducerNode( "content", model, "content",
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashedcomments.template",
+ "${config.storageRoot}/trashbin/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.trashed.shtml"
+ )
+ )
+ )
+ );
+
+ contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "" );
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "" );
+
+ aProducerNode.addSubNode( contentNode );
+
+
+ // ordinary articles
+ contentNode =
+ new EntityEnumeratingProducerNode( "content", model, "content",
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 GeneratingProducerNode(
+ "/producer/indymedia.nl/comments.template",
+ "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.comments.inc"
),
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
- new GeneratingProducerNode(
- "/producer/indymedia.nl/article.template",
- "${config.storageRoot}/${language.code}/${content.date.year}/${content.date.month}/${content.id}.shtml"
- )
+ 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"
+ ),
+ new FileDateSettingProducerNode(
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
+ "content.date.date"
+ )
+ } )
)
- )
+ ),
+ new ContentMarkingProducerNode( "content" ),
+ new ScriptCallingProducerNode("/home/www-data/bin/addarticle \"http://prod.indymedia.nl/nl/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml\"")
} )
);
- }
- catch (Throwable t) {
- }
- contentNode.addVerb( "all", "is_published='1'", "" );
- contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
+ contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and to_article_type<>${articletype.static}", "webdb_create desc, date desc" );
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and to_article_type<>${articletype.static}", "webdb_create desc, date desc" );
- aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
+ aProducerNode.addSubNode( contentNode );
+ aProducerNode.addSubNode( new ScriptCallingProducerNode("/home/www-data/bin/postproduce") );
-/*
- 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"))));
- */
- }
+ // openly trashed articles
+ contentNode =
+ new EntityEnumeratingProducerNode( "content", model, "content",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/removed.template",
+ "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc"
+ ),
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/removed.template",
+ "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.comments.inc"
+ ),
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashed.template",
+ "${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",
+ "content.date.date"
+ ),
+ new ContentMarkingProducerNode( "content" )
+ } )
+ )
+ ),
+ new ContentMarkingProducerNode( "content" )
+ })
+ );
+ contentNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.opentrashed}", "" );
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.opentrashed}", "" );
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
- ProducerNode startPageNode = null;
+ aProducerNode.addSubNode( contentNode );
+ // closedly trashed articles
+ contentNode =
+ new EntityEnumeratingProducerNode( "content", model, "content",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/removed.template",
+ "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc"
+ ),
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/removed.template",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
+ )
+ )
+ ),
+ new EntityEnumeratingProducerNode( "language", model, "language", "code = 'nl'", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashed.template",
+ "${config.storageRoot}/trashbin/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
+ ),
+ new FileDateSettingProducerNode(
+ "${config.storageRoot}/trashbin/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
+ "content.date.date"
+ ),
+ new ContentMarkingProducerNode( "content" )
+ } )
+ )
+ ),
+ new ContentMarkingProducerNode( "content" )
+ })
+ );
+ contentNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.trashed}", "" );
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.trashed}", "" );
+
+ aProducerNode.addSubNode( contentNode );
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
+ }
+
+ }
+
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
try {
- startPageNode =
- new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40,
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
+ aProducerNode.addSubNode(
+ new EntityListProducerNode("newswire", model, "content",
+ "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 40, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
new CompositeProducerNode( new ProducerNode[] {
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/indymedia.nl/newswire.template",
)
)
),
- 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 EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
- new AssignmentProducerNode( "staticinclude", "1",
- new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
- new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
- new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
- new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
- new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
+ new EntityListProducerNode("startspecials", model, "content",
+ "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
+ new EntityListProducerNode("features", model, "content",
+ "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
+ new EntityListProducerNode("breaking", model, "breakingNews",
+ "", "webdb_create desc", 5, 0,
+ new CompositeProducerNode( new ProducerNode[] {
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
- "/producer/indymedia.nl/start.template",
- "${config.storageRoot}/index.shtml"
+ "/producer/indymedia.nl/features.template",
+ "${config.storageRoot}/${language.code}/features.inc"
+ )
+ )
+ ),
+ new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new AssignmentProducerNode( "staticinclude", "1",
+ new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
+ new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
+ new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
+ new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
+ new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/start.template",
+ "${config.storageRoot}/index.html"
+ )
+ )))))
)
- )))))
+ )
)
+ } )
)
)
)
})
)
- );
+ )
+ );
}
catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
}
-
- 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));
-
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/newswire.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
- 0,
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
-*/
}
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
- if(MirGlobal.getConfigBooleanProperty("Rsync")){
- aSynchronizationFactory.addFactory(
- new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ EntityBatchingProducerNode topicPageNode = null;
+
+ try {
+ topicPageNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire}) and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "webdb_create asc, date asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.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", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.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);
+
+ aProducerNode.addSubNode(
+ new EntityEnumeratingProducerNode( "topic", model, "topic","", "",
+ new EntityListProducerNode("topicspecial", model, "content",
+ "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) {
+ logger.printError("IndyNLProducerLocalizer.setupTopicsFactory Exception "+t.getMessage());
}
}
- protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
- ProducerNode staticNode = null;
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
try {
- staticNode =
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ aProducerNode.addSubNode(
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new CompositeProducerNode( new ProducerNode[] {
new GeneratingProducerNode(
"${config.storageRoot}/${language.code}/style.css"
),
new GeneratingProducerNode(
- "/producer/indymedia.nl/top.template",
- "${config.storageRoot}/${language.code}/top.inc"
+ "/producer/indymedia.nl/style2.template",
+ "${config.storageRoot}/${language.code}/style2.css"
+ ),
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashtop.template",
+ "${config.storageRoot}/${language.code}/trashtop.inc"
),
new GeneratingProducerNode(
"/producer/indymedia.nl/articlepre.template",
"${config.storageRoot}/${language.code}/start.shtml"
)
)))))
- ),
+ )
+/* ,
new AssignmentProducerNode( "staticinclude", "0",
new EvaluatedAssignmentProducerNode( "topinclude", "/${language.code}/top.inc",
new EvaluatedAssignmentProducerNode( "bottominclude", "/${language.code}/bottom.inc",
)
)))))
)
+*/
} )
)
)
- );
+ )
+ );
}
catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupStaticFactory Exception "+t.getMessage());
}
-
- aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
}
protected void setupFactories(Map aFactoriesMap ) {
super.setupFactories(aFactoriesMap);
ProducerNode node = null;
+ EntityBatchingProducerNode batchingNode = null;
+ EntityEnumeratingProducerNode enumeratingNode = null;
+/*
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 EntityListProducerNode("startspecials", model, "content",
+ "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
+ new EntityListProducerNode("features", model, "content",
+ "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
+ new EntityListProducerNode("breaking", model, "breakingNews",
+ "", "webdb_create desc", 5, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/indymedia.nl/features.template",
)
)
)
- );
+ )
+ );
+ aFactoriesMap.put("features", new NodedProducerFactory( node ) );
}
catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage());
}
+*/
- aFactoriesMap.put("features", new NodedProducerFactory( node ) );
-
+/*
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 EntityListProducerNode("features", model, "content",
+ "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 20, 0,
+ new EntityListProducerNode("breaking", model, "breakingNews",
+ "", "webdb_create desc", 5, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/indymedia.nl/features.template",
)
)
);
+ aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
}
catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage());
}
- 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")));
+ try {
+ batchingNode =
+ new EntityBatchingProducerNode( "comments", "batch", model, "comments",
+
+ "", "id asc", 25, 15, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "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", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ 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());
+ }
+
*/
+
+ try {
+ enumeratingNode =
+ new EntityEnumeratingProducerNode( "content", model, "content",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/static.template",
+ "${config.storageRoot}/${language.code}/static/${content.edittitle}.shtml"
+ ),
+ new ContentMarkingProducerNode( "content" )
+ })
+ );
+
+ enumeratingNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.static} and to_language in (${language.id}, 0) and edittitle<>'' and not edittitle is null", "" );
+ enumeratingNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.static} and to_language in (${language.id}, 0) and edittitle<>'' and not edittitle is null", "" );
+
+ aFactoriesMap.put("staticarticles", new NodedProducerFactory(
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ enumeratingNode
+ )
+ )
+ ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+
+ try {
+ batchingNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "to_article_type=${articletype.trashed} or exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "webdb_create asc, date asc", 25, 15, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashbin.template",
+ "${config.storageRoot}/trashbin/${language.code}/trashbin${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/trashbinnavigation.template",
+ "${config.storageRoot}/trashbin/${language.code}/trashbinnavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ batchingNode.addVerb("new", 3);
+ batchingNode.addVerb("all", -1);
+
+ aFactoriesMap.put("trashbin", new NodedProducerFactory( batchingNode ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+// archives
+
+ try {
+ batchingNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type = ${articletype.feature}", "webdb_create asc, date asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/feature.archive.template",
+ "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/feature.archive.navigation.template",
+ "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ batchingNode.addVerb("all", -1);
+ batchingNode.addVerb("new", 3);
+
+ aFactoriesMap.put("featurearchive", new NodedProducerFactory( batchingNode ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ batchingNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "webdb_create asc, date asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/newswire.archive.template",
+ "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/newswire.archive.navigation.template",
+ "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ batchingNode.addVerb("all", -1);
+ batchingNode.addVerb("new", 3);
+
+ aFactoriesMap.put("newswirearchive", new NodedProducerFactory( batchingNode ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ batchingNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type in (${articletype.openposting}, ${articletype.newswire}, ${articletype.promotednewswire})", "webdb_create asc, date asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/openposting.archive.template",
+ "${config.storageRoot}/${language.code}/openposting/openposting${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/openposting.archive.navigation.template",
+ "${config.storageRoot}/${language.code}/openposting/openpostingnavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ batchingNode.addVerb("all", -1);
+ batchingNode.addVerb("new", 3);
+
+ aFactoriesMap.put("openpostingarchive", new NodedProducerFactory( batchingNode ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ node =
+ new EntityListProducerNode( "articles", model, "content",
+ "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial}, ${articletype.newswire}, ${articletype.promotednewswire})",
+ "(select max(webdb_create) from comment where to_media=content.id and is_published='t') desc", 30, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/commentedarticles.template",
+ "${config.storageRoot}/${language.code}/commentedarticles.shtml"
+ )
+ )
+ )
+ )
+ );
+ aFactoriesMap.put("commentedarticles", new NodedProducerFactory( node ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ node =
+ new EntityListProducerNode( "articles", model, "content",
+ "is_published='1' and to_article_type = ${articletype.opentrashed}", "webdb_create desc, date desc", 30, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/opentrashbin.template",
+ "${config.storageRoot}/${language.code}/opentrashbin.shtml"
+ )
+ )
+ )
+ )
+ );
+ aFactoriesMap.put("opentrashbin", new NodedProducerFactory( node ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ node =
+ new EntityListProducerNode( "articles", model, "content",
+ "is_published='1' and length(source)>10 and id>5000 and to_article_type in (${articletype.feature}, ${articletype.startspecial}, ${articletype.newswire}, ${articletype.promotednewswire})",
+ "webdb_create desc, date desc", 10, 0,
+ new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "code in ('en')", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/indymedia.nl/featuressyndication.template",
+ "${config.storageRoot}/features.1-0.rdf",
+ "UTF-8"
+ )
+ )
+ )
+ )
+ );
+ aFactoriesMap.put("syndication", new NodedProducerFactory( node ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+
+ try {
+ node =
+ new EntityEnumeratingProducerNode( "content", model, "content", "to_article_type = ${articletype.opentrashed} and webdb_create<now()-interval '5 days'", "",
+ new ContentModifyingProducerNode(
+ "content",
+ "to_article_type",
+ "${articletype.trashed}"
+ )
+ );
+ aFactoriesMap.put("trashbinmover", new NodedProducerFactory( node ));
+ }
+ catch (Throwable t) {
+ logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
}
}