use of MediaHelper, TODO's and avoid use of deprecate SimpleHash method.
authormh <mh>
Thu, 7 Feb 2002 10:05:58 +0000 (10:05 +0000)
committermh <mh>
Thu, 7 Feb 2002 10:05:58 +0000 (10:05 +0000)
source/mircoders/entity/EntityContent.java

index 39dfc58..588ee88 100755 (executable)
@@ -200,7 +200,9 @@ public class EntityContent extends Entity
           throw new TemplateModelException(ex.toString());
         }
       }
-      else return new SimpleScalar(getValue(key));
+      else {
+        return new SimpleScalar(getValue(key));
+      }
 
     }
     return null;
@@ -270,44 +272,41 @@ public class EntityContent extends Entity
   {
     // fetching/setting the images
     // return to_media_icons
-    String        tinyIcon = null, iconAlt = null, mediaHandlerName = null;
+    String        tinyIcon = null, iconAlt = null;
     MirMedia      mediaHandler = null;
+    Database      mediaStorage;
     EntityMedia   uploadedMedia;
     Entity        mediaType;
-    Class         mediaHandlerClass;
     SimpleHash    returnHash = new SimpleHash();
 
-    EntityList upMediaEntityList = DatabaseContentToMedia.getInstance().getUploadedMedia(this);
+    EntityList upMediaEntityList =
+                    DatabaseContentToMedia.getInstance().getUploadedMedia(this);
     if (upMediaEntityList!=null && upMediaEntityList.getCount()>=1) {
 
       for (int n=0; n < upMediaEntityList.size();n++) {
         uploadedMedia = (EntityMedia)upMediaEntityList.elementAt(n);
         mediaType = uploadedMedia.getMediaType();
-
-        //must of had a non-existant to_media_type entry..
-        //let's save our ass.
-        if (mediaType != null) {
-            mediaHandlerName = mediaType.getValue("classname");
-            try {
-              mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
-              mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-            }
-            catch (Exception ex) {
-              throw new TemplateModelException(ex.toString());
-            }
-
-            //the "best" media type to show
-            if (mediaHandler.isVideo()) {
-              tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
-              iconAlt = "Video";
-              break;
-            } else if (mediaHandler.isAudio()) {
-              tinyIcon = MirConfig.getProp("Producer.Icon.TinyAudio");
-              iconAlt = "Audio";
-            } else if (tinyIcon == null && !mediaHandler.isImage()) {
-              tinyIcon = mediaHandler.getTinyIcon();
-              iconAlt = mediaHandler.getIconAlt();
-            }
+        try {
+          // ############### TODO: merge these and the getURL call into one
+          // getURL helper call that just takes the Entity as a parameter
+          // along with media_type
+          mediaHandler = MediaHelper.getHandler( mediaType );
+          mediaStorage = MediaHelper.getStorage( mediaType,
+                                                "mircoders.storage.Database");
+        } catch (MirMediaException ex) {
+          throw new TemplateModelException(ex.toString());
+        }
+        //the "best" media type to show
+        if (mediaHandler.isVideo()) {
+          tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
+          iconAlt = "Video";
+          break;
+        } else if (mediaHandler.isAudio()) {
+          tinyIcon = MirConfig.getProp("Producer.Icon.TinyAudio");
+          iconAlt = "Audio";
+        } else if (tinyIcon == null && !mediaHandler.isImage()) {
+          tinyIcon = mediaHandler.getTinyIcon();
+          iconAlt = mediaHandler.getIconAlt();
         }
       }
       //it only has image(s)
@@ -342,54 +341,55 @@ public class EntityContent extends Entity
       Entity              upMedia;
       Entity              mediaType;
       SimpleHash          upMediaSimpleHash;
-      Class               mediaHandlerClass=null,mediaStorageClass;
       MirMedia            mediaHandler=null;
-      String              mediaHandlerName=null,mediaStorageName;
       Database            mediaStorage=null;
 
       for (int n=0; n < currentMediaList.size();n++) {
         upMedia = currentMediaList.elementAt(n);
-        upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+        //upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
         mediaType = ((EntityMedia)upMedia).getMediaType();
-        //must be a non-existant to_media_type entry..
-        if (mediaType != null) {
-          mediaHandlerName = mediaType.getValue("classname");
-          mediaStorageName = mediaType.getValue("tablename");
-          try {
-            mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
-            mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
-            mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-            Method m = mediaStorageClass.getMethod("getInstance", null);
-            mediaStorage = (Database)m.invoke(null, null);
-          }
-          catch (Exception ex) {
-            throw new TemplateModelException(ex.toString());
-          }
+        
+        try {
+          // ############### TODO: merge these and the getURL call into one
+          // getURL helper call that just takes the Entity as a parameter
+          // along with media_type
+          mediaHandler = MediaHelper.getHandler( mediaType );
+          mediaStorage = MediaHelper.getStorage( mediaType,
+                                                "mircoders.storage.Database");
+        } catch (MirMediaException ex) {
+          throw new TemplateModelException(ex.toString());
+        }
 
-          //we most likely need further info
-          upMedia = mediaStorage.selectById(upMedia.getId());
-          try {
-            String url = mediaHandler.getListView(upMedia, mediaType);
-            upMediaSimpleHash.put("url", url);
-            theLog.printDebugInfo("url is "+  url);
-          }
-          catch (Exception ex) {
-            throw new TemplateModelException(ex.toString());
-          }
+        // ################ TODO: see getUploadedMediaForContent
+        //we most likely need further info
+        upMedia = mediaStorage.selectById(upMedia.getId());
+        try {
+          // ############### ditto
+          String url = mediaHandler.getListView(upMedia, mediaType);
+          //upMediaSimpleHash.put("url", url);
+          upMedia.setValueForProperty("url", url);
+          theLog.printDebugInfo("url is "+  url);
+        }
+        catch (Exception ex) {
+          throw new TemplateModelException(ex.toString());
+        }
 
-          // putting media in the apropriate list container
-          if (upMedia.getValue("is_published").equals("1")) {
-            if (mediaHandler.isImage()) {
-              mediaListImages.add(upMediaSimpleHash);
-            } else if (mediaHandler.isAudio()) {
-              mediaListAudio.add(upMediaSimpleHash);
-            } else if (mediaHandler.isVideo()) {
-              mediaListVideo.add(upMediaSimpleHash);
-            } else {
-              mediaListOther.add(upMediaSimpleHash);
-            }
-          } //end if is_published
-        } //end if media_type != null
+        // putting media in the apropriate list container
+        if (upMedia.getValue("is_published").equals("1")) {
+          if (mediaHandler.isImage()) {
+            //mediaListImages.add(upMediaSimpleHash);
+            mediaListImages.add(upMedia);
+          } else if (mediaHandler.isAudio()) {
+            //mediaListAudio.add(upMediaSimpleHash);
+            mediaListAudio.add(upMedia);
+          } else if (mediaHandler.isVideo()) {
+            //mediaListVideo.add(upMediaSimpleHash);
+            mediaListVideo.add(upMedia);
+          } else {
+            //mediaListOther.add(upMediaSimpleHash);
+            mediaListOther.add(upMedia);
+          }
+        } //end if is_published
       } //end for
       returnHash.put("media_audio", mediaListAudio);
       returnHash.put("media_images", mediaListImages);
@@ -403,13 +403,13 @@ public class EntityContent extends Entity
     throws StorageObjectException, TemplateModelException
   {
     SimpleList returnList=null;
-    EntityList currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(this);
+    EntityList currentMediaList =
+        DatabaseContentToMedia.getInstance().getUploadedMedia(this);
     if (currentMediaList!=null && currentMediaList.getCount()>=1)
     {
+      System.err.println("LIST NOT NULL "+this.getId());
       Entity              upMedia,mediaType;
       SimpleHash          upMediaSimpleHash;
-      Class               mediaHandlerClass,mediaStorageClass;
-      String              mediaStorageName,mediaHandlerName=null;
       MirMedia            mediaHandler=null;
       Database            mediaStorage=null;
 
@@ -417,34 +417,38 @@ public class EntityContent extends Entity
 
       for (int n=0; n < currentMediaList.size();n++) {
         upMedia = currentMediaList.elementAt(n);
-        upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+        //upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
         mediaType = ((EntityMedia)upMedia).getMediaType();
-        //must be a non-existant to_media_type entry..
-        if (mediaType != null) {
-          mediaHandlerName = mediaType.getValue("classname");
-          mediaStorageName = mediaType.getValue("tablename");
-          try {
-            mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
-            mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
-            mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-            Method m = mediaStorageClass.getMethod("getInstance", null);
-            mediaStorage = (Database)m.invoke(null, null);
-          }
-          catch (Exception ex) {
-            throw new TemplateModelException(ex.toString());
-          }
-
-          //we most likely need further info
-          upMedia = mediaStorage.selectById(upMedia.getId());
-          try {
-            upMediaSimpleHash.put("url", mediaHandler.getURL(upMedia, mediaType));
-          }
-          catch (Exception ex) {
-            throw new TemplateModelException(ex.toString());
-          }
-          upMediaSimpleHash.put("type",mediaType.getValue("classname"));
-          returnList.add(upMediaSimpleHash);
-        } //end if media_type != null
+        try {
+          // ############### TODO: merge these and the getURL call into one
+          // getURL helper call that just takes the Entity as a parameter
+          // along with media_type
+          mediaHandler = MediaHelper.getHandler( mediaType );
+          mediaStorage = MediaHelper.getStorage( mediaType,
+                                                "mircoders.storage.Database");
+        } catch (MirMediaException ex) {
+          throw new TemplateModelException(ex.toString());
+        }
+    
+        // ########## TODO: this should be transparent
+        //we most likely need further info
+        upMedia = mediaStorage.selectById(upMedia.getId());
+        try {
+          //upMediaSimpleHash.put("url", mediaHandler.getURL(upMedia, mediaType));
+          // ################# TODO: this is broken cause of field checking
+          // in Entity. must find a workaround
+          upMedia.setValueForProperty("url",
+                                    mediaHandler.getURL(upMedia, mediaType));
+          System.err.println("URL "+mediaHandler.getURL(upMedia, mediaType));
+          System.err.println("URK'ED? "+upMedia.get("url"));
+          System.err.println("PUB'ED? "+upMedia.get("is_published"));
+        }
+        catch (Exception ex) {
+          throw new TemplateModelException(ex.toString());
+        }
+        //upMediaSimpleHash.put("type",mediaType.getValue("classname"));
+        upMedia.setValueForProperty("type",mediaType.getValue("classname"));
+        returnList.add(upMedia);
       } //end for
     } //end if currentMediaList != null
     return returnList;