fix of human readable size and media info
authorzapata <zapata>
Fri, 23 Dec 2005 21:56:27 +0000 (21:56 +0000)
committerzapata <zapata>
Fri, 23 Dec 2005 21:56:27 +0000 (21:56 +0000)
some cleaning up

18 files changed:
etc/producer/article.template
source/Mir.java
source/mir/entity/adapter/EntityAdapterDefinition.java
source/mir/generator/VelocityGenerator.java
source/mir/misc/NumberUtils.java
source/mir/misc/StringUtil.java
source/mir/producer/BundleProducerNode.java
source/mir/producer/CompositeProducerNode.java
source/mir/producer/EntityModifyingProducerNode.java
source/mir/producer/ExternalDbProducerNode.java
source/mir/servlet/ServletModule.java
source/mir/storage/Database.java
source/mir/storage/DatabaseHelper.java
source/mircoders/entity/EntityUploadedMedia.java
source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java
source/mircoders/producer/IndexingProducerNode.java
source/mircoders/producer/UnIndexingProducerNode.java
source/mircoders/storage/DatabaseUploadedMedia.java

index ebf644c..3c296d9 100755 (executable)
           <!-- media -->
           <list article.to_original.to_media_audio as media>
           <p>
-                 <img src="../../../img/${media["big_icon"]}" border="0" alt="">&nbsp;
-                 <a href="${media["publish_server"]}${media["publish_path"]}">
-          ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}
+                 <img src="../../../img/${media.big_icon}" border="0" alt="">&nbsp;
+                 <a href="${media.publish_server}${media.publish_path}">
+          ${media.title} - ${media.info.description} ${media.human_readable_size}
           </a>
           </p>
           </list>
          <list article.to_original.to_media_video as media>
           <p>
           <img src="../../../img/${media["big_icon"]}" border="0" alt="">
-          <a href="${media["publish_server"]}${media["publish_path"]}">
-          ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+          <a href="${media.publish_server}${media.publish_path}">
+          ${media.title} - ${media.info.Description} ${media.info.bigIcon}  ${media.info.description} ${media.human_readable_size}</a>
           </p>
           </list>
 
          <list article.to_original.to_media_other as media>
           <p>
-          <img src="../../../img/${media["big_icon"]}" border="0" alt="">
-          <a href="${media["publish_server"]}${media["publish_path"]}">
-          ${media["title"]} - ${media["media_descr"]} ${media["human_readable_size"]}</a>
+          <img src="../../../img/${media.big_icon}" border="0" alt="">
+          <a href="${media["publish_server"]}${media.publish_path}">
+          ${media.title} - ${media.info.description} ${media.human_readable_size}</a>
           </p>
           </list>
 
           <list article.to_original.to_media_images as image>
           <p>
           <img src="${image["publish_server"]}${image["publish_path"]}"
-          border="0" width="${image["img_width"]}"
-          height="${image["img_height"]}" alt="${image["title"]}">
-          <br><i>${image["title"]}</i>
+          border="0" width="${image.img_width}"
+          height="${image.img_height}" alt="${image.title}">
+          <br><i>${image.title}</i>
           </p>
           </list>
                </if>
