protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
aProducerNode.clear();
- EntityBatchingProducerNode newswireArchiveNode = null;
+ EntityBatchingProducerNode topicArchiveNode = null;
+ ProducerNode topicStartpageNode = null;
try {
// topic pages:
- newswireArchiveNode =
+ topicArchiveNode =
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", 20, 10, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
)
)
);
- newswireArchiveNode.addVerb("new", 3);
- newswireArchiveNode.addVerb("all", -1);
+ topicArchiveNode.addVerb("new", 3);
+ topicArchiveNode.addVerb("all", -1);
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,
- newswireArchiveNode
+ topicArchiveNode
)
)
);
+
+ 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,
+ new EntityListProducerNode("newswire", 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 desc, webdb_create desc", 40, 0,
+ new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ "is_published='1' and to_article_type = ${articletype.feature} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date desc, webdb_create desc", 10, 0,
+ new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/topicstartpage.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/index.shtml"
+ )
+ )
+ )
+
+ )
+ )
+ )
+ )
+ )
+ );
+
}
catch (Throwable t) {
logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
}
protected void setupFactories(Map aFactoriesMap ) {
- EntityBatchingProducerNode newswireArchiveNode = null;
+ EntityBatchingProducerNode archiveNode = null;
try {
super.setupFactories(aFactoriesMap);
// newswire archive:
- newswireArchiveNode =
+ archiveNode =
new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
"is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
)
)
);
- newswireArchiveNode.addVerb("new", 3);
- newswireArchiveNode.addVerb("all", -1);
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
+
+ aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) );
+
+// feature archive:
+ archiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0,
+ new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/feature.template",
+ "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/featurenavigation.template",
+ "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
+
+ aFactoriesMap.put( "featurearchive", new NodedProducerFactory( archiveNode ) );
- aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( newswireArchiveNode ) );
}
catch (Throwable t) {
logger.printError("BoliviaProducerLocalizer.setupFactories: Exception "+t.getMessage());