1 package mirlocal.euskalherria.indymedia.org;
6 import mircoders.global.*;
7 import mircoders.localizer.*;
8 import mircoders.localizer.basic.*;
9 import mircoders.producer.*;
10 import mircoders.storage.*;
11 import mircoders.entity.adapter.*;
13 public class EHProducerLocalizer extends MirBasicProducerLocalizer {
15 protected void setupContentFactory(CompositeProducerNode aProducerNode) {
16 EntityEnumeratingProducerNode contentNode = null;
17 aProducerNode.clear();
21 new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
22 new CompositeProducerNode( new ProducerNode[] {
23 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
24 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
25 new CompositeProducerNode( new ProducerNode[] {
26 new GeneratingProducerNode(
27 "/producer/euskalherria.indymedia.org/article.template",
28 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
30 new FileDateSettingProducerNode(
31 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
37 new ContentMarkingProducerNode( "content")
42 logger.printError("EHProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
45 contentNode.addVerb( "all", "is_published='1'", "" );
46 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
48 aProducerNode.addSubNode( contentNode );
52 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
53 aProducerNode.clear();
55 aProducerNode.addSubNode(
56 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
57 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
58 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
60 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
61 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
62 new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
63 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
64 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
65 "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
66 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
67 "", "webdb_create desc", 5, 0,
68 new GeneratingProducerNode(
69 "/producer/euskalherria.indymedia.org/startpage.template",
70 "${config.storageRoot}/${language.code}/index.shtml"
82 logger.printError("EHProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
86 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
87 aProducerNode.clear();
90 aProducerNode.addSubNode(
91 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
93 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
94 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
95 new GeneratingProducerNode(
96 "/producer/euskalherria.indymedia.org/navigation.template",
97 "${config.storageRoot}/${language.code}/navigation.inc"
104 catch (Throwable t) {
105 logger.printError("EHProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
109 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
110 aProducerNode.clear();
112 EntityBatchingProducerNode topicPageNode = null;
116 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
117 "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,
118 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
120 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
121 new ResourceBundleProducerNode("lang", "producer_${language.code}",
122 new GeneratingProducerNode(
123 "/producer/euskalherria.indymedia.org/topic.template",
124 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
129 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
131 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
132 new ResourceBundleProducerNode("lang", "producer_${language.code}",
133 new GeneratingProducerNode(
134 "/producer/euskalherria.indymedia.org/topicnavigation.template",
135 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
141 topicPageNode.addVerb("all", -1);
142 topicPageNode.addVerb("new", 3);
144 aProducerNode.addSubNode(
145 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
146 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
147 "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,
148 new EntityListProducerNode("topicfeatures", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
149 "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, webdb_create", 10, 0,
156 catch (Throwable t) {
157 logger.printError("EHProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
162 protected void setupFactories(Map aFactoriesMap ) {
163 super.setupFactories(aFactoriesMap);