structured content parser added to utility
authorzapata <zapata>
Wed, 17 Sep 2003 21:27:43 +0000 (21:27 +0000)
committerzapata <zapata>
Wed, 17 Sep 2003 21:27:43 +0000 (21:27 +0000)
source/default.properties
source/mir/util/GeneratorStringFunctions.java
source/mircoders/localizer/basic/MirBasicArticlePostingHandler.java
source/mircoders/localizer/basic/MirBasicCommentPostingHandler.java
source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java
source/mircoders/module/ModuleCommentStatus.java
source/mircoders/module/ModuleMediafolder.java

index 4624f68..0d63921 100755 (executable)
@@ -399,11 +399,14 @@ Localizer.OpenSession.article.DupeTemplate = dupearticle.template
 Localizer.OpenSession.article.DoneTemplate = donearticle.template
 Localizer.OpenSession.article.UnsupportedMediaTemplate = unsupportedmediatype.template
 Localizer.OpenSession.article.DefaultArticleType=newswire
+Localizer.OpenSession.article.DefaultMediaFolder=openposting
 
 Localizer.OpenSession.comment.EditTemplate = editcomment.template
 Localizer.OpenSession.comment.DupeTemplate = dupecomment.template
 Localizer.OpenSession.comment.DoneTemplate = donecomment.template
 Localizer.OpenSession.comment.UnsupportedMediaTemplate = unsupportedmediatype.template
+Localizer.OpenSession.comment.DefaultCommentStatus=normal
+Localizer.OpenSession.comment.DefaultMediaFolder=openposting
 Localizer.OpenSession.ErrorTemplate = sessionerror.template
 
 Localizer.OpenSession.email.PrepareTemplate = preparemail.template
index e147b07..28e4a2c 100755 (executable)
@@ -100,4 +100,24 @@ public class GeneratorStringFunctions {
       }
     };
   }
+
+  public static class structuredStringParserFunction implements Generator.GeneratorFunction {
+    public Object perform(List aParameters) throws GeneratorExc, GeneratorFailure {
+      try {
+        if (aParameters.size()!=1)
+          throw new GeneratorExc("constructStructureStringFunction: 1 parameter expected: string ");
+
+        if (aParameters.get(0)==null)
+          return null;
+        else
+          return StructuredContentParser.parse("" + aParameters.get(0));
+      }
+      catch (GeneratorExc e) {
+        throw e;
+      }
+      catch (Throwable t) {
+        throw new GeneratorFailure(t);
+      }
+    };
+  }
 }
\ No newline at end of file
index cfbe93e..fbfcf31 100755 (executable)
@@ -49,9 +49,9 @@ import mircoders.entity.EntityContent;
 import mircoders.global.MirGlobal;\r
 import mircoders.media.MediaUploadProcessor;\r
 import mircoders.module.ModuleArticleType;\r
-import mircoders.module.ModuleContent;\r
+import mircoders.module.*;\r
 import mircoders.storage.DatabaseArticleType;\r
-import mircoders.storage.DatabaseContent;\r
+import mircoders.storage.*;\r
 import mircoders.storage.DatabaseContentToMedia;\r
 import mircoders.storage.DatabaseContentToTopics;\r
 \r
@@ -107,8 +107,8 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
       anArticle.setValueForProperty("date", StringUtil.date2webdbDate(new GregorianCalendar()));\r
       anArticle.setValueForProperty("is_html", "0");\r
       anArticle.setValueForProperty("publish_path", StringUtil.webdbDate2path(anArticle. getValue("date")));\r
-      ModuleArticleType module = new ModuleArticleType(DatabaseArticleType.getInstance());\r
 \r
+      ModuleArticleType module = new ModuleArticleType(DatabaseArticleType.getInstance());\r
       anArticle.setValueForProperty("to_article_type", module.articleTypeIdForName(configuration.getString("Localizer.OpenSession.article.DefaultArticleType")));\r
       anArticle.setValueForProperty("to_publisher", "1");\r
     }\r
