possible performance improvement
authorzapata <zapata>
Sat, 19 Nov 2005 19:02:34 +0000 (19:02 +0000)
committerzapata <zapata>
Sat, 19 Nov 2005 19:02:34 +0000 (19:02 +0000)
source/mircoders/localizer/basic/MirBasicDataModelLocalizer.java

index 0c5714a..a5fd631 100755 (executable)
@@ -31,7 +31,11 @@ package mircoders.localizer.basic;
 
 import mir.config.MirPropertiesConfiguration;
 import mir.entity.Entity;
-import mir.entity.adapter.*;
+import mir.entity.adapter.EntityAdapter;
+import mir.entity.adapter.EntityAdapterDefinition;
+import mir.entity.adapter.EntityAdapterModel;
+import mir.entity.adapter.ToManyRelationField;
+import mir.entity.adapter.ToOneRelationField;
 import mir.generator.Generator;
 import mir.generator.GeneratorExc;
 import mir.generator.GeneratorFailure;
@@ -41,8 +45,8 @@ import mir.misc.NumberUtils;
 import mir.util.JDBCStringRoutines;
 import mir.util.ParameterExpander;
 import mir.util.StructuredContentParser;
-import mircoders.entity.EntityUploadedMedia;
 import mircoders.entity.EntityContent;
+import mircoders.entity.EntityUploadedMedia;
 import mircoders.global.MirGlobal;
 import mircoders.localizer.MirAdminInterfaceLocalizer;
 import mircoders.localizer.MirDataModelLocalizer;
@@ -54,7 +58,12 @@ import mircoders.module.ModuleLanguage;
 import mircoders.storage.*;
 import multex.Failure;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
   protected LoggerWrapper logger = new LoggerWrapper("Localizer.DataModel");
@@ -608,36 +617,41 @@ public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
 
   protected class ContentToIconField implements EntityAdapterDefinition.CalculatedField {
     public Object getValue(EntityAdapter anEntityAdapter) {
-      EntityAdapter media;
-      Entity mediaType;
-      Iterator iterator;
-      Map result;
-      MediaHandler mediaHandler;
       String tinyIcon;
       String iconAlt;
 
       try {
-        iterator = anEntityAdapter.getIterator("to_uploaded_media");
-
         tinyIcon = MirGlobal.config().getString("Producer.Icon.TinyText");
         iconAlt = "Text";
 
+        Iterator iterator = anEntityAdapter.getIterator("to_media_video");
+        if (!iterator.hasNext()) {
+          iterator = anEntityAdapter.getIterator("to_media_audio");
+        }
+        if (!iterator.hasNext()) {
+          iterator = anEntityAdapter.getIterator("to_media_images");
+        }
+        if (!iterator.hasNext()) {
+          iterator = anEntityAdapter.getIterator("to_media_other");
+        }
+
         if (iterator.hasNext()) {
-          media = (EntityAdapter) iterator.next();
+          EntityAdapter media = (EntityAdapter) iterator.next();
 
-          mediaType = ((EntityUploadedMedia) (media.getEntity())).getMediaType();
-          mediaHandler = MediaHelper.getHandler( mediaType );
+          Entity mediaType = ((EntityUploadedMedia) (media.getEntity())).getMediaType();
+          MediaHandler mediaHandler = MediaHelper.getHandler(mediaType);
 
           tinyIcon = mediaHandler.getTinyIconName();
           iconAlt = mediaHandler.getIconAltName();
         }
       }
       catch (Throwable t) {
-        logger.error("ContentToIconField: " +t.getMessage());
+        logger.error("ContentToIconField: ", t);
+
         throw new RuntimeException(t.getMessage());
       }
 
-      result = new HashMap();
+      Map result = new HashMap();
       result.put("tiny_icon", MirGlobal.config().getString("Producer.ImageRoot") + "/" + tinyIcon);
       result.put("icon_alt", iconAlt);