From: mh Date: Tue, 9 Oct 2001 21:14:07 +0000 (+0000) Subject: This reverts to making the images table inherit from media and no longer uploaded_med... X-Git-Tag: prexmlproducerconfig~357 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=a0061f3bdba87b5f519e734294c9f30e89265743;p=mir.git This reverts to making the images table inherit from media and no longer uploaded_media. sorry for the confusion. it was unnecessary. --- diff --git a/dbscripts/create_pg.sql b/dbscripts/create_pg.sql index 9173fdf5..c8936554 100755 --- a/dbscripts/create_pg.sql +++ b/dbscripts/create_pg.sql @@ -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) diff --git a/source/mircoders/entity/EntityMedia.java b/source/mircoders/entity/EntityMedia.java index a0f93218..d43fdeca 100755 --- a/source/mircoders/entity/EntityMedia.java +++ b/source/mircoders/entity/EntityMedia.java @@ -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(); diff --git a/source/mircoders/producer/ProducerContent.java b/source/mircoders/producer/ProducerContent.java index c482d738..abfd9115 100755 --- a/source/mircoders/producer/ProducerContent.java +++ b/source/mircoders/producer/ProducerContent.java @@ -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 diff --git a/source/mircoders/producer/ProducerList.java b/source/mircoders/producer/ProducerList.java index bb44d4f0..7989c2b0 100755 --- a/source/mircoders/producer/ProducerList.java +++ b/source/mircoders/producer/ProducerList.java @@ -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 diff --git a/source/mircoders/producer/ProducerStartPage.java b/source/mircoders/producer/ProducerStartPage.java index d5aae414..8fe05c68 100755 --- a/source/mircoders/producer/ProducerStartPage.java +++ b/source/mircoders/producer/ProducerStartPage.java @@ -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 diff --git a/source/mircoders/storage/DatabaseContentToMedia.java b/source/mircoders/storage/DatabaseContentToMedia.java index 3a1fb527..8466e9e4 100755 --- a/source/mircoders/storage/DatabaseContentToMedia.java +++ b/source/mircoders/storage/DatabaseContentToMedia.java @@ -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()); } diff --git a/source/mircoders/storage/DatabaseMedia.java b/source/mircoders/storage/DatabaseMedia.java index fe63a14a..3094f764 100755 --- a/source/mircoders/storage/DatabaseMedia.java +++ b/source/mircoders/storage/DatabaseMedia.java @@ -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; + } }