1.3 jvm compatibility fixes
[mir.git] / source / mircoders / entity / EntityUploadedMedia.java
index 71c7cd8..578ad4b 100755 (executable)
 package mircoders.entity;
 
 import java.sql.SQLException;
-import java.util.List;
 import java.util.Map;
 
+import mir.entity.AbstractEntity;
 import mir.entity.Entity;
 import mir.log.LoggerWrapper;
-import mir.media.MediaHelper;
-import mir.media.MirMedia;
-import mir.misc.NumberUtils;
-import mir.storage.StorageObject;
-import mir.storage.StorageObjectFailure;
+import mir.storage.DatabaseFailure;
 import mircoders.storage.DatabaseUploadedMedia;
 
 /**
  *
  * @author mh, mir-coders group
- * @version $Id: EntityUploadedMedia.java,v 1.26.2.2 2003/11/24 23:37:18 rk Exp $
+ * @version $Id: EntityUploadedMedia.java,v 1.26.2.13 2005/10/30 00:46:58 zapata Exp $
  */
 
-
-public class EntityUploadedMedia extends Entity {
-
-
-  public EntityUploadedMedia() {
-    super();
-
-    logger = new LoggerWrapper("Entity.UploadedMedia");
-  }
-
-  public EntityUploadedMedia(StorageObject theStorage) {
-    this();
-    setStorage(theStorage);
-  }
-
-  public void update() throws StorageObjectFailure {
+public class EntityUploadedMedia extends AbstractEntity {
+  public void update() throws DatabaseFailure {
     super.update();
+
     try {
-      // TODO rewrite as relational sql
-      theStorageObject.executeUpdate("update content set is_produced='0' where exists(select * from content_x_media where to_content=content.id and to_media=" + getId()+")");
+      database.executeUpdate(
+          "update content " +
+          "set is_produced='0' " +
+          "from content_x_media cxm " +
+          "where" +
+          "   cxm.content_id=content.id and cxm.media_id=" + getId()
+      );
+
+      database.executeUpdate(
+          "update content " +
+          "set is_produced='0' " +
+          "from comment_x_media cxm, comment c "+
+          "where " +
+          "   cxm.comment_id = c.id and " +
+          "   c.to_media=content.id and " +
+          "   cxm.media_id=" + getId()
+      );
     }
     catch (SQLException e) {
-      throwStorageObjectFailure(e, "EntityAudio :: update :: failed!! ");
+      throw new DatabaseFailure(e);
     }
   }
 
-  public void setValues(Map theStringValues) {
+  public void setFieldValues(Map theStringValues) {
     if (theStringValues != null) {
       if (!theStringValues.containsKey("is_published"))
         theStringValues.put("is_published", "0");
     }
-    super.setValues(theStringValues);
+    super.setFieldValues(theStringValues);
   }
 
 
@@ -88,120 +86,14 @@ public class EntityUploadedMedia extends Entity {
    *
    * @return mir.entity.Entity
    */
-  public Entity getMediaType() throws StorageObjectFailure {
+  public Entity getMediaType() throws DatabaseFailure {
     Entity ent = null;
     try {
       ent = DatabaseUploadedMedia.getInstance().getMediaType(this);
     }
-    catch (StorageObjectFailure e) {
-      throwStorageObjectFailure(e, "get MediaType failed -- ");
+    catch (DatabaseFailure e) {
+      throw new DatabaseFailure(e);
     }
     return ent;
   }
-
-  public String getValue(String key) {
-    String returnValue = null;
-
-    if (key != null) {
-      if (key.equals("big_icon"))
-        returnValue = getBigIconName();
-      else if (key.equals("descr") || key.equals("media_descr"))
-        returnValue = getDescr();
-      else if (key.equals("mediatype"))
-        returnValue = getMediaTypeString();
-      else if (key.equals("mimetype"))
-        returnValue = getMimeType();
-      else if (key.equals("human_readable_size")) {
-        String size = super.getValue("size");
-        if (size != null)
-          returnValue = NumberUtils.humanReadableSize(Double.parseDouble(size));
-      }
-      else
-        returnValue = super.getValue(key);
-    }
-    return returnValue;
-  }
-
-  // @todo  all these methods should be merged into 1
-  // and the MediaHandler should be cached somehow.
-  private String getMediaTypeString() {
-    MirMedia mediaHandler = null;
-    Entity mediaType = null;
-
-    try {
-      mediaType = getMediaType();
-      mediaHandler = MediaHelper.getHandler(mediaType);
-      String t;
-      if (mediaHandler.isAudio())
-        return "audio";
-      else if (mediaHandler.isImage())
-        return "image";
-      else if (mediaHandler.isVideo())
-        return "video";
-      else
-        return "other";
-    }
-    catch (Exception ex) {
-      logger.warn("EntityUploadedMedia.getMediaTypeString: could not fetch data: " + ex.toString());
-    }
-    return null;
-  }
-
-  private String getBigIconName() {
-    MirMedia mediaHandler = null;
-    Entity mediaType = null;
-
-    try {
-      mediaType = getMediaType();
-      mediaHandler = MediaHelper.getHandler(mediaType);
-      return mediaHandler.getBigIconName();
-    }
-    catch (Exception ex) {
-      logger.warn("EntityUploadedMedia.getBigIconName: could not fetch data: " + ex.toString());
-    }
-    return null;
-  }
-
-  private List getUrl() {
-    MirMedia mediaHandler = null;
-    Entity mediaType = null;
-
-    try {
-      mediaType = getMediaType();
-      mediaHandler = MediaHelper.getHandler(mediaType);
-      return mediaHandler.getURL(this, mediaType);
-    }
-    catch (Throwable t) {
-      logger.warn("EntityUploadedMedia.getUrl: could not fetch data: " + t.toString());
-    }
-    return null;
-  }
-
-  private String getDescr() {
-    MirMedia mediaHandler = null;
-    Entity mediaType = null;
-
-    try {
-      mediaType = getMediaType();
-      mediaHandler = MediaHelper.getHandler(mediaType);
-      return mediaHandler.getDescr(mediaType);
-    }
-    catch (Exception ex) {
-      logger.warn("EntityUploadedMedia.getDescr: could not fetch data: " + ex.toString());
-    }
-    return null;
-  }
-  private String getMimeType() {
-    Entity mediaType = null;
-
-    try {
-      mediaType = getMediaType();
-      return mediaType.getValue("mime_type");
-    }
-    catch (Exception ex) {
-      logger.warn("EntityUploadedMedia.getBigIconName: could not fetch data: " + ex.toString());
-    }
-    return null;
-  }
-
 }