public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
EntityEnumeratingProducerNode contentNode = null;
try {
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 EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
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"
+ )
+ } )
)
)
} )
}
contentNode.addVerb( "all", "is_published='1'", "" );
- contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
-
- aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
-
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
-/*
- 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"))));
- */
+ aProducerNode.addSubNode( contentNode );
}
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
- ProducerNode startPageNode = null;
-
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
try {
- startPageNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40,
+ "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
+ "", "code", 10, 0,
new CompositeProducerNode( new ProducerNode[] {
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
)
),
new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
+ "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
- "", "webdb_create desc", 5,
+ "", "webdb_create desc", 5, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "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",
)
)))))
)
+ )
)
)
)
})
)
- );
+ )
+ );
}
catch (Throwable t) {
}
+ }
- 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));
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ EntityBatchingProducerNode topicPageNode = null;
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- "producer/newswire.template",
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
- 0,
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
-*/
- }
+ 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(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "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", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+ new ResourceBundleProducerNode("lang", "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);
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
- if(MirGlobal.getConfigBooleanProperty("Rsync")){
- aSynchronizationFactory.addFactory(
- new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
+ 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,
+ topicPageNode
+ )
+ )
+ );
}
- else {
- NullProducerFactory nullFactory = new NullProducerFactory();
- nullFactory.addVerb("run");
- aSynchronizationFactory.addFactory(nullFactory);
+ catch (Throwable t) {
}
}
- protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
- ProducerNode staticNode = null;
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
try {
- staticNode =
+ aProducerNode.addSubNode(
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
+ "", "code", 10, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new CompositeProducerNode( new ProducerNode[] {
} )
)
)
- );
+ )
+ );
}
catch (Throwable t) {
}
-
- aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
}
protected void setupFactories(Map aFactoriesMap ) {
try {
node =
new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
+ "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
- "", "webdb_create desc", 5,
+ "", "webdb_create desc", 5, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
+ "", "code", 10, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
try {
node =
new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
- "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
+ "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
- "", "webdb_create desc", 5,
+ "", "webdb_create desc", 5, 0,
new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
- "", "code", 10,
+ "", "code", 10, 0,
new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
new GeneratingProducerNode(
catch (Throwable t) {
}
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")));
-*/
}
}