You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2012/03/17 10:53:14 UTC

svn commit: r1301904 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: SanselanConstants.java formats/tiff/TiffDirectory.java formats/tiff/TiffImageMetadata.java formats/tiff/TiffImageParser.java

Author: damjan
Date: Sat Mar 17 09:53:14 2012
New Revision: 1301904

URL: http://svn.apache.org/viewvc?rev=1301904&view=rev
Log:
Eliminate the byte order parameter.


Modified:
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/SanselanConstants.java
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/SanselanConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/SanselanConstants.java?rev=1301904&r1=1301903&r2=1301904&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/SanselanConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/SanselanConstants.java Sat Mar 17 09:53:14 2012
@@ -123,12 +123,4 @@ public interface SanselanConstants
      * Valid values: PixelDensity
      */
     public static final String PARAM_KEY_PIXEL_DENSITY = "PIXEL_DENSITY";
-    
-    /**
-     * Parameter key. Used in Tiff operations to use the byte order
-     * of the Tiff image.
-     * <p>
-     * Valid values: any Integer
-     */
-    public static final String BYTE_ORDER = "BYTE_ORDER";
 }

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java?rev=1301904&r1=1301903&r2=1301904&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java Sat Mar 17 09:53:14 2012
@@ -152,19 +152,19 @@ public class TiffDirectory extends TiffE
         return false;
     }
 
-    public BufferedImage getTiffImage() throws ImageReadException, IOException
+    public BufferedImage getTiffImage(int byteOrder) throws ImageReadException, IOException
     {
         Map params = null;
-        return getTiffImage(params);
+        return getTiffImage(byteOrder, params);
     }
 
-    public BufferedImage getTiffImage(Map params) throws ImageReadException,
+    public BufferedImage getTiffImage(int byteOrder, Map params) throws ImageReadException,
             IOException
     {
         if (null == tiffImageData)
             return null;
 
-        return new TiffImageParser().getBufferedImage(this, params);
+        return new TiffImageParser().getBufferedImage(this, byteOrder, params);
     }
 
     public TiffField findField(TagInfo tag) throws ImageReadException

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java?rev=1301904&r1=1301903&r2=1301904&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java Sat Mar 17 09:53:14 2012
@@ -87,11 +87,13 @@ public class TiffImageMetadata extends I
         public final int type;
 
         private final TiffDirectory directory;
+        private final int byteOrder;
 
-        public Directory(final TiffDirectory directory)
+        public Directory(int byteOrder, final TiffDirectory directory)
         {
             this.type = directory.type;
             this.directory = directory;
+            this.byteOrder = byteOrder;
         }
 
         public void add(TiffField entry)
@@ -102,7 +104,7 @@ public class TiffImageMetadata extends I
         public BufferedImage getThumbnail() throws ImageReadException,
                 IOException
         {
-            return directory.getTiffImage();
+            return directory.getTiffImage(byteOrder);
         }
 
         public TiffImageData getTiffImageData()

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java?rev=1301904&r1=1301903&r2=1301904&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java Sat Mar 17 09:53:14 2012
@@ -130,7 +130,8 @@ public class TiffImageParser extends Ima
             throws ImageReadException, IOException
     {
         FormatCompliance formatCompliance = FormatCompliance.getDefault();
-        TiffContents contents = new TiffReader(isStrict(params)).readContents(
+        TiffReader tiffReader = new TiffReader(isStrict(params));
+        TiffContents contents = tiffReader.readContents(
                 byteSource, params, formatCompliance);
 
         List<TiffDirectory> directories = contents.directories;
@@ -141,7 +142,7 @@ public class TiffImageParser extends Ima
         {
             TiffDirectory dir = directories.get(i);
 
-            TiffImageMetadata.Directory metadataDirectory = new TiffImageMetadata.Directory(dir);
+            TiffImageMetadata.Directory metadataDirectory = new TiffImageMetadata.Directory(tiffReader.getByteOrder(), dir);
 
             List<TiffField> entries = dir.getDirectoryEntrys();
 
@@ -446,11 +447,7 @@ public class TiffImageParser extends Ima
         int byteOrder = reader.getByteOrder();
         TiffContents contents = reader.readFirstDirectory(byteSource, params, true, formatCompliance);
         TiffDirectory directory = contents.directories.get(0);
-        if(params == null) {
-            params = new HashMap<String, Integer>();
-        }
-        params.put(BYTE_ORDER, byteOrder);
-        BufferedImage result = directory.getTiffImage(params);
+        BufferedImage result = directory.getTiffImage(byteOrder, params);
         if (null == result)
             throw new ImageReadException("TIFF does not contain an image.");
         return result;
@@ -460,12 +457,13 @@ public class TiffImageParser extends Ima
             throws ImageReadException, IOException
     {
         FormatCompliance formatCompliance = FormatCompliance.getDefault();
-        TiffContents contents = new TiffReader(true).readDirectories(byteSource, true, formatCompliance);
+        TiffReader tiffReader = new TiffReader(true);
+        TiffContents contents = tiffReader.readDirectories(byteSource, true, formatCompliance);
         List<BufferedImage> results = new ArrayList<BufferedImage>();
         for (int i = 0; i < contents.directories.size(); i++)
         {
             TiffDirectory directory = contents.directories.get(i);
-            BufferedImage result = directory.getTiffImage(null);
+            BufferedImage result = directory.getTiffImage(tiffReader.getByteOrder(), null);
             if (result != null)
             {
                 results.add(result);
@@ -474,21 +472,11 @@ public class TiffImageParser extends Ima
         return results;
     } 
 
-    protected BufferedImage getBufferedImage(TiffDirectory directory, Map params)
+    protected BufferedImage getBufferedImage(TiffDirectory directory, int byteOrder, Map params)
             throws ImageReadException, IOException
     {
         List<TiffField> entries = directory.entries;
         
-        int byteOrder = BYTE_ORDER_LITTLE_ENDIAN; //taking little endian to be default
-        if(params != null){
-            if(params.containsKey(BYTE_ORDER)) {
-                Object obj = params.get(BYTE_ORDER);
-                if(obj instanceof Integer) {
-                    Integer a = (Integer)obj;
-                    byteOrder = a.intValue();
-                }
-            }
-        }
         if (entries == null)
             throw new ImageReadException("TIFF missing entries");