X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Flocalizer%2Fbasic%2FMirBasicArticlePostingHandler.java;fp=source%2Fmircoders%2Flocalizer%2Fbasic%2FMirBasicArticlePostingHandler.java;h=c3f42e49d2e39f8d04eb271f8a58f4f095684753;hb=c9ac8fa71b679f8d967aac901bbef945c13b94c9;hp=89ca6f464daba42f3457a615cc43fdad41091a68;hpb=d63595f89aaa4b6a524dc0b4af9e0eef888f4c6b;p=mir.git diff --git a/source/mircoders/localizer/basic/MirBasicArticlePostingHandler.java b/source/mircoders/localizer/basic/MirBasicArticlePostingHandler.java index 89ca6f46..c3f42e49 100755 --- a/source/mircoders/localizer/basic/MirBasicArticlePostingHandler.java +++ b/source/mircoders/localizer/basic/MirBasicArticlePostingHandler.java @@ -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"); - }; + } }