Author: dspicar
Date: Mon Aug 27 17:13:47 2012
New Revision: 1377750

URL: http://svn.apache.org/viewvc?rev=1377750&view=rev
Log:
CLEREZZA-716: first version of BufferedImageProvider service.

Added:
    incubator/clerezza/issues/CLEREZZA-716/
    incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/
      - copied from r1377741, 
incubator/clerezza/trunk/platform.content.imagemetadata/
    incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/
      - copied from r1377741, 
incubator/clerezza/trunk/platform.content.representations/
    incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/
      - copied from r1377741, incubator/clerezza/trunk/utils.imageprocessing/
Modified:
    
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/pom.xml
    
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
    
incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java

Modified: 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/pom.xml?rev=1377750&r1=1377741&r2=1377750&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/pom.xml 
(original)
+++ 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/pom.xml 
Mon Aug 27 17:13:47 2012
@@ -48,6 +48,10 @@
                        <artifactId>rdf.metadata</artifactId>
                </dependency>
                <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>utils.imageprocessing</artifactId>
+               </dependency>
+               <dependency>
                        <groupId>org.apache.felix</groupId>
                        
<artifactId>org.apache.felix.scr.annotations</artifactId>
                </dependency>

Modified: 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java?rev=1377750&r1=1377741&r2=1377750&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
 (original)
+++ 
incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
 Mon Aug 27 17:13:47 2012
@@ -21,14 +21,16 @@ package org.apache.clerezza.platform.con
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
-import javax.imageio.ImageIO;
 import javax.ws.rs.core.MediaType;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.clerezza.rdf.utils.GraphNode;
 import org.apache.clerezza.rdf.core.LiteralFactory;
 import org.apache.clerezza.rdf.metadata.MetaDataGenerator;
 import org.apache.clerezza.rdf.ontologies.EXIF;
+import org.apache.clerezza.rdf.utils.GraphNode;
+import org.apache.clerezza.utils.imageprocessing.BufferedImageProvider;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.Service;
 
 /**
  * This class generates metadata about image data.
@@ -39,12 +41,15 @@ import org.apache.clerezza.rdf.ontologie
 @Service(MetaDataGenerator.class)
 public class ImageMetaDataGenerator implements MetaDataGenerator {
 
+       @Reference(cardinality=ReferenceCardinality.MANDATORY_UNARY)
+       private BufferedImageProvider bufferedImageProvider;
+        
        @Override
        public void generate(GraphNode node, byte[] data, MediaType mediaType) {
 
                if (mediaType.getType().startsWith("image")) {
                        try {
-                               BufferedImage buffImage = ImageIO.read(new 
ByteArrayInputStream(data));
+                               BufferedImage buffImage = 
bufferedImageProvider.getBufferedImage(new ByteArrayInputStream(data));
                                node.deleteProperties(EXIF.width);
                                node.deleteProperties(EXIF.height);
                                node.addProperty(EXIF.width, 
LiteralFactory.getInstance().

Modified: 
incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java?rev=1377750&r1=1377741&r2=1377750&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java
 (original)
+++ 
incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java
 Mon Aug 27 17:13:47 2012
@@ -27,15 +27,17 @@ import javax.imageio.ImageIO;
 import javax.ws.rs.core.MediaType;
 import org.apache.clerezza.platform.content.DiscobitsHandler;
 import org.apache.clerezza.platform.content.InfoDiscobit;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.metadata.MetaDataGenerator;
+import org.apache.clerezza.rdf.ontologies.DISCOBITS;
+import org.apache.clerezza.rdf.utils.GraphNode;
+import org.apache.clerezza.utils.imageprocessing.BufferedImageProvider;
+import org.apache.clerezza.utils.imageprocessing.ImageProcessor;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Service;
-import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.clerezza.utils.imageprocessing.ImageProcessor;
-import org.apache.clerezza.rdf.ontologies.DISCOBITS;
-import org.apache.clerezza.rdf.utils.GraphNode;
-import org.apache.clerezza.rdf.metadata.MetaDataGenerator;
 import org.apache.felix.scr.annotations.Services;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.util.tracker.ServiceTracker;
@@ -97,6 +99,9 @@ public class AlternativeRepresentationGe
 
        @Reference
        private ImageProcessor imageProcessor;
+        
+        @Reference(cardinality=ReferenceCardinality.MANDATORY_UNARY)
+       private BufferedImageProvider bufferedImageProvider;
 
        @Property(value="100x100,200x200", description="Specifies the 
resolutions of alternative" +
                        " representations in the format [width]x[height]. 
Multiple resolutions" +
@@ -202,7 +207,7 @@ public class AlternativeRepresentationGe
                try {
                        isAltRepresentation.set(Boolean.TRUE);
                        InfoDiscobit infoBit = 
InfoDiscobit.createInstance(infoBitNode);
-                       BufferedImage buffImage = ImageIO.read(new 
ByteArrayInputStream(infoBit.getData()));
+                       BufferedImage buffImage = 
bufferedImageProvider.getBufferedImage(new 
ByteArrayInputStream(infoBit.getData()));
                        return generateAlternativeImage(buffImage, new 
Resolution(width, height), 
                                        
MediaType.valueOf(infoBit.getContentType()), infoBitNode, exact);
                } catch (IOException ex) {
@@ -216,7 +221,7 @@ public class AlternativeRepresentationGe
                        GraphNode node) throws RuntimeException {
                try {
                        isAltRepresentation.set(Boolean.TRUE);
-                       BufferedImage buffImage = ImageIO.read(new 
ByteArrayInputStream(data));
+                       BufferedImage buffImage = 
bufferedImageProvider.getBufferedImage(new ByteArrayInputStream(data));
                        int imgWidth = buffImage.getWidth();
                        int imgHeigth = buffImage.getHeight();
                        for (Resolution resolution : resolutions) {


Reply via email to