import mircoders.localizer.basic.*;
import mircoders.producer.*;
import mircoders.storage.*;
-import mircoders.entity.adapter.*;
public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
try {
contentNode =
- new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityEnumeratingProducerNode( "content", model, "content",
new CompositeProducerNode( new ProducerNode[] {
- new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c' and exists(select * from content_x_topic where content_id=${content.id} and topic_id=id)", "",
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
- new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
- new CompositeProducerNode( new ProducerNode[] {
- new GeneratingProducerNode(
- "/producer/bolivia.indymedia.org/${city.filename}/article.template",
- "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
- ),
- new ContentMarkingProducerNode( "content" )
- } )
- )
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/article.template",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
+ ),
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/printablecontent.template",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.fo"
+ ),
+ new PDFGeneratingProducerNode(
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.fo",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.pdf"
+ ),
+ new ContentMarkingProducerNode( "content" )
+ } )
)
),
new ContentMarkingProducerNode( "content")
aProducerNode.clear();
try {
aProducerNode.addSubNode(
- new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityListProducerNode("newswire", model, "content",
"is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityListProducerNode("startspecial", model, "content",
"is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
- new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = ${articletype.feature} and id in (select max(content_id) from content_x_topic, topic t where topic_id=t.id and t.archiv_url='c' group by t.id)", "date desc, webdb_create desc", 10, 0,
- new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+ new EntityListProducerNode("features", model, "content",
+ "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
+ new EntityListProducerNode("breaking", model, "breakingNews",
"", "webdb_create desc", 5, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/bolivia.indymedia.org/startpage.template",
)
)
);
-
aProducerNode.addSubNode(
- new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
- new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = ${articletype.newswire} and exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 40, 0,
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10, 0,
- new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = ${articletype.startspecial} and "+
- "exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 1, 0,
- new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = ${articletype.feature} and exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 10, 0,
- new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
- "", "webdb_create desc", 5, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
- new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
- new GeneratingProducerNode(
- "/producer/bolivia.indymedia.org/${city.filename}/startpage.template",
- "${config.storageRoot}/${city.filename}/${language.code}/index.shtml"
- )
- )
- )
- )
- )
- )
- )
- )
+ new EntityListProducerNode( "articles", model, "content",
+ "is_published='1' and to_article_type = ${articletype.feature}",
+ "webdb_create desc, date desc", 10, 0,
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/featuressyndication.template",
+ "${config.storageRoot}/features.1-0.rdf",
+ "UTF-8"
)
+ )
);
}
catch (Throwable t) {
try {
aProducerNode.addSubNode(
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/bolivia.indymedia.org/navigation.template",
)
)
);
- aProducerNode.addSubNode(
- new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
- 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/${city.filename}/navigation.template",
- "${config.storageRoot}/${city.filename}/${language.code}/navigation.inc"
- )
- )
- )
- )
- )
- );
}
catch (Throwable t) {
logger.printError("BoliviaProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
aProducerNode.clear();
- EntityBatchingProducerNode topicPageNode = null;
+ EntityBatchingProducerNode topicArchiveNode = null;
+ ProducerNode topicStartpageNode = null;
try {
// topic pages:
- 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(),
+ topicArchiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "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", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/bolivia.indymedia.org/topic.template",
)
)
),
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/bolivia.indymedia.org/topicnavigation.template",
)
)
);
- topicPageNode.addVerb("new", 3);
- topicPageNode.addVerb("all", -1);
+ topicArchiveNode.addVerb("new", 3);
+ topicArchiveNode.addVerb("all", -1);
aProducerNode.addSubNode(
- new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "((main_url is null) or main_url<>'c')", "",
- new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityEnumeratingProducerNode( "topic", model, "topic", "filename != ''", "",
+ 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
+ topicArchiveNode
+ )
+ )
+ );
+
+ 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,
+ new EntityListProducerNode("newswire", model, "content",
+ "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", model, "content",
+ "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", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/topicstartpage.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/index.shtml"
+ )
+ )
+ )
+
+ )
+ )
)
)
+ )
);
-// topic pages per city:
- 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}) and " +
- "id in (select content_id from content_x_topic where topic_id = ${city.id})", "date asc, webdb_create asc", 6, 5, 0,
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ }
+ catch (Throwable t) {
+ logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
+ }
+ }
+
+ protected void setupFactories(Map aFactoriesMap ) {
+ EntityBatchingProducerNode archiveNode = null;
+
+ try {
+ super.setupFactories(aFactoriesMap);
+
+// newswire archive:
+ archiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
- "/producer/bolivia.indymedia.org/${city.filename}/topic.template",
- "${config.storageRoot}/${city.filename}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
+ "/producer/bolivia.indymedia.org/newswire.template",
+ "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
)
)
)
),
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
- "/producer/bolivia.indymedia.org/${city.filename}/topicnavigation.template",
- "${config.storageRoot}/${city.filename}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
+ "/producer/bolivia.indymedia.org/newswirenavigation.template",
+ "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
)
)
)
)
);
- topicPageNode.addVerb("new", 3);
- topicPageNode.addVerb("all", -1);
-
- aProducerNode.addSubNode(
- new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
- new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "((main_url is null) or main_url<>'c')", "",
- 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}) and "+
- "id in (select content_id from content_x_topic where topic_id = ${city.id})", "date, webdb_create", 1, 0,
- topicPageNode
- )
- )
- )
- );
- }
- catch (Throwable t) {
- logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
- }
- }
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
- protected void setupFactories(Map aFactoriesMap ) {
- super.setupFactories(aFactoriesMap);
- try {
+ aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) );
- 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"
- )
+// feature archive:
+ archiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ 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(), "code='nl'", "",
- new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
- new GeneratingProducerNode(
- "/producer/indymedia.nl/commentsindexnavigation.template",
- "${config.storageRoot}/${language.code}/comments/commentsnavigation.inc"
- )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/bolivia.indymedia.org/featurenavigation.template",
+ "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
)
)
)
- );
- batchingNode.addVerb("new", 3);
- batchingNode.addVerb("all", -1);
+ )
+ );
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
+
+ aFactoriesMap.put( "featurearchive", new NodedProducerFactory( archiveNode ) );
- aFactoriesMap.put("commentsindex", new NodedProducerFactory( batchingNode ));
}
catch (Throwable t) {
logger.printError("BoliviaProducerLocalizer.setupFactories: Exception "+t.getMessage());
}
-
}
}