@@ -164,6 +164,9 @@ public class MirBasicArticlePostingHandler extends MirBasicPostingSessionHandler
       values.put("to_publisher", "0");\r
       values.put("is_published", "1");\r
       values.put("is_produced", "1");\r
+      ModuleMediafolder module = new ModuleMediafolder(DatabaseMediafolder.getInstance());\r
+      values.put("to_media_folder", module.mediaFolderIdForName(configuration.getString("Localizer.OpenSession.article.DefaultMediaFolder")));\r
+\r
       Entity mediaItem = MediaUploadProcessor.processMediaUpload(aFile, values);\r
       mediaItem.update();\r
       contentToMedia.addMedia(((EntityContent) aSession.getAttribute("content")).getId(), mediaItem.getId());\r
index eda64b4..df9634b 100755 (executable)
-/*
- * Copyright (C) 2001, 2002 The Mir-coders group
- *
- * This file is part of Mir.
- *
- * Mir is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Mir is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mir; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with  any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two.  You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries.  If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
- * If you do not wish to do so, delete this exception statement from your version.
- */
-package mircoders.localizer.basic;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import mir.entity.Entity;
-import mir.session.Request;
-import mir.session.Response;
-import mir.session.Session;
-import mir.session.SessionExc;
-import mir.session.SessionFailure;
-import mir.session.UploadedFile;
-import mir.session.ValidationError;
-import mir.session.ValidationHelper;
-import mir.util.ExceptionFunctions;
-import mircoders.entity.EntityComment;
-import mircoders.global.MirGlobal;
-import mircoders.media.MediaUploadProcessor;
-import mircoders.module.ModuleComment;
-import mircoders.module.ModuleMediaType;
-import mircoders.storage.DatabaseComment;
-import mircoders.storage.DatabaseCommentToMedia;
-import mircoders.storage.DatabaseContent;
-
-/**
- *
- * <p>Title: Experimental session handler for comment postings </p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: </p>
- * @author Zapata
- * @version 1.0
- */
-
-public class MirBasicCommentPostingHandler extends MirBasicPostingSessionHandler {
-  protected ModuleComment commentModule = new ModuleComment(DatabaseComment.getInstance());
-  protected DatabaseCommentToMedia commentToMedia = DatabaseCommentToMedia.getInstance();
-
-
-  public MirBasicCommentPostingHandler() {
-    super();
-
-    setResponseGenerators(
-      configuration.getString("Localizer.OpenSession.comment.EditTemplate"),
-      configuration.getString("Localizer.OpenSession.comment.DupeTemplate"),
-      configuration.getString("Localizer.OpenSession.comment.UnsupportedMediaTemplate"),
-      configuration.getString("Localizer.OpenSession.comment.DoneTemplate"));
-  }
-
-  protected void initializeResponseData(Request aRequest, Session aSession, Response aResponse) throws SessionExc, SessionFailure {
-    super.initializeResponseData(aRequest, aSession, aResponse);
-
-    Iterator i = DatabaseComment.getInstance().getFields().iterator();
-    while (i.hasNext()) {
-      String field = (String) i.next();
-      aResponse.setResponseValue(field, aRequest.getParameter(field));
-    }
-  }
-
-  public void validate(List aResults, Request aRequest, Session aSession) throws SessionExc, SessionFailure {
-    super.validate(aResults, aRequest, aSession);
-
-    ValidationHelper.testFieldEntered(aRequest, "title", "validationerror.missing", aResults);
-    ValidationHelper.testFieldEntered(aRequest, "description", "validationerror.missing", aResults);
-    ValidationHelper.testFieldEntered(aRequest, "creator", "validationerror.missing", aResults);
-  }
-
-  protected void initializeSession(Request aRequest, Session aSession) throws SessionExc, SessionFailure {
-    super.initializeSession(aRequest, aSession);
-
-    String articleId = aRequest.getParameter("to_media");
-    if (articleId==null)
-      throw new SessionExc("initializeSession: article id not set!");
-
-    aSession.setAttribute("to_media", articleId);
-  };
-
-  public void finalizeComment(Request aRequest, Session aSession, EntityComment aComment) throws SessionExc, SessionFailure {
-    aComment.setValueForProperty("is_published", "1");
-    aComment.setValueForProperty("to_comment_status", "1");
-    aComment.setValueForProperty("is_html","0");
-    aComment.setValueForProperty("to_media", (String) aSession.getAttribute("to_media"));
-  }
-
-  public void preProcessRequest(Request aRequest, Session aSession) throws SessionExc, SessionFailure {
-    try {
-      String id;
-      Map values = getIntersectingValues(aRequest, DatabaseComment.getInstance());
-
-      EntityComment comment = (EntityComment) commentModule.createNew();
-      comment.setValues(values);
-      finalizeComment(aRequest, aSession, comment);
-      id = comment.insert();
-      if (id == null) {
-        logger.info("Duplicate comment rejected");
-        throw new DuplicateCommentExc("Duplicate comment rejected");
-      }
-      aSession.setAttribute("comment", comment);
-    }
-    catch (Throwable t) {
-      throw new SessionFailure(t);
-    }
-  }
-
-  public void processUploadedFile(Request aRequest, Session aSession, UploadedFile aFile) throws SessionExc, SessionFailure {
-    try {
-      Map values = new HashMap();
-      values.put("title", aRequest.getParameter(aFile.getFieldName()+"_title"));
-      values.put("creator", aRequest.getParameter("creator"));
-      values.put("to_publisher", "0");
-      values.put("is_published", "1");
-      Entity mediaItem = MediaUploadProcessor.processMediaUpload(aFile, values);
-      mediaItem.update();
-      commentToMedia.addMedia(((EntityComment) aSession.getAttribute("comment")).getId(), mediaItem.getId());
-    }
-    catch (Throwable t) {
-      throw new SessionFailure(t);
-    }
-  }
-
-  public void postProcessRequest(Request aRequest, Session aSession) throws SessionExc, SessionFailure {
-    EntityComment comment = (EntityComment) aSession.getAttribute("comment");
-
-    MirGlobal.abuse().checkComment(comment, aRequest, null);
-    try {
-      MirGlobal.localizer().openPostings().afterCommentPosting(comment);
-    }
-    catch (Throwable t) {
-      throw new SessionFailure(t);
-    }
-    DatabaseContent.getInstance().setUnproduced("id=" + comment.getValue("to_media"));
-    logger.info("Comment posted");
-  };
-
-  protected static class DuplicateCommentExc extends SessionExc {
-    public DuplicateCommentExc(String aMessage) {
-      super(aMessage);
-    }
-  }
-}
+/*\r
+ * Copyright (C) 2001, 2002 The Mir-coders group\r
+ *\r
+ * This file is part of Mir.\r
+ *\r
+ * Mir is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * Mir is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with Mir; if not, write to the Free Software\r
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+ *\r
+ * In addition, as a special exception, The Mir-coders gives permission to link\r
+ * the code of this program with  any library licensed under the Apache Software License,\r
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library\r
+ * (or with modified versions of the above that use the same license as the above),\r
+ * and distribute linked combinations including the two.  You must obey the\r
+ * GNU General Public License in all respects for all of the code used other than\r
+ * the above mentioned libraries.  If you modify this file, you may extend this\r
+ * exception to your version of the file, but you are not obligated to do so.\r
+ * If you do not wish to do so, delete this exception statement from your version.\r
+ */\r
+package mircoders.localizer.basic;\r
+\r
+import java.util.HashMap;\r
+import java.util.Iterator;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import mir.entity.Entity;\r
+import mir.session.Request;\r
+import mir.session.Response;\r
+import mir.session.Session;\r
+import mir.session.SessionExc;\r
+import mir.session.SessionFailure;\r
+import mir.session.UploadedFile;\r
+import mir.session.ValidationHelper;\r
+import mircoders.entity.EntityComment;\r
+import mircoders.global.MirGlobal;\r
+import mircoders.media.MediaUploadProcessor;\r
+import mircoders.module.ModuleComment;\r
+import mircoders.module.ModuleCommentStatus;\r
+import mircoders.module.ModuleMediafolder;\r
+import mircoders.storage.DatabaseComment;\r
+import mircoders.storage.DatabaseCommentStatus;\r
+import mircoders.storage.DatabaseCommentToMedia;\r
+import mircoders.storage.DatabaseContent;\r
+import mircoders.storage.DatabaseMediafolder;\r
+\r
+/**\r
+ *\r
+ * <p>Title: Experimental session handler for comment postings </p>\r
+ * <p>Description: </p>\r
+ * <p>Copyright: Copyright (c) 2003</p>\r
+ * <p>Company: </p>\r
+ * @author Zapata\r
+ * @version 1.0\r
+ */\r
+\r
+public class MirBasicCommentPostingHandler extends MirBasicPostingSessionHandler {\r
+  protected ModuleComment commentModule = new ModuleComment(DatabaseComment.getInstance());\r
+  protected DatabaseCommentToMedia commentToMedia = DatabaseCommentToMedia.getInstance();\r
+\r
+\r
+  public MirBasicCommentPostingHandler() {\r
+    super();\r
+\r
+    setResponseGenerators(\r
+      configuration.getString("Localizer.OpenSession.comment.EditTemplate"),\r
+      configuration.getString("Localizer.OpenSession.comment.DupeTemplate"),\r
+      configuration.getString("Localizer.OpenSession.comment.UnsupportedMediaTemplate"),\r
+      configuration.getString("Localizer.OpenSession.comment.DoneTemplate"));\r
+  }\r
+\r
+  protected void initializeResponseData(Request aRequest, Session aSession, Response aResponse) throws SessionExc, SessionFailure {\r
+    super.initializeResponseData(aRequest, aSession, aResponse);\r
+\r
+    Iterator i = DatabaseComment.getInstance().getFields().iterator();\r
+    while (i.hasNext()) {\r
+      String field = (String) i.next();\r
+      aResponse.setResponseValue(field, aRequest.getParameter(field));\r
+    }\r
+  }\r
+\r
+  public void validate(List aResults, Request aRequest, Session aSession) throws SessionExc, SessionFailure {\r
+    super.validate(aResults, aRequest, aSession);\r
+\r
+    ValidationHelper.testFieldEntered(aRequest, "title", "validationerror.missing", aResults);\r
+    ValidationHelper.testFieldEntered(aRequest, "description", "validationerror.missing", aResults);\r
+    ValidationHelper.testFieldEntered(aRequest, "creator", "validationerror.missing", aResults);\r
+  }\r
+\r
+  protected void initializeSession(Request aRequest, Session aSession) throws SessionExc, SessionFailure {\r
+    super.initializeSession(aRequest, aSession);\r
+\r
+    String articleId = aRequest.getParameter("to_media");\r
+    if (articleId==null)\r
+      throw new SessionExc("initializeSession: article id not set!");\r
+\r
+    aSession.setAttribute("to_media", articleId);\r
+  };\r
+\r
+  public void finalizeComment(Request aRequest, Session aSession, EntityComment aComment) throws SessionExc, SessionFailure {\r
+    try {\r
+      aComment.setValueForProperty("is_published", "1");\r
+      ModuleCommentStatus module = new ModuleCommentStatus(DatabaseCommentStatus.getInstance());\r
+      aComment.setValueForProperty("to_comment_status", module.commentStatusIdForName(configuration.getString("Localizer.OpenSession.comment.DefaultCommentStatus")));\r
+      aComment.setValueForProperty("is_html", "0");\r
+      aComment.setValueForProperty("to_media", (String) aSession.getAttribute("to_media"));\r
+    }\r
+    catch (Throwable t) {\r
+      throw new SessionFailure(t);\r
+    }\r
+  }\r
+\r
+  public void preProcessRequest(Request aRequest, Session aSession) throws SessionExc, SessionFailure {\r
+    try {\r
+      String id;\r
+      Map values = getIntersectingValues(aRequest, DatabaseComment.getInstance());\r
+\r
+      EntityComment comment = (EntityComment) commentModule.createNew();\r
+      comment.setValues(values);\r
+      finalizeComment(aRequest, aSession, comment);\r
+      id = comment.insert();\r
+      if (id == null) {\r
+        logger.info("Duplicate comment rejected");\r
+        throw new DuplicateCommentExc("Duplicate comment rejected");\r
+      }\r
+      aSession.setAttribute("comment", comment);\r
+    }\r
+    catch (Throwable t) {\r
+      throw new SessionFailure(t);\r
+    }\r
+  }\r
+\r
+  public void processUploadedFile(Request aRequest, Session aSession, UploadedFile aFile) throws SessionExc, SessionFailure {\r
+    try {\r
+      Map values = new HashMap();\r
+      values.put("title", aRequest.getParameter(aFile.getFieldName()+"_title"));\r
+      values.put("creator", aRequest.getParameter("creator"));\r
+      values.put("to_publisher", "0");\r
+      values.put("is_published", "1");\r
+      ModuleMediafolder module = new ModuleMediafolder(DatabaseMediafolder.getInstance());\r
+      values.put("to_media_folder", module.mediaFolderIdForName(configuration.getString("Localizer.OpenSession.comment.DefaultMediaFolder")));\r
+\r
+      Entity mediaItem = MediaUploadProcessor.processMediaUpload(aFile, values);\r
+      mediaItem.update();\r
+      commentToMedia.addMedia(((EntityComment) aSession.getAttribute("comment")).getId(), mediaItem.getId());\r
+    }\r
+    catch (Throwable t) {\r
+      throw new SessionFailure(t);\r
+    }\r
+  }\r
+\r
+  public void postProcessRequest(Request aRequest, Session aSession) throws SessionExc, SessionFailure {\r
+    EntityComment comment = (EntityComment) aSession.getAttribute("comment");\r
+\r
+    MirGlobal.abuse().checkComment(comment, aRequest, null);\r
+    try {\r
+      MirGlobal.localizer().openPostings().afterCommentPosting(comment);\r
+    }\r
+    catch (Throwable t) {\r
+      throw new SessionFailure(t);\r
+    }\r
+    DatabaseContent.getInstance().setUnproduced("id=" + comment.getValue("to_media"));\r
+    logger.info("Comment posted");\r
+  };\r
+\r
+  protected static class DuplicateCommentExc extends SessionExc {\r
+    public DuplicateCommentExc(String aMessage) {\r
+      super(aMessage);\r
+    }\r
+  }\r
+}\r
index d4c3f30..6dc9cff 100755 (executable)
@@ -93,6 +93,7 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL
       utilityMap.put("increment", new GeneratorIntegerFunctions.incrementFunction());\r
       utilityMap.put("evaluate", new GeneratorExpressionFunctions.evaluateExpressionFunction());\r
       utilityMap.put("constructString", new GeneratorStringFunctions.constructStructuredStringFunction());\r
