From 5c6e9bfba2db67bf86ed2e5492067645c18f6e29 Mon Sep 17 00:00:00 2001 From: zapata Date: Sat, 6 Jul 2002 11:34:58 +0000 Subject: [PATCH] indy.nl updates --- source/OpenMir.java | 20 +- .../indymedia.nl/IndyNLDataModelLocalizer.java | 21 +- .../indymedia.nl/IndyNLOpenPostingLocalizer.java | 6 +- .../IndyNLProducerAssistantLocalizer.java | 3 +- .../indymedia.nl/IndyNLProducerLocalizer.java | 394 +++++++++++++++++---- 5 files changed, 359 insertions(+), 85 deletions(-) diff --git a/source/OpenMir.java b/source/OpenMir.java index b8550838..2683ef18 100755 --- a/source/OpenMir.java +++ b/source/OpenMir.java @@ -25,7 +25,7 @@ import mircoders.storage.*; public class OpenMir extends AbstractServlet { - + //private static boolean confed=false; private static String lang; public HttpSession session; @@ -49,9 +49,17 @@ public class OpenMir extends AbstractServlet { session = req.getSession(); if(session.getAttribute("Language")==null){ - setLanguage(session,getAcceptLanguage(req)); + if (req.getParameter("language")!=null) { + setLanguage(session, req.getParameter("language")); + } + else { + setLanguage(session, getAcceptLanguage(req)); + } } + if (req.getParameter("language")!=null) + setLocale(session, new Locale(req.getParameter("language"), "") ); + res.setContentType("text/html"); try { ServletModuleDispatch.dispatch(ServletModuleOpenIndy.getInstance(),req,res); @@ -69,14 +77,14 @@ public class OpenMir extends AbstractServlet { } private void handleUserError(HttpServletRequest req, HttpServletResponse res, - PrintWriter out, String errorString) { + PrintWriter out, String errorString) { try { theLog.printError(errorString); SimpleHash modelRoot = new SimpleHash(); modelRoot.put("errorstring", new SimpleScalar(errorString)); modelRoot.put("date", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar()))); HTMLTemplateProcessor.process(res,MirConfig.getProp("Mir.UserErrorTemplate"), - modelRoot, out, req.getLocale() ); + modelRoot, out, req.getLocale() ); out.close(); } catch (Exception e) { @@ -92,9 +100,9 @@ public class OpenMir extends AbstractServlet { SimpleHash modelRoot = new SimpleHash(); modelRoot.put("errorstring", new SimpleScalar(errorString)); modelRoot.put("date", new SimpleScalar(StringUtil.date2readableDateTime( - new GregorianCalendar()))); + new GregorianCalendar()))); HTMLTemplateProcessor.process(res,MirConfig.getProp("Mir.ErrorTemplate"), - modelRoot,out, req.getLocale()); + modelRoot,out, req.getLocale()); out.close(); } catch (Exception e) { diff --git a/source/mirlocal/indymedia.nl/IndyNLDataModelLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLDataModelLocalizer.java index 983524af..5815fb4e 100755 --- a/source/mirlocal/indymedia.nl/IndyNLDataModelLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLDataModelLocalizer.java @@ -10,8 +10,8 @@ public class IndyNLDataModelLocalizer extends MirBasicDataModelLocalizer { super.constructContentAdapterDefinition( anEntityAdapterDefinition ); try { - - anEntityAdapterDefinition.addCalculatedField("to_hiddencomments", new ContentToHiddenCommentsField()); + anEntityAdapterDefinition.addCalculatedField("to_trashedcomments", new ContentToTrashedCommentsField()); + anEntityAdapterDefinition.addCalculatedField("trashedcommentcount", new ContentTrashedCommentCountField()); anEntityAdapterDefinition.addCalculatedField("commentcount", new ContentCommentCountField()); } catch (Throwable t) { @@ -20,11 +20,11 @@ public class IndyNLDataModelLocalizer extends MirBasicDataModelLocalizer { } - protected class ContentToHiddenCommentsField implements EntityAdapterDefinition.CalculatedField { + protected class ContentToTrashedCommentsField implements EntityAdapterDefinition.CalculatedField { public Object getValue(EntityAdapter anEntityAdapter) { try { return anEntityAdapter.getRelation( - "to_media="+anEntityAdapter.get("id")+" and is_published='1'", + "to_media="+anEntityAdapter.get("id")+" and is_published='0'", "webdb_create", "comment" ); } @@ -46,4 +46,17 @@ public class IndyNLDataModelLocalizer extends MirBasicDataModelLocalizer { } } } + + protected class ContentTrashedCommentCountField implements EntityAdapterDefinition.CalculatedField { + public Object getValue(EntityAdapter anEntityAdapter) { + try { + return Integer.toString( + DatabaseComment.getInstance().getSize( + "to_media="+anEntityAdapter.get("id")+" and is_published='0'")); + } + catch (Throwable t) { + throw new RuntimeException(t.getMessage()); + } + } + } } diff --git a/source/mirlocal/indymedia.nl/IndyNLOpenPostingLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLOpenPostingLocalizer.java index 4c5fd189..537d7b1d 100755 --- a/source/mirlocal/indymedia.nl/IndyNLOpenPostingLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLOpenPostingLocalizer.java @@ -7,11 +7,13 @@ import mircoders.localizer.basic.*; public class IndyNLOpenPostingLocalizer extends MirBasicOpenPostingLocalizer { public void afterContentPosting() { - super.afterContentPosting(); + MirGlobal.producerEngine().addJob("media", "new"); + MirGlobal.producerEngine().addJob("content", "new"); + MirGlobal.producerEngine().addJob("startpage", "(default)"); + MirGlobal.producerEngine().addJob("synchronization", "run"); } public void afterCommentPosting() { - MirGlobal.producerEngine().addJob("startpage", "all"); super.afterCommentPosting(); } } diff --git a/source/mirlocal/indymedia.nl/IndyNLProducerAssistantLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLProducerAssistantLocalizer.java index ec229926..834a078d 100755 --- a/source/mirlocal/indymedia.nl/IndyNLProducerAssistantLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLProducerAssistantLocalizer.java @@ -10,6 +10,7 @@ public class IndyNLProducerAssistantLocalizer extends MirBasicProducerAssistantL Map articleTypeMap = (Map) aValueSet.get("articletype"); articleTypeMap.put("static", "5"); articleTypeMap.put("promotednewswire", "6"); - articleTypeMap.put("trashed", "7"); + articleTypeMap.put("opentrashed", "7"); + articleTypeMap.put("trashed", "8"); }; } diff --git a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java index 843381c3..1d27eec7 100755 --- a/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java +++ b/source/mirlocal/indymedia.nl/IndyNLProducerLocalizer.java @@ -14,6 +14,26 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { EntityEnumeratingProducerNode contentNode = null; try { + // trashed comments + contentNode = + new EntityEnumeratingProducerNode( "content", model, "content", + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/trashedcomments.template", + "${config.storageRoot}/trashed/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.trashed.shtml" + ) + ) + ) + ); + + contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "" ); + contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "" ); + + aProducerNode.addSubNode( contentNode ); + + + // ordinary articles contentNode = new EntityEnumeratingProducerNode( "content", model, "content", new CompositeProducerNode( new ProducerNode[] { @@ -21,7 +41,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { "/producer/indymedia.nl/content.template", "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc" ), - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new CompositeProducerNode( new ProducerNode[] { new GeneratingProducerNode( @@ -34,32 +54,76 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) } ) ) - ) + ), + new ContentMarkingProducerNode( "content" ) } ) ); - 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}", "" ); + contentNode.addVerb( "all", "is_published='1' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and to_article_type<>${articletype.static}", "webdb_create desc, date desc" ); + contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type<>${articletype.trashed} and to_article_type<>${articletype.opentrashed} and to_article_type<>${articletype.static}", "webdb_create desc, date desc" ); aProducerNode.addSubNode( contentNode ); + // openly trashed articles + contentNode = + new EntityEnumeratingProducerNode( "content", model, "content", + new CompositeProducerNode( new ProducerNode[] { + new GeneratingProducerNode( + "/producer/indymedia.nl/removed.template", + "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc" + ), + new EntityEnumeratingProducerNode( "language", model, "language", "code = 'nl'", "", + 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" + ), + new ContentMarkingProducerNode( "content" ) + } ) + ) + ), + new ContentMarkingProducerNode( "content" ) + }) + ); + contentNode.addVerb( "all", "is_published='1' and to_article_type=${articletype.opentrashed}", "" ); + contentNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.opentrashed}", "" ); + + aProducerNode.addSubNode( contentNode ); + // closedly trashed articles 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" - ) - } ) - ) - ) + new CompositeProducerNode( new ProducerNode[] { + new GeneratingProducerNode( + "/producer/indymedia.nl/removed.template", + "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc" + ), + new EntityEnumeratingProducerNode( "language", model, "language", "code = 'nl'", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new CompositeProducerNode( new ProducerNode[] { + new GeneratingProducerNode( + "/producer/indymedia.nl/removed.template", + "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml" + ), + new GeneratingProducerNode( + "/producer/indymedia.nl/trashed.template", + "${config.storageRoot}/trashed/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml" + ), + new FileDateSettingProducerNode( + "${config.storageRoot}/trashed/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml", + "content.date.date" + ), + new ContentMarkingProducerNode( "content" ) + } ) + ) + ), + new ContentMarkingProducerNode( "content" ) + }) ); 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}", "" ); @@ -77,10 +141,9 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { aProducerNode.addSubNode( 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 EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, new CompositeProducerNode( new ProducerNode[] { - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/newswire.template", @@ -91,25 +154,35 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { 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, + "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 15, 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" - ) - ))))) + new CompositeProducerNode( new ProducerNode[] { + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/features.template", + "${config.storageRoot}/${language.code}/features.inc" + ) + ) + ), + 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" + ) + ))))) + ) ) ) - ) + } ) ) ) ) @@ -129,10 +202,9 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { try { topicPageNode = 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", model, "language", "", "", + "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})", "webdb_create asc, date asc", 20, 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/topic.template", @@ -141,9 +213,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ), - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/topicnavigation.template", @@ -174,9 +245,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { protected void setupStaticFactory(CompositeProducerNode aProducerNode) { try { aProducerNode.addSubNode( - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new CompositeProducerNode( new ProducerNode[] { new GeneratingProducerNode( @@ -200,8 +270,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { "${config.storageRoot}/${language.code}/style2.css" ), new GeneratingProducerNode( - "/producer/indymedia.nl/top.template", - "${config.storageRoot}/${language.code}/top.inc" + "/producer/indymedia.nl/trashtop.template", + "${config.storageRoot}/${language.code}/trashtop.inc" ), new GeneratingProducerNode( "/producer/indymedia.nl/articlepre.template", @@ -253,6 +323,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { EntityBatchingProducerNode batchingNode = null; EntityEnumeratingProducerNode enumeratingNode = null; +/* try { node = new EntityListProducerNode("startspecials", model, "content", @@ -261,9 +332,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { "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", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/features.template", @@ -280,17 +350,17 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { catch (Throwable t) { logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage()); } +*/ - +/* try { node = new EntityListProducerNode("features", model, "content", - "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0, + "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 15, 0, new EntityListProducerNode("breaking", model, "breakingNews", "", "webdb_create desc", 5, 0, - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/features.template", @@ -306,14 +376,14 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { catch (Throwable t) { logger.printError("IndyNLProducerLocalizer.setupFactories Exception "+t.getMessage()); } +*/ try { batchingNode = new EntityBatchingProducerNode( "comments", "batch", model, "comments", "", "id asc", 25, 15, 0, - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( @@ -323,9 +393,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { ) ) ), - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/commentsindexnavigation.template", @@ -357,7 +426,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { 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 EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", enumeratingNode ) @@ -372,25 +441,23 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { 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 asc, webdb_create asc", 25, 15, 0, - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + "to_article_type=${articletype.trashed} or exists(select * from comment where comment.to_media=content.id and comment.is_published='f')", "webdb_create asc, date asc", 25, 15, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/trashbin.template", - "${config.storageRoot}/${language.code}/trashbin/trashbin${batch.current.identifier}.shtml" + "${config.storageRoot}/trashbin/${language.code}/trashbin${batch.current.identifier}.shtml" ) ) ) ), - new EntityListProducerNode("languages", model, "language", - "", "code", 10, 0, - new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "", + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", new GeneratingProducerNode( "/producer/indymedia.nl/trashbinnavigation.template", - "${config.storageRoot}/${language.code}/trashbin/trashbinnavigation.inc" + "${config.storageRoot}/trashbin/${language.code}/trashbinnavigation.inc" ) ) ) @@ -405,6 +472,189 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer { logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); } -//${articletype.trashed} +// archives + + try { + batchingNode = + new EntityBatchingProducerNode( "articles", "batch", model, "content", + "is_published='1' and to_article_type = ${articletype.feature}", "webdb_create asc, date asc", 20, 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/feature.archive.template", + "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml" + ) + ) + ) + ), + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/feature.archive.navigation.template", + "${config.storageRoot}/${language.code}/feature/featurenavigation.inc" + ) + ) + ) + ) + ); + batchingNode.addVerb("all", -1); + batchingNode.addVerb("new", 3); + + aFactoriesMap.put("featurearchive", new NodedProducerFactory( batchingNode )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + batchingNode = + new EntityBatchingProducerNode( "articles", "batch", model, "content", + "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "webdb_create asc, date asc", 20, 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/newswire.archive.template", + "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml" + ) + ) + ) + ), + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/newswire.archive.navigation.template", + "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc" + ) + ) + ) + ) + ); + batchingNode.addVerb("all", -1); + batchingNode.addVerb("new", 3); + + aFactoriesMap.put("newswirearchive", new NodedProducerFactory( batchingNode )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + batchingNode = + new EntityBatchingProducerNode( "articles", "batch", model, "content", + "is_published='1' and to_article_type in (${articletype.openposting}, ${articletype.newswire}, ${articletype.promotednewswire})", "webdb_create asc, date asc", 20, 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/openposting.archive.template", + "${config.storageRoot}/${language.code}/openposting/openposting${batch.current.identifier}.shtml" + ) + ) + ) + ), + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/openposting.archive.navigation.template", + "${config.storageRoot}/${language.code}/openposting/openpostingnavigation.inc" + ) + ) + ) + ) + ); + batchingNode.addVerb("all", -1); + batchingNode.addVerb("new", 3); + + aFactoriesMap.put("openpostingarchive", new NodedProducerFactory( batchingNode )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + node = + new EntityListProducerNode( "articles", model, "content", + "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial}, ${articletype.newswire}, ${articletype.promotednewswire})", + "(select max(webdb_create) from comment where to_media=content.id and is_published='t') desc", 30, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/commentedarticles.template", + "${config.storageRoot}/${language.code}/commentedarticles.shtml" + ) + ) + ) + ) + ); + aFactoriesMap.put("commentedarticles", new NodedProducerFactory( node )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + node = + new EntityListProducerNode( "articles", model, "content", + "is_published='1' and to_article_type = ${articletype.opentrashed}", "webdb_create desc, date desc", 30, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('nl', 'en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/opentrashbin.template", + "${config.storageRoot}/${language.code}/opentrashbin.shtml" + ) + ) + ) + ) + ); + aFactoriesMap.put("opentrashbin", new NodedProducerFactory( node )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + node = + new EntityListProducerNode( "articles", model, "content", + "is_published='1' and length(source)>10 and id>5000 and to_article_type in (${articletype.feature}, ${articletype.startspecial}, ${articletype.newswire}, ${articletype.promotednewswire})", + "webdb_create desc, date desc", 10, 0, + new EntityListProducerNode("languages", model, "language", "code in ('nl', 'en')", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", model, "language", "code in ('en')", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/indymedia.nl/featuressyndication.template", + "${config.storageRoot}/features.1-0.rdf", + "UTF-8" + ) + ) + ) + ) + ); + aFactoriesMap.put("syndication", new NodedProducerFactory( node )); + } + catch (Throwable t) { + logger.printError("IndyNLProducerLocalizer.setupFactories: Exception "+t.getMessage()); + } + + try { + node = + new EntityEnumeratingProducerNode( "content", model, "content", "to_article_type = ${articletype.opentrashed} and webdb_create