From b8776d908cd63ebc6d13fd20ffd14cae160b9855 Mon Sep 17 00:00:00 2001 From: mtopper Date: Thu, 25 Jan 2007 22:22:24 +0000 Subject: [PATCH] made all my changes for the open posting and search text as well --- etc/extrasource/NYCArticlePostingHandler.java | 92 +++++++++++++++++++++++++++ etc/extrasource/NYCDataModelLocalizer.java | 20 ++++++ etc/extrasource/NYCOpenPostingLocalizer.java | 22 +++++++ 3 files changed, 134 insertions(+) create mode 100644 etc/extrasource/NYCArticlePostingHandler.java create mode 100644 etc/extrasource/NYCDataModelLocalizer.java create mode 100644 etc/extrasource/NYCOpenPostingLocalizer.java diff --git a/etc/extrasource/NYCArticlePostingHandler.java b/etc/extrasource/NYCArticlePostingHandler.java new file mode 100644 index 0000000..1f6e065 --- /dev/null +++ b/etc/extrasource/NYCArticlePostingHandler.java @@ -0,0 +1,92 @@ +import java.util.Iterator; +import java.util.List; +import java.lang.Math; +import java.util.ArrayList; + +import mir.entity.adapter.EntityIteratorAdapter; +import mir.session.Request; +import mir.session.Response; +import mir.session.Session; +import mir.session.SessionExc; +import mir.session.SessionFailure; +import mir.session.ValidationError; +import mir.util.CachingRewindableIterator; +import mir.util.JDBCStringRoutines; +import mircoders.entity.EntityContent; +import mircoders.global.MirGlobal; +import mircoders.localizer.basic.MirBasicArticlePostingHandler; +import mircoders.storage.DatabaseContentToTopics; +import mir.entity.adapter.EntityAdapterEngine; + +/** + * + *

Title: Experimental session handler for article postings

+ *

Description:

+ *

Copyright: Copyright (c) 2003

+ *

Company:

+ * @author Zapata + * @version 1.0 + */ + +public class NYCArticlePostingHandler extends MirBasicArticlePostingHandler { + protected void initializeResponseData(Request aRequest, Session aSession, Response aResponse) throws SessionExc, SessionFailure { + Object language = null; + + try { + super.initializeResponseData(aRequest, aSession, aResponse); + aResponse.setResponseValue("to_location", aRequest.getParameters("to_location")); + aResponse.setResponseValue("to_category", aRequest.getParameters("to_category")); + aResponse.setResponseValue("to_subcategory", aRequest.getParameters("to_subcategory")); + aResponse.setResponseValue("to_content", aRequest.getParameters("to_content")); + + + aResponse.setResponseValue("locations", + EntityAdapterEngine.retrieveAdapterList( + MirGlobal.localizer().dataModel().adapterModel(), + "topic", "archiv_url='Location'", "title", -1, 0)); + aResponse.setResponseValue("categories", + EntityAdapterEngine.retrieveAdapterList( + MirGlobal.localizer().dataModel().adapterModel(), + "topic", "archiv_url='Category'", "title", -1, 0)); + aResponse.setResponseValue("subcategories", + EntityAdapterEngine.retrieveAdapterList( + MirGlobal.localizer().dataModel().adapterModel(), + "topic", "archiv_url='Subcategory'", "title", -1, 0)); + aResponse.setResponseValue("contents", + EntityAdapterEngine.retrieveAdapterList( + MirGlobal.localizer().dataModel().adapterModel(), + "topic", "archiv_url='Content'", "title", -1, 0)); + } + catch (Throwable t) { + throw new SessionFailure(t); + } + } + + public void validate(List aResults, Request aRequest, Session aSession) throws SessionExc, SessionFailure { + super.validate(aResults, aRequest, aSession); + + try { + + List categories = aRequest.getParameters("to_category"); + if (categories!=null && categories.size()>2) + aResults.add(new ValidationError("to_category", "validationerror.toomany")); + + List subCategories = aRequest.getParameters("to_subcategory"); + if (subCategories!=null && subCategories.size()>5) + aResults.add(new ValidationError("to_subcategory", "validationerror.toomany")); + + } + + catch (Throwable t) { + throw new SessionFailure(t); + } + } + + public void finalizeArticle(Request aRequest, Session aSession, EntityContent aContent) throws SessionExc, SessionFailure { + super.finalizeArticle(aRequest, aSession, aContent); + + //actually turn on html if its selected + aContent.setFieldValue("is_html", aRequest.getParameter("is_html")); + } + +} diff --git a/etc/extrasource/NYCDataModelLocalizer.java b/etc/extrasource/NYCDataModelLocalizer.java new file mode 100644 index 0000000..c388398 --- /dev/null +++ b/etc/extrasource/NYCDataModelLocalizer.java @@ -0,0 +1,20 @@ +import mir.entity.adapter.EntityAdapterDefinition; +import mircoders.localizer.MirLocalizerExc; +import mircoders.localizer.MirLocalizerFailure; +import mircoders.localizer.basic.MirBasicDataModelLocalizer; + +public class NYCDataModelLocalizer extends MirBasicDataModelLocalizer { + + + protected void constructContentAdapterDefinition(EntityAdapterDefinition anEntityAdapterDefinition) throws MirLocalizerFailure, MirLocalizerExc { + super.constructContentAdapterDefinition(anEntityAdapterDefinition); + + anEntityAdapterDefinition.addCalculatedField("to_category", new ContentToTopicsField("archiv_url='Category'")); + anEntityAdapterDefinition.addCalculatedField("to_location", new ContentToTopicsField("archiv_url='Location'")); + anEntityAdapterDefinition.addCalculatedField("to_content", new ContentToTopicsField("archiv_url='Content'")); + anEntityAdapterDefinition.addCalculatedField("to_subcategory", new ContentToTopicsField("archiv_url='Subcategory'")); + + + } + +} diff --git a/etc/extrasource/NYCOpenPostingLocalizer.java b/etc/extrasource/NYCOpenPostingLocalizer.java new file mode 100644 index 0000000..1eaf5ef --- /dev/null +++ b/etc/extrasource/NYCOpenPostingLocalizer.java @@ -0,0 +1,22 @@ +import mir.session.SessionHandler; +import mircoders.localizer.basic.MirBasicOpenPostingLocalizer; +import mircoders.localizer.basic.MirBasicCommentPostingHandler; +import mircoders.localizer.basic.MirBasicTranslationPostingHandler; + +public class NYCOpenPostingLocalizer extends MirBasicOpenPostingLocalizer { + + + public SessionHandler getOpenSessionHandler(String aSessionType) { + // if (aSessionType!=null && aSessionType.equals("article")) + + if (aSessionType!=null && "comment".equals(aSessionType)) + return new MirBasicCommentPostingHandler(configuration.getBoolean("Localizer.OpenSession.PersistentUploadedFiles")); + + if (aSessionType!=null && "translation".equals(aSessionType)) + return new MirBasicTranslationPostingHandler(); + + else + return new NYCArticlePostingHandler(); + } + +} -- 2.11.0