You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ed...@apache.org on 2006/01/18 10:50:30 UTC

svn commit: r370097 - in /lenya/trunk/src/java/org/apache/lenya/cms: metadata/LenyaMetaData.java publication/DefaultResourcesManager.java

Author: edith
Date: Wed Jan 18 01:50:21 2006
New Revision: 370097

URL: http://svn.apache.org/viewcvs?rev=370097&view=rev
Log:
Set the width and the height of the uploaded image in the lenya meta data

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/metadata/LenyaMetaData.java
    lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/metadata/LenyaMetaData.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/metadata/LenyaMetaData.java?rev=370097&r1=370096&r2=370097&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/metadata/LenyaMetaData.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/metadata/LenyaMetaData.java Wed Jan 18 01:50:21 2006
@@ -60,11 +60,16 @@
      */
     public static final String ELEMENT_PLACEHOLDER = "placeholder";
 
+    public static final String ELEMENTE_HEIGHT = "height";
+    public static final String ELEMENT_WIDTH = "width";
+
     public static final String[] ELEMENTS = {
        ELEMENT_RESOURCE_TYPE,
        ELEMENT_CONTENT_TYPE,
        ELEMENT_WORKFLOW_VERSION,
-       ELEMENT_PLACEHOLDER
+       ELEMENT_PLACEHOLDER,
+       ELEMENTE_HEIGHT,
+       ELEMENT_WIDTH
     };
 
     /**

Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java?rev=370097&r1=370096&r2=370097&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java Wed Jan 18 01:50:21 2006
@@ -17,6 +17,7 @@
 
 package org.apache.lenya.cms.publication;
 
+import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.FileNotFoundException;
@@ -24,9 +25,12 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.imageio.ImageIO;
+
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
@@ -127,7 +131,6 @@
 
             String mimeType = part.getMimeType();
             int fileSize = part.getSize();
-
             /*
              * complement and create the meta description for the resource.
              */
@@ -135,6 +138,15 @@
             metadata.put("extent", Integer.toString(fileSize));
             Map lenyaMetaData = new HashMap(1);
             lenyaMetaData.put(LenyaMetaData.ELEMENT_CONTENT_TYPE, "asset");
+
+            if (canReadMimeType(mimeType)) {
+                BufferedImage input = ImageIO.read(part.getInputStream());
+                String width = Integer.toString(input.getWidth());
+                String height = Integer.toString(input.getHeight());
+                lenyaMetaData.put(LenyaMetaData.ELEMENT_WIDTH, width);
+                lenyaMetaData.put(LenyaMetaData.ELEMENTE_HEIGHT, height);
+            }    
+
             resource.getMetaDataManager().setMetaData(metadata, lenyaMetaData, null);
 
             saveResource(resource, part);
@@ -150,6 +162,10 @@
             getLogger().debug("DefaultResourcesManager::addResource() done.");
     }
 
+    public static boolean canReadMimeType(String mimeType) {
+        Iterator iter = ImageIO.getImageReadersByMIMEType(mimeType);
+        return iter.hasNext();
+    } 
     /**
      * Saves the resource to a file.
      * @param resource The resource.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org