made all my changes for the open posting and search text as well
authormtopper <mtopper>
Thu, 25 Jan 2007 22:22:24 +0000 (22:22 +0000)
committermtopper <mtopper>
Thu, 25 Jan 2007 22:22:24 +0000 (22:22 +0000)
etc/extrasource/NYCArticlePostingHandler.java [new file with mode: 0644]
etc/extrasource/NYCDataModelLocalizer.java [new file with mode: 0644]
etc/extrasource/NYCOpenPostingLocalizer.java [new file with mode: 0644]

diff --git a/etc/extrasource/NYCArticlePostingHandler.java b/etc/extrasource/NYCArticlePostingHandler.java
new file mode 100644 (file)
index 0000000..1f6e065
--- /dev/null
@@ -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;
+
+/**
+ *
+ * <p>Title: Experimental session handler for article postings </p>
+ * <p>Description: </p>
+ * <p>Copyright: Copyright (c) 2003</p>
+ * <p>Company: </p>
+ * @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 (file)
index 0000000..c388398
--- /dev/null
@@ -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 (file)
index 0000000..1eaf5ef
--- /dev/null
@@ -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();
+  }
+
+}