per request from an .nl editor I've made a commentlist per article. This is
[mir.git] / source / mircoders / localizer / basic / MirBasicDataModelLocalizer.java
index bbcb860..4edec5b 100755 (executable)
@@ -53,6 +53,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
       anEntityAdapterDefinition.addCalculatedField("to_content", new CommentToContentField());\r
 \r
       anEntityAdapterDefinition.addCalculatedField("description_parsed", new FilteredField("description"));\r
+      anEntityAdapterDefinition.addCalculatedField("operations", new CommentToOperationsField());\r
     }\r
     catch (Throwable t) {\r
       throw new MirLocalizerFailure(t.getMessage(), t);\r
@@ -110,6 +111,33 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
       }\r
     }\r
   }\r
+\r
+  protected class CommentToOperationsField implements EntityAdapterDefinition.CalculatedField {\r
+    public Object getValue(EntityAdapter anEntityAdapter) {\r
+      try {\r
+        Map operations = MirGlobal.localizer().adminInterface().simpleCommentOperations();\r
+        Iterator i = operations.entrySet().iterator();\r
+        List availableOperations = new Vector();\r
+\r
+        while (i.hasNext()) {\r
+          Map.Entry entry = (Map.Entry) i.next();\r
+\r
+          MirAdminInterfaceLocalizer.MirSimpleEntityOperation operation =\r
+            (MirAdminInterfaceLocalizer.MirSimpleEntityOperation) entry.getValue();\r
+\r
+          if (operation.isAvailable(anEntityAdapter)) {\r
+            availableOperations.add(entry.getKey());\r
+          }\r
+        };\r
+\r
+        return availableOperations;\r
+      }\r
+      catch (Throwable t) {\r
+        throw new RuntimeException(t.getMessage());\r
+      }\r
+    }\r
+  }\r
+\r
   protected class FilteredField implements EntityAdapterDefinition.CalculatedField {\r
     String fieldName;\r
 \r