index 5545de5..c9ffdce 100755 (executable)
@@ -52,7 +52,6 @@ import mircoders.entity.EntityUsers;
 
 public class Mir extends AbstractServlet {
   private static ModuleUsers usersModule = null;
-  private final static Map servletModules = new HashMap();
   private static Locale fallbackLocale = null;
 
   private static List loginLanguages = null;
index 9c95ab3..9ac5e37 100755 (executable)
@@ -135,7 +135,6 @@ public class EntityAdapterDefinition {
     }
 
     public Object getValue(EntityAdapter anEntityAdapter) {
-
          Object result = null;
          String textValue = anEntityAdapter.getEntity().getFieldValue(fieldName);
          Calendar calendar = GregorianCalendar.getInstance();
index 030cae4..340aa4b 100755 (executable)
@@ -558,8 +558,6 @@ public class VelocityGenerator implements Generator {
         engine.init();
       }
       catch (Throwable t) {
-        t.printStackTrace(logger.asPrintWriter(LoggerWrapper.ERROR_MESSAGE));
-
         logger.error("Failed to set up a VelocityGeneratorLibrary: " + t.toString());
         throw new GeneratorFailure(t);
       }
index 1d8fb06..3d45447 100755 (executable)
@@ -34,12 +34,14 @@ import java.text.NumberFormat;
 /**
  * Help methods for number handling.
  *
- * @version $Id: NumberUtils.java,v 1.5 2003/04/21 12:42:52 idfx Exp $
+ * @version $Id: NumberUtils.java,v 1.5.2.1 2005/12/23 21:56:27 zapata Exp $
  * @author mh, Mir-coders group
  *
  */
 
 public final class NumberUtils {
+  private NumberUtils() {
+  }
 
   /* 
    * Uses a suffix indicating multiples of 1024 (K), 
@@ -52,36 +54,33 @@ public final class NumberUtils {
    * @return A text representation of the number of bytes,
    *     abbreviated for larger quantities.
    */
-  public static String humanReadableSize(double bytes)
-  {
+  public static String humanReadableSize(double aBytes) {
+    double bytes = aBytes;
     String suffix;
-      
-    if( bytes >= 1024 * 1024 * 1024 )
-    {
-      bytes /= (1024 * 1024 * 1024);
+
+    if ( bytes >= (double) (1024 * 1024 * 1024) ) {
+      bytes /= (double) (1024 * 1024 * 1024);
       suffix = "G";
     }
-    else if( bytes >= 1024 * 1024 )
-    {
-      bytes /= (1024 * 1024);
+    else if( bytes >= (double) (1024 * 1024) ) {
+      bytes /= (double) (1024 * 1024);
       suffix = "M";
     }
-    else if( bytes >= 1024 )
-    {
-      bytes /= 1024;
+    else if( bytes >= 1024.0 ) {
+      bytes /= 1024.0;
       suffix = "K";
     }
-    else
-    {
+    else {
       suffix = "";
     }
-    int frac = (bytes >= 10  ||  bytes == 0)  ?  0  :  1;
+    int frac = bytes > 9.5 || bytes < 0.05  ?  0  :  1;
+
     NumberFormat nf = NumberFormat.getInstance();
     nf.setMinimumFractionDigits(frac);
     nf.setMaximumFractionDigits(frac);
     nf.setGroupingUsed(false);
+
     return nf.format(bytes) + suffix;
   }
-
 }
 
index ac6cd89..ae4710c 100755 (executable)
@@ -86,6 +86,7 @@ public final class StringUtil {
     webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR)));
     webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1));
     webdbDate.append(pad2(theDate.get(Calendar.DATE)));
+
     return  webdbDate.toString();
   }
 
@@ -102,6 +103,7 @@ public final class StringUtil {
     webdbDate.append(pad2(theDate.get(Calendar.DATE)));
     webdbDate.append(pad2(theDate.get(Calendar.HOUR)));
     webdbDate.append(pad2(theDate.get(Calendar.MINUTE)));
+
     return  webdbDate.toString();
   }
 
index fe68cd0..1dcf044 100755 (executable)
@@ -55,15 +55,16 @@ public class BundleProducerNode extends AbstractProducerNode {
     key = aKey;
   }
 
-  /** {@inheritDoc} */
+  /** {@inheritDoc} */    
   public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
     try {
       String bundle = ParameterExpander.expandExpression( aValueMap, bundleExpression );
       String[] languages = new String[0];
-      if (languageExpression!=null)
-        languages = new String[] { ParameterExpander.expandExpression( aValueMap, languageExpression ) };
+      if (languageExpression != null) {
+        languages = new String[]{ParameterExpander.expandExpression(aValueMap, languageExpression)};
+      }
 
-      if (MirGlobal.config().getString("Producer.BundleCompatibility", "0").equals("1") &&
+      if ("1".equals(MirGlobal.config().getString("Producer.BundleCompatibility", "0")) &&
           bundle.startsWith("bundles.")) {
         bundle = "etc/bundles/" + bundle.substring("bundles.".length());
       }
index e7f3339..aa38556 100755 (executable)
@@ -47,9 +47,7 @@ public class CompositeProducerNode implements ProducerNode {
   public CompositeProducerNode(ProducerNode[] aSubNodes) {
     this();
 
-    int i;
-
-    for (i=0; i<aSubNodes.length; i++) {
+    for (int i = 0; i<aSubNodes.length; i++) {
       addSubNode(aSubNodes[i]);
     }
   }
@@ -63,8 +61,9 @@ public class CompositeProducerNode implements ProducerNode {
   }
 
   public void addSubNode(ProducerNode aSubNode) {
-    if (aSubNode!=null)
+    if (aSubNode != null) {
       subNodes.add(aSubNode);
+    }
   }
 
   public void clear() {
@@ -72,9 +71,8 @@ public class CompositeProducerNode implements ProducerNode {
   }
 
   protected boolean isAborted(ProductionContext aProductionContext) {
-    return (
-       (aProductionContext.getProducer() instanceof NodedProducer) &&
-      ((NodedProducer) aProductionContext.getProducer()).getIsAborted());
+    return aProductionContext.getProducer() instanceof NodedProducer &&
+        ((NodedProducer) aProductionContext.getProducer()).getIsAborted();
   }
 
   public void produce(ProductionContext aProductionContext) throws ProducerExc, ProducerFailure {
index 836654c..87a7d66 100755 (executable)
@@ -105,8 +105,7 @@ public class EntityModifyingProducerNode extends AbstractProducerNode {
         throw new ProducerExc( entityExpression + " does not evaluate to an entity");
     }
     catch (Throwable t) {
-      aLogger.error("Error while performing entity modification operation: " + t.getMessage());
-      t.printStackTrace(aLogger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+      aLogger.error("Error while performing entity modification operation: " + t.getMessage(), t);
 
       throw new ProducerFailure(t.getMessage(), t);
     }
index 301ed80..69f5a45 100755 (executable)
  */
 package mir.producer;
 
-import mir.util.ExceptionRoutines;
 import mir.util.ParameterExpander;
 
-import java.sql.*;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 public class ExternalDbProducerNode extends ProducerNodeDecorator {
   private String key;
@@ -71,12 +76,13 @@ public class ExternalDbProducerNode extends ProducerNodeDecorator {
       String expandedPassword = ParameterExpander.expandExpression(aProductionContext.getValueSet(), password);
       String expandedQuery = ParameterExpander.expandExpression(aProductionContext.getValueSet(), query);
 
-      if (expandedDriver.equals("postgresql")) {
+      if ("postgresql".equals(expandedDriver)) {
         Class.forName("org.postgresql.Driver");
       }
-      if (expandedDriver.equals("mysql")) {
+      if ("mysql".equals(expandedDriver)) {
         Class.forName("com.mysql.jdbc.Driver");
-      } else {
+      }
+      else {
         throw new Exception("Unsupported DB Driver:" + expandedDriver);
       }
 
@@ -88,13 +94,13 @@ public class ExternalDbProducerNode extends ProducerNodeDecorator {
       ResultSet rs = st.executeQuery(expandedQuery);
       ResultSetMetaData rsmd = rs.getMetaData();
       int numberOfColumns = rsmd.getColumnCount();
-      ArrayList fieldNames = new ArrayList(numberOfColumns);
+      List fieldNames = new ArrayList(numberOfColumns);
       for (int i = 0; i < numberOfColumns; i++) {
         fieldNames.add(rsmd.getColumnName(i + 1));
       }
 
       while (rs.next() && !isAborted(aProductionContext)) {
-        HashMap result = new HashMap();
+        Map result = new HashMap();
         Iterator fields = fieldNames.iterator();
         while (fields.hasNext()) {
           String field = (String) fields.next();
index 18c46c8..3d0b72f 100755 (executable)
@@ -138,7 +138,6 @@ public abstract class ServletModule {
     catch (InvocationTargetException e) {\r
       getLogger().error("Error while dispatching: " + e.getTargetException().getMessage(),\r
           e.getTargetException());\r
-      e.getTargetException().printStackTrace(getLogger().asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));\r
 \r
       throw new ServletModuleFailure(e.getTargetException().getMessage(), e.getTargetException());\r
     }\r
index 481efa5..fbd2238 100755 (executable)
@@ -55,7 +55,7 @@ import java.util.*;
 /**
  * Implements database access.
  *
- * @version $Id: Database.java,v 1.44.2.34 2005/11/09 22:11:06 zapata Exp $
+ * @version $Id: Database.java,v 1.44.2.35 2005/12/23 21:56:27 zapata Exp $
  * @author rk
  * @author Zapata
  *
@@ -1018,7 +1018,6 @@ public class Database {
     }
     catch (Throwable t) {
       logger.warn("Can't close statement", t);
-      t.printStackTrace(logger.asPrintWriter(LoggerWrapper.ERROR_MESSAGE));
     }
 
     freeConnection(aConnection);
index ab8c48e..b65e86c 100755 (executable)
@@ -45,11 +45,14 @@ public class DatabaseHelper {
   public static final DateFormat INTERNAL_DATE_FORMAT =\r
       new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");\r
 \r
+  private DatabaseHelper() {\r
+  }\r
+\r
   static {\r
     INTERNAL_DATE_FORMAT.setTimeZone(INTERNAL_TIMEZONE);\r
   }\r
 \r
-  public static final String convertDateToInternalRepresenation(Date aDate) {\r
+  public static String convertDateToInternalRepresenation(Date aDate) {\r
     Calendar calendar = new GregorianCalendar();\r
     calendar.setTime(aDate);\r
     calendar.setTimeZone(INTERNAL_TIMEZONE);\r
@@ -62,10 +65,10 @@ public class DatabaseHelper {
     int offsethours = offset / (60*60*1000);\r
 \r
     return INTERNAL_DATE_FORMAT.format(aDate) + (positive?"+":"-") +\r
-        StringUtil.zeroPaddingNumber(offsethours, 2, 2);\r
+        StringUtil.zeroPaddingNumber((long) offsethours, 2, 2);\r
   }\r
 \r
-  public static final String getInternalTimeZoneOffset(Date aDate) {\r
+  public static String getInternalTimeZoneOffset(Date aDate) {\r
     Calendar calendar = new GregorianCalendar();\r
     calendar.setTime(aDate);\r
     calendar.setTimeZone(INTERNAL_TIMEZONE);\r
@@ -80,7 +83,7 @@ public class DatabaseHelper {
     int offsetminutes = ( offset / 60*1000 ) % 60;\r
 \r
     return (positive?"+":"-") +\r
-            StringUtil.zeroPaddingNumber(offsethours, 2, 2) + ":" +\r
-            StringUtil.zeroPaddingNumber(offsetminutes, 2, 2);\r
+            StringUtil.zeroPaddingNumber((long) offsethours, 2, 2) + ":" +\r
+            StringUtil.zeroPaddingNumber((long) offsetminutes, 2, 2);\r
   }\r
 }\r
index 578ad4b..3003aa0 100755 (executable)
  */
 package mircoders.entity;
 
-import java.sql.SQLException;
-import java.util.Map;
-
 import mir.entity.AbstractEntity;
 import mir.entity.Entity;
-import mir.log.LoggerWrapper;
 import mir.storage.DatabaseFailure;
 import mircoders.storage.DatabaseUploadedMedia;
 
+import java.sql.SQLException;
+import java.util.Map;
+
 /**
  *
  * @author mh, mir-coders group
- * @version $Id: EntityUploadedMedia.java,v 1.26.2.13 2005/10/30 00:46:58 zapata Exp $
+ * @version $Id: EntityUploadedMedia.java,v 1.26.2.14 2005/12/23 21:56:28 zapata Exp $
  */
 
 public class EntityUploadedMedia extends AbstractEntity {
index eac9e33..87f8144 100755 (executable)
@@ -65,6 +65,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.awt.*;
 
 public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
   protected LoggerWrapper logger = new LoggerWrapper("Localizer.DataModel");
@@ -120,7 +121,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
 
       anEntityAdapterDefinition.addCalculatedField("operations",
           new EntityToSimpleOperationsField(MirGlobal.localizer().adminInterface().simpleArticleOperations()));
-      
+
       anEntityAdapterDefinition.addCalculatedField("languagename", new ContentToLanguageNameField());
 
       anEntityAdapterDefinition.addCalculatedField("is_original", new ContentIsOriginalField());
@@ -219,27 +220,27 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
 
       definition = new EntityAdapterDefinition();
       definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
-      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
       definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
       definition.addCalculatedField("info", new MediaToMediaInfoField());
       result.addMapping( "uploadedMedia", DatabaseUploadedMedia.getInstance(), definition);
       definition = new EntityAdapterDefinition();
       definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
-      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
       definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
       definition.addCalculatedField("info", new MediaToMediaInfoField());
       definition.addCalculatedField("big_icon", new MediaToBigIconField());
       result.addMapping( "image", DatabaseImages.getInstance(), definition);
       definition = new EntityAdapterDefinition();
       definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
-      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
       definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
       definition.addCalculatedField("info", new MediaToMediaInfoField());
       definition.addCalculatedField("big_icon", new MediaToBigIconField());
       result.addMapping( "audio", DatabaseAudio.getInstance(), definition);
       definition = new EntityAdapterDefinition();
       definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
-      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
       definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
       definition.addCalculatedField("info", new MediaToMediaInfoField());
       definition.addCalculatedField("big_icon", new MediaToBigIconField());
@@ -247,7 +248,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
 
       definition = new EntityAdapterDefinition();
       definition.addCalculatedField("mediafolder", new ToOneRelationField("to_media_folder", "mediaFolder", "id"));
-      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("value"));
+      definition.addCalculatedField("human_readable_size", new HumanReadableSizeField("size"));
       definition.addDBDateField("creationdate", "webdb_create", configuration.getString("Mir.DefaultTimezone"));
       definition.addCalculatedField("info", new MediaToMediaInfoField());
       definition.addCalculatedField("big_icon", new MediaToBigIconField());
@@ -340,7 +341,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
         if (anEntityAdapter.get("is_html")!=null && anEntityAdapter.get("is_html").equals("1")) {
           return MirGlobal.localizer().producerAssistant().filterHTMLText((String) anEntityAdapter.get(fieldName));
         }
-                               return MirGlobal.localizer().producerAssistant().filterNonHTMLText((String) anEntityAdapter.get(fieldName));
+        return MirGlobal.localizer().producerAssistant().filterNonHTMLText((String) anEntityAdapter.get(fieldName));
       }
       catch (Throwable t) {
         throw new RuntimeException(t.getMessage());
@@ -412,43 +413,45 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
       }
     }
   }
+
   public static class MediaInfo {
     private MediaHandler mediaHandler;
+    private Entity mediaType;
 
-    public MediaInfo(MediaHandler aHandler) {
+    public MediaInfo(MediaHandler aHandler, Entity aMediaType) {
       mediaHandler = aHandler;
+      mediaType = aMediaType;
     }
+
     public String getBigIcon() {
-      if (mediaHandler == null)
-        return "bla";
-                       return mediaHandler.getBigIconName();
+      return mediaHandler.getBigIconName();
     }
 
     public String getSmallIcon() {
-      if (mediaHandler == null)
-        return "bla";
-                       return mediaHandler.getTinyIconName();
+      return mediaHandler.getTinyIconName();
     }
 
-    public String getMediaType() {
-      return "";
+    public String getDescription() {
+      return mediaHandler.getDescr(mediaType);
     }
   }
 
-  protected class MediaToMediaInfoField implements EntityAdapterDefinition.CalculatedField {
+  protected static class MediaToMediaInfoField implements EntityAdapterDefinition.CalculatedField {
     public Object getValue(EntityAdapter anEntityAdapter) {
       try {
-        MediaHandler mediaHandler = MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
+        MediaHandler mediaHandler =
+            MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
 
-        return new MediaInfo(mediaHandler);
+        return new MediaInfo(mediaHandler,
+            ((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType());
       }
       catch (Throwable t) {
-        throw new RuntimeException(t.getMessage());
+        throw new Failure(t.getMessage(), t);
       }
     }
   }
 
-  protected class MediaToBigIconField implements EntityAdapterDefinition.CalculatedField {
+  protected static class MediaToBigIconField implements EntityAdapterDefinition.CalculatedField {
     public Object getValue(EntityAdapter anEntityAdapter) {
       try {
         return MediaHelper.getHandler(((EntityUploadedMedia) anEntityAdapter.getEntity()).getMediaType()).getBigIconName();
@@ -459,7 +462,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentToCommentsField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentToCommentsField implements EntityAdapterDefinition.CalculatedField {
     private String extracondition;
     private String order;
 
@@ -485,7 +488,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentToTopicsField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentToTopicsField implements EntityAdapterDefinition.CalculatedField {
     private String topicCondition;
     private String topicOrder;
 
@@ -504,13 +507,12 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
 
     public Object getValue(EntityAdapter anEntityAdapter) {
       try {
-
-
         String condition = "cxt.content_id="+anEntityAdapter.get("id")+
           " and cxt.topic_id=t.id";
 
-        if (topicCondition!=null && topicCondition.length()>0)
+        if (topicCondition!=null && topicCondition.length()>0) {
           condition = "(" + topicCondition + ") and " + condition;
+        }
 
         return anEntityAdapter.getComplexRelation("t", Collections.singletonList("content_x_topic cxt"),
                     condition, topicOrder, "topic" );
@@ -521,7 +523,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentToMediaField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentToMediaField implements EntityAdapterDefinition.CalculatedField {
     private String definition;
     private boolean published;
 
@@ -554,7 +556,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentToFirstMediaField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentToFirstMediaField implements EntityAdapterDefinition.CalculatedField {
     private String definition;
     private boolean published;
 
@@ -585,7 +587,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class CommentToMediaField implements EntityAdapterDefinition.CalculatedField {
+  protected static class CommentToMediaField implements EntityAdapterDefinition.CalculatedField {
     private String definition;
     private boolean published;
 
@@ -616,7 +618,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentToIconField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentToIconField implements EntityAdapterDefinition.CalculatedField {
     public Object getValue(EntityAdapter anEntityAdapter) {
       String tinyIcon;
       String iconAlt;
@@ -647,9 +649,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
         }
       }
       catch (Throwable t) {
-        logger.error("ContentToIconField: ", t);
-
-        throw new RuntimeException(t.getMessage());
+        throw new Failure(t.getMessage(), t);
       }
 
       Map result = new HashMap();
@@ -660,12 +660,10 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class ContentCommentCountField implements EntityAdapterDefinition.CalculatedField {
+  protected static class ContentCommentCountField implements EntityAdapterDefinition.CalculatedField {
     private String extraCondition;
 
     public ContentCommentCountField(String anExtraCondition) {
-      super();
-
       extraCondition = anExtraCondition;
     }
 
@@ -681,7 +679,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
     }
   }
 
-  protected class HumanReadableSizeField implements EntityAdapterDefinition.CalculatedField {
+  protected static class HumanReadableSizeField implements EntityAdapterDefinition.CalculatedField {
       private String fieldName;
 
       public HumanReadableSizeField(String aFieldName) {
@@ -691,9 +689,10 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
       public Object getValue(EntityAdapter anEntityAdapter) {
         try {
           String size = (String) anEntityAdapter.get(fieldName);
-          if (size!=null)
+          if (size!=null) {
             return NumberUtils.humanReadableSize(Double.parseDouble(size));
-                                       return "";
+          }
+          return "";
         }
         catch (Throwable t) {
           throw new RuntimeException(t.getMessage());
@@ -770,7 +769,7 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
       try {
         if (anEntityAdapter.get("parent")!=null)
           return anEntityAdapter.get("parent");
-                               return anEntityAdapter;
+        return anEntityAdapter;
       }
       catch (Throwable t) {
         throw new MirLocalizerFailure(t);
index 8ed55a3..00c663e 100755 (executable)
@@ -189,8 +189,7 @@ public class IndexingProducerNode extends AbstractProducerNode {
       indexWriter.addDocument(theDoc);
     }
     catch (Throwable t) {
-      aLogger.error("Error while indexing content: " + t.getMessage());
-      t.printStackTrace(aLogger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+      aLogger.error("Error while indexing content: " + t.getMessage(), t);
     }
     finally {
       if (indexWriter != null) {
index cf26e15..a6ad068 100755 (executable)
@@ -31,7 +31,6 @@ package mircoders.producer;
 
 import mir.entity.Entity;
 import mir.entity.adapter.EntityAdapter;
-import mir.log.LoggerWrapper;
 import mir.producer.ProducerFailure;
 import mir.producer.ProducerNode;
 import mir.producer.ProductionContext;
@@ -88,8 +87,7 @@ public class UnIndexingProducerNode implements ProducerNode {
       IndexUtil.unindexEntity((EntityContent) entity, indexFile);
     }
     catch (Throwable t) {
-      aProductionContext.getLogger().error("Error while unindexing content: " + t.getMessage());
-      t.printStackTrace(aProductionContext.getLogger().asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
+      aProductionContext.getLogger().error("Error while unindexing content: " + t.getMessage(), t);
     }
 
     endTime = System.currentTimeMillis();
index 7f9bc71..97294fb 100755 (executable)
@@ -37,11 +37,12 @@ import mir.entity.EntityBrowser;
 import mir.log.LoggerWrapper;
 import mir.storage.Database;
 import mir.storage.DatabaseFailure;
+import mircoders.entity.EntityUploadedMedia;
 
 public class DatabaseUploadedMedia extends Database  {
-  private static DatabaseUploadedMedia  instance;
+  private static DatabaseUploadedMedia instance;
 
-  public synchronized static DatabaseUploadedMedia getInstance() {
+  public static synchronized DatabaseUploadedMedia getInstance() {
     if (instance == null ) {
       instance = new DatabaseUploadedMedia();
     }
@@ -50,12 +51,10 @@ public class DatabaseUploadedMedia extends Database  {
   }
 
   private DatabaseUploadedMedia() {
-    super();
-
     logger = new LoggerWrapper("Database.UploadedMedia");
 
     mainTable="uploaded_media";
-    entityClass = mircoders.entity.EntityUploadedMedia.class;
+    entityClass = EntityUploadedMedia.class;
   }
 
 
@@ -63,12 +62,14 @@ public class DatabaseUploadedMedia extends Database  {
    * returns the media_type that belongs to the media item (via entityrelation)
    * where db-flag is_published is true
    */
-  public Entity getMediaType(Entity ent) throws DatabaseFailure {
+  public Entity getMediaType(Entity aMedia) throws DatabaseFailure {
     Entity type=null;
     try {
-      Iterator i = new EntityBrowser(DatabaseMediaType.getInstance(), ent.getFieldValue("to_media_type") + " = id" , "id", 1);
-      if (i.hasNext())
+      Iterator i = new EntityBrowser(DatabaseMediaType.getInstance(), aMedia.getFieldValue("to_media_type") + " = id" , "id", 1);
+
+      if (i.hasNext()) {
         type = (Entity) i.next();
+      }
     }
     catch (Throwable t) {
       logger.error("DatabaseUploadedMedia :: failed to get media_type: " + t.getMessage());