X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fentity%2FEntityUploadedMedia.java;h=578ad4b6c4b097407dabec88310750cc284705cf;hb=d74a52d5f65389e5cf89d3fcf14d07afbb78a9f9;hp=278ba96ec0b2c4b8b36a6a4c2f428c5863d99a1d;hpb=2ddaac331c2278441d20cd1aa9fdd4c6f6ad6c5f;p=mir.git diff --git a/source/mircoders/entity/EntityUploadedMedia.java b/source/mircoders/entity/EntityUploadedMedia.java index 278ba96e..578ad4b6 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,59 +18,66 @@ * 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 freemarker.template.SimpleList; -import freemarker.template.SimpleScalar; -import freemarker.template.TemplateModel; -import freemarker.template.TemplateModelException; +import java.sql.SQLException; +import java.util.Map; + +import mir.entity.AbstractEntity; import mir.entity.Entity; -import mir.media.MediaHelper; -import mir.media.MirMedia; -import mir.storage.StorageObject; -import mir.storage.StorageObjectException; -import mir.misc.NumberUtils; +import mir.log.LoggerWrapper; +import mir.storage.DatabaseFailure; import mircoders.storage.DatabaseUploadedMedia; -import java.util.HashMap; - /** - * Diese Klasse enthält die Daten eines MetaObjekts * * @author mh, mir-coders group - * @version $Id: EntityUploadedMedia.java,v 1.15 2002/11/29 21:11:57 mh Exp $ + * @version $Id: EntityUploadedMedia.java,v 1.26.2.13 2005/10/30 00:46:58 zapata Exp $ */ +public class EntityUploadedMedia extends AbstractEntity { + public void update() throws DatabaseFailure { + super.update(); -public class EntityUploadedMedia extends Entity { - - - public EntityUploadedMedia() { - super(); - } - - public EntityUploadedMedia(StorageObject theStorage) { - this(); - setStorage(theStorage); + try { + 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) { + throw new DatabaseFailure(e); + } } - public void setValues(HashMap 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); } @@ -79,131 +86,14 @@ public class EntityUploadedMedia extends Entity { * * @return mir.entity.Entity */ - public Entity getMediaType() throws StorageObjectException { + public Entity getMediaType() throws DatabaseFailure { Entity ent = null; try { ent = DatabaseUploadedMedia.getInstance().getMediaType(this); } - catch (StorageObjectException e) { - throwStorageObjectException(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) { - theLog.printWarning("-- getMediaTypeString: could not fetch data " - + this.getClass().toString() + " " + 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) { - theLog.printWarning("-- getBigIconName: could not fetch data " - + this.getClass().toString() + " " + 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 (Exception ex) { - theLog.printWarning("-- getUrl: could not fetch data " - + this.getClass().toString() + " " + ex.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) { - theLog.printWarning("-- getDescr: could not fetch data " - + this.getClass().toString() + " " + ex.toString()); - } - return null; - } - private String getMimeType() { - Entity mediaType = null; - - try { - mediaType = getMediaType(); - return mediaType.getValue("mime_type"); - } - catch (Exception ex) { - theLog.printWarning("-- getBigIconName: could not fetch data " - + this.getClass().toString() + " " + ex.toString()); - } - return null; - } - }