introduced some customization for the content list in admin
[mir.git] / source / mircoders / servlet / ServletModuleLocalizer.java
index 1799f56..406f978 100755 (executable)
@@ -38,16 +38,32 @@ import javax.servlet.http.*;
 
 import mir.servlet.*;
 import mir.entity.adapter.*;
+import mir.log.*;
+
 import mircoders.global.*;
 import mircoders.localizer.*;
 import mircoders.storage.*;
 import mircoders.entity.*;
+import mircoders.module.*;
 
 public class ServletModuleLocalizer extends ServletModule {
   private static ServletModuleLocalizer instance = new ServletModuleLocalizer();
-
   public static ServletModule getInstance() { return instance; }
 
+  private ModuleContent contentModule;
+
+  private ServletModuleLocalizer() {
+    try {
+      contentModule = new ModuleContent(DatabaseContent.getInstance());
+
+      logger = new LoggerWrapper("ServletModule.Localizer");
+    }
+    catch (Exception e) {
+      logger.error("ServletModuleLocalizer could not be initialized: " + e.getMessage());
+    }
+  }
+
+
   public void commentoperation(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException
   {
     try {
@@ -56,7 +72,7 @@ public class ServletModuleLocalizer extends ServletModule {
       EntityComment comment = (EntityComment) DatabaseComment.getInstance().selectById(commentId);
       MirAdminInterfaceLocalizer.MirSimpleEntityOperation operation =
           (MirAdminInterfaceLocalizer.MirSimpleEntityOperation)
-          MirGlobal.localizer().adminInterface().simpleCommentOperations().get(operationKey);
+          MirGlobal.localizer().adminInterface().simpleArticleOperationForName(operationKey);
 
       EntityAdapter adapter = MirGlobal.localizer().dataModel().adapterModel().makeEntityAdapter("comment", comment);
 
@@ -69,4 +85,32 @@ public class ServletModuleLocalizer extends ServletModule {
       throw new ServletModuleException(t.getMessage());
     }
   }
+
+  public void articleoperation(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleException {
+    String articleIdString = aRequest.getParameter("articleid");
+    String operationString = aRequest.getParameter("operation");
+    String returnUrlString = aRequest.getParameter("returnurl");
+
+    MirAdminInterfaceLocalizer.MirSimpleEntityOperation operation;
+    EntityAdapter article;
+    EntityContent entity;
+
+    try {
+      entity = (EntityContent) contentModule.getById(articleIdString);
+
+      if (entity!=null) {
+        article = MirGlobal.localizer().dataModel().adapterModel().makeEntityAdapter("content", entity);
+        operation = MirGlobal.localizer().adminInterface().simpleArticleOperationForName(operationString);
+        operation.perform(article);
+      }
+
+      redirect(aResponse, returnUrlString);
+    }
+    catch (Throwable e) {
+      e.printStackTrace(System.out);
+      throw new ServletModuleException(e.getMessage());
+    }
+  }
+
+
 }
\ No newline at end of file