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);
}
*
* @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;
- }
-
}