cleanup list producer
[mir.git] / source / mircoders / producer / ProducerTopics.java
index 5597442..1d1c9b4 100755 (executable)
@@ -2,29 +2,42 @@ package mircoders.producer;
 
 import java.io.*;
 import java.lang.*;
+import java.lang.reflect.*;
 import java.util.*;
 import java.sql.*;
 
 import freemarker.template.*;
 
-import webdb.misc.*;
-import webdb.storage.*;
-import webdb.module.*;
-import webdb.entity.*;
-
+import mir.misc.*;
+import mir.media.*;
+import mir.storage.*;
 import mir.module.*;
 import mir.entity.*;
-import mir.storage.*;
 
+import mircoders.entity.*;
+import mircoders.storage.*;
 
 
-public class ProducerTopics extends ProducerList {
 
-       public String where;
+public class ProducerTopics extends ProducerList {
 
-       public void setAdditional(String key, TemplateModel value) {
-               additional.put(key,value);
-       }
+  public String where;
+  String              currentMediaId;
+  EntityList          upMediaEntityList;
+  EntityList          imageEntityList;
+  EntityList          currentMediaList;
+  Entity              mediaType;
+  EntityMedia         uploadedMedia;
+  Class               mediaHandlerClass=null;
+  MirMedia            mediaHandler=null;
+  String              mediaHandlerName=null;
+  Database            mediaStorage=null;
+  String              tinyIcon;
+  String              iconAlt;
+
+  public void setAdditional(String key, TemplateModel value) {
+    additional.put(key,value);
+  }
 
   public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync, String id)
     throws StorageObjectException, ModuleException {
@@ -32,11 +45,11 @@ public class ProducerTopics extends ProducerList {
     handle(htmlout,user,force,sync);
   }
 
-       public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync)
-               throws StorageObjectException, ModuleException {
+  public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync)
+    throws StorageObjectException, ModuleException {
 
-               orderBy="date desc, webdb_create desc";
-               listTemplate = Configuration.getProperty("Producer.TopicList.Template");
+    orderBy="date desc, webdb_create desc";
+    listTemplate = MirConfig.getProp("Producer.TopicList.Template");
 
     EntityList topicsEntityList;
     if(where==null){
@@ -44,12 +57,14 @@ public class ProducerTopics extends ProducerList {
     } else {
       topicsEntityList = topicsModule.getByWhereClause(where,"title", -1);
     }
-               SimpleList topicsList = HTMLTemplateProcessor.makeSimpleList(topicsEntityList);
+    SimpleList topicsList = HTMLTemplateProcessor.makeSimpleList(topicsEntityList);
 
-               for(int i=0; i < topicsEntityList.size(); i++){
+    for(int i=0; i < topicsEntityList.size(); i++){
 
-                       EntityTopics currentTopic = (EntityTopics)topicsEntityList.elementAt(i);
-                       EntityList contentEntityList = DatabaseContentToTopics.getInstance().getContent(currentTopic);
+      EntityTopics currentTopic = (EntityTopics)topicsEntityList.elementAt(i);
+
+      try {
+      EntityList contentEntityList = DatabaseContentToTopics.getInstance().getContent(currentTopic);
       String whereClauseSpecial=null;
 
       if (contentEntityList!=null || force==true) {
@@ -83,35 +98,37 @@ public class ProducerTopics extends ProducerList {
 
         // get the startarticle
         EntityList entityList = contentModule.getContent(whereClauseSpecial,"date desc, webdb_create desc",0,1);
-        SimpleList specialList = HTMLTemplateProcessor.makeSimpleList(entityList);
         String currentMediaId = null;
         SimpleHash imageHash = new SimpleHash();
         EntityContent currentContent;
-        if(entityList != null){
-          for (int k=0; k < entityList.size();k++) {
-            currentContent = (EntityContent)entityList.elementAt(k);
-            currentMediaId = currentContent.getValue("to_media");
-            if (currentMediaId!=null && !currentMediaId.equals("")) {
-              imageHash.put(currentMediaId, HTMLTemplateProcessor.makeSimpleHash(imageModule.getById(currentMediaId)));
-            }
+        if(entityList != null && entityList.size()==1){
+          currentContent = (EntityContent)entityList.elementAt(0);
+          try {
+              SimpleHash specialHash = HTMLTemplateProcessor.makeSimpleHash(currentContent);
+              setAdditional("special",specialHash);
+          } catch (Exception e) {
+            theLog.printError("ProducerTopics: problem with start special media: "+currentContent.getId()+" "+e.toString()+" <font color=\"red\">skipping</font>");
+            logHTML(htmlout,"ProducerTopics: problem with start special media: "+currentContent.getId()+" "+e.toString());
           }
-          setAdditional("specialimage",imageHash);
         }
-        setAdditional("special",specialList);
 
         //set the list of topics
         setAdditional("topicslist",topicsList);
 
         handleIt(htmlout,user,force);
       }
+      } catch (Exception e) {
+        logHTML(htmlout,"ProducerTopics: problem with topic id: "
+        +currentTopic.getId()+ "<font color=\"red\">skipping</font>");
+      }
     }
-       }
-
-       public static void main(String argv[]){
-               try {
-                       new ProducerOpenPosting().handle(new PrintWriter(System.out), null,false, false);
-               } catch(Exception e) {
-                       System.err.println(e.toString());
-               }
-       }
-}
\ No newline at end of file
+  }
+
+  public static void main(String argv[]){
+    try {
+      new ProducerOpenPosting().handle(new PrintWriter(System.out), null,false, false);
+    } catch(Exception e) {
+      System.err.println(e.toString());
+    }
+  }
+}