This reverts to making the images table inherit from media and no longer uploaded_med...
authormh <mh>
Tue, 9 Oct 2001 21:14:07 +0000 (21:14 +0000)
committermh <mh>
Tue, 9 Oct 2001 21:14:07 +0000 (21:14 +0000)
dbscripts/create_pg.sql
source/mircoders/entity/EntityMedia.java
source/mircoders/producer/ProducerContent.java
source/mircoders/producer/ProducerList.java
source/mircoders/producer/ProducerStartPage.java
source/mircoders/storage/DatabaseContentToMedia.java
source/mircoders/storage/DatabaseMedia.java

index 9173fdf..c893655 100755 (executable)
@@ -333,6 +333,8 @@ CREATE TABLE "uploaded_media" (
 CREATE TABLE "images" (
        "image_data" oid,
        "icon_data" oid,
+       "icon_is_produced" boolean DEFAULT '0' NOT NULL,
+       "icon_path" character varying(255),
        "year" character varying(40),
        "img_width" smallint,
        "img_height" smallint,
@@ -343,7 +345,7 @@ CREATE TABLE "images" (
        "icon_width" smallint,
        "icon_height" smallint
 )
-INHERITS ("uploaded_media");
+INHERITS ("media");
 
 --
 -- TOC Entry ID 29 (OID 29338)
index a0f9321..d43fdec 100755 (executable)
@@ -33,6 +33,15 @@ public class EntityMedia extends AbstractEntity implements Entity
     setStorage(theStorage);
   }
 
+       /**
+        * fetches the MediaType entry assiciated w/ this media
+        *
+        * @return mir.entity.Entity
+        */
+       public Entity getMediaType() {
+               return ((DatabaseMedia)theStorageObject).getMediaType(this);
+       }
+
   public void finalize() {
     instances--;
     super.finalize();
index c482d73..abfd911 100755 (executable)
@@ -154,7 +154,7 @@ public class ProducerContent extends Producer {
           for (int n=0; n < currentMediaList.size();n++) {
             upMedia = currentMediaList.elementAt(n);
             upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
-            mediaType = ((EntityUploadedMedia)upMedia).getMediaType();
+            mediaType = ((EntityMedia)upMedia).getMediaType();
             //must be a non-existant to_media_type entry..
             if (mediaType != null) {
               try {
@@ -163,12 +163,10 @@ public class ProducerContent extends Producer {
                 mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
                 mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
                 mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-                if(!mediaStorageName.equals(new String("UploadedMedia"))) {
-                  Method m = mediaStorageClass.getMethod("getInstance", null);
-                  mediaStorage = (Database)m.invoke(null, null);
-                  //we most likely need further info
-                  upMedia = mediaStorage.selectById(upMedia.getId());
-                }
+                Method m = mediaStorageClass.getMethod("getInstance", null);
+                mediaStorage = (Database)m.invoke(null, null);
+                //we most likely need further info
+                upMedia = mediaStorage.selectById(upMedia.getId());
               } catch (Exception e) {
                 theLog.printError("ProducerStartpage:problem in reflection: "+mediaHandlerName);
               } //end catch
index bb44d4f..7989c2b 100755 (executable)
@@ -112,7 +112,7 @@ abstract public class ProducerList extends Producer {
               for (int n=0; n < currentMediaList.size();n++) {
                 upMedia = currentMediaList.elementAt(n);
                 upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
-                mediaType = ((EntityUploadedMedia)upMedia).getMediaType();
+                mediaType = ((EntityMedia)upMedia).getMediaType();
                 //must be a non-existant to_media_type entry..
                 if (mediaType != null) {
                   try {
@@ -121,12 +121,10 @@ abstract public class ProducerList extends Producer {
                     mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
                     mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
                     mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-                    if(!mediaStorageName.equals(new String("UploadedMedia"))) {
-                      Method m = mediaStorageClass.getMethod("getInstance", null);
-                      mediaStorage = (Database)m.invoke(null, null);
-                      //we most likely need further info
-                      upMedia = mediaStorage.selectById(upMedia.getId());
-                    }
+                    Method m = mediaStorageClass.getMethod("getInstance", null);
+                    mediaStorage = (Database)m.invoke(null, null);
+                    //we most likely need further info
+                    upMedia = mediaStorage.selectById(upMedia.getId());
                   } catch (Exception e) {
                     theLog.printError("ProducerList: problem in reflection: "+mediaHandlerName);
                   } //end catch
index d5aae41..8fe05c6 100755 (executable)
@@ -70,7 +70,7 @@ public class ProducerStartPage extends Producer {
     EntityList          imageEntityList;
     EntityList          currentMediaList;
     Entity              mediaType;
-    EntityUploadedMedia uploadedMedia;
+    EntityMedia         uploadedMedia;
     Class               mediaHandlerClass=null;
     MirMedia            mediaHandler=null;
     String              mediaHandlerName=null;
@@ -107,7 +107,7 @@ public class ProducerStartPage extends Producer {
         mediaHandler = null;
         mediaHandlerName = null;
         for (int n=0; n < upMediaEntityList.size();n++) {
-          uploadedMedia = (EntityUploadedMedia)upMediaEntityList.elementAt(n);
+          uploadedMedia = (EntityMedia)upMediaEntityList.elementAt(n);
           mediaType = uploadedMedia.getMediaType();
 
           //must of had a non-existant to_media_type entry..
@@ -187,7 +187,7 @@ public class ProducerStartPage extends Producer {
         for (int n=0; n < currentMediaList.size();n++) {
           upMedia = currentMediaList.elementAt(n);
           upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
-          mediaType = ((EntityUploadedMedia)upMedia).getMediaType();
+          mediaType = ((EntityMedia)upMedia).getMediaType();
           //must be a non-existant to_media_type entry..
           if (mediaType != null) {
             try {
@@ -196,12 +196,10 @@ public class ProducerStartPage extends Producer {
               mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
               mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
               mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-              if(!mediaStorageName.equals(new String("UploadedMedia"))) {
-                Method m = mediaStorageClass.getMethod("getInstance", null);
-                mediaStorage = (Database)m.invoke(null, null);
-                //we most likely need further info
-                upMedia = mediaStorage.selectById(upMedia.getId());
-              }
+              Method m = mediaStorageClass.getMethod("getInstance", null);
+              mediaStorage = (Database)m.invoke(null, null);
+              //we most likely need further info
+              upMedia = mediaStorage.selectById(upMedia.getId());
             } catch (Exception e) {
               theLog.printError("ProducerList: problem in reflection: "+mediaHandlerName);
             } //end catch
@@ -270,7 +268,7 @@ public class ProducerStartPage extends Producer {
         for (int n=0; n < currentMediaList.size();n++) {
           upMedia = currentMediaList.elementAt(n);
           upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
-          mediaType = ((EntityUploadedMedia)upMedia).getMediaType();
+          mediaType = ((EntityMedia)upMedia).getMediaType();
           //must be a non-existant to_media_type entry..
           if (mediaType != null) {
             try {
@@ -279,12 +277,10 @@ public class ProducerStartPage extends Producer {
               mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
               mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
               mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
-              if(!mediaStorageName.equals(new String("UploadedMedia"))) {
-                Method m = mediaStorageClass.getMethod("getInstance", null);
-                mediaStorage = (Database)m.invoke(null, null);
-                //we most likely need further info
-                upMedia = mediaStorage.selectById(upMedia.getId());
-              }
+              Method m = mediaStorageClass.getMethod("getInstance", null);
+              mediaStorage = (Database)m.invoke(null, null);
+              //we most likely need further info
+              upMedia = mediaStorage.selectById(upMedia.getId());
             } catch (Exception e) {
               theLog.printError("ProducerList: problem in reflection: "+mediaHandlerName);
             } //end catch
index 3a1fb52..8466e9e 100755 (executable)
@@ -96,7 +96,7 @@ public class DatabaseContentToMedia extends Database implements StorageObject{
       String subselect = "id in (select media_id from " + theTable + " where content_id=" + id+")";
 
       try {
-        returnList = DatabaseUploadedMedia.getInstance().selectByWhereClause(subselect,-1);
+        returnList = DatabaseMedia.getInstance().selectByWhereClause(subselect,-1);
       } catch (Exception e) {
         theLog.printDebugInfo("-- get uploadedMedia failed " + e.toString());
       }
index fe63a14..3094f76 100755 (executable)
@@ -20,6 +20,7 @@ import mir.misc.*;
 public class DatabaseMedia extends Database implements StorageObject{
 
   private static DatabaseMedia instance;
+  private static EntityRelation         relationMediaType;
 
   public static DatabaseMedia getInstance() throws StorageObjectException {
     if (instance == null) {
@@ -35,6 +36,7 @@ public class DatabaseMedia extends Database implements StorageObject{
     this.cache = new HashMap();
     this.hasTimestamp = false;
     this.theTable="media*";
+    relationMediaType = new EntityRelation("to_media_type", "id", DatabaseMediaType.getInstance(), EntityRelation.TO_ONE);
     try {
       this.theEntityClass = Class.forName("mircoders.entity.EntityMedia");
     }
@@ -43,5 +45,22 @@ public class DatabaseMedia extends Database implements StorageObject{
     }
   }
 
+  // methods
+
+
+  /**
+   * returns the comments that belong to the article (via entityrelation)
+   * where db-flag is_published is true
+   */
+  public Entity getMediaType(Entity ent) {
+    Entity type=null;
+    try {
+      type = relationMediaType.getOne(ent);
+    }
+    catch (StorageObjectException e) {
+      theLog.printError("DatabaseUploadedMedia :: failed to get media_type");
+    }
+    return type;
+  }
 
 }