1 package mirlocal.indymedia.nl;
3 import mir.entity.adapter.*;
4 import mircoders.localizer.*;
5 import mircoders.localizer.basic.*;
6 import mircoders.storage.*;
8 public class IndyNLDataModelLocalizer extends MirBasicDataModelLocalizer {
9 protected void constructContentAdapterDefinition(EntityAdapterDefinition anEntityAdapterDefinition) throws MirLocalizerFailure {
10 super.constructContentAdapterDefinition( anEntityAdapterDefinition );
13 anEntityAdapterDefinition.addCalculatedField("to_trashedcomments", new ContentToCommentsField(" and is_published='0'"));
14 anEntityAdapterDefinition.addCalculatedField("trashedcommentcount", new ContentCommentCountField(" and is_published='0'"));
15 anEntityAdapterDefinition.addCalculatedField("commentcount", new ContentCommentCountField(" and is_published='1'"));
16 anEntityAdapterDefinition.addCalculatedField("to_allcomments", new ContentToCommentsField(""));
17 anEntityAdapterDefinition.addCalculatedField("to_comments_reversed", new ContentToCommentsField(" and is_published='1'", "webdb_create desc"));
20 throw new MirLocalizerFailure(t.getMessage(), t);
25 protected class ContentToCommentsField implements EntityAdapterDefinition.CalculatedField {
26 private String extraCondition;
30 public ContentToCommentsField(String anExtraCondition, String anOrder) {
34 extraCondition = anExtraCondition;
37 public ContentToCommentsField(String anExtraCondition) {
38 this(anExtraCondition, "webdb_create");
41 public Object getValue(EntityAdapter anEntityAdapter) {
43 return anEntityAdapter.getRelation(
44 "to_media="+anEntityAdapter.get("id") + " " + extraCondition,
49 throw new RuntimeException(t.getMessage());
54 protected class ContentCommentCountField implements EntityAdapterDefinition.CalculatedField {
55 private String extraCondition;
57 public ContentCommentCountField(String anExtraCondition) {
60 extraCondition = anExtraCondition;
63 public Object getValue(EntityAdapter anEntityAdapter) {
65 return Integer.toString(
66 DatabaseComment.getInstance().getSize(
67 "to_media="+anEntityAdapter.get("id")+" " + extraCondition));
70 throw new RuntimeException(t.getMessage());