X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fentity%2FEntityUploadedMedia.java;h=74cb05ce171f453d92699f35ccd51a52f64049d6;hb=0e53bd53e4d1b96185c7caa91a9537ae98b9958e;hp=13e34d89ecc1d792c376552ca54d9ea6626fa9f3;hpb=3d6d6279b8ad710d4ec72ddec1976894ef8099a4;p=mir.git diff --git a/source/mircoders/entity/EntityUploadedMedia.java b/source/mircoders/entity/EntityUploadedMedia.java index 13e34d89..74cb05ce 100755 --- a/source/mircoders/entity/EntityUploadedMedia.java +++ b/source/mircoders/entity/EntityUploadedMedia.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001, 2002 The Mir-coders group + * Copyright (C) 2001, 2002 The Mir-coders group * * This file is part of Mir. * @@ -18,72 +18,72 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * In addition, as a special exception, The Mir-coders gives permission to link - * the code of this program with the com.oreilly.servlet library, any library - * licensed under the Apache Software License, The Sun (tm) Java Advanced - * Imaging library (JAI), The Sun JIMI library (or with modified versions of - * the above that use the same license as the above), and distribute linked - * combinations including the two. You must obey the GNU General Public - * License in all respects for all of the code used other than the above - * mentioned libraries. If you modify this file, you may extend this exception - * to your version of the file, but you are not obligated to do so. If you do - * not wish to do so, delete this exception statement from your version. + * the code of this program with any library licensed under the Apache Software License, + * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library + * (or with modified versions of the above that use the same license as the above), + * and distribute linked combinations including the two. You must obey the + * GNU General Public License in all respects for all of the code used other than + * the above mentioned libraries. If you modify this file, you may extend this + * exception to your version of the file, but you are not obligated to do so. + * If you do not wish to do so, delete this exception statement from your version. */ - package mircoders.entity; -import java.sql.SQLException; -import java.util.Map; - -import freemarker.template.SimpleList; -import freemarker.template.SimpleScalar; -import freemarker.template.TemplateModel; -import freemarker.template.TemplateModelException; -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 java.sql.SQLException; +import java.util.Map; + +import mir.entity.AbstractEntity; +import mir.entity.Entity; +import mir.log.LoggerWrapper; +import mir.storage.DatabaseFailure; import mircoders.storage.DatabaseUploadedMedia; /** * * @author mh, mir-coders group - * @version $Id: EntityUploadedMedia.java,v 1.25 2003/04/10 03:31:47 zapata Exp $ + * @version $Id: EntityUploadedMedia.java,v 1.26.2.12 2005/03/26 11:26:26 zapata Exp $ */ - -public class EntityUploadedMedia extends Entity { - - +public class EntityUploadedMedia extends AbstractEntity { public EntityUploadedMedia() { super(); logger = new LoggerWrapper("Entity.UploadedMedia"); } - public EntityUploadedMedia(StorageObject theStorage) { - this(); - setStorage(theStorage); - } - - public void update() throws StorageObjectFailure { + public void update() throws DatabaseFailure { super.update(); + try { - 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); } @@ -92,126 +92,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; - } - - public TemplateModel get(java.lang.String key) throws TemplateModelException { - if (key.equals("url")) - return getUrl(); - return new SimpleScalar(getValue(key)); - } - - // @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 SimpleList 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; - } - }