You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by ds...@apache.org on 2012/08/31 18:11:28 UTC

svn commit: r1379493 - in /incubator/clerezza/trunk: platform.content.imagemetadata/ platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ platform.content.representations/platform.content.representations.core...

Author: dspicar
Date: Fri Aug 31 16:11:27 2012
New Revision: 1379493

URL: http://svn.apache.org/viewvc?rev=1379493&view=rev
Log:
CLEREZZA-716: Added Support alternate image processing libraries for reading image data 

Added:
    incubator/clerezza/trunk/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageIOImageReader.java
      - copied unchanged from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageIOImageReader.java
    incubator/clerezza/trunk/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReader.java
      - copied unchanged from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReader.java
    incubator/clerezza/trunk/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java
      - copied unchanged from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/java/org/apache/clerezza/utils/imageprocessing/ImageReaderService.java
    incubator/clerezza/trunk/utils.imageprocessing/src/main/resources/
      - copied from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/resources/
    incubator/clerezza/trunk/utils.imageprocessing/src/main/resources/META-INF/
      - copied from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/resources/META-INF/
    incubator/clerezza/trunk/utils.imageprocessing/src/main/resources/META-INF/documentation.nt
      - copied unchanged from r1379485, incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing/src/main/resources/META-INF/documentation.nt
Modified:
    incubator/clerezza/trunk/platform.content.imagemetadata/   (props changed)
    incubator/clerezza/trunk/platform.content.imagemetadata/pom.xml
    incubator/clerezza/trunk/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
    incubator/clerezza/trunk/platform.content.representations/platform.content.representations.core/   (props changed)
    incubator/clerezza/trunk/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java
    incubator/clerezza/trunk/utils.imagemagick/   (props changed)
    incubator/clerezza/trunk/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
    incubator/clerezza/trunk/utils.imageprocessing/   (props changed)

Propchange: incubator/clerezza/trunk/platform.content.imagemetadata/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Aug 31 16:11:27 2012
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-716/platform.content.imagemetadata:1377751-1379492

Modified: incubator/clerezza/trunk/platform.content.imagemetadata/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/platform.content.imagemetadata/pom.xml?rev=1379493&r1=1379492&r2=1379493&view=diff
==============================================================================
--- incubator/clerezza/trunk/platform.content.imagemetadata/pom.xml (original)
+++ incubator/clerezza/trunk/platform.content.imagemetadata/pom.xml Fri Aug 31 16:11:27 2012
@@ -45,6 +45,10 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.clerezza</groupId>
+			<artifactId>utils.imageprocessing</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.clerezza</groupId>
 			<artifactId>rdf.metadata</artifactId>
 		</dependency>
 		<dependency>

