merged 1.1 branch into head
[mir.git] / source / mircoders / localizer / basic / MirBasicArticlePostingHandler.java
index 89ca6f4..c3f42e4 100755 (executable)
@@ -32,23 +32,33 @@ package mircoders.localizer.basic;
 
 import mir.entity.Entity;
 import mir.misc.StringUtil;
-import mir.session.*;
+import mir.session.Request;
+import mir.session.Response;
+import mir.session.Session;
+import mir.session.SessionExc;
+import mir.session.SessionFailure;
+import mir.session.ValidationHelper;
+import mir.util.EntityUtility;
 import mircoders.entity.EntityContent;
 import mircoders.global.MirGlobal;
 import mircoders.media.MediaUploadProcessor;
 import mircoders.module.ModuleArticleType;
-import mircoders.module.ModuleContent;
 import mircoders.module.ModuleMediafolder;
-import mircoders.storage.*;
+import mircoders.storage.DatabaseContent;
+import mircoders.storage.DatabaseContentToMedia;
+import mircoders.storage.DatabaseContentToTopics;
 
-import java.util.*;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Extensible handler for open article postings
  */
 
 public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler {
-  protected ModuleContent contentModule = new ModuleContent();
   protected DatabaseContentToMedia contentToMedia = DatabaseContentToMedia.getInstance();
   protected DatabaseContent contentDatabase = DatabaseContent.getInstance();
 
@@ -71,7 +81,7 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
   protected void initializeResponseData(Request aRequest, Session aSession, Response aResponse) throws SessionExc, SessionFailure {
     super.initializeResponseData(aRequest, aSession, aResponse);
 
-    Iterator i = DatabaseContent.getInstance().getFields().iterator();
+    Iterator i = DatabaseContent.getInstance().getFieldNames().iterator();
     while (i.hasNext()) {
       String field = (String) i.next();
       aResponse.setResponseValue(field, aRequest.getParameter(field));
@@ -135,7 +145,7 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
       String id;
       Map values = getIntersectingValues(aRequest, DatabaseContent.getInstance());
 
-      EntityContent article = (EntityContent) contentModule.createNew();
+      EntityContent article = (EntityContent) contentDatabase.createNewEntity();
       article.setFieldValues(values);
 
       finalizeArticle(aRequest, aSession, article);
@@ -153,6 +163,12 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
     }
   }
 
+  public void processAttachmentError(Request aRequest, Session aSession, Attachment aFile, Throwable anError) {
+    EntityUtility.appendLineToField( ((EntityContent) aSession.getAttribute("content")), "comment",
+        "error with attachment: " + anError.toString());
+   ((EntityContent) aSession.getAttribute("content")).update();
+  }
+
   public void processAttachment(Request aRequest, Session aSession, Attachment aFile) throws SessionExc, SessionFailure {
     try {
       Map values = new HashMap();
@@ -179,12 +195,12 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
 
     MirGlobal.abuse().checkArticle(article, aRequest, null);
     try {
-      MirGlobal.localizer().openPostings().afterContentPosting(article);
+      MirGlobal.localizer().openPostings().afterArticlePosting(article);
     }
     catch (Throwable t) {
       throw new SessionFailure(t);
     }
     logger.info("article posted");
-  };
+  }
 
 }