From b1e3d8e04d556e10831192d6dfed20e5cd871fd4 Mon Sep 17 00:00:00 2001 From: zapata Date: Sat, 3 Dec 2005 16:26:12 +0000 Subject: [PATCH] added the comment status count field --- .../basic/MirBasicDataModelLocalizer.java | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java b/source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java index 2479b257..500f62ae 100755 --- a/source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java +++ b/source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java @@ -55,6 +55,7 @@ import mircoders.localizer.MirLocalizerFailure; import mircoders.media.MediaHelper; import mircoders.module.ModuleContent; import mircoders.module.ModuleLanguage; +import mircoders.module.ModuleCommentStatus; import mircoders.storage.*; import multex.Failure; @@ -84,7 +85,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer { anEntityAdapterDefinition.addCalculatedField("language", new ToOneRelationField("to_language", "language", "id")); anEntityAdapterDefinition.addCalculatedField("commentcount", new ContentCommentCountField(" and is_published='1'")); anEntityAdapterDefinition.addCalculatedField("fullcommentcount", new ContentCommentCountField("")); - + anEntityAdapterDefinition.addCalculatedField("commentstatuscount", new CommentStatusCountField()); anEntityAdapterDefinition.addCalculatedField("mediacount", new ContentMediaCountField("uploaded_media", true)); anEntityAdapterDefinition.addCalculatedField("fullmediacount", new ContentMediaCountField("uploaded_media", false)); @@ -862,5 +863,32 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer { } } } + + protected static class CommentStatusCountField implements EntityAdapterDefinition.CalculatedField { + public Object getValue(EntityAdapter anEntityAdapter) { + return new CommentStatusCountField2(anEntityAdapter); + } + } + + private static class CommentStatusCountField2 { + private final EntityAdapter comment; + private final ModuleCommentStatus mcs = new ModuleCommentStatus(); + + CommentStatusCountField2(EntityAdapter anEntityAdapter) { + comment = anEntityAdapter; + } + + public String get(String aCommentStatus) { + try { + return Integer.toString( + DatabaseComment.getInstance().getSize( + "to_media=" + comment.get("id") + " and is_published='1' and to_comment_status = " + + mcs.commentStatusIdForName(aCommentStatus))); + } + catch (Exception e) { + return "0"; + } + } + } } -- 2.11.0