Modified: incubator/clerezza/trunk/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java?rev=1379493&r1=1379492&r2=1379493&view=diff
==============================================================================
--- incubator/clerezza/trunk/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java (original)
+++ incubator/clerezza/trunk/platform.content.imagemetadata/src/main/java/org/apache/clerezza/platform/content/imagemetadata/ImageMetaDataGenerator.java Fri Aug 31 16:11:27 2012
@@ -21,14 +21,15 @@ 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.ImageReaderService;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 
 /**
  * This class generates metadata about image data.
@@ -39,12 +40,16 @@ import org.apache.clerezza.rdf.ontologie
 @Service(MetaDataGenerator.class)
 public class ImageMetaDataGenerator implements MetaDataGenerator {
 
+	@Reference
+	private ImageReaderService imageReaderService;
+        
 	@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 = imageReaderService.getBufferedImage(
+                                        new ByteArrayInputStream(data));
 				node.deleteProperties(EXIF.width);
 				node.deleteProperties(EXIF.height);
 				node.addProperty(EXIF.width, LiteralFactory.getInstance().

Propchange: incubator/clerezza/trunk/platform.content.representations/platform.content.representations.core/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Aug 31 16:11:27 2012
@@ -0,0 +1,4 @@
+/incubator/clerezza/issues/CLEREZZA-126/org.apache.clerezza.platform.content.representations/platform.content.representations.core:910212-916002
+/incubator/clerezza/issues/CLEREZZA-248/org.apache.clerezza.platform.content.representations/platform.content.representations.core:958551-959023
+/incubator/clerezza/issues/CLEREZZA-38/org.apache.clerezza.platform.content.representations/platform.content.representations.core:893127-895998
+/incubator/clerezza/issues/CLEREZZA-716/platform.content.representations/platform.content.representations.core:1377751-1379488

Modified: incubator/clerezza/trunk/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/trunk/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java?rev=1379493&r1=1379492&r2=1379493&view=diff
==============================================================================
--- incubator/clerezza/trunk/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java (original)
+++ incubator/clerezza/trunk/platform.content.representations/platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/AlternativeRepresentationGenerator.java Fri Aug 31 16:11:27 2012
@@ -27,16 +27,16 @@ 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.ImageProcessor;
+import org.apache.clerezza.utils.imageprocessing.ImageReaderService;
 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.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;
 
@@ -50,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 {
@@ -97,6 +97,9 @@ public class AlternativeRepresentationGe
 
 	@Reference
 	private ImageProcessor imageProcessor;
+        
+        @Reference
+	private ImageReaderService imageReaderService;
 
 	@Property(value="100x100,200x200", description="Specifies the resolutions of alternative" +
 			" representations in the format [width]x[height]. Multiple resolutions" +
@@ -202,7 +205,8 @@ public class AlternativeRepresentationGe
 		try {
 			isAltRepresentation.set(Boolean.TRUE);
 			InfoDiscobit infoBit = InfoDiscobit.createInstance(infoBitNode);
-			BufferedImage buffImage = ImageIO.read(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) {
@@ -216,7 +220,8 @@ public class AlternativeRepresentationGe
 			GraphNode node) throws RuntimeException {
 		try {
 			isAltRepresentation.set(Boolean.TRUE);
-			BufferedImage buffImage = ImageIO.read(new ByteArrayInputStream(data));
+			BufferedImage buffImage = imageReaderService.getBufferedImage(
+                                new ByteArrayInputStream(data));
 			int imgWidth = buffImage.getWidth();
 			int imgHeigth = buffImage.getHeight();
 			for (Resolution resolution : resolutions) {

Propchange: incubator/clerezza/trunk/utils.imagemagick/
------------------------------------------------------------------------------
  Merged /incubator/clerezza/issues/CLEREZZA-716/utils.imagemagick:r1379445-1379485

Modified: incubator/clerezza/trunk/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java?rev=1379493&r1=1379492&r2=1379493&view=diff
==============================================================================
--- incubator/clerezza/trunk/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java (original)
+++ incubator/clerezza/trunk/utils.imagemagick/src/main/java/org/apache/clerezza/utils/imagemagick/ImageMagickProvider.java Fri Aug 31 16:11:27 2012
@@ -35,16 +35,12 @@ 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;
 import org.apache.clerezza.utils.imageprocessing.ImageProcessor;
+import org.apache.clerezza.utils.imageprocessing.ImageReaderService;
 import org.apache.clerezza.utils.imageprocessing.metadataprocessing.ExifTagDataSet;
 import org.apache.clerezza.utils.imageprocessing.metadataprocessing.IptcDataSet;
 import org.apache.clerezza.utils.imageprocessing.metadataprocessing.MetaData;
@@ -54,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.
@@ -78,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 {
@@ -94,6 +92,9 @@ public class ImageMagickProvider extends
 
 	@Reference
 	private Serializer serializer;
+        
+        @Reference
+	private ImageReaderService imageReaderService;
 
 	private final Logger logger = LoggerFactory.getLogger(getClass());
 
@@ -564,8 +565,8 @@ public class ImageMagickProvider extends
 				return null;
 			}
 
-			return ImageIO.read(execCommand(command, baos.toByteArray()).
-					getInputStream());
+			return imageReaderService.getBufferedImage(execCommand(
+                                command, baos.toByteArray()).getInputStream());
 			
 		} catch (InterruptedException ex) {
 			logger.warn("ImageMagick has been interrupted");

Propchange: incubator/clerezza/trunk/utils.imageprocessing/
------------------------------------------------------------------------------
  Merged /incubator/clerezza/issues/CLEREZZA-716/utils.imageprocessing:r1377751-1379485