package mirlocal.euskalherria.indymedia.org;
+import java.io.*;
import java.util.*;
import mir.producer.*;
import mircoders.global.*;
import mircoders.localizer.basic.*;
import mircoders.producer.*;
import mircoders.storage.*;
-import mircoders.entity.adapter.*;
public class EHProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
EntityEnumeratingProducerNode contentNode = null;
+ aProducerNode.clear();
try {
contentNode =
- new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityEnumeratingProducerNode( "content", model, "content",
new CompositeProducerNode( new ProducerNode[] {
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new CompositeProducerNode( new ProducerNode[] {
new GeneratingProducerNode(
);
}
catch (Throwable t) {
+ logger.printError("EHProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
}
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 =
- new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ aProducerNode.addSubNode(
+ 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 EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
- 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(),
+ new EntityListProducerNode("features", model, "content",
"is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
- new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+ new EntityListProducerNode("breaking", model, "breakingNews",
"", "webdb_create desc", 5, 0,
new GeneratingProducerNode(
"/producer/euskalherria.indymedia.org/startpage.template",
)
)
)
- );
+ )
+ );
}
catch (Throwable t) {
+ logger.printError("EHProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
}
-
- 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 =
- new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ aProducerNode.addSubNode(
+ 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/euskalherria.indymedia.org/navigation.template",
)
)
)
- );
+ )
+ );
}
catch (Throwable t) {
+ logger.printError("EHProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
}
-
- 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 =
- 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(),
+ 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, 5, 0,
+ new EntityListProducerNode("languages", model, "language",
"", "code", 10, 0,
- new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
- new ResourceBundleProducerNode("lang", "producer_${language.code}",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/euskalherria.indymedia.org/topic.template",
"${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${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 ResourceBundleProducerNode("lang", "producer_${language.code}",
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
"/producer/euskalherria.indymedia.org/topicnavigation.template",
"${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
topicPageNode.addVerb("all", -1);
topicPageNode.addVerb("new", 3);
- aFactoriesMap.put("topics",
- new NodedProducerFactory(
- new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
- new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ 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("topicfeatures", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+ new EntityListProducerNode("topicfeatures", 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, webdb_create", 10, 0,
topicPageNode
)
)
)
- )
);
}
catch (Throwable t) {
+ logger.printError("EHProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
}
}
+
+ protected void setupFactories(Map aFactoriesMap ) {
+ super.setupFactories(aFactoriesMap);
+ }
}