Author: dspicar
Date: Fri Aug 31 13:46:30 2012
New Revision: 1379448

URL: http://svn.apache.org/viewvc?rev=1379448&view=rev
Log:
CLEREZZA-716: ImageReaderService now implements the ImageReader interface and 
delegates to the highest ranking ImageReader service. This allows for a nicer 
API.

Modified:
    
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
    
incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
    
incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java

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=1379448&r1=1379447&r2=1379448&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
 Fri Aug 31 13:46:30 2012
@@ -48,7 +48,8 @@ public class ImageMetaDataGenerator impl
 
                if (mediaType.getType().startsWith("image")) {
                        try {
-                               BufferedImage buffImage = 
imageReaderService.getImageReader().getBufferedImage(new 
ByteArrayInputStream(data));
+                               BufferedImage buffImage = 
imageReaderService.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=1379448&r1=1379447&r2=1379448&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
 Fri Aug 31 13:46:30 2012
@@ -37,7 +37,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
-import org.apache.felix.scr.annotations.Services;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.util.tracker.ServiceTracker;
 
@@ -51,9 +50,9 @@ import org.osgi.util.tracker.ServiceTrac
  * @author mir
  */
 @Component(metatype=true)
-@Services({
-       @Service(MetaDataGenerator.class),
-       @Service(AlternativeRepresentationGenerator.class)
+@Service({
+       MetaDataGenerator.class,
+       AlternativeRepresentationGenerator.class
 })
 
 public class AlternativeRepresentationGenerator implements MetaDataGenerator {
@@ -206,8 +205,8 @@ public class AlternativeRepresentationGe
                try {
                        isAltRepresentation.set(Boolean.TRUE);
                        InfoDiscobit infoBit = 
InfoDiscobit.createInstance(infoBitNode);
-                       BufferedImage buffImage = 
imageReaderService.getImageReader().
-                                getBufferedImage(new 
ByteArrayInputStream(infoBit.getData()));
+                       BufferedImage buffImage = 
imageReaderService.getBufferedImage(
+                                new ByteArrayInputStream(infoBit.getData()));
                        return generateAlternativeImage(buffImage, new 
Resolution(width, height), 
                                        
MediaType.valueOf(infoBit.getContentType()), infoBitNode, exact);
                } catch (IOException ex) {
@@ -221,8 +220,8 @@ public class AlternativeRepresentationGe
                        GraphNode node) throws RuntimeException {
                try {
                        isAltRepresentation.set(Boolean.TRUE);
-                       BufferedImage buffImage = 
imageReaderService.getImageReader().
-                                getBufferedImage(new 
ByteArrayInputStream(data));
+                       BufferedImage buffImage = 
imageReaderService.getBufferedImage(
+                                new ByteArrayInputStream(data));
                        int imgWidth = buffImage.getWidth();
                        int imgHeigth = buffImage.getHeight();
                        for (Resolution resolution : resolutions) {

Modified: 
incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java?rev=1379448&r1=1379447&r2=1379448&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
 (original)
+++ 
incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
 Fri Aug 31 13:46:30 2012
@@ -35,12 +35,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-
 import javax.imageio.ImageIO;
-
-import org.osgi.service.component.ComponentContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.clerezza.rdf.core.TripleCollection;
 import org.apache.clerezza.rdf.core.serializedform.Parser;
 import org.apache.clerezza.rdf.core.serializedform.Serializer;
@@ -55,7 +50,9 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
-import org.apache.felix.scr.annotations.Services;
+import org.osgi.service.component.ComponentContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class implements interfaces that execute system calls to imageMagick.
@@ -79,9 +76,9 @@ import org.apache.felix.scr.annotations.
        @Property(name="minor_release_number", intValue=10, 
description="Specifies ImageMagick minor revision number (Syntax: 
release.version.majorRevision-minorRevision)."),
        @Property(name="service.ranking", value="100")
        })
-@Services({
-       @Service(ImageProcessor.class),
-       @Service(MetaDataProcessor.class)
+@Service({
+       ImageProcessor.class,
+       MetaDataProcessor.class
        })
 
 public class ImageMagickProvider extends ImageProcessor implements 
MetaDataProcessor {
@@ -568,8 +565,8 @@ public class ImageMagickProvider extends
                                return null;
                        }
 
-                       return 
imageReaderService.getImageReader().getBufferedImage(
-                                execCommand(command, 
baos.toByteArray()).getInputStream());
+                       return imageReaderService.getBufferedImage(execCommand(
+                                command, baos.toByteArray()).getInputStream());
                        
                } catch (InterruptedException ex) {
                        logger.warn("ImageMagick has been interrupted");

Modified: 
incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java?rev=1379448&r1=1379447&r2=1379448&view=diff
==============================================================================
--- 
incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java
 (original)
+++ 
incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java
 Fri Aug 31 13:46:30 2012
@@ -15,6 +15,11 @@
  */
 package org.apache.clerezza.utils.imageprocessing;
 
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
@@ -39,7 +44,7 @@ import org.osgi.service.component.Compon
         cardinality = ReferenceCardinality.MANDATORY_MULTIPLE, 
         policy = ReferencePolicy.STATIC, 
         strategy = ReferenceStrategy.LOOKUP)
-public class ImageReaderService {
+public class ImageReaderService implements ImageReader {
     
     private ComponentContext componentContext;
     
@@ -61,6 +66,48 @@ public class ImageReaderService {
                     ImageReaderService.class.getSimpleName()));
         }
     }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * <p>
+     * This method delegates to the {@link ImageReader} service with the 
+     * highest service ranking. In case of a tie the service with the lowest 
+     * service id is used.
+     * </p>
+     */
+    @Override
+    public BufferedImage getBufferedImage(File file) throws IOException {
+        return this.getImageReader().getBufferedImage(file);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * <p>
+     * This method delegates to the {@link ImageReader} service with the 
+     * highest service ranking. In case of a tie the service with the lowest 
+     * service id is used.
+     * </p>
+     */
+    @Override
+    public BufferedImage getBufferedImage(InputStream in) throws IOException {
+        return this.getImageReader().getBufferedImage(in);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * <p>
+     * This method delegates to the {@link ImageReader} service with the 
+     * highest service ranking. In case of a tie the service with the lowest 
+     * service id is used.
+     * </p>
+     */
+    @Override
+    public BufferedImage getBufferedImage(URL url) throws IOException {
+        return this.getImageReader().getBufferedImage(url);
+    }
     
     /**
      * Called when this component is enabled (when this services references 
are 


Reply via email to