X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmirlocal%2Findymedia.nl%2FIndyNLProducerLocalizer.java;h=475edaad43143d80e3260ce92346f1475756f455;hb=038c5989199f1bf0490500b117e1bd641df10ef0;hp=4bc33ad1209fa78fab384ecd727b467b64011e6a;hpb=23c869d0b508dbf2e590c000e3e81af3f6f0a22b;p=mir.git diff --git a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java index 4bc33ad1..475edaad 100755 --- a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java @@ -7,7 +7,6 @@ import mircoders.localizer.*; import mircoders.localizer.basic.*; import mircoders.producer.*; import mircoders.storage.*; -import mircoders.entity.adapter.*; public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { @@ -16,13 +15,13 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { try { contentNode = - new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + new EntityEnumeratingProducerNode( "content", model, "content", new CompositeProducerNode( new ProducerNode[] { new GeneratingProducerNode( "/producer/indymedia.nl/content.template", "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc" ), - 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( @@ -38,25 +37,50 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) } ) ); + + contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.static}", "" ); + contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.static}", "" ); + + aProducerNode.addSubNode( contentNode ); + + + contentNode = + new EntityEnumeratingProducerNode( "content", model, "content", + new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new CompositeProducerNode( new ProducerNode[] { + new GeneratingProducerNode( + "/producer/indymedia.nl/trashed.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' and to_article_type=${articletype.trashed}", "" ); + contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.trashed}", "" ); + + aProducerNode.addSubNode( contentNode ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupContentFactory: Exception "+t.getMessage()); } - contentNode.addVerb( "all", "is_published='1'", "" ); - contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" ); - - aProducerNode.addSubNode( contentNode ); } protected void setupStartPageFactory(CompositeProducerNode aProducerNode) { try { aProducerNode.addSubNode( - new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), - "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40, 0, - new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), + new EntityListProducerNode("newswire", model, "content", + "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 40, 0, + new EntityListProducerNode("languages", model, "language", "", "code", 10, 0, new CompositeProducerNode( new ProducerNode[] { - new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "", + new EntityEnumeratingProducerNode( "language", model, "language", "", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/newswire.template", @@ -64,23 +88,28 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ), - new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), - "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, 0, - new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "", - new AssignmentProducerNode( "staticinclude", "1", - new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template", - new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template", - new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template", - new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template", - new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template", - new GeneratingProducerNode( - "/producer/indymedia.nl/start.template", - "${config.storageRoot}/index.shtml" - ) - ))))) + new EntityListProducerNode("startspecials", model, "content", + "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0, + new EntityListProducerNode("features", model, "content", + "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0, + new EntityListProducerNode("breaking", model, "breakingNews", + "", "webdb_create desc", 5, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "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", + new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template", + new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template", + new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template", + new GeneratingProducerNode( + "/producer/indymedia.nl/start.template", + "${config.storageRoot}/index.shtml" + ) + ))))) + ) ) + ) ) ) ) @@ -90,6 +119,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage()); } } @@ -98,12 +128,12 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { 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 in (${articletype.newswire}, ${articletype.promotednewswire}) 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", 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/indymedia.nl/topic.template", "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml" @@ -111,10 +141,10 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ), - 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/indymedia.nl/topicnavigation.template", "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc" @@ -127,8 +157,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { topicPageNode.addVerb("new", 3); aProducerNode.addSubNode( - new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "", - new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + 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, topicPageNode ) @@ -136,6 +166,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupTopicsFactory Exception "+t.getMessage()); } } @@ -143,9 +174,9 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { protected void setupStaticFactory(CompositeProducerNode aProducerNode) { 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 CompositeProducerNode( new ProducerNode[] { new GeneratingProducerNode( @@ -165,6 +196,10 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { "${config.storageRoot}/${language.code}/style.css" ), new GeneratingProducerNode( + "/producer/indymedia.nl/style2.template", + "${config.storageRoot}/${language.code}/style2.css" + ), + new GeneratingProducerNode( "/producer/indymedia.nl/top.template", "${config.storageRoot}/${language.code}/top.inc" ), @@ -207,6 +242,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupStaticFactory Exception "+t.getMessage()); } } @@ -214,16 +250,20 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { super.setupFactories(aFactoriesMap); ProducerNode node = null; + EntityBatchingProducerNode batchingNode = null; + EntityEnumeratingProducerNode enumeratingNode = null; try { node = - new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), - "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0, - new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(), + new EntityListProducerNode("startspecials", model, "content", + "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0, + new EntityListProducerNode("features", model, "content", + "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0, + new EntityListProducerNode("breaking", model, "breakingNews", "", "webdb_create desc", 5, 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 GeneratingProducerNode( "/producer/indymedia.nl/features.template", @@ -233,22 +273,24 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ) - ); + ) + ); + aFactoriesMap.put("features", new NodedProducerFactory( node ) ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage()); } - aFactoriesMap.put("features", new NodedProducerFactory( node ) ); try { node = - new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + new EntityListProducerNode("features", model, "content", "is_published='1' and to_article_type = 2", "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 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/indymedia.nl/features.template", @@ -259,9 +301,110 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ); + aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) ); } catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage()); } - aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) ); + + try { + batchingNode = + new EntityBatchingProducerNode( "comments", "batch", model, "comments", + + "", "id asc", 25, 15, 0, + new EntityListProducerNode("languages", model, "language", + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "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" + ) + ) + ) + ), + new EntityListProducerNode("languages", model, "language", + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/commentsindexnavigation.template", + "${config.storageRoot}/${language.code}/comments/commentsnavigation.inc" + ) + ) + ) + ) + ); + batchingNode.addVerb("new", 3); + batchingNode.addVerb("all", -1); + + aFactoriesMap.put("commentsindex", new NodedProducerFactory( batchingNode )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + enumeratingNode = + new EntityEnumeratingProducerNode( "content", model, "content", + new GeneratingProducerNode( + "/producer/indymedia.nl/static.template", + "${config.storageRoot}/${language.code}/static/${content.edittitle}.shtml" + ) + ); + + enumeratingNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.static} and to_language=${language.id} and edittitle<>'' and not edittitle is null", "" ); + enumeratingNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.static} and to_language=${language.id} and edittitle<>'' and not edittitle is null", "" ); + + aFactoriesMap.put("staticarticles", new NodedProducerFactory( + new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + enumeratingNode + ) + ) + )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + + try { + batchingNode = + new EntityBatchingProducerNode( "articles", "batch", model, "content", + "to_article_type=${articletype.trashed} or exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "date desc, webdb_create desc", 25, 15, 0, + new EntityListProducerNode("languages", model, "language", + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/trashbin.template", + "${config.storageRoot}/${language.code}/trashbin/trashbin${batch.current.identifier}.shtml" + ) + ) + ) + ), + new EntityListProducerNode("languages", model, "language", + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/trashbinnavigation.template", + "${config.storageRoot}/${language.code}/trashbin/trashbinnavigation.inc" + ) + ) + ) + ) + ); + batchingNode.addVerb("new", 3); + batchingNode.addVerb("all", -1); + + aFactoriesMap.put("trashbin", new NodedProducerFactory( batchingNode )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + +//${articletype.trashed} } }