+      utilityMap.put("parseStructuredString", new GeneratorStringFunctions.structuredStringParserFunction());\r
       utilityMap.put("escapeJDBCString", new GeneratorStringFunctions.jdbcStringEscapeFunction());\r
       utilityMap.put("regexpreplace", new GeneratorRegularExpressionFunctions.regularExpressionReplaceFunction());\r
       utilityMap.put("datetime", new GeneratorDateTimeFunctions.DateTimeFunctions(\r
index 8ca4538..9fe5142 100755 (executable)
@@ -1,45 +1,57 @@
-/*
- * Copyright (C) 2001, 2002 The Mir-coders group
- *
- * This file is part of Mir.
- *
- * Mir is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Mir is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mir; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with  any library licensed under the Apache Software License, 
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library 
- * (or with modified versions of the above that use the same license as the above), 
- * and distribute linked combinations including the two.  You must obey the 
- * GNU General Public License in all respects for all of the code used other than 
- * the above mentioned libraries.  If you modify this file, you may extend this 
- * exception to your version of the file, but you are not obligated to do so.  
- * If you do not wish to do so, delete this exception statement from your version.
- */
-package mircoders.module;
-
-import mir.log.LoggerWrapper;
-import mir.module.AbstractModule;
-import mir.storage.StorageObject;
-
-public class ModuleCommentStatus extends AbstractModule {
-  static LoggerWrapper logger = new LoggerWrapper("Module.CommentStatus");
-
-  public ModuleCommentStatus (StorageObject theStorage)        {
-    if (theStorage == null)
-      logger.warn("ModuleCommentStatus -- StorageObject was null!");
-
-    this.theStorage = theStorage;
-  }
-}
+/*\r
+ * Copyright (C) 2001, 2002 The Mir-coders group\r
+ *\r
+ * This file is part of Mir.\r
+ *\r
+ * Mir is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * Mir is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with Mir; if not, write to the Free Software\r
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+ *\r
+ * In addition, as a special exception, The Mir-coders gives permission to link\r
+ * the code of this program with  any library licensed under the Apache Software License,\r
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library\r
+ * (or with modified versions of the above that use the same license as the above),\r
+ * and distribute linked combinations including the two.  You must obey the\r
+ * GNU General Public License in all respects for all of the code used other than\r
+ * the above mentioned libraries.  If you modify this file, you may extend this\r
+ * exception to your version of the file, but you are not obligated to do so.\r
+ * If you do not wish to do so, delete this exception statement from your version.\r
+ */\r
+package mircoders.module;\r
+\r
+import mir.log.LoggerWrapper;\r
+import mir.module.AbstractModule;\r
+import mir.module.ModuleExc;\r
+import mir.module.ModuleFailure;\r
+import mir.storage.StorageObject;\r
+import mir.util.JDBCStringRoutines;\r
+\r
+public class ModuleCommentStatus extends AbstractModule {\r
+  static LoggerWrapper logger = new LoggerWrapper("Module.CommentStatus");\r
+\r
+  public ModuleCommentStatus (StorageObject theStorage)        {\r
+    if (theStorage == null)\r
+      logger.warn("ModuleCommentStatus -- StorageObject was null!");\r
+\r
+    this.theStorage = theStorage;\r
+  }\r
+\r
+  public String commentStatusIdForName(String aName) throws ModuleExc, ModuleFailure {\r
+    try {\r
+      return theStorage.executeFreeSingleValueSql("select id from comment_status where name = '" + JDBCStringRoutines.escapeStringLiteral(aName) + "'");\r
+    }\r
+    catch (Throwable t) {\r
+      throw new ModuleFailure(t);\r
+    }\r
+  }\r
+}\r
index 98b25b1..f9a2bab 100755 (executable)
@@ -38,12 +38,12 @@ package mircoders.module;
  * @version
  */
 
-import mir.log.LoggerWrapper;
-import mir.module.AbstractModule;
-import mir.module.ModuleExc;
-import mir.module.ModuleFailure;
-import mir.storage.StorageObject;
-import mircoders.storage.DatabaseMediafolder;
+import mir.log.LoggerWrapper;\r
+import mir.module.AbstractModule;\r
+import mir.module.ModuleExc;\r
+import mir.module.ModuleFailure;\r
+import mir.storage.StorageObject;\r
+import mir.util.JDBCStringRoutines;
 
 
 public class ModuleMediafolder extends AbstractModule
@@ -57,4 +57,13 @@ public class ModuleMediafolder extends AbstractModule
 
     theStorage = aStorage;
   }
+  public String mediaFolderIdForName(String aName) throws ModuleExc, ModuleFailure {
+    try {
+      return theStorage.executeFreeSingleValueSql("select id from media_folder where name = '" + JDBCStringRoutines.escapeStringLiteral(aName) + "'");
+    }
+    catch (Throwable t) {
+      throw new ModuleFailure(t);
+    }
+  }
+
 }