svn commit: r1236071 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

2012-01-26 Thread damjan
Author: damjan
Date: Thu Jan 26 08:40:20 2012
New Revision: 1236071

URL: http://svn.apache.org/viewvc?rev=1236071view=rev
Log:
rowsPerStrip is meant to be a 32 bit unsigned integer,
since we store it in an int, and real-world TIFF
files use the value 2^32 - 1, it needs to be
promoted to a long when calculating tile height
with it.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java?rev=1236071r1=1236070r2=1236071view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 Thu Jan 26 08:40:20 2012
@@ -85,17 +85,18 @@ public final class DataReaderStrips exte
 {
 for (int strip = 0; strip  imageData.strips.length; strip++)
 {
-int rowsRemaining = height - (strip * rowsPerStrip);
-int rowsInThisStrip = Math.min(rowsRemaining, rowsPerStrip);
-int pixelsPerStrip = rowsInThisStrip * width;
-int bytesPerStrip = ((pixelsPerStrip * bitsPerPixel) + 7) / 8;
+long rowsPerStripLong = 0xL  rowsPerStrip;
+long rowsRemaining = height - (strip * rowsPerStripLong);
+long rowsInThisStrip = Math.min(rowsRemaining, rowsPerStripLong);
+long pixelsPerStrip = rowsInThisStrip * width;
+long bytesPerStrip = ((pixelsPerStrip * bitsPerPixel) + 7) / 8;
 
 byte compressed[] = imageData.strips[strip].data;
 
 byte decompressed[] = decompress(compressed, compression,
-bytesPerStrip, width, rowsInThisStrip);
+(int)bytesPerStrip, width, (int)rowsInThisStrip);
 
-interpretStrip(bi, decompressed, pixelsPerStrip);
+interpretStrip(bi, decompressed, (int)pixelsPerStrip);
 
 }
 }




svn commit: r1236072 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

2012-01-26 Thread damjan
Author: damjan
Date: Thu Jan 26 08:41:47 2012
New Revision: 1236072

URL: http://svn.apache.org/viewvc?rev=1236072view=rev
Log:
Deal with TIFF files with FillOrder=2.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java?rev=1236072r1=1236071r2=1236072view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
 Thu Jan 26 08:41:47 2012
@@ -109,6 +109,21 @@ public abstract class DataReader impleme
 protected byte[] decompress(byte compressed[], int compression,
 int expected_size, int tileWidth, int tileHeight) throws 
ImageReadException, IOException
 {
+TiffField fillOrderField = directory.findField(TIFF_TAG_FILL_ORDER);
+int fillOrder = 1;
+if (fillOrderField != null) {
+fillOrder = fillOrderField.getIntValue();
+}
+if (fillOrder == 1) {
+// good
+} else if (fillOrder == 2) {
+for (int i = 0; i  compressed.length; i++) {
+compressed[i] = (byte) (Integer.reverse(0xff  compressed[i]) 
 24);
+}
+} else {
+throw new ImageReadException(TIFF FillOrder= + fillOrder +  is 
invalid);
+}
+
 switch (compression)
 {
 case TIFF_COMPRESSION_UNCOMPRESSED : // None;




svn commit: r1236225 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

2012-01-26 Thread damjan
Author: damjan
Date: Thu Jan 26 15:07:49 2012
New Revision: 1236225

URL: http://svn.apache.org/viewvc?rev=1236225view=rev
Log:
Fix the GIF BitsPerPixel formula in GifImageParser's getImageInfo().

Jira issue key: SANSELAN-62

Submitted by: Piyush Kapoor pkapoor at adobe dot com


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java?rev=1236225r1=1236224r2=1236225view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 Thu Jan 26 15:07:49 2012
@@ -600,7 +600,7 @@ public class GifImageParser extends Imag
 
 Comments = getComments(blocks.blocks);
 
-int BitsPerPixel = (bhi.colorResolution + 1) * 3;
+int BitsPerPixel = (bhi.colorResolution + 1);
 ImageFormat Format = ImageFormat.IMAGE_FORMAT_GIF;
 String FormatName = GIF Graphics Interchange Format;
 String MimeType = image/gif;
@@ -1182,4 +1182,4 @@ public class GifImageParser extends Imag
 
 }
 }
-}
\ No newline at end of file
+}




svn commit: r1240468 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/common/itu_t4/ main/java/org/apache/commons/sanselan/formats/jpeg/ main/java/org/apache/commons/sans

2012-02-04 Thread damjan
Author: damjan
Date: Sat Feb  4 09:21:00 2012
New Revision: 1240468

URL: http://svn.apache.org/viewvc?rev=1240468view=rev
Log:
API immutability changes and Java 1.5 updates.

Deleted the unused legacy IptcConstants.IPTC_PREFIX array
(= IPTC_RECORD_TAG_MARKER + IPTC_APPLICATION_2_RECORD_NUMBER).
Converted IptcConstants.IPTC_TYPE_* to an enum.
Made some collections and classes generic.

Similar changes will be applied to the whole tree,
I am just starting here.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypes.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcType.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypeLookup.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcDumpTest.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcUpdateTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java?rev=1240468r1=1240467r2=1240468view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
 Sat Feb  4 09:21:00 2012
@@ -26,7 +26,7 @@ import org.apache.commons.sanselan.commo
  * A Huffman tree implemented as 1 array for high locality of reference.
  */
 class HuffmanTree {
-private static class Node {
+private final static class Node {
 boolean isEmpty = true;
 Object value = null;
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java?rev=1240468r1=1240467r2=1240468view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
 Sat Feb  4 09:21:00 2012
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.commons.sanselan.common.ImageMetadata;
 import org.apache.commons.sanselan.formats.jpeg.iptc.IptcConstants;
 import org.apache.commons.sanselan.formats.jpeg.iptc.IptcRecord;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IptcTypes;
 import org.apache.commons.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
 import org.apache.commons.sanselan.util.Debug;
 
@@ -35,12 +36,12 @@ public class JpegPhotoshopMetadata exten
 {
 this.photoshopApp13Data = photoshopApp13Data;
 
-List records = photoshopApp13Data.getRecords();
+ListIptcRecord records = photoshopApp13Data.getRecords();
 Collections.sort(records, IptcRecord.COMPARATOR);
 for (int j = 0; j  records.size(); j++)
 {
 IptcRecord element = (IptcRecord) records.get(j);
-if (element.iptcType.type != IPTC_TYPE_RECORD_VERSION.type)
+if (element.iptcType != IptcTypes.RECORD_VERSION)
 add(element.getIptcTypeName(), element.getValue());
 }
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcConstants.java?rev=1240468r1=1240467r2=1240468view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats

svn commit: r1240483 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg: iptc/JpegIptcRewriter.java xmp/JpegRewriter.java

2012-02-04 Thread damjan
Author: damjan
Date: Sat Feb  4 10:34:46 2012
New Revision: 1240483

URL: http://svn.apache.org/viewvc?rev=1240483view=rev
Log:
More conversion to generic types for IPTC classes.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java?rev=1240483r1=1240482r2=1240483view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
 Sat Feb  4 10:34:46 2012
@@ -117,13 +117,13 @@ public class JpegIptcRewriter extends Jp
 throws ImageReadException, IOException, ImageWriteException
 {
 JFIFPieces jfifPieces = analyzeJFIF(byteSource);
-List oldPieces = jfifPieces.pieces;
-List photoshopApp13Segments = findPhotoshopApp13Segments(oldPieces);
+ListJFIFPiece oldPieces = jfifPieces.pieces;
+ListJFIFPiece photoshopApp13Segments = 
findPhotoshopApp13Segments(oldPieces);
 
 if (photoshopApp13Segments.size()  1)
 throw new ImageReadException(
 Image contains more than one Photoshop App13 segment.);
-List newPieces = removePhotoshopApp13Segments(oldPieces);
+ListJFIFPiece newPieces = removePhotoshopApp13Segments(oldPieces);
 if (photoshopApp13Segments.size() == 1)
 {
 JFIFPieceSegment oldSegment = (JFIFPieceSegment) 
photoshopApp13Segments
@@ -220,17 +220,17 @@ public class JpegIptcRewriter extends Jp
 ImageWriteException
 {
 JFIFPieces jfifPieces = analyzeJFIF(byteSource);
-List oldPieces = jfifPieces.pieces;
-List photoshopApp13Segments = findPhotoshopApp13Segments(oldPieces);
+ListJFIFPiece oldPieces = jfifPieces.pieces;
+ListJFIFPiece photoshopApp13Segments = 
findPhotoshopApp13Segments(oldPieces);
 
 if (photoshopApp13Segments.size()  1)
 throw new ImageReadException(
 Image contains more than one Photoshop App13 segment.);
-List newPieces = removePhotoshopApp13Segments(oldPieces);
+ListJFIFPiece newPieces = removePhotoshopApp13Segments(oldPieces);
 
 {
 // discard old iptc blocks.
-List newBlocks = newData.getNonIptcBlocks();
+ListIptcBlock newBlocks = newData.getNonIptcBlocks();
 byte[] newBlockBytes = new IptcParser().writeIPTCBlock(newData
 .getRecords());
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java?rev=1240483r1=1240482r2=1240483view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
 Sat Feb  4 10:34:46 2012
@@ -52,10 +52,10 @@ public class JpegRewriter extends Binary
 
 protected static class JFIFPieces
 {
-public final List pieces;
+public final ListJFIFPiece pieces;
 public final ListJFIFPiece segmentPieces;
 
-public JFIFPieces(final List pieces, final ListJFIFPiece 
segmentPieces)
+public JFIFPieces(final ListJFIFPiece pieces, final ListJFIFPiece 
segmentPieces)
 {
 this.pieces = pieces;
 this.segmentPieces = segmentPieces;
@@ -171,7 +171,7 @@ public class JpegRewriter extends Binary
 throws ImageReadException, IOException
 // , ImageWriteException
 {
-final List pieces = new ArrayList();
+final ListJFIFPiece pieces = new ArrayListJFIFPiece();
 final ListJFIFPiece segmentPieces = new ArrayListJFIFPiece();
 
 JpegUtils.Visitor visitor = new JpegUtils.Visitor() {
@@ -232,39 +232,41 @@ public class JpegRewriter extends Binary
 }
 };
 
-protected List removeXmpSegments(List segments)
+protected ListJFIFPiece removeXmpSegments(List? extends JFIFPiece 
segments)
 {
 return filterSegments(segments, XMP_SEGMENT_FILTER);
 }
 
-protected List removePhotoshopApp13Segments(List segments)
+protected ListJFIFPiece

svn commit: r1240502 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg: JpegImageParser.java exif/ExifRewriter.java segments/App2Segment.java xmp/JpegXmpRewrit

2012-02-04 Thread damjan
Author: damjan
Date: Sat Feb  4 13:50:39 2012
New Revision: 1240502

URL: http://svn.apache.org/viewvc?rev=1240502view=rev
Log:
Added generic collections for all JPEG classes.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java?rev=1240502r1=1240501r2=1240502view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 Sat Feb  4 13:50:39 2012
@@ -110,11 +110,11 @@ public class JpegImageParser extends Ima
 return false;
 }
 
-public List readSegments(ByteSource byteSource, final int markers[],
+public ListSegment readSegments(ByteSource byteSource, final int 
markers[],
 final boolean returnAfterFirst, boolean readEverything)
 throws ImageReadException, IOException
 {
-final List result = new ArrayList();
+final ListSegment result = new ArrayListSegment();
 final JpegImageParser parser = this;
 final int[] sofnSegments = {
 // kJFIFMarker,
@@ -193,7 +193,7 @@ public class JpegImageParser extends Ima
 
 public static final boolean permissive = true;
 
-private byte[] assembleSegments(List v) throws ImageReadException
+private byte[] assembleSegments(ListApp2Segment v) throws 
ImageReadException
 {
 try
 {
@@ -204,13 +204,13 @@ public class JpegImageParser extends Ima
 }
 }
 
-private byte[] assembleSegments(List v, boolean start_with_zero)
+private byte[] assembleSegments(ListApp2Segment v, boolean 
start_with_zero)
 throws ImageReadException
 {
 if (v.size()  1)
 throw new ImageReadException(No App2 Segments Found.);
 
-int markerCount = ((App2Segment) v.get(0)).num_markers;
+int markerCount = v.get(0).num_markers;
 
 // if (permissive  (markerCount == 0))
 // markerCount = v.size();
@@ -264,7 +264,7 @@ public class JpegImageParser extends Ima
 return result;
 }
 
-private void dumpSegments(List v)
+private void dumpSegments(List? extends Segment v)
 {
 Debug.debug();
 Debug.debug(dumpSegments, v.size());
@@ -279,7 +279,7 @@ public class JpegImageParser extends Ima
 Debug.debug();
 }
 
-public List readSegments(ByteSource byteSource, int markers[],
+public ListSegment readSegments(ByteSource byteSource, int markers[],
 boolean returnAfterFirst) throws ImageReadException, IOException
 {
 return readSegments(byteSource, markers, returnAfterFirst, false);
@@ -288,26 +288,25 @@ public class JpegImageParser extends Ima
 public byte[] getICCProfileBytes(ByteSource byteSource, Map params)
 throws ImageReadException, IOException
 {
-List segments = readSegments(byteSource,
+ListSegment segments = readSegments(byteSource,
 new int[] { JPEG_APP2_Marker, }, false);
 
+ListApp2Segment filtered = new ArrayListApp2Segment();
 if (segments != null)
 {
 // throw away non-icc profile app2 segments.
-List filtered = new ArrayList();
 for (int i = 0; i  segments.size(); i++)
 {
 App2Segment segment = (App2Segment) segments.get(i);
 if (segment.icc_bytes != null)
 filtered.add(segment);
 }
-segments = filtered;
 }
 
-if ((segments == null) || (segments.size()  1))
+if ((filtered == null) || (filtered.size()  1))
 return null;
 
-byte bytes[] = assembleSegments(segments);
+byte bytes[] = assembleSegments(filtered);
 
 if (debug)
 System.out.println(bytes + : 
@@ -340,9 +339,9 @@ public class JpegImageParser extends Ima
 return byteArrayHasPrefix(segment.bytes, EXIF_IDENTIFIER_CODE);
 }
 
-private List filterAPP1Segments(List v)
+private ListSegment filterAPP1Segments(ListSegment v)
 {
-List result = new ArrayList();
+ListSegment result = new ArrayListSegment();
 
 for (int i = 0; i  v.size(); i

svn commit: r1240671 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: formats/jpeg/ formats/jpeg/exif/ formats/jpeg/iptc/ formats/jpeg/xmp/ formats/png/ formats/tiff/ for

2012-02-04 Thread damjan
Author: damjan
Date: Sun Feb  5 07:47:22 2012
New Revision: 1240671

URL: http://svn.apache.org/viewvc?rev=1240671view=rev
Log:
Converted most collections to use generics,
converted all Comparable and Comparator instances to use generics,
and dropped most casts.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.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/TiffElement.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

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossy.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/palette/ColorSpaceSubset.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/util/Debug.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java?rev=1240671r1=1240670r2=1240671view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
 Sun Feb  5 07:47:22 2012
@@ -93,7 +93,7 @@ public class JpegImageMetadata implement
  * @throws IOException
  */
 public byte[] getEXIFThumbnailData() throws ImageReadException, 
IOException {
-List dirs = exif.getDirectories();
+List? extends IImageMetadataItem dirs = exif.getDirectories();
 for (int i = 0; i  dirs.size(); i++) {
 TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) 
dirs
 .get(i);
@@ -126,7 +126,7 @@ public class JpegImageMetadata implement
 return null;
 }
 
-List dirs = exif.getDirectories();
+List? extends IImageMetadataItem dirs = exif.getDirectories();
 for (int i = 0; i  dirs.size(); i++) {
 TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) 
dirs
 .get(i);
@@ -151,7 +151,7 @@ public class JpegImageMetadata implement
 }
 
 public TiffImageData getRawImageData() {
-List dirs = exif.getDirectories();
+List? extends IImageMetadataItem dirs = exif.getDirectories();
 for (int i = 0; i  dirs.size(); i++) {
 TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) 
dirs
 .get(i);
@@ -164,8 +164,8 @@ public class JpegImageMetadata implement
 return null;
 }
 
-public List getItems() {
-ListObject result = new ArrayListObject();
+public ListIImageMetadataItem getItems() {
+ListIImageMetadataItem result = new ArrayListIImageMetadataItem();
 
 if (null != exif)
 result.addAll(exif.getItems());

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java?rev=1240671r1=1240670r2=1240671view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg

svn commit: r1240761 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: formats/jpeg/ icc/

2012-02-05 Thread damjan
Author: damjan
Date: Sun Feb  5 16:22:25 2012
New Revision: 1240761

URL: http://svn.apache.org/viewvc?rev=1240761view=rev
Log:
Hid formats.jpeg.JpegImageParser.AcceptedExtensions
and converted icc classes to enums.

Jira issue key: SANSELAN-42


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagDataTypes.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagTypes.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTag.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagDataType.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagType.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java?rev=1240761r1=1240760r2=1240761view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 Sun Feb  5 16:22:25 2012
@@ -82,11 +82,11 @@ public class JpegImageParser extends Ima
 
 private static final String DEFAULT_EXTENSION = .jpg;
 
-public static final String AcceptedExtensions[] = { .jpg, .jpeg, };
+private static final String ACCEPTED_EXTENSIONS[] = { .jpg, .jpeg, };
 
 protected String[] getAcceptedExtensions()
 {
-return AcceptedExtensions;
+return ACCEPTED_EXTENSIONS;
 }
 
 public final BufferedImage getBufferedImage(ByteSource byteSource,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java?rev=1240761r1=1240760r2=1240761view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
 Sun Feb  5 16:22:25 2012
@@ -16,12 +16,6 @@
  */
 package org.apache.commons.sanselan.icc;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-
-import org.apache.commons.sanselan.ImageReadException;
-import org.apache.commons.sanselan.common.BinaryConstants;
-import org.apache.commons.sanselan.common.BinaryInputStream;
 
 public interface IccConstants
 {
@@ -29,424 +23,4 @@ public interface IccConstants
 | ((0xff  'C')  8) | ((0xff  ' ')  0));
 public final static int sRGB = (((0xff  's')  24) | ((0xff  'R')  16)
 | ((0xff  'G')  8) | ((0xff  'B')  0));
-
-public static final IccTagDataType descType = new IccTagDataType(
-descType, 0x64657363)
-{
-public void dump(String prefix, byte bytes[])
-throws ImageReadException, IOException
-{
-BinaryInputStream bis = new BinaryInputStream(
-new ByteArrayInputStream(bytes),
-BinaryConstants.BYTE_ORDER_NETWORK);
-bis.read4Bytes(type_signature, ICC: corrupt tag data);
-
-//bis.setDebug(true);
-bis.read4Bytes(ignore, ICC: corrupt tag data);
-int string_length = bis.read4Bytes(string_length,
-ICC: corrupt tag data);
-
-//bis.readByteArray(ignore, bytes.length -12, 
none);
-String s = new String(bytes, 12, string_length - 1);
-System.out.println(prefix + s: ' + s + ');
-}
-
-};
-
-public static final IccTagDataType dataType = new IccTagDataType(
-dataType, 0x64617461)
-{
-public void dump(String prefix, byte bytes[])
-throws ImageReadException, IOException
-{
-BinaryInputStream bis = new BinaryInputStream(
-new ByteArrayInputStream(bytes),
-BinaryConstants.BYTE_ORDER_NETWORK);
-bis.read4Bytes(type_signature, ICC: corrupt tag data);
-}
-
-};
-
-public static final IccTagDataType multiLocalizedUnicodeType = new 
IccTagDataType(
-multiLocalizedUnicodeType, (0x6D6C7563))
-{
-public void dump(String

svn commit: r1240779 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java

2012-02-05 Thread damjan
Author: damjan
Date: Sun Feb  5 19:24:56 2012
New Revision: 1240779

URL: http://svn.apache.org/viewvc?rev=1240779view=rev
Log:
Make some internal PNG arrays private.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java?rev=1240779r1=1240778r2=1240779view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
 Sun Feb  5 19:24:56 2012
@@ -54,22 +54,22 @@ public class ScanExpediterInterlaced ext
 
 }
 
-public static final int Starting_Row[] = {
+private static final int Starting_Row[] = {
 0, 0, 4, 0, 2, 0, 1
 };
-public static final int Starting_Col[] = {
+private static final int Starting_Col[] = {
 0, 4, 0, 2, 0, 1, 0
 };
-public static final int Row_Increment[] = {
+private static final int Row_Increment[] = {
 8, 8, 8, 4, 4, 2, 2
 };
-public static final int Col_Increment[] = {
+private static final int Col_Increment[] = {
 8, 8, 4, 4, 2, 2, 1
 };
-public static final int Block_Height[] = {
+private static final int Block_Height[] = {
 8, 8, 4, 4, 2, 2, 1
 };
-public static final int Block_Width[] = {
+private static final int Block_Width[] = {
 8, 4, 4, 2, 2, 1, 1
 };
 




svn commit: r1241093 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/ main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apache/com

2012-02-06 Thread damjan
Author: damjan
Date: Mon Feb  6 17:40:25 2012
New Revision: 1241093

URL: http://svn.apache.org/viewvc?rev=1241093view=rev
Log:
Converted GpsTagConstants to an enum.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.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/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/examples/MetadataExample.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java?rev=1241093r1=1241092r2=1241093view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 Mon Feb  6 17:40:25 2012
@@ -28,6 +28,7 @@ import java.util.Map;
 
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
+import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
@@ -610,7 +611,7 @@ public class TiffField implements TiffCo
 return map;
 }
 
-private static final MapObject, ListTagInfo GPS_TAG_MAP = 
makeTagMap(ALL_GPS_TAGS, false,
+private static final MapObject, ListTagInfo GPS_TAG_MAP = 
makeTagMap(GpsTagConstants.ALL_GPS_TAGS, false,
 GPS);
 private static final MapObject, ListTagInfo TIFF_TAG_MAP = 
makeTagMap(TiffTagConstants.ALL_TIFF_TAGS, false,
 TIFF);

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=1241093r1=1241092r2=1241093view=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
 Mon Feb  6 17:40:25 2012
@@ -28,6 +28,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.common.ImageMetadata;
 import org.apache.commons.sanselan.common.RationalNumber;
 import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 import 
org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryConstants;
@@ -339,13 +340,13 @@ public class TiffImageMetadata extends I
 
 // more specific example of how to access GPS values.
 TiffField latitudeRefField = gpsDirectory
-.findField(TiffConstants.GPS_TAG_GPS_LATITUDE_REF);
+.findField(GpsTagConstants.GPS_LATITUDE_REF.tagInfo);
 TiffField latitudeField = gpsDirectory
-.findField(TiffConstants.GPS_TAG_GPS_LATITUDE);
+.findField(GpsTagConstants.GPS_LATITUDE.tagInfo);
 TiffField longitudeRefField = gpsDirectory
-.findField(TiffConstants.GPS_TAG_GPS_LONGITUDE_REF);
+.findField(GpsTagConstants.GPS_LONGITUDE_REF.tagInfo);
 TiffField longitudeField = gpsDirectory
-.findField(TiffConstants.GPS_TAG_GPS_LONGITUDE);
+.findField(GpsTagConstants.GPS_LONGITUDE.tagInfo);
 
 if (latitudeRefField == null || latitudeField == null
 || longitudeRefField == null || longitudeField == null)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev

svn commit: r1241131 [1/3] - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/ main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apac

2012-02-06 Thread damjan
Author: damjan
Date: Mon Feb  6 19:55:30 2012
New Revision: 1241131

URL: http://svn.apache.org/viewvc?rev=1241131view=rev
Log:
Refactor ExifTagConstants into an enum,
uncomment some constants that appear accidentally commented,
protect public fields from changes,
and place constants inside their corresponding enum field.

Jira issue key: SANSELAN-42


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.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

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/examples/MetadataExample.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/examples/WriteExifMetadataExample.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/AsciiFieldTest.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriteTest.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteTagsTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java?rev=1241131r1=1241130r2=1241131view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 Mon Feb  6 19:55:30 2012
@@ -28,6 +28,7 @@ import java.util.Map;
 
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
+import org.apache.commons.sanselan.formats.tiff.constants.ExifTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
@@ -577,15 +578,15 @@ public class TiffField implements TiffCo
 return (String) o;
 }
 
-private static final MapObject, ListTagInfo makeTagMap(TagInfo tags[],
+private static final MapObject, ListTagInfo makeTagMap(ListTagInfo 
tags,
boolean 
ignoreDuplicates, String name)
 {
 // make sure to use the thread-safe version; this is shared state.
 MapObject, ListTagInfo map = new HashtableObject, 
ListTagInfo();
 
-for (int i = 0; i  tags.length; i++)
+for (int i = 0; i  tags.size(); i++)
 {
-TagInfo tag = tags[i];
+TagInfo tag = tags.get(i);
 Object key = new Integer(tag.tag);
 
 ListTagInfo tagList = map.get(key);
@@ -615,7 +616,7 @@ public class TiffField implements TiffCo
 GPS);
 private static final MapObject, ListTagInfo TIFF_TAG_MAP = 
makeTagMap(TiffTagConstants.ALL_TIFF_TAGS, false,
 TIFF);
-private static final MapObject, ListTagInfo EXIF_TAG_MAP = 
makeTagMap(ALL_EXIF_TAGS, true,
+private static final MapObject, ListTagInfo EXIF_TAG_MAP = 
makeTagMap(ExifTagConstants.ALL_EXIF_TAGS, true,
 EXIF);
 private static final MapObject, ListTagInfo ALL_TAG_MAP = 
makeTagMap(ALL_TAGS, true, All);
 

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

svn commit: r1241131 [3/3] - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/ main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apac

2012-02-06 Thread damjan
Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java?rev=1241131r1=1241130r2=1241131view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
 Mon Feb  6 19:55:30 2012
@@ -16,10 +16,14 @@
  */
 package org.apache.commons.sanselan.formats.tiff.constants;
 
+import java.util.Collections;
+import java.util.List;
+
 public enum GpsTagConstants
 implements
 TiffDirectoryConstants,
-TiffFieldTypeConstants
+TiffFieldTypeConstants,
+TagHolder
 {
 GPS_VERSION_ID(new TagInfo(
 GPS Version ID, 0x, FIELD_TYPE_DESCRIPTION_BYTE, 4,
@@ -208,12 +212,10 @@ public enum GpsTagConstants
 
 // 
 
-public static final TagInfo[] ALL_GPS_TAGS;
-static {
-GpsTagConstants[] gpsTagConstants = values();
-ALL_GPS_TAGS = new TagInfo[gpsTagConstants.length];
-for (int i = 0; i  gpsTagConstants.length; i++) {
-ALL_GPS_TAGS[i] = gpsTagConstants[i].tagInfo;
-}
+public TagInfo getTagInfo() {
+return tagInfo;
 }
+
+public static final ListTagInfo ALL_GPS_TAGS = 
Collections.unmodifiableList(
+TagConstantsUtils.mergeTagLists(values()));
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java?rev=1241131r1=1241130r2=1241131view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
 Mon Feb  6 19:55:30 2012
@@ -16,22 +16,25 @@
  */
 package org.apache.commons.sanselan.formats.tiff.constants;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class TagConstantsUtils implements TiffDirectoryConstants
 {
 
-public static TagInfo[] mergeTagLists(TagInfo lists[][])
+public static ListTagInfo mergeTagLists(TagHolder[]... tagHolders)
 {
 int count = 0;
-for (int i = 0; i  lists.length; i++)
-count += lists[i].length;
+for (int i = 0; i  tagHolders.length; i++) {
+count += tagHolders[i].length;
+}
 
-TagInfo result[] = new TagInfo[count];
+ArrayListTagInfo result = new ArrayListTagInfo(count);
 
-int index = 0;
-for (int i = 0; i  lists.length; i++)
-{
-System.arraycopy(lists[i], 0, result, index, lists[i].length);
-index += lists[i].length;
+for (int i = 0; i  tagHolders.length; i++) {
+for (int j = 0; j  tagHolders[i].length; j++) {
+result.add(tagHolders[i][j].getTagInfo());
+}
 }
 
 return result;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java?rev=1241131r1=1241130r2=1241131view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
 Mon Feb  6 19:55:30 2012
@@ -16,7 +16,10 @@
  */
 package org.apache.commons.sanselan.formats.tiff.constants;
 
-public enum TiffTagConstants implements TiffFieldTypeConstants, 
TiffDirectoryConstants
+import java.util.Collections;
+import java.util.List;
+
+public enum TiffTagConstants implements TiffFieldTypeConstants, 
TiffDirectoryConstants, TagHolder
 {
 
 NEW_SUBFILE_TYPE(new TagInfo(
@@ -311,12 +314,10 @@ public enum TiffTagConstants implements 
 this.tagInfo = tagInfo;
 }
 
-public static final TagInfo[] ALL_TIFF_TAGS;
-static {
-TiffTagConstants[] tiffTagConstants = values();
-ALL_TIFF_TAGS = new TagInfo[tiffTagConstants.length];
-for (int i = 0; i  tiffTagConstants.length; i++) {
-ALL_TIFF_TAGS[i] = 

svn commit: r1241351 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java

2012-02-06 Thread damjan
Author: damjan
Date: Tue Feb  7 05:30:45 2012
New Revision: 1241351

URL: http://svn.apache.org/viewvc?rev=1241351view=rev
Log:
Add a class that was missed on the last commit.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java
   (with props)

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java?rev=1241351view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java
 Tue Feb  7 05:30:45 2012
@@ -0,0 +1,5 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+public interface TagHolder {
+TagInfo getTagInfo();
+}

Propchange: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java
--
svn:eol-style = native




svn commit: r1241569 [1/3] - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/ main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apac

2012-02-07 Thread damjan
Author: damjan
Date: Tue Feb  7 19:33:57 2012
New Revision: 1241569

URL: http://svn.apache.org/viewvc?rev=1241569view=rev
Log:
Converted TiffDirectoryConstants to an enum,
moved constants in ExifTagConstants out of enum types
(where apparently Java doesn't allow them to ever be found?),
added licences to files where it was left out in previous commits,
and converted some magic numbers to constants.

Jira issue key: SANSELAN-42


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryType.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.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/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagHolder.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagInfo.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagDataTypes.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTagTypes.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java?rev=1241569r1=1241568r2=1241569view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
 Tue Feb  7 19:33:57 2012
@@ -32,6 +32,7 @@ import org.apache.commons.sanselan.forma
 import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
 import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryType;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
 import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
 
@@ -137,7 +138,7 @@ public class TiffField implements TiffCo
 for (int i = 0; i  possibleMatches.size(); i++)
 {
 TagInfo tagInfo = possibleMatches.get(i);
-if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
+if (tagInfo.directoryType == 
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN)
 // pass
 continue;
 else if (directoryType == tagInfo.directoryType.directoryType)
@@ -149,7 +150,7 @@ public class TiffField implements TiffCo
 {
 TagInfo tagInfo = possibleMatches.get(i);
 
-if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
+if (tagInfo.directoryType == 
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN)
 // pass
 continue;
 else if (directoryType = 0
@@ -165,7 +166,7 @@ public class TiffField implements TiffCo
 {
 TagInfo tagInfo = possibleMatches.get(i);
 
-if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
+if (tagInfo.directoryType == 
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN)
 return tagInfo;
 }
 

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=1241569r1=1241568r2=1241569view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
 (original

svn commit: r1241569 [3/3] - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/ main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apac

2012-02-07 Thread damjan
Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java?rev=1241569r1=1241568r2=1241569view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java
 Tue Feb  7 19:33:57 2012
@@ -27,153 +27,153 @@ public enum GpsTagConstants
 {
 GPS_VERSION_ID(new TagInfo(
 GPS Version ID, 0x, FIELD_TYPE_DESCRIPTION_BYTE, 4,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_LATITUDE_REF(new TagInfo(
 GPS Latitude Ref, 0x0001, FIELD_TYPE_DESCRIPTION_ASCII, 2,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_LATITUDE(new TagInfo(
 GPS Latitude, 0x0002, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_LONGITUDE_REF(new TagInfo(
 GPS Longitude Ref, 0x0003, FIELD_TYPE_DESCRIPTION_ASCII, 2,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_LONGITUDE(new TagInfo(
 GPS Longitude, 0x0004, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_ALTITUDE_REF(new TagInfo(
 GPS Altitude Ref, 0x0005, FIELD_TYPE_DESCRIPTION_BYTE, 1,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_ALTITUDE(new TagInfo(
 GPS Altitude, 0x0006, FIELD_TYPE_DESCRIPTION_RATIONAL, 1,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_TIME_STAMP(new TagInfo(
 GPS Time Stamp, 0x0007, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_SATELLITES(new TagInfo(
 GPS Satellites, 0x0008, FIELD_TYPE_DESCRIPTION_ASCII, -1,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_STATUS(new TagInfo(GPS Status,
-0x0009, FIELD_TYPE_DESCRIPTION_ASCII, 2, EXIF_DIRECTORY_GPS)),
+0x0009, FIELD_TYPE_DESCRIPTION_ASCII, 2, 
TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_MEASURE_MODE(new TagInfo(
 GPS Measure Mode, 0x000a, FIELD_TYPE_DESCRIPTION_ASCII, 2,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_DOP(new TagInfo(GPS DOP,
-0x000b, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, EXIF_DIRECTORY_GPS)),
+0x000b, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, 
TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_SPEED_REF(new TagInfo(
 GPS Speed Ref, 0x000c, FIELD_TYPE_DESCRIPTION_ASCII, 2,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_SPEED(new TagInfo(GPS Speed,
-0x000d, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, EXIF_DIRECTORY_GPS)),
+0x000d, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, 
TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_TRACK_REF(new TagInfo(
 GPS Track Ref, 0x000e, FIELD_TYPE_DESCRIPTION_ASCII, 2,
-EXIF_DIRECTORY_GPS)),
+TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 
 GPS_TRACK(new TagInfo(GPS Track,
-0x000f, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, EXIF_DIRECTORY_GPS)),
+0x000f, FIELD_TYPE_DESCRIPTION_RATIONAL, 1, 
TiffDirectoryType.EXIF_DIRECTORY_GPS)),
 
 // 

svn commit: r1245871 [5/5] - in /commons/proper/sanselan/trunk: ./ src/main/java/org/apache/commons/sanselan/common/ src/main/java/org/apache/commons/sanselan/formats/jpeg/ src/main/java/org/apache/co

2012-02-17 Thread damjan
Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java?rev=1245871r1=1245870r2=1245871view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
 Sat Feb 18 06:43:33 2012
@@ -20,9 +20,10 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.RationalNumberUtilities;
 import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
-import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.sanselan.util.Debug;
 
 public final class TiffOutputSet implements TiffConstants
@@ -153,21 +154,12 @@ public final class TiffOutputSet impleme
 String latitudeRef = latitude  0 ? S : N;
 latitude = Math.abs(latitude);
 
-{
-TiffOutputField longitudeRefField = TiffOutputField.create(
-GpsTagConstants.GPS_LONGITUDE_REF.tagInfo, byteOrder,
-longitudeRef);
-
gpsDirectory.removeField(GpsTagConstants.GPS_LONGITUDE_REF.tagInfo);
-gpsDirectory.add(longitudeRefField);
-}
+gpsDirectory.removeField(GpsTagConstants.GPS_TAG_GPS_LONGITUDE_REF);
+gpsDirectory.add(GpsTagConstants.GPS_TAG_GPS_DEST_LONGITUDE_REF, 
longitudeRef);
+
+gpsDirectory.removeField(GpsTagConstants.GPS_TAG_GPS_LATITUDE_REF);
+gpsDirectory.add(GpsTagConstants.GPS_TAG_GPS_DEST_LATITUDE_REF, 
latitudeRef);
 
-{
-TiffOutputField latitudeRefField = TiffOutputField.create(
-GpsTagConstants.GPS_LATITUDE_REF.tagInfo, byteOrder,
-latitudeRef);
-gpsDirectory.removeField(GpsTagConstants.GPS_LATITUDE_REF.tagInfo);
-gpsDirectory.add(latitudeRefField);
-}
 
 {
 double value = longitude;
@@ -178,15 +170,12 @@ public final class TiffOutputSet impleme
 value %= 1;
 value *= 60.0;
 double longitudeSeconds = value;
-Double values[] = {
-new Double(longitudeDegrees), new Double(longitudeMinutes),
-new Double(longitudeSeconds),
-};
-
-TiffOutputField longitudeField = TiffOutputField.create(
-GpsTagConstants.GPS_LONGITUDE.tagInfo, byteOrder, values);
-gpsDirectory.removeField(GpsTagConstants.GPS_LONGITUDE.tagInfo);
-gpsDirectory.add(longitudeField);
+
+gpsDirectory.removeField(GpsTagConstants.GPS_TAG_GPS_LONGITUDE);
+gpsDirectory.add(GpsTagConstants.GPS_TAG_GPS_DEST_LONGITUDE,
+
RationalNumberUtilities.getRationalNumber(longitudeDegrees),
+
RationalNumberUtilities.getRationalNumber(longitudeMinutes),
+
RationalNumberUtilities.getRationalNumber(longitudeSeconds));
 }
 
 {
@@ -198,15 +187,12 @@ public final class TiffOutputSet impleme
 value %= 1;
 value *= 60.0;
 double latitudeSeconds = value;
-Double values[] = {
-new Double(latitudeDegrees), new Double(latitudeMinutes),
-new Double(latitudeSeconds),
-};
-
-TiffOutputField latitudeField = TiffOutputField.create(
-GpsTagConstants.GPS_LATITUDE.tagInfo, byteOrder, values);
-gpsDirectory.removeField(GpsTagConstants.GPS_LATITUDE.tagInfo);
-gpsDirectory.add(latitudeField);
+
+gpsDirectory.removeField(GpsTagConstants.GPS_TAG_GPS_LATITUDE);
+gpsDirectory.add(GpsTagConstants.GPS_TAG_GPS_LATITUDE,
+RationalNumberUtilities.getRationalNumber(latitudeDegrees),
+RationalNumberUtilities.getRationalNumber(latitudeMinutes),
+
RationalNumberUtilities.getRationalNumber(latitudeSeconds));
 }
 
 }
@@ -247,7 +233,7 @@ public final class TiffOutputSet impleme
 public TiffOutputDirectory addRootDirectory() throws ImageWriteException
 {
 TiffOutputDirectory result = new TiffOutputDirectory(
-DIRECTORY_TYPE_ROOT);
+DIRECTORY_TYPE_ROOT, byteOrder);
 addDirectory(result);
 return result;
 }
@@ -255,14 +241,14 @@ public final class TiffOutputSet impleme
 public TiffOutputDirectory 

svn commit: r1290963 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff: ./ constants/ taginfos/ write/

2012-02-19 Thread damjan
Author: damjan
Date: Sun Feb 19 08:29:56 2012
New Revision: 1290963

URL: http://svn.apache.org/viewvc?rev=1290963view=rev
Log:
Fix types written to some tags using the new EXIF writing interface.
Rename TagInfoText to TagIntoGpsText. Add TagInfoXpText for fields
like XPTITLE, and encode/decode it using UTF-16LE like Windows does.
Copy the new high-level EXIF interface to TiffImageMetadata too.

Jira issue key: SANSELAN-7


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoXpString.java
   (with props)
Removed:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoText.java
Modified:

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/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GpsTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java

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=1290963r1=1290962r2=1290963view=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
 Sun Feb 19 08:29:56 2012
@@ -31,6 +31,7 @@ import org.apache.commons.sanselan.forma
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoDouble;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoFloat;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoGpsText;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoLong;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoRational;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoSByte;
@@ -38,6 +39,7 @@ import org.apache.commons.sanselan.forma
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoSRational;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoSShort;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoXpString;
 
 public class TiffDirectory extends TiffElement implements TiffConstants
 //extends BinaryFileFunctions
@@ -329,6 +331,22 @@ public class TiffDirectory extends TiffE
 return tag.getValue(field.byteOrder, bytes);
 }
 
+public String getFieldValue(TagInfoGpsText tag) throws ImageReadException {
+TiffField field = findField(tag);
+if (field == null) {
+return null;
+}
+return tag.getValue(field);
+}
+
+public String getFieldValue(TagInfoXpString tag) throws ImageReadException 
{
+TiffField field = findField(tag);
+if (field == null) {
+return null;
+}
+return tag.getValue(field);
+}
+
 public final class ImageDataElement extends TiffElement
 {
 public ImageDataElement(int offset, int length)

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=1290963r1=1290962r2=1290963view=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
 Sun Feb 19 08:29:56 2012
@@ -33,6 +33,19 @@ import org.apache.commons.sanselan.forma
 import org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryType;
 import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
 import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoDouble;
+import

svn commit: r1290986 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java

2012-02-19 Thread damjan
Author: damjan
Date: Sun Feb 19 10:39:03 2012
New Revision: 1290986

URL: http://svn.apache.org/viewvc?rev=1290986view=rev
Log:
The Unicode encoding for GPS text written by Exiftool,
is UCS-2 in either little-endian or big-endian, depending on
the file's encoding. Do the same, since it can't read our UTF-8,
which was guessed anyway.

Jira issue key: SANSELAN-51


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java?rev=1290986r1=1290985r2=1290986view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoGpsText.java
 Sun Feb 19 10:39:03 2012
@@ -20,6 +20,7 @@ import java.io.UnsupportedEncodingExcept
 
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryConstants;
 import org.apache.commons.sanselan.common.BinaryFileFunctions;
 import org.apache.commons.sanselan.formats.tiff.TiffField;
 import org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryType;
@@ -42,33 +43,44 @@ public final class TagInfoGpsText extend
 private static final class TextEncoding
 {
 public final byte prefix[];
-public final String encodingName;
+public final String encodingNameLE;
+public final String encodingNameBE;
 
-public TextEncoding(final byte[] prefix, final String encodingName)
+public TextEncoding(final byte[] prefix, final String encodingNameLE,
+final String encodingNameBE)
 {
 this.prefix = prefix;
-this.encodingName = encodingName;
+this.encodingNameLE = encodingNameLE;
+this.encodingNameBE = encodingNameBE;
+}
+
+public String getEncodingName(int byteOrder) {
+if (byteOrder == BinaryConstants.BYTE_ORDER_BIG_ENDIAN) {
+return encodingNameBE;
+} else {
+return encodingNameLE;
+}
 }
 }
 
 private static final TagInfoGpsText.TextEncoding TEXT_ENCODING_ASCII = new 
TextEncoding(
 new byte[]{
 0x41, 0x53, 0x43, 0x49, 0x49, 0x00, 0x00, 0x00,
-}, US-ASCII); // ITU-T T.50 IA5
+}, US-ASCII, US-ASCII); // ITU-T T.50 IA5
 private static final TagInfoGpsText.TextEncoding TEXT_ENCODING_JIS = new 
TextEncoding(
 new byte[]{
 0x4A, 0x49, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00,
-}, JIS); // JIS X208-1990
+}, JIS, JIS); // JIS X208-1990
 private static final TagInfoGpsText.TextEncoding TEXT_ENCODING_UNICODE = 
new TextEncoding(
 new byte[]{
 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0x00,
 // Which Unicode encoding to use, UTF-8?
-}, UTF-8); // Unicode Standard
+}, UTF-16LE, UTF-16BE); // Unicode Standard
 private static final TagInfoGpsText.TextEncoding TEXT_ENCODING_UNDEFINED = 
new TextEncoding(
 new byte[]{
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 // Try to interpret an undefined text as ISO-8859-1 (Latin)
-}, ISO-8859-1); // Undefined
+}, ISO-8859-1, ISO-8859-1); // Undefined
 private static final TagInfoGpsText.TextEncoding TEXT_ENCODINGS[] = {
 TEXT_ENCODING_ASCII, //
 TEXT_ENCODING_JIS, //
@@ -89,9 +101,9 @@ public final class TagInfoGpsText extend
 {
 // try ASCII, with NO prefix.
 byte asciiBytes[] = s
-.getBytes(TEXT_ENCODING_ASCII.encodingName);
+.getBytes(TEXT_ENCODING_ASCII.getEncodingName(byteOrder));
 String decodedAscii = new String(asciiBytes,
-TEXT_ENCODING_ASCII.encodingName);
+TEXT_ENCODING_ASCII.getEncodingName(byteOrder));
 if (decodedAscii.equals(s))
 {
 // no unicode/non-ascii values.
@@ -108,7 +120,7 @@ public final class TagInfoGpsText extend
 {
 // use unicode
 byte unicodeBytes[] = s
-.getBytes(TEXT_ENCODING_UNICODE.encodingName);
+
.getBytes(TEXT_ENCODING_UNICODE.getEncodingName(byteOrder));
 byte result[] = new byte[unicodeBytes.length

svn commit: r1291388 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg: JpegImageParser.java segments/ComSegment.java

2012-02-20 Thread damjan
Author: damjan
Date: Mon Feb 20 17:51:37 2012
New Revision: 1291388

URL: http://svn.apache.org/viewvc?rev=1291388view=rev
Log:
UTF-8 seems like a more reasonable choice to expect
when reading JPEG COM sections.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/ComSegment.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java?rev=1291388r1=1291387r2=1291388view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 Mon Feb 20 17:51:37 2012
@@ -795,7 +795,7 @@ public class JpegImageParser extends Ima
 ComSegment comSegment = (ComSegment) commentSegments.get(i);
 String comment = ;
 try {
-comment = new String(comSegment.comment, ISO-8859-1);
+comment = new String(comSegment.comment, UTF-8);
 } catch (UnsupportedEncodingException cannotHappen) {
 }
 Comments.add(comment);

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/ComSegment.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/ComSegment.java?rev=1291388r1=1291387r2=1291388view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/ComSegment.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/ComSegment.java
 Mon Feb 20 17:51:37 2012
@@ -49,7 +49,7 @@ public class ComSegment extends Segment
 {
 String commentString = ;
 try {
-commentString = new String(comment, ISO-8859-1);
+commentString = new String(comment, UTF-8);
 } catch (UnsupportedEncodingException cannotHappen) {
 }
 return COM ( + commentString + );




svn commit: r1291410 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: common/ formats/jpeg/ formats/jpeg/exif/ formats/jpeg/iptc/ formats/jpeg/segments/ formats/jpeg/xmp/

2012-02-20 Thread damjan
Author: damjan
Date: Mon Feb 20 18:53:24 2012
New Revision: 1291410

URL: http://svn.apache.org/viewvc?rev=1291410view=rev
Log:
Hide some arrays constants.

Jira issue key: SANSELAN-42


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/JfifSegment.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java?rev=1291410view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
 Mon Feb 20 18:53:24 2012
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.sanselan.common;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Arrays;
+
+public class BinaryConstant implements Cloneable {
+private final byte[] value;
+
+public BinaryConstant(byte[] value) {
+this.value = value.clone();
+}
+
+@Override
+public BinaryConstant clone() throws CloneNotSupportedException {
+return new BinaryConstant(value);
+}
+
+@Override
+public boolean equals(Object obj) {
+if (obj == null) {
+return false;
+}
+if (!(obj instanceof BinaryConstant)) {
+return false;
+}
+BinaryConstant other = (BinaryConstant)obj;
+return equals(other.value);
+}
+
+public boolean equals(byte[] bytes) {
+return Arrays.equals(value, bytes);
+}
+
+@Override
+public int hashCode() {
+return Arrays.hashCode(value);
+}
+
+public byte get(int i) {
+return value[i];
+}
+
+public int size() {
+return value.length;
+}
+
+public byte[] toByteArray() {
+return value.clone();
+}
+
+public void writeTo(OutputStream os) throws IOException {
+for (int i = 0; i  value.length; i++) {
+os.write(value[i]);
+}
+}
+}

Propchange: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
--
svn:eol-style = native

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java?rev=1291410r1=1291409r2=1291410view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons

svn commit: r1291440 - in /commons/proper/sanselan/trunk: pom.xml src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java src/main/java/org/apache/commons/sanselan/formats/tiff/con

2012-02-20 Thread damjan
Author: damjan
Date: Mon Feb 20 21:02:15 2012
New Revision: 1291440

URL: http://svn.apache.org/viewvc?rev=1291440view=rev
Log:
Require maven-assembly-plugin version = 2.3,
because the assembly goal fails with earlier versions due to
http://jira.codehaus.org/browse/MASSEMBLY-515
which was caused by
http://jira.codehaus.org/browse/PLXCOMP-195

Also some other minor code cleanups.


Modified:
commons/proper/sanselan/trunk/pom.xml

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java

Modified: commons/proper/sanselan/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/pom.xml?rev=1291440r1=1291439r2=1291440view=diff
==
--- commons/proper/sanselan/trunk/pom.xml (original)
+++ commons/proper/sanselan/trunk/pom.xml Mon Feb 20 21:02:15 2012
@@ -79,6 +79,7 @@
   plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-assembly-plugin/artifactId
+version2.3/version
 configuration
   descriptors
 descriptorsrc/assemble/bin.xml/descriptor
@@ -116,7 +117,6 @@
   reporting
 plugins
 /plugins
-
   /reporting
 
   !-- == 
--

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java?rev=1291440r1=1291439r2=1291440view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
 Mon Feb 20 21:02:15 2012
@@ -29,7 +29,6 @@ import java.util.Map;
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.SanselanConstants;
-import org.apache.commons.sanselan.common.BinaryFileFunctions;
 import org.apache.commons.sanselan.common.BinaryFileParser;
 import org.apache.commons.sanselan.common.BinaryInputStream;
 import org.apache.commons.sanselan.common.BinaryOutputStream;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java?rev=1291440r1=1291439r2=1291440view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
 Mon Feb 20 21:02:15 2012
@@ -27,7 +27,6 @@ public interface TiffDirectoryConstants
 public static final int DIRECTORY_TYPE_SUB2 = 3;
 public static final int DIRECTORY_TYPE_THUMBNAIL = 2;
 public static final int DIRECTORY_TYPE_EXIF = -2;
-//public static final int DIRECTORY_TYPE_SUB = 5;
 public static final int DIRECTORY_TYPE_GPS = -3;
 public static final int DIRECTORY_TYPE_INTEROPERABILITY = -4;
 public static final int DIRECTORY_TYPE_MAKER_NOTES = -5;




svn commit: r1291861 - /commons/proper/sanselan/trunk/pom.xml

2012-02-21 Thread damjan
Author: damjan
Date: Tue Feb 21 15:23:34 2012
New Revision: 1291861

URL: http://svn.apache.org/viewvc?rev=1291861view=rev
Log:
Run a Findbugs analysis on mvn site.

Submitted by: Adrian Moerchen apache dot org at rest dot scrobble dot me

Jira issue key: SANSELAN-63


Modified:
commons/proper/sanselan/trunk/pom.xml

Modified: commons/proper/sanselan/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/pom.xml?rev=1291861r1=1291860r2=1291861view=diff
==
--- commons/proper/sanselan/trunk/pom.xml (original)
+++ commons/proper/sanselan/trunk/pom.xml Tue Feb 21 15:23:34 2012
@@ -116,6 +116,11 @@
 
   reporting
 plugins
+  plugin
+groupIdorg.codehaus.mojo/groupId
+artifactIdfindbugs-maven-plugin/artifactId
+version2.4.0/version
+  /plugin
 /plugins
   /reporting
 




svn commit: r1291921 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: ./ common/ common/bytesource/ common/itu_t4/ common/mylzw/ formats/jpeg/segments/ formats/png/ forma

2012-02-21 Thread damjan
Author: damjan
Date: Tue Feb 21 17:07:15 2012
New Revision: 1291921

URL: http://svn.apache.org/viewvc?rev=1291921view=rev
Log:
Fix some bugs found by Findbugs.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryInputStream.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4AndT6Compression.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeAscii.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccTag.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/palette/ColorSpaceSubset.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/util/Debug.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/util/IoUtils.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java?rev=1291921r1=1291920r2=1291921view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
 Tue Feb 21 17:07:15 2012
@@ -82,7 +82,7 @@ public abstract class ImageParser extend
 public final IImageMetadata getMetadata(byte bytes[])
 throws ImageReadException, IOException
 {
-return getMetadata(bytes);
+return getMetadata(bytes, null);
 }
 
 public final IImageMetadata getMetadata(byte bytes[], Map params)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java?rev=1291921r1=1291920r2=1291921view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
 Tue Feb 21 17:07:15 2012
@@ -29,7 +29,7 @@ public class BinaryConstant implements C
 
 @Override
 public BinaryConstant clone() throws CloneNotSupportedException {
-return new BinaryConstant(value);
+return (BinaryConstant) super.clone();
 }
 
 @Override

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java?rev=1291921r1=1291920r2=1291921view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
 Tue Feb 21 17:07:15 2012
@@ -761,7 +761,7 @@ public class BinaryFileFunctions impleme
 System.out.println(msg + : ' + Integer.toBinaryString(0xff  i));
 }
 
-public final static int CharsToQuad(char c1, char c2, char c3, char c4)
+public final static int charsToQuad(char c1, char c2, char c3, char c4)
 {
 return (((0xff  c1)  24) | ((0xff  c2)  16) | ((0xff  c3)  8) 
| ((0xff  c4)  0));
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons

svn commit: r1291956 - in /commons/proper/sanselan/trunk: ./ src/main/java/org/apache/commons/sanselan/ src/main/java/org/apache/commons/sanselan/formats/rgbe/ src/site/xdoc/ src/test/data/images/rgbe

2012-02-21 Thread damjan
Author: damjan
Date: Tue Feb 21 18:50:17 2012
New Revision: 1291956

URL: http://svn.apache.org/viewvc?rev=1291956view=rev
Log:
Added support for reading the RGBE / Radiance HDR image format.

Submitted by: Peter Royal proyal at apache dot org
Jira issue key: SANSELAN-25


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/rgbe/

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/rgbe/InfoHeaderReader.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/rgbe/RgbeConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/rgbe/RgbeImageParser.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/rgbe/RgbeInfo.java
   (with props)
commons/proper/sanselan/trunk/src/test/data/images/rgbe/
commons/proper/sanselan/trunk/src/test/data/images/rgbe/1/

commons/proper/sanselan/trunk/src/test/data/images/rgbe/1/body_wave_N_0001.hdr  
 (with props)

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/rgbe/

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/rgbe/RgbeBaseTest.java
   (with props)

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/rgbe/RgbeReadTest.java
   (with props)
Modified:
commons/proper/sanselan/trunk/RELEASE_NOTES

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageFormat.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/Sanselan.java
commons/proper/sanselan/trunk/src/site/xdoc/formatsupport.xml

Modified: commons/proper/sanselan/trunk/RELEASE_NOTES
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/RELEASE_NOTES?rev=1291956r1=1291955r2=1291956view=diff
==
--- commons/proper/sanselan/trunk/RELEASE_NOTES (original)
+++ commons/proper/sanselan/trunk/RELEASE_NOTES Tue Feb 21 18:50:17 2012
@@ -44,6 +44,7 @@ Release 0.98
  * Altered TIFF tag searching to do an exact directory match when possible.
  * SANSELAN-48 - added support for reading and writing CCITT Modified Huffman, 
Group 3 and Group 4 images.
  * SANSELAN-31 - added a high level type-safe API for reading and writing EXIF 
fields.
+ * SANSELAN-25 - added support for the RGBE (Radiance HDR) image format.
 
 Release 0.97
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageFormat.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageFormat.java?rev=1291956r1=1291955r2=1291956view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageFormat.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageFormat.java
 Tue Feb 21 18:50:17 2012
@@ -78,6 +78,8 @@ public class ImageFormat
 public static final ImageFormat IMAGE_FORMAT_DCX = new ImageFormat(DCX);
 public static final ImageFormat IMAGE_FORMAT_XBM = new ImageFormat(XBM);
 public static final ImageFormat IMAGE_FORMAT_XPM = new ImageFormat(XPM);
+public static final ImageFormat IMAGE_FORMAT_RGBE = new 
ImageFormat(RGBE);
+
 
 public static final ImageFormat[] getAllFormats()
 {
@@ -88,7 +90,7 @@ public class ImageFormat
 IMAGE_FORMAT_PPM, IMAGE_FORMAT_PNM, IMAGE_FORMAT_TGA,
 IMAGE_FORMAT_JBIG2, IMAGE_FORMAT_ICNS, IMAGE_FORMAT_WBMP,
 IMAGE_FORMAT_PCX, IMAGE_FORMAT_DCX, IMAGE_FORMAT_XBM,
-IMAGE_FORMAT_XPM,
+IMAGE_FORMAT_XPM, IMAGE_FORMAT_RGBE
 };
 
 return result;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java?rev=1291956r1=1291955r2=1291956view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/ImageParser.java
 Tue Feb 21 18:50:17 2012
@@ -44,6 +44,7 @@ import org.apache.commons.sanselan.forma
 import org.apache.commons.sanselan.formats.png.PngImageParser;
 import org.apache.commons.sanselan.formats.pnm.PnmImageParser;
 import org.apache.commons.sanselan.formats.psd.PsdImageParser;
+import org.apache.commons.sanselan.formats.rgbe.RgbeImageParser;
 import org.apache.commons.sanselan.formats.tiff.TiffImageParser;
 import

svn commit: r1291967 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc: IptcParser.java IptcRecord.java

2012-02-21 Thread damjan
Author: damjan
Date: Tue Feb 21 19:47:07 2012
New Revision: 1291967

URL: http://svn.apache.org/viewvc?rev=1291967view=rev
Log:
Add a field to IptcRecord that contains its raw bytes,
and a getter for this value.

Jira issue key: SANSELAN-33


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java?rev=1291967r1=1291966r2=1291967view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
 Tue Feb 21 19:47:07 2012
@@ -87,6 +87,7 @@ public class IptcParser extends BinaryFi
  * Record data (unlike block data) is NOT padded to have an even length.
  *
  * Record data, for IPTC record, should always be ISO-8859-1.
+ * But according to SANSELAN-33, this isn't always the case.
  *
  * The exception is the first record in the block, which must always be a
  * record version record, whose value is a two-byte number; the value is
@@ -248,7 +249,7 @@ public class IptcParser extends BinaryFi
 // Debug.debug(index, IPTC_TYPE_CREDIT.name);
 // }
 
-IptcRecord element = new IptcRecord(iptcType, value);
+IptcRecord element = new IptcRecord(iptcType, recordData, value);
 elements.add(element);
 }
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java?rev=1291967r1=1291966r2=1291967view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcRecord.java
 Tue Feb 21 19:47:07 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.commons.sanselan.formats.jpeg.iptc;
 
+import java.io.UnsupportedEncodingException;
 import java.util.Comparator;
 
 /*
@@ -24,13 +25,32 @@ import java.util.Comparator;
 public class IptcRecord
 {
 public final IptcType iptcType;
+private final byte[] bytes;
 public final String value;
 
+public IptcRecord(IptcType iptcType, byte[] bytes, String value)
+{
+this.iptcType = iptcType;
+this.bytes = bytes;
+this.value = value;
+}
+
 public IptcRecord(IptcType iptcType, String value)
 {
 this.iptcType = iptcType;
+byte[] bytes;
+try {
+bytes = value.getBytes(ISO-8859-1);
+} catch (UnsupportedEncodingException cannotHappen) {
+bytes = null;
+}
+this.bytes = bytes;
 this.value = value;
 }
+
+public byte[] getRawBytes() {
+return bytes.clone();
+}
 
 public String getValue()
 {




svn commit: r1292655 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: common/bytesource/ByteSourceInputStream.java formats/tiff/TiffReader.java

2012-02-22 Thread damjan
Author: damjan
Date: Thu Feb 23 05:38:24 2012
New Revision: 1292655

URL: http://svn.apache.org/viewvc?rev=1292655view=rev
Log:
Fix some issues with skip() functions.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java?rev=1292655r1=1292654r2=1292655view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
 Thu Feb 23 05:38:24 2012
@@ -180,12 +180,7 @@ public class ByteSourceInputStream exten
 }
 
 InputStream is = getInputStream();
-for (long skipped = 0; skipped  blockStart; ) {
-long ret = is.skip(blockStart - skipped);
-if (ret = 0) {
-skipped += ret;
-}
-}
+skipBytes(is, blockStart);
 
 byte bytes[] = new byte[blockLength];
 int total = 0;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java?rev=1292655r1=1292654r2=1292655view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 Thu Feb 23 05:38:24 2012
@@ -136,24 +136,17 @@ public class TiffReader extends BinaryFi
 InputStream is = null;
 try
 {
-is = byteSource.getInputStream();
-if (offset  0) {
-for (long skipped = 0; skipped  offset; ) {
-long ret = is.skip(offset - skipped);
-if (ret = 0) {
-skipped += ret;
-}
-}
-}
-
-ListTiffField fields = new ArrayListTiffField();
-
 if (offset = byteSource.getLength())
 {
 // Debug.debug(skipping invalid directory!);
 return true;
 }
 
+is = byteSource.getInputStream();
+skipBytes(is, offset);
+
+ListTiffField fields = new ArrayListTiffField();
+
 int entryCount;
 try
 {




svn commit: r1292909 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: ./ common/bytesource/ common/mylzw/ formats/dcx/ formats/tiff/ formats/tiff/fieldtypes/ formats/tiff

2012-02-23 Thread damjan
Author: damjan
Date: Thu Feb 23 19:24:22 2012
New Revision: 1292909

URL: http://svn.apache.org/viewvc?rev=1292909view=rev
Log:
Provide a way to write EXIF data into files using Sanselan.writeImage().
SanselanConstants get a PARAM_KEY_EXIF, similar to PARAM_KEY_XMP_XML,
which references a TiffOutputSet containing EXIF tags to be written
into the image. Only 2 file image formats support support EXIF: JPEG
and TIFF. Since Sanselan's JPEG currently doesn't write files at all,
only TIFF has been patched, and what it does is merge the TiffOutputSet
given by the user with the TiffOutputSet generated by writing the image,
not allowing the user's one to override any tags generated internally,
but otherwise allowing any field and any directory to be written
into the output file.

Also eliminates Java  5 boxing of primitives (Findbugs).


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/common/bytesource/ByteSourceInputStream.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.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/TiffReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.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=1292909r1=1292908r2=1292909view=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
 Thu Feb 23 19:24:22 2012
@@ -101,6 +101,16 @@ public interface SanselanConstants
  *
  * Only used when writing images.
  * p
+ * Valid values: TiffOutputSet to write into the image's EXIF metadata.
+ * p
+ */
+public static final String PARAM_KEY_EXIF = EXIF;
+
+/**
+ * Parameter key.
+ *
+ * Only used when writing images.
+ * p
  * Valid values: String of XMP XML.
  * p
  */

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java?rev=1292909r1=1292908r2=1292909view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
 Thu Feb 23 19:24:22 2012
@@ -207,7 +207,7 @@ public class ByteSourceInputStream exten
 long skipped;
 while ((skipped = is.skip(1024))  0)
 result += skipped;
-streamLength = new Long(result);
+streamLength = result;
 return result;
 }
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java?rev=1292909r1=1292908r2=1292909view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/mylzw

svn commit: r1293543 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: common/ formats/tiff/ formats/tiff/datareaders/ formats/tiff/photometricinterpreters/ util/

2012-02-24 Thread damjan
Author: damjan
Date: Sat Feb 25 07:57:48 2012
New Revision: 1293543

URL: http://svn.apache.org/viewvc?rev=1293543view=rev
Log:
Introduced an ImageBuilder helper class, that provides an efficient
setRGB() method. Used it within TIFF: the change reduced the time
taken to load a 20 megapixel file by about 33%, and reduced
the total time taken for the test phase of mvn package by 3-4%.
This work is largely based on the patch by Gary Lucas in SANSELAN-56.

Also commented out Debug.purgeMemory() - this method which
sleeps and calls System.gc() should be unnecessary on modern
JVMs, and with it commented out, the time taken for mvn package
goes from 1:42 to only 0:44.

Submitted by: Gary Lucas gwlucas at sonalysts dot com
Jira issue key: SANSELAN-56


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCieLab.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCmyk.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLuv.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRgb.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/util/Debug.java

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java?rev=1293543view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
 Sat Feb 25 07:57:48 2012
@@ -0,0 +1,50 @@
+package org.apache.commons.sanselan.common;
+
+import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.DataBufferInt;
+import java.awt.image.DirectColorModel;
+import java.awt.image.WritableRaster;
+import java.util.Properties;
+
+public class ImageBuilder {
+private int[] data;
+private int width;
+private int height;
+private boolean hasAlpha;
+
+public ImageBuilder(int width, int height, boolean hasAlpha) {
+data = new int[width * height];
+this.width = width;
+this.height = height;
+this.hasAlpha = hasAlpha;
+}
+
+public void setRGB(int x, int y, int argb) {
+final int rowOffset = y * width;
+data[rowOffset + x] = argb;
+}
+
+public BufferedImage getBufferedImage() {
+ColorModel colorModel;
+WritableRaster raster;
+DataBufferInt buffer = new DataBufferInt(data, width * height);
+if (hasAlpha) {
+colorModel = new DirectColorModel(32,
+0x00ff,
+0xff00,
+0x00ff,
+0xff00);
+raster = WritableRaster.createPackedRaster(buffer, width, height, 
width,
+new int[] { 0x00ff, 0xff00, 0x00ff, 0xff00 
}, null);
+} else {
+colorModel = new DirectColorModel(24,
+0x00ff,
+0xff00,
+0x00ff);
+raster = WritableRaster.createPackedRaster(buffer, width, height, 
width,
+new int[] { 0x00ff, 0xff00, 0x00ff }, null);
+}
+return new BufferedImage(colorModel, raster, 
colorModel.isAlphaPremultiplied

svn commit: r1293744 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders: DataReader.java DataReaderStrips.java DataReaderTiled.java

2012-02-25 Thread damjan
Author: damjan
Date: Sun Feb 26 05:43:00 2012
New Revision: 1293744

URL: http://svn.apache.org/viewvc?rev=1293744view=rev
Log:
Some more TIFF performance enhancements. Make getSamplesAsBytes()
use a preallocated array instead of allocating a new one on each
pixel. Also simplifies an if statement so there's less work done
per pixel. This reduces the running time by about 20%, and shortens
the total time taken by tests run by mvn package by about 5%.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java?rev=1293744r1=1293743r2=1293744view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
 Sun Feb 26 05:43:00 2012
@@ -64,10 +64,15 @@ public abstract class DataReader impleme
 public abstract void readImageData(ImageBuilder imageBuilder)
 throws ImageReadException, IOException;
 
-protected int[] getSamplesAsBytes(BitInputStream bis)
+/**
+ * Reads samples and returns them in an int array.
+ * @param bis the stream to read from
+ * @param result the samples array to populate, must be the same length as 
bitsPerSample.length
+ * @throws IOException
+ */
+protected void getSamplesAsBytes(BitInputStream bis, int[] result)
 throws IOException
 {
-int result[] = new int[bitsPerSample.length];
 for (int i = 0; i  bitsPerSample.length; i++)
 {
 int bits = bitsPerSample[i];
@@ -85,8 +90,6 @@ public abstract class DataReader impleme
 }
 result[i] = sample;
 }
-
-return result;
 }
 
 protected int[] applyPredictor(int samples[], int x)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java?rev=1293744r1=1293743r2=1293744view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 Sun Feb 26 05:43:00 2012
@@ -55,11 +55,15 @@ public final class DataReaderStrips exte
 ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
 BitInputStream bis = new BitInputStream(bais);
 
+if (y = height) {
+return;
+}
+int[] samples = new int[bitsPerSample.length];
 for (int i = 0; i  pixels_per_strip; i++)
 {
-int samples[] = getSamplesAsBytes(bis);
+getSamplesAsBytes(bis, samples);
 
-if ((x  width)  (y  height))
+if (x  width)
 {
 samples = applyPredictor(samples, x);
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java?rev=1293744r1=1293743r2=1293744view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
 Sun Feb 26 05:43:00 2012
@@ -65,13 +65,14 @@ public final class DataReaderTiled exten
 
 int tileX = 0, tileY = 0;
 
+int[] samples = new int[bitsPerSample.length];
 for (int i = 0; i  pixelsPerTile; i++)
 {
 
 int x = tileX + startX;
 int y = tileY + startY;
 
-int samples[] = getSamplesAsBytes(bis);
+getSamplesAsBytes(bis, samples);
 
 if ((x  width)  (y  height))
 {




svn commit: r1293770 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: common/ImageBuilder.java formats/icns/IcnsDecoder.java

2012-02-26 Thread damjan
Author: damjan
Date: Sun Feb 26 08:16:40 2012
New Revision: 1293770

URL: http://svn.apache.org/viewvc?rev=1293770view=rev
Log:
Use ImageBuilder for ICNS files.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java?rev=1293770r1=1293769r2=1293770view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/ImageBuilder.java
 Sun Feb 26 08:16:40 2012
@@ -20,6 +20,19 @@ public class ImageBuilder {
 this.hasAlpha = hasAlpha;
 }
 
+public int getWidth() {
+return width;
+}
+
+public int getHeight() {
+return height;
+}
+
+public int getRGB(int x, int y) {
+final int rowOffset = y * width;
+return data[rowOffset + x];
+}
+
 public void setRGB(int x, int y, int argb) {
 final int rowOffset = y * width;
 data[rowOffset + x] = argb;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java?rev=1293770r1=1293769r2=1293770view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
 Sun Feb 26 08:16:40 2012
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.ImageBuilder;
 
 public class IcnsDecoder
 {
@@ -305,7 +306,7 @@ public class IcnsDecoder
 };
 
 private static void decode1BPPImage(IcnsType imageType, byte[] imageData,
-BufferedImage bufferedImage)
+ImageBuilder image)
 {
 int position = 0;
 int bitsLeft = 0;
@@ -326,13 +327,13 @@ public class IcnsDecoder
 argb = 0x;
 value = 1;
 bitsLeft--;
-bufferedImage.setRGB(x, y, argb);
+image.setRGB(x, y, argb);
 }
 }
 }
 
 private static void decode4BPPImage(IcnsType imageType, byte[] imageData,
-BufferedImage bufferedImage)
+ImageBuilder image)
 {
 int i = 0;
 boolean visited = false;
@@ -346,26 +347,26 @@ public class IcnsDecoder
 else
 index = 0xf  imageData[i++];
 visited = !visited;
-bufferedImage.setRGB(x, y, palette_4bpp[index]);
+image.setRGB(x, y, palette_4bpp[index]);
 }
 }
 }
 
 private static void decode8BPPImage(IcnsType imageType, byte[] imageData,
-BufferedImage bufferedImage)
+ImageBuilder image)
 {
 for (int y = 0; y  imageType.getHeight(); y++)
 {
 for (int x = 0; x  imageType.getWidth(); x++)
 {
 int index = 0xff  imageData[y*imageType.getWidth() + x];
-bufferedImage.setRGB(x, y, palette_8bpp[index]);
+image.setRGB(x, y, palette_8bpp[index]);
 }
 }
 }
 
 private static void decode32BPPImage(IcnsType imageType, byte[] imageData,
-BufferedImage bufferedImage)
+ImageBuilder image)
 {
 for (int y = 0; y  imageType.getHeight(); y++)
 {
@@ -375,27 +376,27 @@ public class IcnsDecoder
 ((0xff  imageData[4*(y*imageType.getWidth() + x) + 
1])  16) |
 ((0xff  imageData[4*(y*imageType.getWidth() + x) + 
2])  8) |
 (0xff  imageData[4*(y*imageType.getWidth() + x) + 3]);
-bufferedImage.setRGB(x, y, argb);
+image.setRGB(x, y, argb);
 }
 }
 }
 
-private static void apply1BPPMask(byte[] maskData, BufferedImage 
bufferedImage) throws ImageReadException
+private static void apply1BPPMask(byte[] maskData, ImageBuilder image) 
throws ImageReadException
 {
 int position = 0;
 int bitsLeft = 0;
 int value = 0;
 
 // 1 bit icon types have image data followed by mask data in the same 
entry
-int totalBytes

svn commit: r1293771 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp: BmpImageParser.java pixelparsers/PixelParser.java pixelparsers/PixelParserRle.java pixel

2012-02-26 Thread damjan
Author: damjan
Date: Sun Feb 26 08:23:50 2012
New Revision: 1293771

URL: http://svn.apache.org/viewvc?rev=1293771view=rev
Log:
Use ImageBuilder for BMP files.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java?rev=1293771r1=1293770r2=1293771view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
 Sun Feb 26 08:23:50 2012
@@ -37,6 +37,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.common.BinaryOutputStream;
 import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
 import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParser;
 import 
org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParserBitFields;
@@ -713,9 +714,6 @@ public class BmpImageParser extends Imag
 int width = bhi.width;
 int height = bhi.height;
 
-BufferedImage result = getBufferedImageFactory(params)
-.getColorBufferedImage(width, height, true);
-
 if (verbose)
 {
 System.out.println(width:  + width);
@@ -725,10 +723,10 @@ public class BmpImageParser extends Imag
 }
 
 PixelParser pixelParser = ic.pixelParser;
+ImageBuilder imageBuilder = new ImageBuilder(width, height, true);
+pixelParser.processImage(imageBuilder);
 
-pixelParser.processImage(result);
-
-return result;
+return imageBuilder.getBufferedImage();
 
 }
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java?rev=1293771r1=1293770r2=1293771view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
 Sun Feb 26 08:23:50 2012
@@ -16,12 +16,12 @@
  */
 package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
-import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public abstract class PixelParser
@@ -43,7 +43,7 @@ public abstract class PixelParser
 is = new ByteArrayInputStream(ImageData);
 }
 
-public abstract void processImage(BufferedImage bi)
+public abstract void processImage(ImageBuilder imageBuilder)
 throws ImageReadException, IOException;
 
 protected int getColorTableRGB(int index)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java?rev=1293771r1=1293770r2=1293771view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
 Sun Feb 26 08:23:50 2012
@@ -21,6 +21,7 @@ import java.awt.image.DataBuffer;
 import java.io.IOException;
 
 import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public class PixelParserRle extends PixelParser

svn commit: r1293773 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

2012-02-26 Thread damjan
Author: damjan
Date: Sun Feb 26 08:28:36 2012
New Revision: 1293773

URL: http://svn.apache.org/viewvc?rev=1293773view=rev
Log:
Use ImageBuilder for GIF files.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java?rev=1293773r1=1293772r2=1293773view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 Sun Feb 26 08:28:36 2012
@@ -39,6 +39,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.common.BinaryOutputStream;
 import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
 import org.apache.commons.sanselan.common.mylzw.MyLzwCompressor;
 import org.apache.commons.sanselan.common.mylzw.MyLzwDecompressor;
@@ -732,8 +733,7 @@ public class GifImageParser extends Imag
 if (gce != null  gce.transparency)
 hasAlpha = true;
 
-BufferedImage result = getBufferedImageFactory(params)
-.getColorBufferedImage(width, height, hasAlpha);
+ImageBuilder imageBuilder = new ImageBuilder(width, height, hasAlpha);
 
 {
 int colorTable[];
@@ -755,8 +755,6 @@ public class GifImageParser extends Imag
 int rowsInPass3 = (height + 1) / 4;
 int rowsInPass4 = (height) / 2;
 
-DataBuffer db = result.getRaster().getDataBuffer();
-
 for (int row = 0; row  height; row++)
 {
 int y;
@@ -797,13 +795,13 @@ public class GifImageParser extends Imag
 if (transparentIndex == index)
 rgb = 0x00;
 
-db.setElem(y * width + x, rgb);
+imageBuilder.setRGB(x, y, rgb);
 }
 
 }
 }
 
-return result;
+return imageBuilder.getBufferedImage();
 
 }
 




svn commit: r1293786 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm: FileInfo.java PnmImageParser.java

2012-02-26 Thread damjan
Author: damjan
Date: Sun Feb 26 08:52:30 2012
New Revision: 1293786

URL: http://svn.apache.org/viewvc?rev=1293786view=rev
Log:
Use ImageBuilder for PNM files.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java?rev=1293786r1=1293785r2=1293786view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
 Sun Feb 26 08:52:30 2012
@@ -16,12 +16,12 @@
  */
 package org.apache.commons.sanselan.formats.pnm;
 
-import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.common.ImageBuilder;
 
 public abstract class FileInfo
 {
@@ -56,15 +56,14 @@ public abstract class FileInfo
 // do nothing by default.
 }
 
-public void readImage(BufferedImage bi, InputStream is) throws IOException
+public void readImage(ImageBuilder imageBuilder, InputStream is) throws 
IOException
 {
 // is = new BufferedInputStream(is);
 // int count = 0;
 //
 // try
 // {
-DataBuffer buffer = bi.getRaster().getDataBuffer();
-
+
 if (!RAWBITS)
 {
 WhiteSpaceReader wsr = new WhiteSpaceReader(is);
@@ -75,7 +74,7 @@ public abstract class FileInfo
 {
 int rgb = getRGB(wsr);
 
-buffer.setElem(y * width + x, rgb);
+imageBuilder.setRGB(x, y, rgb);
 // count++;
 }
 newline();
@@ -88,7 +87,7 @@ public abstract class FileInfo
 for (int x = 0; x  width; x++)
 {
 int rgb = getRGB(is);
-buffer.setElem(y * width + x, rgb);
+imageBuilder.setRGB(x, y, rgb);
 // count++;
 }
 newline();

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java?rev=1293786r1=1293785r2=1293786view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
 Sun Feb 26 08:52:30 2012
@@ -34,6 +34,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
 import org.apache.commons.sanselan.util.Debug;
 
@@ -275,12 +276,10 @@ public class PnmImageParser extends Imag
 int height = info.height;
 
 boolean hasAlpha = false;
-BufferedImage result = getBufferedImageFactory(params)
-.getColorBufferedImage(width, height, hasAlpha);
+ImageBuilder imageBuilder = new ImageBuilder(width, height, 
hasAlpha);
+info.readImage(imageBuilder, is);
 
-info.readImage(result, is);
-
-return result;
+return imageBuilder.getBufferedImage();
 } finally
 {
 try




svn commit: r1294474 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: formats/gif/ formats/pnm/ formats/tiff/ palette/

2012-02-27 Thread damjan
Author: damjan
Date: Tue Feb 28 06:06:45 2012
New Revision: 1294474

URL: http://svn.apache.org/viewvc?rev=1294474view=rev
Log:
Fix some FindBugs problems.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PbmWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PgmWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PpmWriter.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/palette/MedianCutQuantizer.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java?rev=1294474r1=1294473r2=1294474view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
 Tue Feb 28 06:06:45 2012
@@ -284,7 +284,7 @@ public class GifImageParser extends Imag
 if (formatCompliance != null)
 formatCompliance
 .addComment(Unknown Application Extension (
-+ new String(label) + ), 
completeCode);
++ new String(label, US-ASCII) + ), 
completeCode);
 
 // if (label == new String(ICCRGBG1))
 {
@@ -565,7 +565,7 @@ public class GifImageParser extends Imag
 if (block.blockCode == code)
 {
 byte bytes[] = ((GenericGifBlock) block).appendSubBlocks();
-result.add(new String(bytes));
+result.add(new String(bytes, US-ASCII));
 }
 }
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PbmWriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PbmWriter.java?rev=1294474r1=1294473r2=1294474view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PbmWriter.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PbmWriter.java
 Tue Feb 28 06:06:45 2012
@@ -40,10 +40,10 @@ public class PbmWriter extends PnmWriter
 int width = src.getWidth();
 int height = src.getHeight();
 
-os.write(( + width).getBytes());
+os.write(( + width).getBytes(US-ASCII));
 os.write(PNM_SEPARATOR);
 
-os.write(( + height).getBytes());
+os.write(( + height).getBytes(US-ASCII));
 os.write(PNM_NEWLINE);
 
 int bitcache = 0;
@@ -76,7 +76,7 @@ public class PbmWriter extends PnmWriter
 }
 } else
 {
-os.write(( + sample).getBytes()); // max component value
+os.write(( + sample).getBytes(US-ASCII)); // max 
component value
 os.write(PNM_SEPARATOR);
 }
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PgmWriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PgmWriter.java?rev=1294474r1=1294473r2=1294474view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PgmWriter.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PgmWriter.java
 Tue Feb 28 06:06:45 2012
@@ -42,13 +42,13 @@ public class PgmWriter extends PnmWriter
 int width = src.getWidth();
 int height = src.getHeight();
 
-os.write(( + width).getBytes());
+os.write(( + width).getBytes(US-ASCII));
 os.write(PNM_SEPARATOR);
 
-os.write(( + height).getBytes());
+os.write(( + height).getBytes(US-ASCII));
 os.write(PNM_SEPARATOR);
 
-os.write(( + 255).getBytes()); // max component value
+os.write(( + 255).getBytes(US-ASCII)); // max component value
 os.write(PNM_NEWLINE);
 
 for (int y = 0; y  height; y++)
@@ -66,7 +66,7 @@ public class PgmWriter extends PnmWriter
 }
 else

svn commit: r1294484 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java

2012-02-27 Thread damjan
Author: damjan
Date: Tue Feb 28 06:42:53 2012
New Revision: 1294484

URL: http://svn.apache.org/viewvc?rev=1294484view=rev
Log:
Some more FindBugs fixes.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java?rev=1294484r1=1294483r2=1294484view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PngChunkIccp.java
 Tue Feb 28 06:42:53 2012
@@ -43,7 +43,7 @@ public class PngChunkIccp extends PngChu
 throw new ImageReadException(PngChunkIccp: No Profile Name);
 byte name_bytes[] = new byte[index];
 System.arraycopy(bytes, 0, name_bytes, 0, index);
-ProfileName = new String(name_bytes);
+ProfileName = new String(name_bytes, ISO-8859-1);
 
 CompressionMethod = bytes[index + 1];
 




svn commit: r1294794 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats: png/PngConstants.java png/PngWriter.java psd/PsdConstants.java

2012-02-28 Thread damjan
Author: damjan
Date: Tue Feb 28 19:16:15 2012
New Revision: 1294794

URL: http://svn.apache.org/viewvc?rev=1294794view=rev
Log:
Do not allow final arrays to be mutated.
This completes the changeset for SANSELAN-42
by getting rid of all public static final arrays
(at least, as found by FindBugs).

Jira issue key: SANSELAN-42


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdConstants.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java?rev=1294794r1=1294793r2=1294794view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
 Tue Feb 28 19:16:15 2012
@@ -17,6 +17,7 @@
 package org.apache.commons.sanselan.formats.png;
 
 import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.common.BinaryConstant;
 import org.apache.commons.sanselan.common.BinaryFileFunctions;
 
 public interface PngConstants extends SanselanConstants
@@ -24,28 +25,28 @@ public interface PngConstants extends Sa
 
 public static final int COMPRESSION_DEFLATE_INFLATE = 0;
 
-public final static byte[] IHDR_CHUNK_TYPE = new byte[] { 73, 72, 68, 82 };
-public final static byte[] PLTE_CHUNK_TYPE = new byte[] { 80, 76, 84, 69 };
-public final static byte[] IEND_CHUNK_TYPE = new byte[] { 73, 69, 78, 68 };
-public final static byte[] IDAT_CHUNK_TYPE = new byte[] { 73, 68, 65, 84 };
-public final static byte[] iTXt_CHUNK_TYPE = new byte[] { //
+public final static BinaryConstant IHDR_CHUNK_TYPE = new 
BinaryConstant(new byte[] { 73, 72, 68, 82 });
+public final static BinaryConstant PLTE_CHUNK_TYPE = new 
BinaryConstant(new byte[] { 80, 76, 84, 69 });
+public final static BinaryConstant IEND_CHUNK_TYPE = new 
BinaryConstant(new byte[] { 73, 69, 78, 68 });
+public final static BinaryConstant IDAT_CHUNK_TYPE = new 
BinaryConstant(new byte[] { 73, 68, 65, 84 });
+public final static BinaryConstant iTXt_CHUNK_TYPE = new 
BinaryConstant(new byte[] { //
 105, //
 84, //
 88, //
 116, //
-};
-public final static byte[] tEXt_CHUNK_TYPE = new byte[] { //
+});
+public final static BinaryConstant tEXt_CHUNK_TYPE = new 
BinaryConstant(new byte[] { //
 0x74, //
 0x45, //
 0x58, //
 0x74, //
-};
-public final static byte[] zTXt_CHUNK_TYPE = new byte[] { //
+});
+public final static BinaryConstant zTXt_CHUNK_TYPE = new 
BinaryConstant(new byte[] { //
 0x7A, //
 0x54, //
 0x58, //
 0x74, //
-};
+});
 
 public final static int IEND = BinaryFileFunctions.charsToQuad('I', 'E', 
'N',
 'D');
@@ -74,8 +75,8 @@ public interface PngConstants extends Sa
 public final static int iTXt = BinaryFileFunctions.charsToQuad('i', 'T', 
'X',
 't');
 
-public static final byte PNG_Signature[] = {
-(byte) 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, };
+public static final BinaryConstant PNG_Signature = new BinaryConstant(new 
byte[]{
+(byte) 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, });
 
 public static final String PARAM_KEY_PNG_BIT_DEPTH = PNG_BIT_DEPTH;
 public static final String PARAM_KEY_PNG_FORCE_INDEXED_COLOR = 
PNG_FORCE_INDEXED_COLOR;

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java?rev=1294794r1=1294793r2=1294794view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
 Tue Feb 28 19:16:15 2012
@@ -144,7 +144,7 @@ public class PngWriter implements PngCon
 
 // Debug.debug(baos, baos.toByteArray());
 
-writeChunk(os, IHDR_CHUNK_TYPE, baos.toByteArray());
+writeChunk(os, IHDR_CHUNK_TYPE.toByteArray(), baos.toByteArray());
 }
 
 private void writeChunkiTXt(OutputStream os, PngText.iTXt text)
@@ -177,7 +177,7 @@ public class PngWriter implements PngCon

svn commit: r1294807 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/common/bytesource/ main/java/org/apache/commons/sanselan/formats/bmp/ main/java/org/apache/commons/s

2012-02-28 Thread damjan
Author: damjan
Date: Tue Feb 28 20:06:34 2012
New Revision: 1294807

URL: http://svn.apache.org/viewvc?rev=1294807view=rev
Log:
Fix many ByteSource.getInputStream() leaks, where
the stream returned wasn't closed in a finally block.

Jira issue key: SANSELAN-63


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSource.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/common/bytesource/ByteSourceDataTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSource.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSource.java?rev=1294807r1=1294806r2=1294807view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSource.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSource.java
 Tue Feb 28 20:06:34 2012
@@ -32,10 +32,19 @@ public abstract class ByteSource extends
 
 public final InputStream getInputStream(int start) throws IOException
 {
-InputStream is = getInputStream();
-
-skipBytes(is, start);
-
+InputStream is = null;
+boolean succeeded = false;
+try {
+is = getInputStream();
+skipBytes(is, start);
+succeeded = true;
+} finally {
+if (!succeeded) {
+if (is != null) {
+is.close();
+}
+}
+}
 return is;
 }
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java?rev=1294807r1=1294806r2=1294807view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
 Tue Feb 28 20:06:34 2012
@@ -593,8 +593,19 @@ public class BmpImageParser extends Imag
 throw new ImageReadException(Unknown parameter:  + firstKey);
 }
 
-ImageContents ic = readImageContents(byteSource.getInputStream(),
-FormatCompliance.getDefault(), verbose);
+InputStream is = null;
+ImageContents ic = null;
+try {
+is = byteSource.getInputStream();
+ic = readImageContents(is, FormatCompliance.getDefault(), verbose);
+} finally {
+if (is != null) {
+try {
+is.close();
+} catch (IOException ignore) {
+}
+}
+}
 
 if (ic == null)
 throw new ImageReadException(Couldn't read BMP Data);
@@ -671,7 +682,18 @@ public class BmpImageParser extends Imag
 FormatCompliance result = new FormatCompliance(byteSource
 .getDescription());
 
-readImageContents(byteSource.getInputStream(), result, verbose);
+InputStream is = null;
+try {
+is = byteSource.getInputStream();
+readImageContents(is, result, verbose);
+} finally {
+if (is != null) {
+try {
+is.close();
+} catch (IOException ignore) {
+}
+}
+}
 
 return result;
 }
@@ -679,7 +701,18 @@ public class BmpImageParser extends Imag
 public BufferedImage getBufferedImage(ByteSource byteSource, Map params)
 throws ImageReadException, IOException
 {
-return getBufferedImage(byteSource.getInputStream(), params);
+InputStream is = null;
+try {
+is = byteSource.getInputStream();
+return getBufferedImage(is, params);
+} finally {
+if (is != null) {
+try {
+is.close();
+} catch (IOException ignore) {
+}
+}
+}
 }
 
 public BufferedImage getBufferedImage(InputStream inputStream, Map params)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons

svn commit: r1294964 - in /commons/proper/sanselan/trunk: ./ src/main/java/org/apache/commons/sanselan/formats/xpm/ src/main/resources/ src/main/resources/org/ src/main/resources/org/apache/ src/main/

2012-02-28 Thread damjan
Author: damjan
Date: Wed Feb 29 03:52:27 2012
New Revision: 1294964

URL: http://svn.apache.org/viewvc?rev=1294964view=rev
Log:
Added support for symbolic color names in XPM files.
Imported rgb.txt from the X.org project to provide these,
and added its MIT license to LICENSE.txt.
Fixed some bugs in rgb.txt parsing.
Added a test image that uses a symbolic color.
Also updated website's format support.


Added:
commons/proper/sanselan/trunk/src/main/resources/
commons/proper/sanselan/trunk/src/main/resources/org/
commons/proper/sanselan/trunk/src/main/resources/org/apache/
commons/proper/sanselan/trunk/src/main/resources/org/apache/commons/

commons/proper/sanselan/trunk/src/main/resources/org/apache/commons/sanselan/

commons/proper/sanselan/trunk/src/main/resources/org/apache/commons/sanselan/formats/

commons/proper/sanselan/trunk/src/main/resources/org/apache/commons/sanselan/formats/xpm/

commons/proper/sanselan/trunk/src/main/resources/org/apache/commons/sanselan/formats/xpm/rgb.txt
   (with props)
commons/proper/sanselan/trunk/src/test/data/images/xpm/1/symbolic.xpm
Modified:
commons/proper/sanselan/trunk/LICENSE.txt

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
commons/proper/sanselan/trunk/src/site/xdoc/formatsupport.xml
commons/proper/sanselan/trunk/src/test/data/images/xpm/1/info.txt

Modified: commons/proper/sanselan/trunk/LICENSE.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/LICENSE.txt?rev=1294964r1=1294963r2=1294964view=diff
==
--- commons/proper/sanselan/trunk/LICENSE.txt (original)
+++ commons/proper/sanselan/trunk/LICENSE.txt Wed Feb 29 03:52:27 2012
@@ -200,3 +200,57 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+
+
+EXTERNAL COMPONENTS
+
+Apache Commons Sanselan includes a number of components with separate copyright
+notices and license terms. Your use of these components is subject to the terms
+and conditions of the following licenses.
+
+rgb.txt comes from the X.org project and is under the following licenses:
+
+   Copyright 1985, 1989, 1998  The Open Group
+
+   Permission to use, copy, modify, distribute, and sell this software and its
+   documentation for any purpose is hereby granted without fee, provided that
+   the above copyright notice appear in all copies and that both that
+   copyright notice and this permission notice appear in supporting
+   documentation.
+
+   The above copyright notice and this permission notice shall be included
+   in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS
+   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+   IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+   OTHER DEALINGS IN THE SOFTWARE.
+
+   Except as contained in this notice, the name of The Open Group shall
+   not be used in advertising or otherwise to promote the sale, use or
+   other dealings in this Software without prior written authorization
+   from The Open Group.
+
+   Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.
+
+   Permission is hereby granted, free of charge, to any person obtaining a
+   copy of this software and associated documentation files (the Software),
+   to deal in the Software without restriction, including without limitation
+   the rights to use, copy, modify, merge, publish, distribute, sublicense,
+   and/or sell copies of the Software, and to permit persons to whom the
+   Software is furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice (including the next
+   paragraph) shall be included in all copies or substantial portions of the
+   Software.
+
+   THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+   DEALINGS IN THE SOFTWARE.

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java?rev

svn commit: r1296636 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

2012-03-03 Thread damjan
Author: damjan
Date: Sat Mar  3 15:20:54 2012
New Revision: 1296636

URL: http://svn.apache.org/viewvc?rev=1296636view=rev
Log:
Allow RowsPerStrip to be optional, and treat it as infinity when it is.

Submitted by: Piyush Kapoor pkapoor at adobe dot com
Jira issue key: SANSELAN-65


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java?rev=1296636r1=1296635r2=1296636view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 Sat Mar  3 15:20:54 2012
@@ -478,9 +478,18 @@ public class TiffReader extends BinaryFi
 {
 TiffField rowsPerStripField = directory
 .findField(TiffTagConstants.TIFF_TAG_ROWS_PER_STRIP);
-if (null == rowsPerStripField)
-throw new ImageReadException(Can't find rows per strip 
field.);
-int rowsPerStrip = rowsPerStripField.getIntValue();
+int rowsPerStrip ; 
+
+if (null != rowsPerStripField) {
+rowsPerStrip = rowsPerStripField.getIntValue();
+} else {
+TiffField imageHeight = 
directory.findField(TiffTagConstants.TIFF_TAG_IMAGE_LENGTH);
+/**
+ * if rows per strip not present then rowsPerStrip 
+ * is equal to imageLength or an infinity value;
+ */
+rowsPerStrip = imageHeight.getIntValue();   
+}
 
 return new TiffImageData.Strips(data, rowsPerStrip);
 } else




svn commit: r1296641 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

2012-03-03 Thread damjan
Author: damjan
Date: Sat Mar  3 15:35:29 2012
New Revision: 1296641

URL: http://svn.apache.org/viewvc?rev=1296641view=rev
Log:
Revert the previous patch which was committed by accident.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java?rev=1296641r1=1296640r2=1296641view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 Sat Mar  3 15:35:29 2012
@@ -478,18 +478,9 @@ public class TiffReader extends BinaryFi
 {
 TiffField rowsPerStripField = directory
 .findField(TiffTagConstants.TIFF_TAG_ROWS_PER_STRIP);
-int rowsPerStrip ; 
-
-if (null != rowsPerStripField) {
-rowsPerStrip = rowsPerStripField.getIntValue();
-} else {
-TiffField imageHeight = 
directory.findField(TiffTagConstants.TIFF_TAG_IMAGE_LENGTH);
-/**
- * if rows per strip not present then rowsPerStrip 
- * is equal to imageLength or an infinity value;
- */
-rowsPerStrip = imageHeight.getIntValue();   
-}
+if (null == rowsPerStripField)
+throw new ImageReadException(Can't find rows per strip 
field.);
+int rowsPerStrip = rowsPerStripField.getIntValue();
 
 return new TiffImageData.Strips(data, rowsPerStrip);
 } else




svn commit: r1297330 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

2012-03-05 Thread damjan
Author: damjan
Date: Tue Mar  6 02:59:06 2012
New Revision: 1297330

URL: http://svn.apache.org/viewvc?rev=1297330view=rev
Log:
TIFF RowsPerStrip can be absent, and means infinity.

Submittted by: Piyush Kapoor pkapoor at adobe dot com
Jira issue key: SANSELAN-65


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java?rev=1297330r1=1297329r2=1297330view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
 Tue Mar  6 02:59:06 2012
@@ -478,9 +478,18 @@ public class TiffReader extends BinaryFi
 {
 TiffField rowsPerStripField = directory
 .findField(TiffTagConstants.TIFF_TAG_ROWS_PER_STRIP);
-if (null == rowsPerStripField)
-throw new ImageReadException(Can't find rows per strip 
field.);
-int rowsPerStrip = rowsPerStripField.getIntValue();
+int rowsPerStrip ; 
+
+if (null != rowsPerStripField) {
+rowsPerStrip = rowsPerStripField.getIntValue();
+} else {
+TiffField imageHeight = 
directory.findField(TiffTagConstants.TIFF_TAG_IMAGE_LENGTH);
+/**
+ * if rows per strip not present then rowsPerStrip 
+ * is equal to imageLength or an infinity value;
+ */
+rowsPerStrip = imageHeight.getIntValue();   
+}
 
 return new TiffImageData.Strips(data, rowsPerStrip);
 } else




svn commit: r1301892 - in /commons/proper/sanselan/trunk: ./ src/main/java/org/apache/commons/sanselan/ src/main/java/org/apache/commons/sanselan/formats/bmp/ src/main/java/org/apache/commons/sanselan

2012-03-17 Thread damjan
Author: damjan
Date: Sat Mar 17 08:57:55 2012
New Revision: 1301892

URL: http://svn.apache.org/viewvc?rev=1301892view=rev
Log:
Allow writing pixel density (DPI) into images.

Jira issue key: SANSELAN-67


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/PixelDensity.java
   (with props)
Modified:
commons/proper/sanselan/trunk/pom.xml

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/bmp/BmpImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java

Modified: commons/proper/sanselan/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/pom.xml?rev=1301892r1=1301891r2=1301892view=diff
==
--- commons/proper/sanselan/trunk/pom.xml (original)
+++ commons/proper/sanselan/trunk/pom.xml Sat Mar 17 08:57:55 2012
@@ -118,6 +118,60 @@
   /plugin
 /plugins
 
+pluginManagement
+   plugins
+   !--This plugin's configuration is used to store Eclipse m2e 
settings only. It has no influence on the Maven build itself.--
+   plugin
+   groupIdorg.eclipse.m2e/groupId
+   artifactIdlifecycle-mapping/artifactId
+   version1.0.0/version
+   configuration
+   lifecycleMappingMetadata
+   pluginExecutions
+   pluginExecution
+   pluginExecutionFilter
+   groupId
+   
org.apache.maven.plugins
+   /groupId
+   artifactId
+   
maven-antrun-plugin
+   /artifactId
+   
versionRange[1.6,)/versionRange
+   goals
+   
goalrun/goal
+   /goals
+   /pluginExecutionFilter
+   action
+   execute
+
runOnIncrementalfalse/runOnIncremental
+/execute
+   /action
+   /pluginExecution
+   pluginExecution
+   pluginExecutionFilter
+   
groupIdorg.apache.felix/groupId
+   artifactId
+   
maven-bundle-plugin
+   /artifactId
+   versionRange
+   [2.3.5,)
+   /versionRange
+   goals
+   
goalmanifest/goal
+   /goals
+   /pluginExecutionFilter
+   action
+   execute
+   
runOnIncrementalfalse/runOnIncremental
+   /execute
+   /action
+   /pluginExecution

svn commit: r1301903 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: ./ common/ formats/tiff/ formats/tiff/datareaders/

2012-03-17 Thread damjan
Author: damjan
Date: Sat Mar 17 09:42:36 2012
New Revision: 1301903

URL: http://svn.apache.org/viewvc?rev=1301903view=rev
Log:
Make BitInputStream sensitive to byte order.
Allows 48 BPP TIFF files to load.

Jira issue key: SANSELAN-66
Submitted by: Piyush Kapoor pkapoor at adobe dot com


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/common/BinaryFileParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageData.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.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=1301903r1=1301902r2=1301903view=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:42:36 2012
@@ -123,4 +123,12 @@ 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/common/BinaryFileParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java?rev=1301903r1=1301902r2=1301903view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java
 Sat Mar 17 09:42:36 2012
@@ -57,7 +57,7 @@ public class BinaryFileParser extends Bi
 this.byteOrder = byteOrder;
 }
 
-protected int getByteOrder()
+public int getByteOrder()
 {
 return byteOrder;
 }

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java?rev=1301903r1=1301902r2=1301903view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
 Sat Mar 17 09:42:36 2012
@@ -21,13 +21,14 @@ import java.io.InputStream;
 
 public class BitInputStream extends InputStream implements BinaryConstants
 {
-// TODO should be byte order conscious, ie TIFF for reading
-// samples size8 - shuoldn't that effect their order within byte?
+
 private final InputStream is;
+private final int byteOrder;
 
-public BitInputStream(InputStream is)
+public BitInputStream(InputStream is, int byteOrder)
 {
 this.is = is;
+this.byteOrder = byteOrder;
 //super(is);
 }
 
@@ -88,25 +89,53 @@ public class BitInputStream extends Inpu
 bytes_read++;
 return is.read();
 }
+
+/**
+ * Taking default order of the Tiff to be 
+ * Little Endian and reversing the bytes in the end
+ * if its Big Endian.This is done because majority (may be all)
+ * of the files will be of Little Endian.
+ */
+if(byteOrder == BYTE_ORDER_BIG_ENDIAN) {
+if (count == 16)
+{
+bytes_read += 2;
+return (is.read()  8) | (is.read()  0);
+}
 
-if (count == 16)
-{
-bytes_read += 2;
-return (is.read()  8) | (is.read()  0);
-}
-
-if (count == 24)
-{
-bytes_read += 3;
-return (is.read()  16) | (is.read()  8) | (is.read()  0);
-}
+if (count == 24

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/t

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

URL: http://svn.apache.org/viewvc?rev=1301904view=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=1301904r1=1301903r2=1301904view=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=1301904r1=1301903r2=1301904view=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=1301904r1=1301903r2=1301904view=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=1301904r1=1301903r2=1301904view=diff

svn commit: r1302079 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ main/java/org/apache/commons/sanselan/formats/tiff/datareaders/ test/java/or

2012-03-18 Thread damjan
Author: damjan
Date: Sun Mar 18 07:26:44 2012
New Revision: 1302079

URL: http://svn.apache.org/viewvc?rev=1302079view=rev
Log:
Start refactoring the EXIF tags.
Move TIFF tags to their own class.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/AsciiFieldTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1302079r1=1302078r2=1302079view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 18 07:26:44 2012
@@ -66,101 +66,6 @@ public interface ExifTagConstants
 public static final TagInfoAscii EXIF_TAG_PROCESSING_SOFTWARE = new 
TagInfoAscii(
 Processing Software, 0x000b, 1,
 TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoLong EXIF_TAG_SUBFILE_TYPE = new TagInfoLong(
-Subfile Type, 0x00fe, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final int SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 0;
-public static final int SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 1;
-public static final int SUBFILE_TYPE_VALUE_SINGLE_PAGE_OF_MULTI_PAGE_IMAGE 
= 2;
-public static final int 
SUBFILE_TYPE_VALUE_SINGLE_PAGE_OF_MULTI_PAGE_REDUCED_RESOLUTION_IMAGE = 3;
-public static final int SUBFILE_TYPE_VALUE_TRANSPARENCY_MASK = 4;
-public static final int 
SUBFILE_TYPE_VALUE_TRANSPARENCY_MASK_OF_REDUCED_RESOLUTION_IMAGE = 5;
-public static final int 
SUBFILE_TYPE_VALUE_TRANSPARENCY_MASK_OF_MULTI_PAGE_IMAGE = 6;
-public static final int 
SUBFILE_TYPE_VALUE_TRANSPARENCY_MASK_OF_REDUCED_RESOLUTION_MULTI_PAGE_IMAGE = 7;
-public static final TagInfoShort EXIF_TAG_OLD_SUBFILE_TYPE = new 
TagInfoShort(
-Old Subfile Type, 0x00ff, 1,
-TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final int OLD_SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 1;
-public static final int OLD_SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 
2;
-public static final int 
OLD_SUBFILE_TYPE_VALUE_SINGLE_PAGE_OF_MULTI_PAGE_IMAGE = 3;
-public static final TagInfoLong EXIF_TAG_IMAGE_WIDTH_IFD0 = new 
TagInfoLong(
-Image Width, 0x0100, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoLong EXIF_TAG_IMAGE_HEIGHT_IFD0 = new 
TagInfoLong(
-Image Height, 0x0101, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoShort EXIF_TAG_BITS_PER_SAMPLE = new 
TagInfoShort(
-Bits Per Sample, 0x0102, -1,
-TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoShort EXIF_TAG_COMPRESSION = new TagInfoShort(
-Compression, 0x0103, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final int COMPRESSION_VALUE_UNCOMPRESSED = 1;
-public static final int COMPRESSION_VALUE_CCITT_1D = 2;
-public static final int COMPRESSION_VALUE_T4_GROUP_3_FAX = 3;
-public static final int COMPRESSION_VALUE_T6_GROUP_4_FAX = 4;
-public static final int COMPRESSION_VALUE_LZW = 5;
-public static final int COMPRESSION_VALUE_JPEG_OLD_STYLE = 6;
-public static final int COMPRESSION_VALUE_JPEG = 7;
-public static final int COMPRESSION_VALUE_ADOBE_DEFLATE = 8;
-public static final int COMPRESSION_VALUE_JBIG_B_AND_W = 9;
-public static final int COMPRESSION_VALUE_JBIG_COLOR = 10;
-public static final int COMPRESSION_VALUE_NEXT = 32766;
-public static final int COMPRESSION_VALUE_EPSON_ERF_COMPRESSED = 32769;
-public static final int COMPRESSION_VALUE_CCIRLEW = 32771;
-public static final int COMPRESSION_VALUE_PACK_BITS = 32773;
-public static final int COMPRESSION_VALUE_THUNDERSCAN = 32809;
-public static final int COMPRESSION_VALUE_IT8CTPAD = 32895;
-public static final int COMPRESSION_VALUE_IT8LW = 32896;
-public static final int COMPRESSION_VALUE_IT8MP = 32897;
-public static final int COMPRESSION_VALUE_IT8BL = 32898;
-public static final int COMPRESSION_VALUE_PIXAR_FILM = 32908;
-public static final int COMPRESSION_VALUE_PIXAR_LOG = 32909;
-public static final int COMPRESSION_VALUE_DEFLATE = 32946

svn commit: r1302095 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-18 Thread damjan
Author: damjan
Date: Sun Mar 18 08:34:37 2012
New Revision: 1302095

URL: http://svn.apache.org/viewvc?rev=1302095view=rev
Log:
Factor out more TIFF tags into separate classes.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffClassFTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java?rev=1302095view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
 Sun Mar 18 08:34:37 2012
@@ -0,0 +1,62 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+
+/**
+ * TIFF specification supplement 1
+ * BR
+ * Enhancements for Adobe PageMaker(R) 6.0 software
+ * BR
+ * http://partners.adobe.com/public/developer/en/tiff/TIFFPM6.pdf
+ */
+public interface AdobePageMaker6TagConstants extends TiffFieldTypeConstants {
+public static final TagInfoLong TIFF_TAG_SUB_IFD = new TagInfoLong(
+Sub IFD,  0x014a, -1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
+
+public static final TagInfoByte TIFF_TAG_CLIP_PATH = new TagInfoByte(
+Clip Path,  0x0157, -1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+public static final TagInfoLong TIFF_TAG_XCLIP_PATH_UNITS = new 
TagInfoLong(
+XClip Path Units, 0x0158, 1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+public static final TagInfoLong TIFF_TAG_YCLIP_PATH_UNITS = new 
TagInfoLong(
+YClip Path Units, 0x0159, 1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+public static final TagInfoShort TIFF_TAG_INDEXED = new TagInfoShort(
+Indexed, 0x015a, 1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+public static final int INDEXED_VALUE_NOT_INDEXED = 0;
+public static final int INDEXED_VALUE_INDEXED = 1;
+
+public static final TagInfoShort TIFF_TAG_OPIPROXY = new TagInfoShort(
+OPIProxy, 0x015f, 1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+public static final int 
OPIPROXY_VALUE_HIGHER_RESOLUTION_IMAGE_DOES_NOT_EXIST = 0;
+public static final int OPIPROXY_VALUE_HIGHER_RESOLUTION_IMAGE_EXISTS = 1;
+
+public static final TagInfoAscii TIFF_TAG_IMAGE_ID = new TagInfoAscii(
+Image ID, 0x800d, -1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+public static final ListTagInfo ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS =
+Collections.unmodifiableList(Arrays.asList(
+TIFF_TAG_SUB_IFD,
+TIFF_TAG_CLIP_PATH,
+TIFF_TAG_XCLIP_PATH_UNITS,
+TIFF_TAG_YCLIP_PATH_UNITS,
+TIFF_TAG_INDEXED,
+TIFF_TAG_OPIPROXY,
+TIFF_TAG_IMAGE_ID));
+}

Propchange: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
--
svn:eol-style = native

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1302095r1=1302094r2=1302095view=diff

svn commit: r1302103 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-18 Thread damjan
Author: damjan
Date: Sun Mar 18 09:25:59 2012
New Revision: 1302103

URL: http://svn.apache.org/viewvc?rev=1302103view=rev
Log:
Factor out RFC 2301 tags and TIFF4 tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java
   (with props)
Removed:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffClassFTagConstants.java
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1302103r1=1302102r2=1302103view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sun Mar 18 09:25:59 2012
@@ -27,9 +27,11 @@ public interface AllTagConstants
 SanselanConstants
 {
 public static final ListTagInfo ALL_TAGS = Collections.unmodifiableList(
-TagConstantsUtils.mergeTagLists(TiffTagConstants.ALL_TIFF_TAGS,
+TagConstantsUtils.mergeTagLists(
+Tiff4TagConstants.ALL_TIFF_4_TAGS,
+TiffTagConstants.ALL_TIFF_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
-TiffClassFTagConstants.ALL_TIFF_CLASS_F_TAGS,
+Rfc2301TagConstants.ALL_RFC_2301_TAGS,
 
AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
 GpsTagConstants.ALL_GPS_TAGS));
 

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1302103r1=1302102r2=1302103view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 18 09:25:59 2012
@@ -83,38 +83,8 @@ public interface ExifTagConstants
 public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2 = 
new TagInfoLong(
 Jpg From Raw Length, 0x0117, 1,
 TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2);
-public static final TagInfoShort EXIF_TAG_COLOR_RESPONSE_UNIT = new 
TagInfoShort(
-Color Response Unit, 0x012c, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoUndefined EXIF_TAG_JPEGTABLES = new 
TagInfoUndefined(JPEGTables,
 0x015b, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoLong EXIF_TAG_GLOBAL_PARAMETERS_IFD = new 
TagInfoLong(
-Global Parameters IFD, 0x0190, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
-public static final TagInfoLong EXIF_TAG_PROFILE_TYPE = new TagInfoLong(
-Profile Type, 0x0191, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final int PROFILE_TYPE_VALUE_UNSPECIFIED = 0;
-public static final int PROFILE_TYPE_VALUE_GROUP_3_FAX = 1;
-public static final TagInfoByte EXIF_TAG_FAX_PROFILE = new TagInfoByte(
-Fax Profile, 0x0192, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final int FAX_PROFILE_VALUE_UNKNOWN = 0;
-public static final int FAX_PROFILE_VALUE_MINIMAL_B_AND_W_LOSSLESS_S = 1;
-public static final int FAX_PROFILE_VALUE_EXTENDED_B_AND_W_LOSSLESS_F = 2;
-public static final int FAX_PROFILE_VALUE_LOSSLESS_JBIG_B_AND_W_J = 3;
-public static final int FAX_PROFILE_VALUE_LOSSY_COLOR_AND_GRAYSCALE_C = 4;
-public static final int FAX_PROFILE_VALUE_LOSSLESS_COLOR_AND_GRAYSCALE_L = 
5;
-public static final int FAX_PROFILE_VALUE_MIXED_RASTER_CONTENT_M = 6;
-public static final

svn commit: r1302275 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-18 Thread damjan
Author: damjan
Date: Mon Mar 19 05:45:50 2012
New Revision: 1302275

URL: http://svn.apache.org/viewvc?rev=1302275view=rev
Log:
Factor out Wang, Microsoft and DCF tags.
Update RFC 2301 tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/WangTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Rfc2301TagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1302275r1=1302274r2=1302275view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Mon Mar 19 05:45:50 2012
@@ -28,11 +28,13 @@ public interface AllTagConstants
 {
 public static final ListTagInfo ALL_TAGS = Collections.unmodifiableList(
 TagConstantsUtils.mergeTagLists(
-Tiff4TagConstants.ALL_TIFF_4_TAGS,
-TiffTagConstants.ALL_TIFF_TAGS,
+
AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
+DcfTagConstants.ALL_DCF_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
+GpsTagConstants.ALL_GPS_TAGS,
+MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
 Rfc2301TagConstants.ALL_RFC_2301_TAGS,
-
AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
-GpsTagConstants.ALL_GPS_TAGS));
-
+Tiff4TagConstants.ALL_TIFF_4_TAGS,
+TiffTagConstants.ALL_TIFF_TAGS,
+WangTagConstants.ALL_WANG_TAGS));
 }
\ No newline at end of file

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java?rev=1302275view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DcfTagConstants.java
 Mon Mar 19 05:45:50 2012
@@ -0,0 +1,42 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShortOrLong;
+
+/**
+ * Design rule for Camera Filesystem
+ * BR
+ * http://www.exif.org/dcf.PDF
+ */
+public interface DcfTagConstants extends TiffFieldTypeConstants {
+public static final TagInfoAscii EXIF_TAG_RELATED_IMAGE_FILE_FORMAT = new 
TagInfoAscii(
+Related Image File Format, 0x1000, -1,
+TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+
+public static final TagInfoShortOrLong EXIF_TAG_RELATED_IMAGE_WIDTH = new 
TagInfoShortOrLong(
+Related Image Width, 0x1001, 1,
+TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+
+public static final TagInfoShortOrLong EXIF_TAG_RELATED_IMAGE_LENGTH = new 
TagInfoShortOrLong(
+Related Image Length, 0x1002, 1,
+TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
+
+public static final TagInfoShort EXIF_TAG_COLOR_SPACE = new TagInfoShort(
+Color Space, 0xa001, 1, 
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+public static final int COLOR_SPACE_VALUE_SRGB = 1;
+public static final int COLOR_SPACE_VALUE_ADOBE_RGB = 2;
+public static final int

svn commit: r1302635 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants: AllTagConstants.java ExifTagConstants.java HylaFaxTagConstants.java Microsoft

2012-03-19 Thread damjan
Author: damjan
Date: Mon Mar 19 20:15:20 2012
New Revision: 1302635

URL: http://svn.apache.org/viewvc?rev=1302635view=rev
Log:
Factor out Microsoft and HylaFax tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/HylaFaxTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftTagConstants.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1302635r1=1302634r2=1302635view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Mon Mar 19 20:15:20 2012
@@ -32,9 +32,10 @@ public interface AllTagConstants
 DcfTagConstants.ALL_DCF_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
+HylaFaxTagConstants.ALL_HYLAFAX_TAGS,
 MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
 Rfc2301TagConstants.ALL_RFC_2301_TAGS,
 Tiff4TagConstants.ALL_TIFF_4_TAGS,
 TiffTagConstants.ALL_TIFF_TAGS,
 WangTagConstants.ALL_WANG_TAGS));
-}
\ No newline at end of file
+}

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1302635r1=1302634r2=1302635view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Mon Mar 19 20:15:20 2012
@@ -277,15 +277,6 @@ public interface ExifTagConstants
 public static final TagInfoShort EXIF_TAG_SELF_TIMER_MODE = new 
TagInfoShort(
 Self Timer Mode, 0x882b, 1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoLong EXIF_TAG_FAX_RECV_PARAMS = new TagInfoLong(
-Fax Recv Params, 0x885c, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_FAX_SUB_ADDRESS = new 
TagInfoAscii(
-Fax Sub Address, 0x885d, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoLong EXIF_TAG_FAX_RECV_TIME = new TagInfoLong(
-Fax Recv Time, 0x885e, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoLong EXIF_TAG_LEAF_SUB_IFD = new TagInfoLong(
 Leaf Sub IFD, 0x888a, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -456,16 +447,6 @@ public interface ExifTagConstants
 public static final TagInfoUndefined EXIF_TAG_IMAGE_SOURCE_DATA = new 
TagInfoUndefined(
 Image Source Data, 0x935c, 1,
 TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoXpString EXIF_TAG_XPTITLE = new 
TagInfoXpString(XPTitle,
-0x9c9b, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoXpString EXIF_TAG_XPCOMMENT = new 
TagInfoXpString(XPComment,
-0x9c9c, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoXpString EXIF_TAG_XPAUTHOR = new 
TagInfoXpString(XPAuthor,
-0x9c9d, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoXpString EXIF_TAG_XPKEYWORDS = new 
TagInfoXpString(XPKeywords,
-0x9c9e, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-public static final TagInfoXpString EXIF_TAG_XPSUBJECT = new 
TagInfoXpString(XPSubject,
-0x9c9f, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 public static final TagInfoUndefined EXIF_TAG_FLASHPIX_VERSION = new 
TagInfoUndefined(
 Flashpix Version, 0xa000, 1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
@@ -1023,8 +1004,7 @@ public interface ExifTagConstants
 EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, 
EXIF_TAG_ISO

svn commit: r1303319 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-21 Thread damjan
Author: damjan
Date: Wed Mar 21 09:10:56 2012
New Revision: 1303319

URL: http://svn.apache.org/viewvc?rev=1303319view=rev
Log:
Factor out Molecular Dynamics GEL tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MolecularDynamicsGelTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1303319r1=1303318r2=1303319view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Wed Mar 21 09:10:56 2012
@@ -28,6 +28,7 @@ public interface AllTagConstants extends
 ExifTagConstants,
 GpsTagConstants,
 HylaFaxTagConstants,
+MolecularDynamicsGelTagConstants,
 MicrosoftTagConstants,
 Rfc2301TagConstants,
 Tiff4TagConstants,
@@ -43,6 +44,7 @@ public interface AllTagConstants extends
 ExifTagConstants.ALL_EXIF_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
 HylaFaxTagConstants.ALL_HYLAFAX_TAGS,
+
MolecularDynamicsGelTagConstants.ALL_MOLECULAR_DYNAMICS_GEL_TAGS,
 MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
 Rfc2301TagConstants.ALL_RFC_2301_TAGS,
 Tiff4TagConstants.ALL_TIFF_4_TAGS,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1303319r1=1303318r2=1303319view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Wed Mar 21 09:10:56 2012
@@ -127,28 +127,6 @@ public interface ExifTagConstants
 public static final TagInfoRational EXIF_TAG_FNUMBER = new TagInfoRational(
 FNumber, 0x829d, -1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoLong EXIF_TAG_MDFILE_TAG = new 
TagInfoLong(MDFile Tag,
-0x82a5, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoRational EXIF_TAG_MDSCALE_PIXEL = new 
TagInfoRational(
-MDScale Pixel, 0x82a6, 1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoShort EXIF_TAG_MDCOLOR_TABLE = new TagInfoShort(
-MDColor Table, 0x82a7, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_MDLAB_NAME = new 
TagInfoAscii(MDLab Name,
-0x82a8, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_MDSAMPLE_INFO = new TagInfoAscii(
-MDSample Info, 0x82a9, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_MDPREP_DATE = new TagInfoAscii(
-MDPrep Date, 0x82aa, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_MDPREP_TIME = new TagInfoAscii(
-MDPrep Time, 0x82ab, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_MDFILE_UNITS = new TagInfoAscii(
-MDFile Units, 0x82ac, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoDouble EXIF_TAG_PIXEL_SCALE = new TagInfoDouble(
 Pixel Scale, 0x830e, 3,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -909,10 +887,7 @@ public interface ExifTagConstants
 EXIF_TAG_MATTEING, EXIF_TAG_DATA_TYPE,
 EXIF_TAG_IMAGE_DEPTH, EXIF_TAG_TILE_DEPTH, 
EXIF_TAG_MODEL_2,
 EXIF_TAG_EXPOSURE_TIME,
-EXIF_TAG_FNUMBER, EXIF_TAG_MDFILE_TAG, 
EXIF_TAG_MDSCALE_PIXEL,
-EXIF_TAG_MDCOLOR_TABLE, EXIF_TAG_MDLAB_NAME

svn commit: r1304789 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-24 Thread damjan
Author: damjan
Date: Sat Mar 24 13:33:40 2012
New Revision: 1304789

URL: http://svn.apache.org/viewvc?rev=1304789view=rev
Log:
Factor out Microsoft HD photo tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/MolecularDynamicsGelTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1304789r1=1304788r2=1304789view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sat Mar 24 13:33:40 2012
@@ -28,8 +28,9 @@ public interface AllTagConstants extends
 ExifTagConstants,
 GpsTagConstants,
 HylaFaxTagConstants,
-MolecularDynamicsGelTagConstants,
 MicrosoftTagConstants,
+MicrosoftHdPhotoTagConstants,
+MolecularDynamicsGelTagConstants,
 Rfc2301TagConstants,
 Tiff4TagConstants,
 TiffEpTagConstants,
@@ -44,8 +45,9 @@ public interface AllTagConstants extends
 ExifTagConstants.ALL_EXIF_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
 HylaFaxTagConstants.ALL_HYLAFAX_TAGS,
-
MolecularDynamicsGelTagConstants.ALL_MOLECULAR_DYNAMICS_GEL_TAGS,
 MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
+MicrosoftHdPhotoTagConstants.ALL_MICROSOFT_HD_PHOTO_TAGS,
+
MolecularDynamicsGelTagConstants.ALL_MOLECULAR_DYNAMICS_GEL_TAGS,
 Rfc2301TagConstants.ALL_RFC_2301_TAGS,
 Tiff4TagConstants.ALL_TIFF_4_TAGS,
 TiffEpTagConstants.ALL_TIFF_EP_TAGS,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1304789r1=1304788r2=1304789view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sat Mar 24 13:33:40 2012
@@ -502,123 +502,6 @@ public interface ExifTagConstants
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoRational EXIF_TAG_GAMMA = new 
TagInfoRational(Gamma, 0xa500,
 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoByte EXIF_TAG_PIXEL_FORMAT = new TagInfoByte(
-Pixel Format, 0xbc01, 16,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-// FIXME: convert to GUIDs
-public static final int PIXEL_FORMAT_VALUE_BLACK_AND_WHITE = 0x5;
-public static final int PIXEL_FORMAT_VALUE_8_BIT_GRAY = 0x8;
-public static final int PIXEL_FORMAT_VALUE_16_BIT_BGR555 = 0x9;
-public static final int PIXEL_FORMAT_VALUE_16_BIT_BGR565 = 0xa;
-public static final int PIXEL_FORMAT_VALUE_16_BIT_GRAY = 0xb;
-public static final int PIXEL_FORMAT_VALUE_24_BIT_BGR = 0xc;
-public static final int PIXEL_FORMAT_VALUE_24_BIT_RGB = 0xd;
-public static final int PIXEL_FORMAT_VALUE_32_BIT_BGR = 0xe;
-public static final int PIXEL_FORMAT_VALUE_32_BIT_BGRA = 0xf;
-public static final int PIXEL_FORMAT_VALUE_32_BIT_PBGRA = 0x10;
-public static final int PIXEL_FORMAT_VALUE_32_BIT_GRAY_FLOAT = 0x11;
-public static final int PIXEL_FORMAT_VALUE_48_BIT_RGB_FIXED_POINT = 0x12;
-public static final int PIXEL_FORMAT_VALUE_32_BIT_BGR101010 = 0x13;
-public static final int PIXEL_FORMAT_VALUE_48_BIT_RGB = 0x15;
-public static final int PIXEL_FORMAT_VALUE_64_BIT_RGBA = 0x16;
-public static final int PIXEL_FORMAT_VALUE_64_BIT_PRGBA = 0x17

svn commit: r1304986 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 06:56:43 2012
New Revision: 1304986

URL: http://svn.apache.org/viewvc?rev=1304986view=rev
Log:
Factor out DNG and Alias Sketchbook Pro tags.
Add some newer DNG tags that were missing.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java
   (with props)

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DngTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java?rev=1304986view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java
 Sun Mar 25 06:56:43 2012
@@ -0,0 +1,23 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+
+/**
+ * Alias Sketchbook Pro multi-layer TIFF
+ * BR
+ * http://www.awaresystems.be/imaging/tiff/tifftags/docs/alias.html
+ */
+public interface AliasSketchbookProTagConstants extends TiffFieldTypeConstants 
{
+public static final TagInfoAscii EXIF_TAG_ALIAS_LAYER_METADATA = new 
TagInfoAscii(
+Alias Layer Metadata, 0xc660, -1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+public static final ListTagInfo ALL_ALIAS_SKETCHBOOK_PRO_TAGS =
+Collections.unmodifiableList(Arrays.asList(new TagInfo[] {
+EXIF_TAG_ALIAS_LAYER_METADATA}));
+}

Propchange: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AliasSketchbookProTagConstants.java
--
svn:eol-style = native

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1304986r1=1304985r2=1304986view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sun Mar 25 06:56:43 2012
@@ -24,7 +24,9 @@ import org.apache.commons.sanselan.forma
 public interface AllTagConstants extends
 AdobePhotoshopTagConstants,
 AdobePageMaker6TagConstants,
+AliasSketchbookProTagConstants,
 DcfTagConstants,
+DngTagConstants,
 ExifTagConstants,
 GpsTagConstants,
 HylaFaxTagConstants,
@@ -41,7 +43,9 @@ public interface AllTagConstants extends
 TagConstantsUtils.mergeTagLists(
 AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAGS,
 AdobePhotoshopTagConstants.ALL_ADOBE_PHOTOSHOP_TAGS,
+
AliasSketchbookProTagConstants.ALL_ALIAS_SKETCHBOOK_PRO_TAGS,
 DcfTagConstants.ALL_DCF_TAGS,
+DngTagConstants.ALL_DNG_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
 HylaFaxTagConstants.ALL_HYLAFAX_TAGS,

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DngTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DngTagConstants.java?rev=1304986view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/DngTagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants

svn commit: r1304990 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 07:46:56 2012
New Revision: 1304990

URL: http://svn.apache.org/viewvc?rev=1304990view=rev
Log:
Factor out OCE Scanjob tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/OceScanjobTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1304990r1=1304989r2=1304990view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sun Mar 25 07:46:56 2012
@@ -33,6 +33,7 @@ public interface AllTagConstants extends
 MicrosoftTagConstants,
 MicrosoftHdPhotoTagConstants,
 MolecularDynamicsGelTagConstants,
+OceScanjobTagConstants,
 Rfc2301TagConstants,
 Tiff4TagConstants,
 TiffEpTagConstants,
@@ -52,6 +53,7 @@ public interface AllTagConstants extends
 MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
 MicrosoftHdPhotoTagConstants.ALL_MICROSOFT_HD_PHOTO_TAGS,
 
MolecularDynamicsGelTagConstants.ALL_MOLECULAR_DYNAMICS_GEL_TAGS,
+OceScanjobTagConstants.ALL_OCE_SCANJOB_TAGS,
 Rfc2301TagConstants.ALL_RFC_2301_TAGS,
 Tiff4TagConstants.ALL_TIFF_4_TAGS,
 TiffEpTagConstants.ALL_TIFF_EP_TAGS,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1304990r1=1304989r2=1304990view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 25 07:46:56 2012
@@ -501,18 +501,6 @@ public interface ExifTagConstants
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoRational EXIF_TAG_GAMMA = new 
TagInfoRational(Gamma, 0xa500,
 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoAscii EXIF_TAG_OCE_SCANJOB_DESC = new 
TagInfoAscii(
-Oce Scanjob Desc, 0xc427, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_OCE_APPLICATION_SELECTOR = new 
TagInfoAscii(
-Oce Application Selector, 0xc428,
--1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_OCE_IDNUMBER = new TagInfoAscii(
-Oce IDNumber, 0xc429, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_OCE_IMAGE_LOGIC = new 
TagInfoAscii(
-Oce Image Logic, 0xc42a, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoUnknown EXIF_TAG_ANNOTATIONS = new 
TagInfoUnknown(
 Annotations, 0xc44f, -1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -628,9 +616,7 @@ public interface ExifTagConstants
 EXIF_TAG_DEVICE_SETTING_DESCRIPTION,
 EXIF_TAG_SUBJECT_DISTANCE_RANGE, EXIF_TAG_IMAGE_UNIQUE_ID,
 EXIF_TAG_GDALMETADATA, EXIF_TAG_GDALNO_DATA, 
EXIF_TAG_GAMMA,
-EXIF_TAG_OCE_SCANJOB_DESC,
-EXIF_TAG_OCE_APPLICATION_SELECTOR, EXIF_TAG_OCE_IDNUMBER,
-EXIF_TAG_OCE_IMAGE_LOGIC, EXIF_TAG_ANNOTATIONS, 
EXIF_TAG_PRINT_IM,
+EXIF_TAG_ANNOTATIONS, EXIF_TAG_PRINT_IM,
 EXIF_TAG_DNG_ADOBE_DATA, EXIF_TAG_DNG_PENTAX_DATA,
 EXIF_TAG_OFFSET_SCHEMA, EXIF_TAG_OWNER_NAME,
 EXIF_TAG_SERIAL_NUMBER, EXIF_TAG_LENS, EXIF_TAG_RAW_FILE,

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/OceScanjobTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper

svn commit: r1304991 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 07:52:44 2012
New Revision: 1304991

URL: http://svn.apache.org/viewvc?rev=1304991view=rev
Log:
Factor out GDAL library tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GdalLibraryTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1304991r1=1304990r2=1304991view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sun Mar 25 07:52:44 2012
@@ -28,6 +28,7 @@ public interface AllTagConstants extends
 DcfTagConstants,
 DngTagConstants,
 ExifTagConstants,
+GdalLibraryTagConstants,
 GpsTagConstants,
 HylaFaxTagConstants,
 MicrosoftTagConstants,
@@ -48,6 +49,7 @@ public interface AllTagConstants extends
 DcfTagConstants.ALL_DCF_TAGS,
 DngTagConstants.ALL_DNG_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
+GdalLibraryTagConstants.ALL_GDAL_LIBRARY_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
 HylaFaxTagConstants.ALL_HYLAFAX_TAGS,
 MicrosoftTagConstants.ALL_MICROSOFT_TAGS,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1304991r1=1304990r2=1304991view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 25 07:52:44 2012
@@ -493,12 +493,6 @@ public interface ExifTagConstants
 public static final TagInfoAscii EXIF_TAG_IMAGE_UNIQUE_ID = new 
TagInfoAscii(
 Image Unique ID, 0xa420, 1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoAscii EXIF_TAG_GDALMETADATA = new TagInfoAscii(
-GDALMetadata, 0xa480, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_GDALNO_DATA = new TagInfoAscii(
-GDALNo Data, 0xa481, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoRational EXIF_TAG_GAMMA = new 
TagInfoRational(Gamma, 0xa500,
 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
 public static final TagInfoUnknown EXIF_TAG_ANNOTATIONS = new 
TagInfoUnknown(
@@ -615,7 +609,7 @@ public interface ExifTagConstants
 EXIF_TAG_CONTRAST_1, EXIF_TAG_SATURATION_1, 
EXIF_TAG_SHARPNESS_1,
 EXIF_TAG_DEVICE_SETTING_DESCRIPTION,
 EXIF_TAG_SUBJECT_DISTANCE_RANGE, EXIF_TAG_IMAGE_UNIQUE_ID,
-EXIF_TAG_GDALMETADATA, EXIF_TAG_GDALNO_DATA, 
EXIF_TAG_GAMMA,
+EXIF_TAG_GAMMA,
 EXIF_TAG_ANNOTATIONS, EXIF_TAG_PRINT_IM,
 EXIF_TAG_DNG_ADOBE_DATA, EXIF_TAG_DNG_PENTAX_DATA,
 EXIF_TAG_OFFSET_SCHEMA, EXIF_TAG_OWNER_NAME,

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GdalLibraryTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GdalLibraryTagConstants.java?rev=1304991view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GdalLibraryTagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GdalLibraryTagConstants.java
 Sun Mar 25 07:52:44 2012
@@ -0,0 +1,30 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import

svn commit: r1304992 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan: common/itu_t4/T4Compression.java formats/tiff/constants/TagInfo.java

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 07:53:35 2012
New Revision: 1304992

URL: http://svn.apache.org/viewvc?rev=1304992view=rev
Log:
Delete some empty files.


Removed:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4Compression.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagInfo.java



svn commit: r1304993 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/sanselan/formats/tiff/constants/ test/java/org/apache/commons/sanselan/formats/tiff/

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 08:21:39 2012
New Revision: 1304993

URL: http://svn.apache.org/viewvc?rev=1304993view=rev
Log:
Factor out Geo TIFF tags.


Added:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java
   (with props)
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1304993r1=1304992r2=1304993view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
 Sun Mar 25 08:21:39 2012
@@ -28,6 +28,7 @@ public interface AllTagConstants extends
 DcfTagConstants,
 DngTagConstants,
 ExifTagConstants,
+GeoTiffTagConstants,
 GdalLibraryTagConstants,
 GpsTagConstants,
 HylaFaxTagConstants,
@@ -49,6 +50,7 @@ public interface AllTagConstants extends
 DcfTagConstants.ALL_DCF_TAGS,
 DngTagConstants.ALL_DNG_TAGS,
 ExifTagConstants.ALL_EXIF_TAGS,
+GeoTiffTagConstants.ALL_GEO_TIFF_TAGS,
 GdalLibraryTagConstants.ALL_GDAL_LIBRARY_TAGS,
 GpsTagConstants.ALL_GPS_TAGS,
 HylaFaxTagConstants.ALL_HYLAFAX_TAGS,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1304993r1=1304992r2=1304993view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 25 08:21:39 2012
@@ -201,15 +201,6 @@ public interface ExifTagConstants
 public static final TagInfoLong EXIF_TAG_EXIF_OFFSET = new TagInfoLong(
 Exif Offset, 0x8769, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
-public static final TagInfoShort EXIF_TAG_GEO_TIFF_DIRECTORY = new 
TagInfoShort(
-Geo Tiff Directory, 0x87af, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoDouble EXIF_TAG_GEO_TIFF_DOUBLE_PARAMS = new 
TagInfoDouble(
-Geo Tiff Double Params, 0x87b0,
--1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoAscii EXIF_TAG_GEO_TIFF_ASCII_PARAMS = new 
TagInfoAscii(
-Geo Tiff Ascii Params, 0x87b1, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoShort EXIF_TAG_EXPOSURE_PROGRAM = new 
TagInfoShort(
 Exposure Program, 0x8822, 1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
@@ -575,8 +566,7 @@ public interface ExifTagConstants
 EXIF_TAG_HCUSAGE, EXIF_TAG_SEMINFO, EXIF_TAG_AFCP_IPTC,
 EXIF_TAG_MODEL_TRANSFORM, EXIF_TAG_LEAF_DATA,
 EXIF_TAG_PHOTOSHOP_SETTINGS, EXIF_TAG_EXIF_OFFSET,
-EXIF_TAG_GEO_TIFF_DIRECTORY, 
EXIF_TAG_GEO_TIFF_DOUBLE_PARAMS,
-EXIF_TAG_GEO_TIFF_ASCII_PARAMS, EXIF_TAG_EXPOSURE_PROGRAM,
+EXIF_TAG_EXPOSURE_PROGRAM,
 EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, 
EXIF_TAG_ISO,
 EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR,
 EXIF_TAG_LEAF_SUB_IFD,

Added: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java?rev=1304993view=auto
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java
 (added)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons

svn commit: r1304994 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants: ExifTagConstants.java GeoTiffTagConstants.java

2012-03-25 Thread damjan
Author: damjan
Date: Sun Mar 25 08:30:56 2012
New Revision: 1304994

URL: http://svn.apache.org/viewvc?rev=1304994view=rev
Log:
Factor out some more Geo Tiff tags.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1304994r1=1304993r2=1304994view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Sun Mar 25 08:30:56 2012
@@ -126,9 +126,6 @@ public interface ExifTagConstants
 public static final TagInfoRational EXIF_TAG_FNUMBER = new TagInfoRational(
 FNumber, 0x829d, -1,
 TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-public static final TagInfoDouble EXIF_TAG_PIXEL_SCALE = new TagInfoDouble(
-Pixel Scale, 0x830e, 3,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 // FIXME: other types?
 public static final TagInfoLong EXIF_TAG_IPTC_NAA = new 
TagInfoLong(IPTC-NAA,
 0x83bb, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -138,12 +135,6 @@ public interface ExifTagConstants
 public static final TagInfoLong EXIF_TAG_INTERGRAPH_FLAG_REGISTERS = new 
TagInfoLong(
 Intergraph Flag Registers, 0x847f,
 16, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoDouble EXIF_TAG_INTERGRAPH_MATRIX = new 
TagInfoDouble(
-Intergraph Matrix, 0x8480, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoDouble EXIF_TAG_MODEL_TIE_POINT = new 
TagInfoDouble(
-Model Tie Point, 0x8482, -1,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoAscii EXIF_TAG_SITE = new TagInfoAscii(Site, 
0x84e0,
 -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoAscii EXIF_TAG_COLOR_SEQUENCE = new 
TagInfoAscii(
@@ -190,9 +181,6 @@ public interface ExifTagConstants
 0x8546, 1, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 public static final TagInfoLong EXIF_TAG_AFCP_IPTC = new 
TagInfoLong(AFCP_IPTC,
 0x8568, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-public static final TagInfoDouble EXIF_TAG_MODEL_TRANSFORM = new 
TagInfoDouble(
-Model Transform, 0x85d8, 16,
-TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoLong EXIF_TAG_LEAF_DATA = new TagInfoLong(Leaf 
Data,
 0x8606, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final TagInfoByte EXIF_TAG_PHOTOSHOP_SETTINGS = new 
TagInfoByte(
@@ -552,10 +540,10 @@ public interface ExifTagConstants
 EXIF_TAG_MATTEING, EXIF_TAG_DATA_TYPE,
 EXIF_TAG_IMAGE_DEPTH, EXIF_TAG_TILE_DEPTH, 
EXIF_TAG_MODEL_2,
 EXIF_TAG_EXPOSURE_TIME,
-EXIF_TAG_FNUMBER, EXIF_TAG_PIXEL_SCALE, EXIF_TAG_IPTC_NAA,
+EXIF_TAG_FNUMBER, EXIF_TAG_IPTC_NAA,
 EXIF_TAG_INTERGRAPH_PACKET_DATA,
-EXIF_TAG_INTERGRAPH_FLAG_REGISTERS, 
EXIF_TAG_INTERGRAPH_MATRIX,
-EXIF_TAG_MODEL_TIE_POINT, EXIF_TAG_SITE, 
EXIF_TAG_COLOR_SEQUENCE,
+EXIF_TAG_INTERGRAPH_FLAG_REGISTERS,
+EXIF_TAG_SITE, EXIF_TAG_COLOR_SEQUENCE,
 EXIF_TAG_IT8HEADER, EXIF_TAG_RASTER_PADDING,
 EXIF_TAG_BITS_PER_RUN_LENGTH,
 EXIF_TAG_BITS_PER_EXTENDED_RUN_LENGTH, 
EXIF_TAG_COLOR_TABLE,
@@ -564,7 +552,7 @@ public interface ExifTagConstants
 EXIF_TAG_BACKGROUND_COLOR_VALUE, 
EXIF_TAG_PIXEL_INTENSITY_RANGE,
 EXIF_TAG_TRANSPARENCY_INDICATOR, 
EXIF_TAG_COLOR_CHARACTERIZATION,
 EXIF_TAG_HCUSAGE, EXIF_TAG_SEMINFO, EXIF_TAG_AFCP_IPTC,
-EXIF_TAG_MODEL_TRANSFORM, EXIF_TAG_LEAF_DATA,
+EXIF_TAG_LEAF_DATA,
 EXIF_TAG_PHOTOSHOP_SETTINGS, EXIF_TAG_EXIF_OFFSET,
 EXIF_TAG_EXPOSURE_PROGRAM,
 EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, 
EXIF_TAG_ISO,

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GeoTiffTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org

svn commit: r1309242 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

2012-04-03 Thread damjan
Author: damjan
Date: Wed Apr  4 04:46:43 2012
New Revision: 1309242

URL: http://svn.apache.org/viewvc?rev=1309242view=rev
Log:
Fix the PhysicalWidthDpi calculation for JPEG images.

Jira issue key: SANSELAN-70
Submitted by: Tars Joris tars dot joris at inventivedesigners dot com


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java?rev=1309242r1=1309241r2=1309242view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
 Wed Apr  4 04:46:43 2012
@@ -792,7 +792,7 @@ public class JpegImageParser extends Ima
 
 if (units_per_inch  0)
 {
-PhysicalWidthDpi = (int) Math.round(x_density / units_per_inch);
+PhysicalWidthDpi = (int) Math.round(x_density * units_per_inch);
 PhysicalWidthInch = (float) (Width / (x_density * units_per_inch));
 PhysicalHeightDpi = (int) Math.round(y_density * 
units_per_inch);
 PhysicalHeightInch = (float) (Height / (y_density * 
units_per_inch));




svn commit: r1325111 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java

2012-04-11 Thread damjan
Author: damjan
Date: Thu Apr 12 03:38:40 2012
New Revision: 1325111

URL: http://svn.apache.org/viewvc?rev=1325111view=rev
Log:
Fix reading DPI for TIFF files.

Jira issue key: SANSELAN-68
Submitted by: VVD vvd at pochta dot ru


Modified:

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/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=1325111r1=1325110r2=1325111view=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
 Thu Apr 12 03:38:40 2012
@@ -201,8 +201,8 @@ public class TiffImageParser extends Ima
 case 2: // Inch
 unitsPerInch = 1.0;
 break;
-case 3: // Meter
-unitsPerInch = 0.0254;
+case 3: // Centimeter
+unitsPerInch = 2.54;
 break;
 default:
 break;
@@ -223,7 +223,7 @@ public class TiffImageParser extends Ima
 {
 double XResolutionPixelsPerUnit = xResolutionField
 .getDoubleValue();
-physicalWidthDpi = (int) (XResolutionPixelsPerUnit / 
unitsPerInch);
+physicalWidthDpi = (int) Math.round((XResolutionPixelsPerUnit 
* unitsPerInch));
 physicalWidthInch = (float) (width / (XResolutionPixelsPerUnit 
* unitsPerInch));
 }
 if ((yResolutionField != null)
@@ -231,7 +231,7 @@ public class TiffImageParser extends Ima
 {
 double YResolutionPixelsPerUnit = yResolutionField
 .getDoubleValue();
-physicalHeightDpi = (int) (YResolutionPixelsPerUnit / 
unitsPerInch);
+physicalHeightDpi = (int) Math.round((YResolutionPixelsPerUnit 
* unitsPerInch));
 physicalHeightInch = (float) (height / 
(YResolutionPixelsPerUnit * unitsPerInch));
 }
 }




svn commit: r1325112 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java

2012-04-11 Thread damjan
Author: damjan
Date: Thu Apr 12 03:41:07 2012
New Revision: 1325112

URL: http://svn.apache.org/viewvc?rev=1325112view=rev
Log:
Fix reading DPI for PNG files.

Jira issue key: SANSELAN-69
Submitted by: VVD vvd at pochta dot ru


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java?rev=1325112r1=1325111r2=1325112view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
 Thu Apr 12 03:41:07 2012
@@ -627,12 +627,12 @@ public class PngImageParser extends Imag
 .round(pngChunkpHYs.PixelsPerUnitXAxis
 * meters_per_inch);
 PhysicalWidthInch = (float) ((double) Width
-* (double) pngChunkpHYs.PixelsPerUnitXAxis * 
meters_per_inch);
+/ ((double) pngChunkpHYs.PixelsPerUnitXAxis * 
meters_per_inch));
 PhysicalHeightDpi = (int) Math
 .round(pngChunkpHYs.PixelsPerUnitYAxis
 * meters_per_inch);
 PhysicalHeightInch = (float) ((double) Height
-* (double) pngChunkpHYs.PixelsPerUnitYAxis * 
meters_per_inch);
+/ ((double) pngChunkpHYs.PixelsPerUnitYAxis * 
meters_per_inch));
 }
 
 String FormatDetails = Png;




svn commit: r1325114 - in /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff: TiffImageParser.java constants/ExifTagConstants.java

2012-04-11 Thread damjan
Author: damjan
Date: Thu Apr 12 03:56:34 2012
New Revision: 1325114

URL: http://svn.apache.org/viewvc?rev=1325114view=rev
Log:
Add the Software TIFF tag, and get the byte order after reading the first TIFF 
directory.
Submitted by: Piyush Kapoor pkapoor at adobe dot com
Jira issue key: SANSELAN-71


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java

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=1325114r1=1325113r2=1325114view=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
 Thu Apr 12 03:56:34 2012
@@ -455,8 +455,8 @@ public class TiffImageParser extends Ima
 {
 FormatCompliance formatCompliance = FormatCompliance.getDefault();
 TiffReader reader = new TiffReader(isStrict(params));
-int byteOrder = reader.getByteOrder();
 TiffContents contents = reader.readFirstDirectory(byteSource, params, 
true, formatCompliance);
+int byteOrder = reader.getByteOrder();
 TiffDirectory directory = contents.directories.get(0);
 BufferedImage result = directory.getTiffImage(byteOrder, params);
 if (null == result)

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1325114r1=1325113r2=1325114view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
 Thu Apr 12 03:56:34 2012
@@ -57,6 +57,9 @@ public interface ExifTagConstants
 public static final TagInfoAscii EXIF_TAG_PROCESSING_SOFTWARE = new 
TagInfoAscii(
 Processing Software, 0x000b, 1,
 TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+public static final TagInfoAscii EXIF_TAG_SOFTWARE = new 
TagInfoAscii(Software,
+   0x0131, 1,
+TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_IFD0 = new 
TagInfoLong(
 Preview Image Start, 0x0111, 1,
 TiffDirectoryType.EXIF_DIRECTORY_IFD0, true);
@@ -517,6 +520,7 @@ public interface ExifTagConstants
 Collections.unmodifiableList(Arrays.asList(
 EXIF_TAG_INTEROP_INDEX, EXIF_TAG_INTEROP_VERSION,
 EXIF_TAG_PROCESSING_SOFTWARE,
+EXIF_TAG_SOFTWARE,
 EXIF_TAG_PREVIEW_IMAGE_START_IFD0,
 EXIF_TAG_PREVIEW_IMAGE_START_SUB_IFD1,
 EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD2,




svn commit: r1325834 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

2012-04-13 Thread damjan
Author: damjan
Date: Fri Apr 13 16:39:37 2012
New Revision: 1325834

URL: http://svn.apache.org/viewvc?rev=1325834view=rev
Log:
Correct the expected size of the decompressed TIFF image data.

Jira issue key: SANSELAN-72


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java?rev=1325834r1=1325833r2=1325834view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
 Fri Apr 13 16:39:37 2012
@@ -95,8 +95,9 @@ public final class DataReaderStrips exte
 long rowsPerStripLong = 0xL  rowsPerStrip;
 long rowsRemaining = height - (strip * rowsPerStripLong);
 long rowsInThisStrip = Math.min(rowsRemaining, rowsPerStripLong);
+long bytesPerRow = (bitsPerPixel * width + 7) / 8;
+long bytesPerStrip = rowsInThisStrip * bytesPerRow;
 long pixelsPerStrip = rowsInThisStrip * width;
-long bytesPerStrip = ((pixelsPerStrip * bitsPerPixel) + 7) / 8;
 
 byte compressed[] = imageData.strips[strip].data;
 
@@ -108,4 +109,4 @@ public final class DataReaderStrips exte
 }
 }
 
-}
\ No newline at end of file
+}




svn commit: r1325915 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java

2012-04-13 Thread damjan
Author: damjan
Date: Fri Apr 13 19:33:22 2012
New Revision: 1325915

URL: http://svn.apache.org/viewvc?rev=1325915view=rev
Log:
Improve the sample depth scaling for greyscale PNG files.

Jira info key: SANSELAN-72


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java?rev=1325915r1=1325914r2=1325915view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
 Fri Apr 13 19:33:22 2012
@@ -63,7 +63,7 @@ public class BitParser
 
 int rot = 8 - bitDepth;
 if (rot  0)
-sample = rot;
+sample = sample * 255 / ((1  bitDepth) - 1);
 else if (rot  0)
 sample = -rot;
 




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

2012-04-14 Thread damjan
Author: damjan
Date: Sat Apr 14 08:08:05 2012
New Revision: 1326069

URL: http://svn.apache.org/viewvc?rev=1326069view=rev
Log:
Added some more methods for getting typed values from TIFF fields.


Modified:

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/TiffImageParser.java

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=1326069r1=1326068r2=1326069view=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 Apr 14 08:08:05 2012
@@ -202,148 +202,332 @@ public class TiffDirectory extends TiffE
 return field.getValue();
 }
 
-public byte[] getFieldValue(TagInfoByte tag) throws ImageReadException {
+public byte getSingleFieldValue(TagInfoByte tag) throws ImageReadException 
{
+byte[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public String getSingleFieldValue(TagInfoAscii tag) throws 
ImageReadException {
+String[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public short getSingleFieldValue(TagInfoShort tag) throws 
ImageReadException {
+short[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public int getSingleFieldValue(TagInfoLong tag) throws ImageReadException {
+int[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public RationalNumber getSingleFieldValue(TagInfoRational tag) throws 
ImageReadException {
+RationalNumber[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public byte getSingleFieldValue(TagInfoSByte tag) throws 
ImageReadException {
+byte[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public short getSingleFieldValue(TagInfoSShort tag) throws 
ImageReadException {
+short[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public int getSingleFieldValue(TagInfoSLong tag) throws ImageReadException 
{
+int[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public RationalNumber getSingleFieldValue(TagInfoSRational tag) throws 
ImageReadException {
+RationalNumber[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public float getSingleFieldValue(TagInfoFloat tag) throws 
ImageReadException {
+float[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public double getSingleFieldValue(TagInfoDouble tag) throws 
ImageReadException {
+double[] result = getFieldValue(tag, true);
+if (result.length != 1) {
+throw new ImageReadException(Field \ + tag.name + \ has 
incorrect length  + result.length);
+}
+return result[0];
+}
+
+public byte[] getFieldValue(TagInfoByte tag, boolean mustExist) throws 
ImageReadException

svn commit: r1326649 [7/7] - in /commons/proper/sanselan/trunk/src: main/java/org/apache/commons/imaging/ main/java/org/apache/commons/imaging/color/ main/java/org/apache/commons/imaging/common/ main/

2012-04-16 Thread damjan
Modified: 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java?rev=1326649r1=1326258r2=1326649view=diff
==
--- 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java
 Mon Apr 16 15:33:13 2012
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.sanselan.formats.png;
+package org.apache.commons.imaging.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,12 +24,12 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Random;
 
-import org.apache.commons.sanselan.ImageFormat;
-import org.apache.commons.sanselan.ImageReadException;
-import org.apache.commons.sanselan.ImageWriteException;
-import org.apache.commons.sanselan.Sanselan;
-import org.apache.commons.sanselan.SanselanTest;
-import org.apache.commons.sanselan.util.IoUtils;
+import org.apache.commons.imaging.ImageFormat;
+import org.apache.commons.imaging.ImageReadException;
+import org.apache.commons.imaging.ImageWriteException;
+import org.apache.commons.imaging.Sanselan;
+import org.apache.commons.imaging.SanselanTest;
+import org.apache.commons.imaging.util.IoUtils;
 
 public class PngWriteReadTest extends SanselanTest
 {

Modified: 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeBaseTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeBaseTest.java?rev=1326649r1=1326258r2=1326649view=diff
==
--- 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeBaseTest.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeBaseTest.java
 Mon Apr 16 15:33:13 2012
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.sanselan.formats.rgbe;
+package org.apache.commons.imaging.formats.rgbe;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.commons.sanselan.ImageFormat;
-import org.apache.commons.sanselan.ImageReadException;
-import org.apache.commons.sanselan.Sanselan;
-import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.imaging.ImageFormat;
+import org.apache.commons.imaging.ImageReadException;
+import org.apache.commons.imaging.Sanselan;
+import org.apache.commons.imaging.SanselanTest;
 
 public abstract class RgbeBaseTest extends SanselanTest {
 private static boolean isRgbe( File file ) throws IOException,

Modified: 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java?rev=1326649r1=1326258r2=1326649view=diff
==
--- 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/rgbe/RgbeReadTest.java
 Mon Apr 16 15:33:13 2012
@@ -14,19 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.sanselan.formats.rgbe;
+package org.apache.commons.imaging.formats.rgbe;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.commons.sanselan.ImageInfo;
-import org.apache.commons.sanselan.ImageReadException;
-import org.apache.commons.sanselan.ImageWriteException;
-import org.apache.commons.sanselan.Sanselan;
-import org.apache.commons.sanselan.common.IImageMetadata;
-import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.imaging.ImageInfo;
+import org.apache.commons.imaging.ImageReadException;
+import org.apache.commons.imaging.ImageWriteException;
+import org.apache.commons.imaging.Sanselan;
+import org.apache.commons.imaging.common.IImageMetadata;
+import org.apache.commons.imaging.util.Debug;
 
 public class RgbeReadTest extends RgbeBaseTest {
 public void test() throws IOException, ImageReadException,

Modified: 
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/imaging/formats/tiff/TiffBaseTest.java
URL: 

svn commit: r1326685 - in /commons/proper: imaging/ sanselan/

2012-04-16 Thread damjan
Author: damjan
Date: Mon Apr 16 17:02:40 2012
New Revision: 1326685

URL: http://svn.apache.org/viewvc?rev=1326685view=rev
Log:
Rename the base directory from sanselan to imaging.


Added:
commons/proper/imaging/
  - copied from r1326684, commons/proper/sanselan/
Removed:
commons/proper/sanselan/



svn commit: r1326687 - /commons/proper/imaging/trunk/pom.xml

2012-04-16 Thread damjan
Author: damjan
Date: Mon Apr 16 17:13:37 2012
New Revision: 1326687

URL: http://svn.apache.org/viewvc?rev=1326687view=rev
Log:
Rename POM to Commons Imaging.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1326687r1=1326686r2=1326687view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Mon Apr 16 17:13:37 2012
@@ -32,8 +32,8 @@
   /parent
 
   groupIdorg.apache.commons/groupId
-  artifactIdcommons-sanselan/artifactId
-  nameCommons Sanselan/name
+  artifactIdcommons-imaging/artifactId
+  nameCommons Imaging/name
 
   version1.0-SNAPSHOT/version
 
@@ -41,13 +41,13 @@
 Keep the description on a single line. Otherwise Maven might generate
 a corrupted MANIFEST.MF (see http://jira.codehaus.org/browse/MJAR-4)
--
-  descriptionCommons Sanselan is a pure-Java image library./description
+  descriptionCommons Imaging is a pure-Java image library./description
   urlhttp://commons.apache.org/sanselan//url
 
   scm
-
connectionscm:svn:http://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/connection
-
developerConnectionscm:svn:https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/developerConnection
-urlhttp://svn.apache.org/viewvc/commons/proper/sanselan/trunk/url
+
connectionscm:svn:http://svn.apache.org/repos/asf/commons/proper/imaging/trunk/connection
+
developerConnectionscm:svn:https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/developerConnection
+urlhttp://svn.apache.org/viewvc/commons/proper/imaging/trunk/url
   /scm
 
   issueManagement
@@ -63,11 +63,11 @@
   properties
 maven.compile.source1.5/maven.compile.source
 maven.compile.target1.5/maven.compile.target
-commons.componentidsanselan/commons.componentid
+commons.componentidimaging/commons.componentid
 commons.release.version1.0/commons.release.version
 commons.jira.idSANSELAN/commons.jira.id
 commons.jira.pid12310720/commons.jira.pid
-
commons.osgi.exportorg.apache.commons.sanselan.*;version=${project.version};-noimport:=true/commons.osgi.export
+
commons.osgi.exportorg.apache.commons.imaging.*;version=${project.version};-noimport:=true/commons.osgi.export
 commons.binary.suffix /
 project.build.sourceEncodingUTF-8/project.build.sourceEncoding
 project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding




svn commit: r1328602 - in /commons/proper/imaging/trunk/src/site: site.xml xdoc/download_imaging.xml xdoc/download_sanselan.xml xdoc/gettingstarted.xml xdoc/index.xml xdoc/mail-lists.xml xdoc/whysanse

2012-04-21 Thread damjan
Author: damjan
Date: Sat Apr 21 07:43:17 2012
New Revision: 1328602

URL: http://svn.apache.org/viewvc?rev=1328602view=rev
Log:
Update website to use Imaging instead of Sanselan.


Added:
commons/proper/imaging/trunk/src/site/xdoc/download_imaging.xml   (with 
props)
Removed:
commons/proper/imaging/trunk/src/site/xdoc/download_sanselan.xml
commons/proper/imaging/trunk/src/site/xdoc/whysanselan.xml
Modified:
commons/proper/imaging/trunk/src/site/site.xml
commons/proper/imaging/trunk/src/site/xdoc/gettingstarted.xml
commons/proper/imaging/trunk/src/site/xdoc/index.xml
commons/proper/imaging/trunk/src/site/xdoc/mail-lists.xml

Modified: commons/proper/imaging/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/site/site.xml?rev=1328602r1=1328601r2=1328602view=diff
==
--- commons/proper/imaging/trunk/src/site/site.xml (original)
+++ commons/proper/imaging/trunk/src/site/site.xml Sat Apr 21 07:43:17 2012
@@ -29,12 +29,12 @@
   item name=Issue Tracking  href=/issue-tracking.html/
   item name=Source Repository   href=/source-repository.html/
   item name=Documentation   
href=http://cwiki.apache.org/SANSELAN//
-  item name=Javadoc href=api-release/index.html/
-  item name=Downloadhref=/download_sanselan.cgi/
+  item name=Javadoc href=/apidocs/index.html/
+  item name=Downloadhref=/download_imaging.cgi/
 /menu
 
 menu name=Documentation
-  item name=Why Use Imaging href=/whysanselan.html/
+  item name=Why Use Imaging href=/whyimaging.html/
   item name=Getting Started href=/gettingstarted.html/
   item name=Sample Usagehref=/sampleusage.html/
   item name=Format Support  href=/formatsupport.html/

Added: commons/proper/imaging/trunk/src/site/xdoc/download_imaging.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/site/xdoc/download_imaging.xml?rev=1328602view=auto
==
--- commons/proper/imaging/trunk/src/site/xdoc/download_imaging.xml (added)
+++ commons/proper/imaging/trunk/src/site/xdoc/download_imaging.xml Sat Apr 21 
07:43:17 2012
@@ -0,0 +1,138 @@
+?xml version=1.0?
+!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the License); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an AS IS BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+--
+!--
+ +==+
+ |  |
+ |  THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN  |
+ |DO NOT EDIT DIRECTLY  |
+ |  |
+ +==+
+ | TEMPLATE FILE: download-page-template.xml|
+ | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
+ +==+
+ |  |
+ | 1) Re-generate using: mvn commons:download-page  |
+ |  |
+ | 2) Set the following properties in the component's pom:  |
+ |- commons.componentid (required, alphabetic, lower case)  |
+ |- commons.release.version (required)  |
+ |- commons.binary.suffix (optional)|
+ |  (defaults to -bin, set to  for pre-maven2 releases) |
+ |  |
+ | 3) Example Properties|
+ |  |
+ |  properties|
+ |commons.componentidmath/commons.componentid   |
+ |commons.release.version1.2/commons.release.version|
+ |  /properties

svn commit: r1331275 - /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java

2012-04-27 Thread damjan
Author: damjan
Date: Fri Apr 27 07:54:02 2012
New Revision: 1331275

URL: http://svn.apache.org/viewvc?rev=1331275view=rev
Log:
Stop JpegImageMetadata from throwing NPE if the exif field is null.
Jira issue key: SANSELAN-73
Submitted by: Piyush Kapoor pkapoor at adobe dot com


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java?rev=1331275r1=1331274r2=1331275view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
 Fri Apr 27 07:54:02 2012
@@ -55,7 +55,11 @@ public class JpegImageMetadata implement
 
 public TiffField findEXIFValue(TagInfo tagInfo) {
 try {
-return exif.findField(tagInfo);
+if (exif != null) {
+   return exif.findField(tagInfo);
+} else {
+   return null;
+}
 } catch (ImageReadException cannotHappen) {
 return null;
 }
@@ -217,4 +221,4 @@ public class JpegImageMetadata implement
 Debug.debug(this.toString());
 }
 
-}
\ No newline at end of file
+}




svn commit: r1331283 - /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java

2012-04-27 Thread damjan
Author: damjan
Date: Fri Apr 27 07:59:10 2012
New Revision: 1331283

URL: http://svn.apache.org/viewvc?rev=1331283view=rev
Log:
Make all JpegImageMetadata methods handle a null exif field.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java?rev=1331283r1=1331282r2=1331283view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
 Fri Apr 27 07:59:10 2012
@@ -67,7 +67,11 @@ public class JpegImageMetadata implement
 
 public TiffField findEXIFValueWithExactMatch(TagInfo tagInfo) {
 try {
-return exif.findField(tagInfo, true);
+if (exif != null) {
+return exif.findField(tagInfo, true);
+} else {
+return null;
+}
 } catch (ImageReadException cannotHappen) {
 return null;
 }
@@ -97,6 +101,9 @@ public class JpegImageMetadata implement
  * @throws IOException
  */
 public byte[] getEXIFThumbnailData() throws ImageReadException, 
IOException {
+if (exif == null) {
+return null;
+}
 List? extends IImageMetadataItem dirs = exif.getDirectories();
 for (int i = 0; i  dirs.size(); i++) {
 TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) 
dirs
@@ -155,6 +162,9 @@ public class JpegImageMetadata implement
 }
 
 public TiffImageData getRawImageData() {
+if (exif == null) {
+return null;
+}
 List? extends IImageMetadataItem dirs = exif.getDirectories();
 for (int i = 0; i  dirs.size(); i++) {
 TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) 
dirs




svn commit: r1331291 - in /commons/proper/imaging/trunk/src: main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java test/data/images/tiff/4/ test/

2012-04-27 Thread damjan
Author: damjan
Date: Fri Apr 27 08:21:25 2012
New Revision: 1331291

URL: http://svn.apache.org/viewvc?rev=1331291view=rev
Log:
Speed up reading paletted TIFF files.

Jira issue key: SANSELAN-75
Submitted by: Gary Lucas gwlucas at sonalysts dot com


Added:
commons/proper/imaging/trunk/src/test/data/images/tiff/4/

commons/proper/imaging/trunk/src/test/data/images/tiff/4/IndexColorPalette.tif  
 (with props)
Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java?rev=1331291r1=1331290r2=1331291view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
 Fri Apr 27 08:21:25 2012
@@ -24,6 +24,13 @@ import org.apache.commons.imaging.common
 public class PhotometricInterpreterPalette extends PhotometricInterpreter
 {
 private final int[] fColorMap;
+
+/** 
+ * The color map of integer ARGB values tied to the 
+ * pixel index of the palette
+ */
+private final int[] indexColorMap;
+
 
 public PhotometricInterpreterPalette(int fSamplesPerPixel,
 int fBitsPerSample[], int Predictor, int width, int height,
@@ -32,24 +39,26 @@ public class PhotometricInterpreterPalet
 super(fSamplesPerPixel, fBitsPerSample, Predictor, width, height);
 
 this.fColorMap = fColorMap;
+
+int fBitsPerPixel = bitsPerSample[0];
+int colormap_scale = (1  fBitsPerPixel);
+indexColorMap = new int[colormap_scale];
+for (int index = 0; index  colormap_scale; index++)
+{
+int red   = (fColorMap[index]8)0xff;
+int green = (fColorMap[index + (colormap_scale)]8)0xff;
+int blue  = (fColorMap[index + (2 * colormap_scale)]8)0xff;
+indexColorMap[index] =
+0xff00 | (red  16) | (green  8) | blue;
+}
+
+
 }
 
 @Override
 public void interpretPixel(ImageBuilder imageBuilder, int samples[], int 
x, int y)
 throws ImageReadException, IOException
 {
-int fBitsPerPixel = bitsPerSample[0];
-int colormap_scale = (1  fBitsPerPixel);
-//int expected_colormap_size = 3 * (1  fBitsPerPixel);
-
-int index = samples[0];
-int red = fColorMap[index]  8;
-int green = fColorMap[index + (colormap_scale)]  8;
-int blue = fColorMap[index + (2 * colormap_scale)]  8;
-
-int alpha = 0xff;
-int rgb = (alpha  24) | (red  16) | (green  8) | (blue  0);
-imageBuilder.setRGB(x, y, rgb);
-
+imageBuilder.setRGB(x, y, indexColorMap[samples[0]]);
 }
 }
\ No newline at end of file

Added: 
commons/proper/imaging/trunk/src/test/data/images/tiff/4/IndexColorPalette.tif
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/test/data/images/tiff/4/IndexColorPalette.tif?rev=1331291view=auto
==
Binary file - no diff available.

Propchange: 
commons/proper/imaging/trunk/src/test/data/images/tiff/4/IndexColorPalette.tif
--
svn:mime-type = image/tiff




svn commit: r1331325 - in /commons/proper/imaging/trunk/src: main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewrite

2012-04-27 Thread damjan
Author: damjan
Date: Fri Apr 27 09:54:55 2012
New Revision: 1331325

URL: http://svn.apache.org/viewvc?rev=1331325view=rev
Log:
Allow TIFF fields to change size during encoding.
Fix a broken test that assumes they never do.

Jira issue key: SANSELAN-77


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java

commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java?rev=1331325r1=1331324r2=1331325view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
 Fri Apr 27 09:54:55 2012
@@ -164,7 +164,6 @@ public class TiffImageMetadata extends I
 
 TagInfo tagInfo = srcField.tagInfo;
 FieldType fieldType = srcField.fieldType;
-int count = srcField.length;
 //byte bytes[] = 
srcField.fieldType.getRawBytes(srcField);
 
 //Debug.debug(tagInfo, tagInfo);
@@ -182,6 +181,7 @@ public class TiffImageMetadata extends I
 //+ 
Integer.toHexString(srcField.tag)
 //+ ) bytes, 
bytes);
 
+int count = bytes.length / fieldType.length;
 TiffOutputField dstField = new TiffOutputField(
 srcField.tag, tagInfo, fieldType, count, bytes);
 dstField.setSortHint(srcField.getSortHint());

Modified: 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java?rev=1331325r1=1331324r2=1331325view=diff
==
--- 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
 (original)
+++ 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriteTest.java
 Fri Apr 27 09:54:55 2012
@@ -419,16 +419,7 @@ public class ExifRewriteTest extends Exi
 assertEquals(oldField.tag, newField.tag);
 assertEquals(dirType.intValue(), newField.directoryType);
 assertEquals(oldField.directoryType, newField.directoryType);
-assertEquals(oldField.length, newField.length);
-assertEquals(oldField.isLocalValue(), newField.isLocalValue());
-
-if (oldField.tag == 0x202)
-{
-// ignore jpg from raw length value. may have off-by-one 
bug in certain cameras.
-// i.e. Sony DCR-PC110
-continue;
-}
-
+
 if (oldField.fieldType == 
TiffFieldTypeConstants.FIELD_TYPE_ASCII)
 {
 // Sanselan currently doesn't correctly rewrite
@@ -448,6 +439,16 @@ public class ExifRewriteTest extends Exi
 continue;
 }
 
+assertEquals(oldField.length, newField.length);
+assertEquals(oldField.isLocalValue(), newField.isLocalValue());
+
+if (oldField.tag == 0x202)
+{
+// ignore jpg from raw length value. may have off-by-one 
bug in certain cameras.
+// i.e. Sony DCR-PC110
+continue;
+}
+
 if (!oldField.tagInfo.isOffset())
 {
 if (oldField.tagInfo.isText())




svn commit: r1335172 - in /commons/proper/imaging/trunk: pom.xml src/site/xdoc/issue-tracking.xml

2012-05-07 Thread damjan
Author: damjan
Date: Mon May  7 18:23:26 2012
New Revision: 1335172

URL: http://svn.apache.org/viewvc?rev=1335172view=rev
Log:
Update the Jira URL and PID to the new IMAGING project.


Modified:
commons/proper/imaging/trunk/pom.xml
commons/proper/imaging/trunk/src/site/xdoc/issue-tracking.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1335172r1=1335171r2=1335172view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Mon May  7 18:23:26 2012
@@ -52,7 +52,7 @@
 
   issueManagement
 systemJira/system
-urlhttp://issues.apache.org/jira/browse/SANSELAN/url
+urlhttp://issues.apache.org/jira/browse/IMAGING/url
   /issueManagement
   inceptionYear2007/inceptionYear
 
@@ -65,8 +65,8 @@
 maven.compile.target1.5/maven.compile.target
 commons.componentidimaging/commons.componentid
 commons.release.version1.0/commons.release.version
-commons.jira.idSANSELAN/commons.jira.id
-commons.jira.pid12310720/commons.jira.pid
+commons.jira.idIMAGING/commons.jira.id
+commons.jira.pid12313421/commons.jira.pid
 
commons.osgi.exportorg.apache.commons.imaging.*;version=${project.version};-noimport:=true/commons.osgi.export
 commons.binary.suffix /
 project.build.sourceEncodingUTF-8/project.build.sourceEncoding

Modified: commons/proper/imaging/trunk/src/site/xdoc/issue-tracking.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/site/xdoc/issue-tracking.xml?rev=1335172r1=1335171r2=1335172view=diff
==
--- commons/proper/imaging/trunk/src/site/xdoc/issue-tracking.xml (original)
+++ commons/proper/imaging/trunk/src/site/xdoc/issue-tracking.xml Mon May  7 
18:23:26 2012
@@ -43,15 +43,15 @@ limitations under the License.
 --
 document
   properties
-titleCommons Sanselan Issue tracking/title
+titleCommons Imaging Issue tracking/title
 author email=d...@commons.apache.orgCommons Documentation Team/author
   /properties
   body
 
-section name=Commons Sanselan Issue tracking
+section name=Commons Imaging Issue tracking
   p
-  Commons Sanselan uses a href=http://issues.apache.org/jira/;ASF 
JIRA/a for tracking issues.
-  See the a href=http://issues.apache.org/jira/browse/SANSELAN;Commons 
Sanselan JIRA project page/a.
+  Commons Imaging uses a href=http://issues.apache.org/jira/;ASF 
JIRA/a for tracking issues.
+  See the a href=http://issues.apache.org/jira/browse/IMAGING;Commons 
Imaging JIRA project page/a.
   /p
 
   p
@@ -63,15 +63,15 @@ limitations under the License.
 
   p
   If you would like to report a bug, or raise an enhancement request with
-  Commons Sanselan please do the following:
+  Commons Imaging please do the following:
   ol
-lia 
href=http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=trueamp;pid=12310720amp;sorter/field=issuekeyamp;sorter/order=DESCamp;status=1amp;status=3amp;status=4;Search
 existing open bugs/a.
+lia 
href=http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=trueamp;pid=12313421amp;sorter/field=issuekeyamp;sorter/order=DESCamp;status=1amp;status=3amp;status=4;Search
 existing open bugs/a.
 If you find your issue listed then please add a comment with your 
details./li
 lia href=mail-lists.htmlSearch the mailing list archive(s)/a.
 You may find your issue or idea has already been discussed./li
 liDecide if your issue is a bug or an enhancement./li
-liSubmit either a a 
href=http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310720amp;issuetype=1amp;priority=4amp;assignee=-1;bug
 report/a
-or a 
href=http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310720amp;issuetype=4amp;priority=4amp;assignee=-1;enhancement
 request/a./li
+liSubmit either a a 
href=http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12313421amp;issuetype=1amp;priority=4amp;assignee=-1;bug
 report/a
+or a 
href=http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12313421amp;issuetype=4amp;priority=4amp;assignee=-1;enhancement
 request/a./li
   /ol
   /p
 
@@ -80,7 +80,7 @@ limitations under the License.
   ul
 lithe more information you provide, the better we can help you/li
 litest cases are vital, particularly for any proposed 
enhancements/li
-lithe developers of Commons Sanselan are all unpaid volunteers/li
+lithe developers of Commons Imaging are all unpaid volunteers/li
   /ul
   /p
 
@@ -92,9 +92,9 @@ limitations under the License.
   p
   You may also find these links useful:
   ul
-lia 
href=http://issues.apache.org/jira/secure

svn commit: r1335936 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff: TiffElement.java TiffImageData.java TiffReader.java datareaders/DataReaderStrips.java dat

2012-05-08 Thread damjan
Author: damjan
Date: Wed May  9 05:58:09 2012
New Revision: 1335936

URL: http://svn.apache.org/viewvc?rev=1335936view=rev
Log:
Reduce memory usage when reading TIFF files.

Jira issue key: IMAGING-70
Submitted by: Gary Lucas gwlucas at sonalysts dot com


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java?rev=1335936r1=1335935r2=1335936view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
 Wed May  9 05:58:09 2012
@@ -54,6 +54,10 @@ public abstract class TiffElement
 
 this.data = data;
 }
+
+public byte []getData(){
+return data;
+}
 
 }
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java?rev=1335936r1=1335935r2=1335936view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
 Wed May  9 05:58:09 2012
@@ -20,6 +20,7 @@ package org.apache.commons.imaging.forma
 import java.io.IOException;
 
 import org.apache.commons.imaging.ImageReadException;
+import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
 import org.apache.commons.imaging.formats.tiff.datareaders.DataReader;
 import org.apache.commons.imaging.formats.tiff.datareaders.DataReaderStrips;
 import org.apache.commons.imaging.formats.tiff.datareaders.DataReaderTiled;
@@ -141,4 +142,30 @@ public abstract class TiffImageData
 }
 
 }
+
+public static class ByteSourceData extends  Data 
+{
+ByteSourceFile byteSourceFile ;
+public ByteSourceData(int offset, int length, ByteSourceFile 
byteSource)
+{
+super(offset, length, new byte[0]);
+byteSourceFile = byteSource;
+}
+
+@Override
+public String getElementDescription(boolean verbose)
+{
+return Tiff image data:  + data.length +  bytes;
+}
+
+
+public byte[] getData()
+{
+try {
+return byteSourceFile.getBlock(offset, length);
+} catch (IOException ioex) {
+}
+return new byte[0];
+}
+}
 }
\ No newline at end of file

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java?rev=1335936r1=1335935r2=1335936view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
 Wed May  9 05:58:09 2012
@@ -26,6 +26,7 @@ import org.apache.commons.imaging.Format
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.common.BinaryFileParser;
 import org.apache.commons.imaging.common.bytesource.ByteSource;
+import org.apache.commons.imaging.common.bytesource.ByteSourceFile;
 import org.apache.commons.imaging.formats.tiff.TiffDirectory.ImageDataElement;
 import org.apache.commons.imaging.formats.tiff.constants.ExifTagConstants;
 import org.apache.commons.imaging.formats.tiff.constants.TiffConstants;
@@ -468,14 +469,25 @@ public class TiffReader extends BinaryFi
 TiffDirectory directory) throws ImageReadException, IOException
 {
 
+ 
 ListImageDataElement elements = 
directory.getTiffRawImageDataElements();
 TiffImageData.Data data[] = new TiffImageData.Data[elements.size

svn commit: r1335939 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff: TiffElement.java TiffImageData.java

2012-05-09 Thread damjan
Author: damjan
Date: Wed May  9 06:07:56 2012
New Revision: 1335939

URL: http://svn.apache.org/viewvc?rev=1335939view=rev
Log:
Fix some spacing.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java?rev=1335939r1=1335938r2=1335939view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffElement.java
 Wed May  9 06:07:56 2012
@@ -55,7 +55,7 @@ public abstract class TiffElement
 this.data = data;
 }
 
-public byte []getData(){
+public byte[] getData() {
 return data;
 }
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java?rev=1335939r1=1335938r2=1335939view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageData.java
 Wed May  9 06:07:56 2012
@@ -143,7 +143,7 @@ public abstract class TiffImageData
 
 }
 
-public static class ByteSourceData extends  Data 
+public static class ByteSourceData extends Data
 {
 ByteSourceFile byteSourceFile ;
 public ByteSourceData(int offset, int length, ByteSourceFile 
byteSource)




svn commit: r1335943 - in /commons/proper/imaging/trunk/src: main/java/org/apache/commons/imaging/formats/tiff/datareaders/ test/data/images/tiff/5/

2012-05-09 Thread damjan
Author: damjan
Date: Wed May  9 06:41:40 2012
New Revision: 1335943

URL: http://svn.apache.org/viewvc?rev=1335943view=rev
Log:
Fixed the differencing predictor for tiled TIFF images.
Added 2 test images that use LZW compression with differencing, one is tiled 
and the other uses strips.

Jira issue key: IMAGING-33


Added:
commons/proper/imaging/trunk/src/test/data/images/tiff/5/
commons/proper/imaging/trunk/src/test/data/images/tiff/5/Oregon Scientific 
DS6639 - DSC_0307 - small - LZW - strips.tif   (with props)
commons/proper/imaging/trunk/src/test/data/images/tiff/5/Oregon Scientific 
DS6639 - DSC_0307 - small - LZW - tiled.tif   (with props)
Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReader.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReader.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReader.java?rev=1335943r1=1335942r2=1335943view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReader.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReader.java
 Wed May  9 06:41:40 2012
@@ -91,16 +91,19 @@ public abstract class DataReader impleme
 }
 }
 
-protected int[] applyPredictor(int samples[], int x)
+protected void resetPredictor() {
+for (int i = 0; i  last.length; i++) {
+last[i] = 0;
+}
+}
+
+protected int[] applyPredictor(int samples[])
 {
 if (predictor == 2) // Horizontal differencing.
 {
 for (int i = 0; i  samples.length; i++)
 {
-if (x  0)
-{
-samples[i] = 0xff  (samples[i] + last[i]);
-}
+samples[i] = 0xff  (samples[i] + last[i]);
 last[i] = samples[i];
 }
 }

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java?rev=1335943r1=1335942r2=1335943view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
 Wed May  9 06:41:40 2012
@@ -61,13 +61,14 @@ public final class DataReaderStrips exte
 return;
 }
 int[] samples = new int[bitsPerSample.length];
+resetPredictor();
 for (int i = 0; i  pixels_per_strip; i++)
 {
 getSamplesAsBytes(bis, samples);
 
 if (x  width)
 {
-samples = applyPredictor(samples, x);
+samples = applyPredictor(samples);
 
 photometricInterpreter.interpretPixel(imageBuilder, samples, 
x, y);
 }
@@ -76,6 +77,7 @@ public final class DataReaderStrips exte
 if (x = width)
 {
 x = 0;
+resetPredictor();
 y++;
 bis.flushCache();
 if (y = height)

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java?rev=1335943r1=1335942r2=1335943view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java
 Wed May  9 06:41:40 2012
@@ -68,6 +68,7 @@ public final class DataReaderTiled exten
 int tileX = 0, tileY = 0;
 
 int[] samples = new int[bitsPerSample.length];
+resetPredictor();
 for (int i = 0; i  pixelsPerTile; i++)
 {
 
@@ -78,7 +79,7 @@ public final class DataReaderTiled exten
 
 if ((x  width)  (y  height))
 {
-samples = applyPredictor(samples, x

svn commit: r1342497 - /commons/proper/imaging/trunk/pom.xml

2012-05-24 Thread damjan
Author: damjan
Date: Fri May 25 04:20:12 2012
New Revision: 1342497

URL: http://svn.apache.org/viewvc?rev=1342497view=rev
Log:
Fix a typo in the POM assembly section.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1342497r1=1342496r2=1342497view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Fri May 25 04:20:12 2012
@@ -83,7 +83,7 @@
 configuration
   descriptors
 descriptorsrc/main/assembly/bin.xml/descriptor
-descriptorsrc/maim/assembly/src.xml/descriptor
+descriptorsrc/main/assembly/src.xml/descriptor
   /descriptors
   tarLongFileModegnu/tarLongFileMode
 /configuration




svn commit: r1342880 - /commons/proper/imaging/trunk/pom.xml

2012-05-26 Thread damjan
Author: damjan
Date: Sat May 26 10:18:01 2012
New Revision: 1342880

URL: http://svn.apache.org/viewvc?rev=1342880view=rev
Log:
Added some reporting plugins.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1342880r1=1342879r2=1342880view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Sat May 26 10:18:01 2012
@@ -197,6 +197,32 @@
 version2.4.0/version
   /plugin
   plugin
+groupIdorg.codehaus.mojo/groupId
+artifactIdjavancss-maven-plugin/artifactId
+version2.0/version
+  /plugin
+  plugin
+groupIdorg.apache.maven.plugins/groupId
+artifactIdmaven-changes-plugin/artifactId
+version${commons.changes.version}/version
+configuration
+  issueLinkTemplate%URL%/%ISSUE%/issueLinkTemplate
+/configuration
+reportSets
+  reportSet
+reports
+  reportchanges-report/report
+  reportjira-report/report
+/reports
+  /reportSet
+/reportSets
+  /plugin
+  plugin
+groupIdorg.apache.maven.plugins/groupId
+artifactIdmaven-checkstyle-plugin/artifactId
+version2.9.1/version
+  /plugin
+  plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-pmd-plugin/artifactId
 version2.7.1/version
@@ -204,6 +230,18 @@
   targetJdk${maven.compile.target}/targetJdk
 /configuration
   /plugin
+  plugin
+groupIdorg.codehaus.mojo/groupId
+artifactIdtaglist-maven-plugin/artifactId
+version2.4/version
+configuration
+  tags
+tagTODO/tag
+tagNOPMD/tag
+tagNOTE/tag
+  /tags
+/configuration
+  /plugin
 /plugins
   /reporting
 




svn commit: r1342887 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: common/ formats/jpeg/iptc/ formats/tiff/constants/ formats/tiff/taginfos/

2012-05-26 Thread damjan
Author: damjan
Date: Sat May 26 11:33:35 2012
New Revision: 1342887

URL: http://svn.apache.org/viewvc?rev=1342887view=rev
Log:
Add ASL licence headers to .java files that don't have them.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypes.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AliasSketchbookProTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GdalLibraryTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/OceScanjobTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/WangTagConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAscii.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAsciiOrByte.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAsciiOrRational.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java?rev=1342887r1=1342886r2=1342887view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/ImageBuilder.java
 Sat May 26 11:33:35 2012
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.commons.imaging.common;
 
 import java.awt.image.BufferedImage;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypes.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypes.java?rev=1342887r1=1342886r2=1342887view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypes.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcTypes.java
 Sat May 26 11:33:35 2012
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under

svn commit: r1342891 - in /commons/proper/imaging/trunk/src/site: site.xml xdoc/justification.xml xdoc/sampleusage.xml

2012-05-26 Thread damjan
Author: damjan
Date: Sat May 26 12:48:28 2012
New Revision: 1342891

URL: http://svn.apache.org/viewvc?rev=1342891view=rev
Log:
Update website, fix some broken links and remove old code.

Jira issue key: IMAGING-5


Modified:
commons/proper/imaging/trunk/src/site/site.xml
commons/proper/imaging/trunk/src/site/xdoc/justification.xml
commons/proper/imaging/trunk/src/site/xdoc/sampleusage.xml

Modified: commons/proper/imaging/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/site/site.xml?rev=1342891r1=1342890r2=1342891view=diff
==
--- commons/proper/imaging/trunk/src/site/site.xml (original)
+++ commons/proper/imaging/trunk/src/site/site.xml Sat May 26 12:48:28 2012
@@ -28,7 +28,6 @@
   item name=Mailing Lists   href=/mail-lists.html/
   item name=Issue Tracking  href=/issue-tracking.html/
   item name=Source Repository   href=/source-repository.html/
-  item name=Documentation   
href=http://cwiki.apache.org/SANSELAN//
   item name=Javadoc href=/apidocs/index.html/
   item name=Downloadhref=/download_imaging.cgi/
 /menu

Modified: commons/proper/imaging/trunk/src/site/xdoc/justification.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/site/xdoc/justification.xml?rev=1342891r1=1342890r2=1342891view=diff
==
--- commons/proper/imaging/trunk/src/site/xdoc/justification.xml (original)
+++ commons/proper/imaging/trunk/src/site/xdoc/justification.xml Sat May 26 
12:48:28 2012
@@ -26,11 +26,10 @@ limitations under the License.
 
 p
 Why another image library? There are so many already.
-see: a 
href=http://fightingquaker.com/sanselan/#references;http://fightingquaker.com/sanselan/#references/a
 /p
 
 p
-This library is Pure Java. Consequently it's slow, but perfectly portable.
+Apache Commons Imaging is Pure Java. Consequently it's slow, but perfectly 
portable.
 /p
 
 p
@@ -43,15 +42,15 @@ limitations under the License.
 
 p
 Most other libraries offer little or incomplete support for ICC Profiles.
-Sanselan can extract and (simply) parse embedded ICC Profiles.
-Moreover, sanselan applies the icc profile by default, coverting read 
images to sRGB.
+Commons Imaging can extract and (simply) parse embedded ICC Profiles.
+Moreover, it applies the ICC profile by default, coverting read images to 
sRGB.
 This means images are color-corrected by default.
 see: a 
href=http://en.wikipedia.org/wiki/International_Color_Consortium;http://en.wikipedia.org/wiki/International_Color_Consortium/a,
 a 
href=http://en.wikipedia.org/wiki/SRGB;http://en.wikipedia.org/wiki/SRGB/a
 /p
 
 p
-Sanselan also lets you read in image info (ie. width, height or 
colorspace) and metadata without
+Commons Imaging also lets you read in image info (ie. width, height or 
colorspace) and metadata without
 reading the entire image. It presents image info and metadata in a 
format-neutral manner.
 It also gives easy, structured access to format-specific info.
 /p
@@ -69,7 +68,7 @@ limitations under the License.
 
 p
 Ultimately, other libraries didn't quite fill my requirements, though 
there are many good ones out there.
-What's really called for is a free, portable, feature complete library 
that ISN'T pure Java
+What could be interesting is to get a free, portable, feature complete 
library that ISN'T pure Java
 - ie. one that uses JNI, at least for JPEG, anyhow. The obvious solution 
would be a JNI wrapper
 around libtiff, libjpeg, libpng, libgif/libungif, etc. imageloader uses 
this approach, but
 is unfinished.
@@ -80,15 +79,15 @@ limitations under the License.
 /p
 
 p
-Sanselan also includes a number of useful functions such as guess an 
image's format by examining its magic numbers (header info).
+Commons Imaging also includes a number of useful functions such as guess 
an image's format by examining its magic numbers (header info).
 /p
 
 p
-Sanselan aims to be transparent. There are no hidden buffers to dispose, 
no blocking calls, no native memory to free.
+Commons Imaging aims to be transparent. There are no hidden buffers to 
dispose, no blocking calls, no native memory to free.
 /p
 
 p
-The ColorConversions class offers methods to convert between the following 
color spaces: CIE-L*CH°, CIE-L*ab, CIE-L*uv,
+The ColorConversions class offers methods to convert between the following 
color spaces: CIE-L*CH�, CIE-L*ab, CIE-L*uv,
 CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ and Yxy (algorithms courtesy of 
EasyRGB's).
 see: a href=http://www.easyrgb.com/;http://www.easyrgb.com//a
 /p

Modified: commons/proper/imaging/trunk/src/site/xdoc/sampleusage.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging

svn commit: r1342896 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: ./ formats/jpeg/exif/ formats/jpeg/iptc/ formats/jpeg/xmp/

2012-05-26 Thread damjan
Author: damjan
Date: Sat May 26 13:29:12 2012
New Revision: 1342896

URL: http://svn.apache.org/viewvc?rev=1342896view=rev
Log:
Fixed Javadoc broken and missing links.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java?rev=1342896r1=1342895r2=1342896view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 Sat May 26 13:29:12 2012
@@ -48,9 +48,9 @@ import org.apache.commons.imaging.util.D
  * All of Imaging's methods are static.
  * p
  * See the source of the SampleUsage class and other classes in the
- * org.apache.commons.sanselan.examples package for examples.
+ * org.apache.commons.imaging.examples package for examples.
  *
- * @see org.apache.commons.sanselan.examples.SampleUsage
+ * @see a 
href=https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java;org.apache.commons.imaging.examples.SampleUsage/a
  */
 public abstract class Imaging implements ImagingConstants {
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java?rev=1342896r1=1342895r2=1342896view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.java
 Sat May 26 13:29:12 2012
@@ -45,7 +45,7 @@ import org.apache.commons.imaging.util.D
  * p
  * See the source of the ExifMetadataUpdateExample class for example usage.
  *
- * @see org.apache.commons.sanselan.examples.WriteExifMetadataExample
+ * @see a 
href=https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/WriteExifMetadataExample.java;org.apache.commons.imaging.examples.WriteExifMetadataExample/a
  */
 public class ExifRewriter extends BinaryFileParser implements JpegConstants
 {
@@ -62,7 +62,7 @@ public class ExifRewriter extends Binary
  * p
  * @param  byteOrder  byte order of EXIF segment.  Optional.  See 
BinaryConstants class.
  *
- * @see org.apache.commons.sanselan.common.BinaryConstants
+ * @see org.apache.commons.imaging.common.BinaryConstants
  */
 public ExifRewriter(int byteOrder)
 {

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java?rev=1342896r1=1342895r2=1342896view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.java
 Sat May 26 13:29:12 2012
@@ -36,11 +36,6 @@ import org.apache.commons.imaging.format
 
 /**
  * Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
- * p
- * p
- * See the source of the IPTCUpdateExample class for example usage.
- *
- * @see org.apache.commons.sanselan.examples.WriteIPTCExample
  */
 public class JpegIptcRewriter extends JpegRewriter implements IptcConstants
 {

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java?rev=1342896r1=1342895r2=1342896view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/xmp/JpegRewriter.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org

svn commit: r1342903 - /commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java

2012-05-26 Thread damjan
Author: damjan
Date: Sat May 26 14:29:55 2012
New Revision: 1342903

URL: http://svn.apache.org/viewvc?rev=1342903view=rev
Log:
Include a test utility for timing and memory in project example classes.

Jira issue key: IMAGING-61
Submitted by: Gary Lucas gwlucas at sonalysts dot com


Added:

commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java
   (with props)

Added: 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java?rev=1342903view=auto
==
--- 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java
 (added)
+++ 
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/ApacheImagingSpeedAndMemoryTest.java
 Sat May 26 14:29:55 2012
@@ -0,0 +1,290 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+/
+ * Explanation of Use and Rationale For Procedures
+ * 
+ * This class is intended to serve as a test stand for loading
+ * images using the Apache Imaging (nee Sanselan) package.
+ * It performs a loop that loads a specified image multiple times
+ * recording both memory and time required for the loading process.
+ * 
+ * The notes given below explain some of the operations of this
+ * test class and the reasons they were designed as they are.
+ * This test is by no means to be considered the last word in how
+ * to write a test application. The techniques described below have
+ * demonstrated themselves useful and relevant in developing speed
+ * enhancements for some of the Apache Imaging operations. But I know
+ * I haven't thought of everything and am actually hoping that
+ * someone will have suggestions for improvements.
+ * 
+ * 
+ * Prerequisites to Testing  
+ * 
+ * Whenever testing software performance, particularly timing, 
+ * there are a few important considerations that should be observed:
+ * 
+ *   a) Get a clean testing environment. In a modern computer 
+ *  system, there are dozens of processes running.  To whatever
+ *  degree possible, make sure you are not running competing
+ *  processes that will consume computer resources and contaminate
+ *  your timing results.
+ * 
+ *   b) Make sure you are testing what you think you are testing.
+ *  This guideline is especially true when comparing two different
+ *  approaches.  Eliminate as many variables from the analysis
+ *  as you possible can.
+ * 
+ *   c) When writing or modifying code, remember that no matter how
+ *  obvious and self-evidentially superior a particular approach
+ *  may seem, you don't really know if it's an improvement until you
+ *  test it. If nothing else, the experience of computer programming
+ *  teaches us to not to take anything for granted.
+ * 
+ *   d) Make sure the JVM is allowed a sufficiently large maximum
+ *  memory size.   Putting aside the fact that the default size
+ *  for the maximum memory use of the JVM could be too small for
+ *  handling test images, we also want to allocate a sufficiently
+ *  large memory size to ensure that it doesn't get too close to
+ *  the maximum size when performing timing tests.   When the JVM
+ *  detects that it is running up against the limits of its 
+ *  maximum memory size setting, it triggers garbage collection
+ *  operations that can contaminate timing values.
+ *I usually try to set the maximum memory size to be at least
+ *  twice what I think I will need.  Traditionally, the memory 
+ *  size for the JVM is quite modest, perhaps 256 megabytes.  You
+ *  can alter that value by using something like the following
+ *  specification (check your own JVM version for alternate values):
+ *-Xmx768M   (maximum of 768 megabytes)
+ *  
+ *  
+ * 
+ *  
+ * What

svn commit: r1342914 [5/5] - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: ./ color/ common/ common/bytesource/ common/itu_t4/ common/mylzw/

2012-05-26 Thread damjan
Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4_T6_Tables.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4_T6_Tables.java?rev=1342914r1=1342913r2=1342914view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4_T6_Tables.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/itu_t4/T4_T6_Tables.java
 Sat May 26 15:35:04 2012
@@ -22,12 +22,12 @@ class T4_T6_Tables {
 public static class Entry {
 String bitString;
 Integer value;
-
+
 public Entry(String bitString, Integer value) {
 this.bitString = bitString;
 this.value = value;
 }
-
+
 public void writeBits(BitArrayOutputStream outputStream) {
 for (int i = 0; i  bitString.length(); i++) {
 if (bitString.charAt(i) == '0') {
@@ -38,225 +38,228 @@ class T4_T6_Tables {
 }
 }
 }
-
+
 public static final Entry[] whiteTerminatingCodes = {
-new Entry(00110101, Integer.valueOf(0)),
-new Entry(000111, Integer.valueOf(1)),
-new Entry(0111, Integer.valueOf(2)),
-new Entry(1000, Integer.valueOf(3)),
-new Entry(1011, Integer.valueOf(4)),
-new Entry(1100, Integer.valueOf(5)),
-new Entry(1110, Integer.valueOf(6)),
-new Entry(, Integer.valueOf(7)),
-new Entry(10011, Integer.valueOf(8)),
-new Entry(10100, Integer.valueOf(9)),
-new Entry(00111, Integer.valueOf(10)),
-new Entry(01000, Integer.valueOf(11)),
-new Entry(001000, Integer.valueOf(12)),
-new Entry(11, Integer.valueOf(13)),
-new Entry(110100, Integer.valueOf(14)),
-new Entry(110101, Integer.valueOf(15)),
-new Entry(101010, Integer.valueOf(16)),
-new Entry(101011, Integer.valueOf(17)),
-new Entry(0100111, Integer.valueOf(18)),
-new Entry(0001100, Integer.valueOf(19)),
-new Entry(0001000, Integer.valueOf(20)),
-new Entry(0010111, Integer.valueOf(21)),
-new Entry(011, Integer.valueOf(22)),
-new Entry(100, Integer.valueOf(23)),
-new Entry(0101000, Integer.valueOf(24)),
-new Entry(0101011, Integer.valueOf(25)),
-new Entry(0010011, Integer.valueOf(26)),
-new Entry(0100100, Integer.valueOf(27)),
-new Entry(0011000, Integer.valueOf(28)),
-new Entry(0010, Integer.valueOf(29)),
-new Entry(0011, Integer.valueOf(30)),
-new Entry(00011010, Integer.valueOf(31)),
-new Entry(00011011, Integer.valueOf(32)),
-new Entry(00010010, Integer.valueOf(33)),
-new Entry(00010011, Integer.valueOf(34)),
-new Entry(00010100, Integer.valueOf(35)),
-new Entry(00010101, Integer.valueOf(36)),
-new Entry(00010110, Integer.valueOf(37)),
-new Entry(00010111, Integer.valueOf(38)),
-new Entry(00101000, Integer.valueOf(39)),
-new Entry(00101001, Integer.valueOf(40)),
-new Entry(00101010, Integer.valueOf(41)),
-new Entry(00101011, Integer.valueOf(42)),
-new Entry(00101100, Integer.valueOf(43)),
-new Entry(00101101, Integer.valueOf(44)),
-new Entry(0100, Integer.valueOf(45)),
-new Entry(0101, Integer.valueOf(46)),
-new Entry(1010, Integer.valueOf(47)),
-new Entry(1011, Integer.valueOf(48)),
-new Entry(01010010, Integer.valueOf(49)),
-new Entry(01010011, Integer.valueOf(50)),
-new Entry(01010100, Integer.valueOf(51)),
-new Entry(01010101, Integer.valueOf(52)),
-new Entry(00100100, Integer.valueOf(53)),
-new Entry(00100101, Integer.valueOf(54)),
-new Entry(01011000, Integer.valueOf(55)),
-new Entry(01011001, Integer.valueOf(56)),
-new Entry(01011010, Integer.valueOf(57)),
-new Entry(01011011, Integer.valueOf(58)),
-new Entry(01001010, Integer.valueOf(59)),
-new Entry(01001011, Integer.valueOf(60)),
-new Entry(00110010, Integer.valueOf(61)),
-new Entry(00110011, Integer.valueOf(62)),
-new Entry(00110100, Integer.valueOf(63)),
-};
-
+new Entry(00110101, Integer.valueOf(0)),
+new Entry(000111, Integer.valueOf(1)),
+new Entry(0111, Integer.valueOf(2)),
+new Entry(1000, Integer.valueOf(3)),
+new Entry(1011, Integer.valueOf(4)),
+new Entry(1100, Integer.valueOf(5)),
+new Entry(1110, Integer.valueOf(6)),
+new Entry(, Integer.valueOf(7)),
+new Entry(10011, Integer.valueOf(8)),
+new Entry(10100, Integer.valueOf(9)),
+new Entry(00111, 

svn commit: r1343007 - in /commons/proper/imaging/trunk: checkstyle.xml pom.xml src/main/java/org/apache/commons/imaging/ImagingConstants.java src/main/java/org/apache/commons/imaging/formats/tiff/con

2012-05-27 Thread damjan
Author: damjan
Date: Sun May 27 07:29:54 2012
New Revision: 1343007

URL: http://svn.apache.org/viewvc?rev=1343007view=rev
Log:
Configure Checkstyle better.


Added:
commons/proper/imaging/trunk/checkstyle.xml   (with props)
Modified:
commons/proper/imaging/trunk/pom.xml

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java

Added: commons/proper/imaging/trunk/checkstyle.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/checkstyle.xml?rev=1343007view=auto
==
--- commons/proper/imaging/trunk/checkstyle.xml (added)
+++ commons/proper/imaging/trunk/checkstyle.xml Sun May 27 07:29:54 2012
@@ -0,0 +1,40 @@
+?xml version=1.0?
+!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the License); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an AS IS BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+--
+
+!DOCTYPE module PUBLIC
+-//Puppy Crawl//DTD Check Configuration 1.2//EN
+http://www.puppycrawl.com/dtds/configuration_1_2.dtd;
+
+!-- Commons Imaging customization of default Checkstyle behavior --
+
+module name=Checker
+  module name=FileTabCharacter
+property name=eachLine value=true/
+property name=fileExtensions value=java, xml/
+  /module
+  module name=NewlineAtEndOfFile
+property name=fileExtensions value=java, xml/
+  /module
+  module name=TreeWalker
+property name=cacheFile value=target/cachefile/
+module name=AvoidStarImport/
+module name=RedundantImport/
+module name=UnusedImports/
+  /module
+/module
+

Propchange: commons/proper/imaging/trunk/checkstyle.xml
--
svn:eol-style = native

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1343007r1=1343006r2=1343007view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Sun May 27 07:29:54 2012
@@ -221,6 +221,18 @@
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-checkstyle-plugin/artifactId
 version2.9.1/version
+inheritedfalse/inherited
+configuration
+  configLocation${basedir}/checkstyle.xml/configLocation
+/configuration
+!-- Work around CHECKSTYLE-172 --
+reportSets
+  reportSet
+reports
+  reportcheckstyle/report
+/reports
+  /reportSet
+/reportSets
   /plugin
   plugin
 groupIdorg.apache.maven.plugins/groupId

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java?rev=1343007r1=1343006r2=1343007view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java
 Sun May 27 07:29:54 2012
@@ -16,10 +16,6 @@
  */
 package org.apache.commons.imaging;
 
-import java.io.InputStream;
-
-import org.apache.commons.imaging.formats.tiff.constants.TiffConstants;
-
 public interface ImagingConstants {
 /**
  * Parameter key. Applies to read and write operations.
@@ -38,7 +34,7 @@ public interface ImagingConstants {
  * Valid values: filename as string
  * p
  * 
- * @see InputStream
+ * @see java.io.InputStream
  */
 public static final String PARAM_KEY_FILENAME = FILENAME;
 
@@ -49,7 +45,7 @@ public interface ImagingConstants {
  * ImageFormat.IMAGE_FORMAT_PNG.
  * p
  * 
- * @see ImageFormat
+ * @see org.apache.commons.imaging.ImageFormat
  */
 public static final String PARAM_KEY_FORMAT = FORMAT;
 
@@ -65,7 +61,7 @@ public interface ImagingConstants {
  * TiffConstants.TIFF_COMPRESSION_PACKBITS.
  * p
  * 
- * @see TiffConstants
+ * @see

svn commit: r1343020 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: ./ common/ formats/bmp/ formats/icns/ formats/jpeg/iptc/ formats/png/ formats/psd/ formats/tiff/ forma

2012-05-27 Thread damjan
Author: damjan
Date: Sun May 27 09:58:39 2012
New Revision: 1343020

URL: http://svn.apache.org/viewvc?rev=1343020view=rev
Log:
Fix some Findbugs problems.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BinaryFileFunctions.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/MyByteArrayOutputStream.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/PackBits.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/icns/IcnsType.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/png/PngWriter.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/ImageContents.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdHeaderInfo.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffField.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeAscii.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTag.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/icc/IccTagDataTypes.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/ColorSpaceSubset.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/palette/PaletteFactory.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java?rev=1343020r1=1343019r2=1343020view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
 Sun May 27 09:58:39 2012
@@ -19,6 +19,7 @@ package org.apache.commons.imaging;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.io.StringWriter;
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -62,7 +63,7 @@ public class FormatCompliance {
 }
 
 public void dump() {
-dump(new PrintWriter(new OutputStreamWriter(System.out)));
+dump(new PrintWriter(new OutputStreamWriter(System.out, 
Charset.defaultCharset(;
 }
 
 public void dump(PrintWriter pw) {

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BinaryFileFunctions.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BinaryFileFunctions.java?rev=1343020r1=1343019r2=1343020view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BinaryFileFunctions.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/BinaryFileFunctions.java
 Sun May 27 09:58:39 2012
@@ -20,8 +20,10 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.io.RandomAccessFile;
+import java.nio.charset.Charset;
 
 import org.apache.commons.imaging.ImageReadException;
 import org.apache.commons.imaging.ImageWriteException;
@@ -49,7 +51,7 @@ public class BinaryFileFunctions impleme
 }
 
 public final void debugNumber(String msg, int data, int bytes) {
-PrintWriter pw = new PrintWriter(System.out);
+PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out, 
Charset.defaultCharset()));
 debugNumber(pw, msg, data, bytes);
 pw.flush();
 }

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/MyByteArrayOutputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/MyByteArrayOutputStream.java?rev=1343020r1=1343019r2=1343020view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/MyByteArrayOutputStream.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org

svn commit: r1343565 - in /commons/proper/imaging/trunk: README.txt pom.xml src/main/assembly/bin.xml src/main/assembly/src.xml

2012-05-29 Thread damjan
Author: damjan
Date: Tue May 29 07:16:35 2012
New Revision: 1343565

URL: http://svn.apache.org/viewvc?rev=1343565view=rev
Log:
Update POM, assembly descriptors, and README.txt
in preparation for a release.


Modified:
commons/proper/imaging/trunk/README.txt
commons/proper/imaging/trunk/pom.xml
commons/proper/imaging/trunk/src/main/assembly/bin.xml
commons/proper/imaging/trunk/src/main/assembly/src.xml

Modified: commons/proper/imaging/trunk/README.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/README.txt?rev=1343565r1=1343564r2=1343565view=diff
==
--- commons/proper/imaging/trunk/README.txt (original)
+++ commons/proper/imaging/trunk/README.txt Tue May 29 07:16:35 2012
@@ -1,11 +1,11 @@
 =
-Welcome to Apache Commons Sanselan  http://commons.apache.org/sanselan/
+Welcome to Apache Commons Imaging  http://commons.apache.org/imaging/
 =
 
 License (see also LICENSE)
 ==
 
-Collective work: Copyright 2007-2009 The Apache Software Foundation.
+Collective work: Copyright 2007-2012 The Apache Software Foundation.
 
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -29,7 +29,7 @@ Getting Started
 Mailing Lists
 -
 
-To get involved with the Apache Commons Sanselan project, start by
+To get involved with the Apache Commons Imaging project, start by
 having a look at our website (link at top of page) and join our mailing
 lists by sending an empty message to the Apache Commons mailing lists
 
@@ -41,33 +41,33 @@ and the dev mailing list archives can be
 
http://mail-archives.apache.org/mod_mbox/commons-dev/
 
-Please prefix the subject line of any messages with [sanselan].
+Please prefix the subject line of any messages with [imaging].
 
 Downloading
 ---
 
-The Commons Sanselan source code is available via Subversion at
+The Commons Imaging source code is available via Subversion at
 
-   https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk
+   https://svn.apache.org/repos/asf/commons/proper/imaging/trunk
 
 and anonymous access is available at
 
-   http://svn.apache.org/repos/asf/commons/proper/sanselan/trunk
+   http://svn.apache.org/repos/asf/commons/proper/imaging/trunk
 
 or with ViewVC at
 
-   http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/
+   http://svn.apache.org/viewvc/commons/proper/imaging/trunk/
 
-To checkout the main Sanselan source tree, run
+To checkout the main Imaging source tree, run
 
-   svn checkout 
http://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/sanselan
+   svn checkout 
http://svn.apache.org/repos/asf/commons/proper/imaging/trunk/imaging
 
 Once you have a copy of the source code tree, you can use Apache Maven
 
http://maven.apache.org/
 
-to build the project. You should use Maven 2 to build Sanselan.
-The minimal command to build, test, and package all the main Sanselan
+to build the project. You should use Maven 2 to build Imaging.
+The minimal command to build, test, and package all the main Imaging
 components is:
 
mvn install
@@ -79,5 +79,5 @@ For more instructions, please see the do
 Credits
 ===
 
-See http://commons.apache.org/sanselan/team-list.html for the list of 
-Sanselan committers and main contributors.
+See http://commons.apache.org/imaging/team-list.html for the list of 
+Imaging committers and main contributors.

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1343565r1=1343564r2=1343565view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Tue May 29 07:16:35 2012
@@ -89,6 +89,16 @@
 /configuration
   /plugin
   plugin
+artifactIdmaven-jar-plugin/artifactId
+configuration
+  archive
+manifestEntries
+  Extension-Nameorg.apache.commons.imaging/Extension-Name
+/manifestEntries
+  /archive
+/configuration
+  /plugin
+  plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-surefire-plugin/artifactId
 configuration
@@ -195,6 +205,10 @@
 groupIdorg.codehaus.mojo/groupId
 artifactIdfindbugs-maven-plugin/artifactId
 version2.4.0/version
+configuration
+  thresholdNormal/threshold
+  effortDefault/effort
+/configuration
   /plugin
   plugin
 groupIdorg.codehaus.mojo/groupId

Modified: commons/proper/imaging/trunk/src/main/assembly/bin.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/assembly/bin.xml?rev

svn commit: r1345260 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders: DataReaderStrips.java DataReaderTiled.java

2012-06-01 Thread damjan
Author: damjan
Date: Fri Jun  1 15:59:00 2012
New Revision: 1345260

URL: http://svn.apache.org/viewvc?rev=1345260view=rev
Log:
Add a streamlined TIFF reader that reduces load time by a factor of 5.

Jira issue key: IMAGING-69
Submitted by: Gary Lucas gwlucas at sonalysts dot com


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderTiled.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java?rev=1345260r1=1345259r2=1345260view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/datareaders/DataReaderStrips.java
 Fri Jun  1 15:59:00 2012
@@ -25,6 +25,7 @@ import org.apache.commons.imaging.common
 import org.apache.commons.imaging.formats.tiff.TiffDirectory;
 import org.apache.commons.imaging.formats.tiff.TiffImageData;
 import 
org.apache.commons.imaging.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import 
org.apache.commons.imaging.formats.tiff.photometricinterpreters.PhotometricInterpreterRgb;
 
 public final class DataReaderStrips extends DataReader {
 
@@ -52,12 +53,122 @@ public final class DataReaderStrips exte
 
 private void interpretStrip(ImageBuilder imageBuilder, byte bytes[],
 int pixels_per_strip) throws ImageReadException, IOException {
-ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
-BitInputStream bis = new BitInputStream(bais, byteOrder);
-
 if (y = height) {
 return;
 }
+
+// changes added May 2012
+// In the original implementation, a general-case bit reader called
+// getSamplesAsBytes is used to retrieve the samples (raw data values)
+// for each pixel in the strip. These samples are then passed into a
+// photogrammetric interpreter that converts them to ARGB pixel values
+// and stores them in the image. Because the bit-reader must handle
+// a large number of formats, it involves several conditional
+// branches that must be executed each time a pixel is read.
+// Depending on the size of an image, the same evaluations must be
+// executed redundantly thousands and perhaps millions of times
+// in order to process the complete collection of pixels.
+// This code attempts to remove that redundancy by
+// evaluating the format up-front and bypassing the general-format
+// code for two commonly used data formats: the 8 bits-per-pixel
+// and 24 bits-per-pixel cases. For these formats, the
+// special case code achieves substantial reductions in image-loading
+// time. In other cases, it simply falls through to the original code
+// and continues to read the data correctly as it did in previous
+// versions of this class.
+// In addition to bypassing the getBytesForSample() method,
+// the 24-bit case also implements a special block for RGB
+// formatted images. To get a sense of the contributions of each
+// optimization (removing getSamplesAsBytes and removing the
+// photometric interpreter), consider the following results from tests
+// conducted with large TIFF images using the 24-bit RGB format
+// bypass getSamplesAsBytes: 67.5 % reduction
+// bypass both optimizations: 77.2 % reduction
+//
+//
+// Future Changes
+// Both of the 8-bit and 24-bit blocks make the assumption that a strip
+// always begins on x = 0 and that each strip exactly fills out the 
rows
+// it contains (no half rows). The original code did not make this
+// assumption, but the approach is consistent with the TIFF 6.0 spec
+// (1992),
+// and should probably be considered as an enhancement to the
+// original general-case code block that remains from the original
+// implementation. Taking this approach saves one conditional
+// operation per pixel or about 5 percent of the total run time
+// in the 8 bits/pixel case.
+
+// verify that all samples are one byte in size
+boolean allSamplesAreOneByte = true;
+for (int i = 0; i  bitsPerSample.length; i++) {
+if (bitsPerSample[i] != 8) {
+allSamplesAreOneByte = false;
+break;
+}
+}
+
+if (predictor != 2

svn commit: r1345475 - /commons/proper/imaging/trunk/NOTICE.txt

2012-06-02 Thread damjan
Author: damjan
Date: Sat Jun  2 10:02:39 2012
New Revision: 1345475

URL: http://svn.apache.org/viewvc?rev=1345475view=rev
Log:
Update copyright notice and years in NOTICE.txt.


Modified:
commons/proper/imaging/trunk/NOTICE.txt

Modified: commons/proper/imaging/trunk/NOTICE.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/NOTICE.txt?rev=1345475r1=1345474r2=1345475view=diff
==
--- commons/proper/imaging/trunk/NOTICE.txt (original)
+++ commons/proper/imaging/trunk/NOTICE.txt Sat Jun  2 10:02:39 2012
@@ -1,5 +1,5 @@
-Apache Imaging
-Copyright 2007-2011 The Apache Software Foundation.
+Apache Commons Imaging
+Copyright 2007-2012 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).




svn commit: r1345634 - /commons/proper/imaging/trunk/pom.xml

2012-06-03 Thread damjan
Author: damjan
Date: Sun Jun  3 09:16:32 2012
New Revision: 1345634

URL: http://svn.apache.org/viewvc?rev=1345634view=rev
Log:
Upgrade to commons-parent POM version 25.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1345634r1=1345633r2=1345634view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Sun Jun  3 09:16:32 2012
@@ -28,7 +28,7 @@
   parent
 groupIdorg.apache.commons/groupId
 artifactIdcommons-parent/artifactId
-version24/version
+version25/version
   /parent
 
   groupIdorg.apache.commons/groupId
@@ -79,7 +79,6 @@
   plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-assembly-plugin/artifactId
-version2.3/version
 configuration
   descriptors
 descriptorsrc/main/assembly/bin.xml/descriptor




svn commit: r1138134 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/sanselan/formats/bmp/ main/java/org/apache/sanselan/formats/bmp/pixelparsers/ test/data/images/bmp/3/

2011-06-21 Thread damjan
Author: damjan
Date: Tue Jun 21 18:51:28 2011
New Revision: 1138134

URL: http://svn.apache.org/viewvc?rev=1138134view=rev
Log:
Parse the BMP version 2, 3, 4 and 5 headers.
Decouple reading BI_BITFIELDS masks from reading the palette,
and add a comment explaining why the palette can be present
even for images that don't need it. In the case of
version = 3 BMP files with BI_BITFIELDS compression,
populate the alpha channel, and add a test case for this.


Added:
commons/proper/sanselan/trunk/src/test/data/images/bmp/3/
commons/proper/sanselan/trunk/src/test/data/images/bmp/3/V4-bitfields.bmp   
(with props)
commons/proper/sanselan/trunk/src/test/data/images/bmp/3/info.txt
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java?rev=1138134r1=1138133r2=1138134view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java
 Tue Jun 21 18:51:28 2011
@@ -43,12 +43,43 @@ public class BmpHeaderInfo
 public final int colorsUsed;
 public final int colorsImportant;
 
+public final int redMask;
+public final int greenMask;
+public final int blueMask;
+public final int alphaMask;
+
+public final int colorSpaceType;
+public final ColorSpace colorSpace;
+public final int gammaRed;
+public final int gammaGreen;
+public final int gammaBlue;
+public final int intent;
+public final int profileData;
+public final int profileSize;
+public final int reservedV5;
+
+public static class ColorSpaceCoordinate
+{
+public int x, y, z;
+}
+
+public static class ColorSpace
+{
+public ColorSpaceCoordinate red;
+public ColorSpaceCoordinate green;
+public ColorSpaceCoordinate blue;
+}
+
 public BmpHeaderInfo(byte identifier1, byte identifier2, int fileSize,
 int reserved, int bitmapDataOffset,
 int bitmapHeaderSize, int width, int height, int planes,
 int bitsPerPixel, int compression, int bitmapDataSize,
 int hResolution, int vResolution, int colorsUsed,
-int colorsImportant)
+int colorsImportant, int redMask, int greenMask,
+int blueMask, int alphaMask, int colorSpaceType,
+ColorSpace colorSpace, int gammaRed, int gammaGreen,
+int gammaBlue, int intent, int profileData,
+int profileSize, int reservedV5)
 {
 this.identifier1 = identifier1;
 this.identifier2 = identifier2;
@@ -67,6 +98,20 @@ public class BmpHeaderInfo
 this.vResolution = vResolution;
 this.colorsUsed = colorsUsed;
 this.colorsImportant = colorsImportant;
+
+this.redMask = redMask;
+this.greenMask = greenMask;
+this.blueMask = blueMask;
+this.alphaMask = alphaMask;
+this.colorSpaceType = colorSpaceType;
+this.colorSpace = colorSpace;
+this.gammaRed = gammaRed;
+this.gammaGreen = gammaGreen;
+this.gammaBlue = gammaBlue;
+this.intent = intent;
+this.profileData = profileData;
+this.profileSize = profileSize;
+this.reservedV5 = reservedV5;
 }
 
 }
\ No newline at end of file

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java?rev=1138134r1=1138133r2=1138134view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java
 Tue Jun 21 18:51:28 2011
@@ -104,19 +104,93 @@ public class BmpImageParser extends Imag
 
 int bitmapHeaderSize = read4Bytes(Bitmap Header Size, is,
 Not a Valid BMP File);
-int width = read4Bytes(Width, is, Not a Valid BMP File);
-int height = read4Bytes(Height, is, Not a Valid BMP File);
-int planes = read2Bytes(Planes, is, Not a Valid BMP File);
-int bitsPerPixel = read2Bytes(Bits Per Pixel, is,
-Not a Valid BMP File);
-int

svn commit: r1138156 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/sanselan/formats/ico/IcoImageParser.java test/java/org/apache/sanselan/formats/ico/IcoRoundtripTest.java

2011-06-21 Thread damjan
Author: damjan
Date: Tue Jun 21 20:05:54 2011
New Revision: 1138156

URL: http://svn.apache.org/viewvc?rev=1138156view=rev
Log:
Fix use of the alpha channel for 32 bit BI_RGB compressed ICO files.
Test this.


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java

commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/ico/IcoRoundtripTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java?rev=1138156r1=1138155r2=1138156view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java
 Tue Jun 21 20:05:54 2011
@@ -341,21 +341,43 @@ public class IcoImageParser extends Imag
 int ColorsUsed = read4Bytes(ColorsUsed, is, Not a Valid ICO File); 
// ColorsUsed (4 bytes), we don?t use this (0)
 int ColorsImportant = read4Bytes(ColorsImportant, is,
 Not a Valid ICO File); // ColorsImportant (4 bytes), we 
don?t use this (0)
+int RedMask = 0;
+int GreenMask = 0;
+int BlueMask = 0;
+int AlphaMask = 0;
+if (Compression == 3)
+{
+RedMask = read4Bytes(RedMask, is, Not a Valid ICO File);
+GreenMask = read4Bytes(GreenMask, is, Not a Valid ICO File);
+BlueMask = read4Bytes(BlueMask, is, Not a Valid ICO File);
+}
+byte[] RestOfFile = readByteArray(RestOfFile, is.available(), is);
 
 if (Size != 40)
 throw new ImageReadException(Not a Valid ICO File: Wrong bitmap 
header size  + Size);
 if (Planes != 1)
 throw new ImageReadException(Not a Valid ICO File: Planes can't 
be  + Planes);
 
+if (Compression == 0  BitCount == 32)
+{
+// 32 BPP RGB icons need an alpha channel, but BMP files don't have
+// one unless BI_BITFIELDS is used...
+Compression = 3;
+RedMask = 0x00ff;
+GreenMask = 0xff00;
+BlueMask = 0x00ff;
+AlphaMask = 0xff00;
+}
+
 BitmapHeader header = new BitmapHeader(Size, Width, Height, Planes,
 BitCount, Compression, SizeImage, XPelsPerMeter, YPelsPerMeter,
 ColorsUsed, ColorsImportant);
 
-int bitmapPixelsOffset = 14 + 40 + ((Compression == 3) ? 3*4 : 0) +
+int bitmapPixelsOffset = 14 + 56 +
 4 * ((ColorsUsed == 0  BitCount = 8) ? (1  BitCount) : 
ColorsUsed);
-int bitmapSize = 14 + iconData.length;
+int bitmapSize = 14 + 56 + RestOfFile.length;
 
-ByteArrayOutputStream baos = new ByteArrayOutputStream(14 + 
iconData.length);
+ByteArrayOutputStream baos = new ByteArrayOutputStream(bitmapSize);
 BinaryOutputStream bos = new BinaryOutputStream(baos,
 BinaryOutputStream.BYTE_ORDER_LITTLE_ENDIAN);
 
@@ -365,7 +387,7 @@ public class IcoImageParser extends Imag
 bos.write4Bytes(0);
 bos.write4Bytes(bitmapPixelsOffset);
 
-bos.write4Bytes(Size);
+bos.write4Bytes(56);
 bos.write4Bytes(Width);
 bos.write4Bytes(Height / 2);
 bos.write2Bytes(Planes);
@@ -376,7 +398,11 @@ public class IcoImageParser extends Imag
 bos.write4Bytes(YPelsPerMeter);
 bos.write4Bytes(ColorsUsed);
 bos.write4Bytes(ColorsImportant);
-bos.write(iconData, 40, iconData.length - 40);
+bos.write4Bytes(RedMask);
+bos.write4Bytes(GreenMask);
+bos.write4Bytes(BlueMask);
+bos.write4Bytes(AlphaMask);
+bos.write(RestOfFile);
 bos.flush();
 
 ByteArrayInputStream bmpInputStream = new 
ByteArrayInputStream(baos.toByteArray());
@@ -402,41 +428,44 @@ public class IcoImageParser extends Imag
 throw ioEx;
 }
 
-// FIXME: get BmpImageParser to support alpha, then uncomment below
-//boolean allAlphasZero = true;
-//if (BitCount == 32)
-//{
-//for (int y = 0; allAlphasZero  y  bmpImage.getHeight(); y++)
-//{
-//for (int x = 0; x  bmpImage.getWidth(); x++)
-//{
-//if ((bmpImage.getRGB(x, y)  0xff00) != 0)
-//{
-//allAlphasZero = false;
-//break;
-//}
-//}
-//}
-//}
-BufferedImage resultImage = new BufferedImage(bmpImage.getWidth(), 
bmpImage.getHeight(),
-BufferedImage.TYPE_INT_ARGB);
-for (int y = 0; y  resultImage.getHeight(); y

svn commit: r1139045 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/sanselan/formats/png/PngImageParser.java test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java

2011-06-23 Thread damjan
Author: damjan
Date: Thu Jun 23 19:34:58 2011
New Revision: 1139045

URL: http://svn.apache.org/viewvc?rev=1139045view=rev
Log:
Transparency detection on PNG patch from Clement Escoffier,
and my test for it.

Jira issue key: SANSELAN-52


Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java

commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java?rev=1139045r1=1139044r2=1139045view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java
 Thu Jun 23 19:34:58 2011
@@ -547,8 +547,11 @@ public class PngImageParser extends Imag
 {
 isTransparent = true;
 pngChunktRNS = (PNGChunk) IHDRs.get(0);
-} else
-hasAlphaChannel(pngChunkIHDR.colorType);
+} else {
+// CE - Fix Alpha.
+isTransparent = hasAlphaChannel(pngChunkIHDR.colorType);
+// END FIX
+}
 
 PNGChunkpHYs pngChunkpHYs = null;
 

Modified: 
commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java?rev=1139045r1=1139044r2=1139045view=diff
==
--- 
commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java
 Thu Jun 23 19:34:58 2011
@@ -98,6 +98,16 @@ public class PngWriteReadTest extends Sa
 }
 }
 
+public void testTransparency() throws IOException, ImageReadException, 
ImageWriteException
+{
+// Test for https://issues.apache.org/jira/browse/SANSELAN-52
+int[][] smallAscendingPixels = getAscendingRawData(256, 256);
+byte[] pngBytes = Sanselan.writeImageToBytes(
+imageDataToBufferedImage(smallAscendingPixels),
+ImageFormat.IMAGE_FORMAT_PNG, null);
+assertTrue(Sanselan.getImageInfo(pngBytes).isTransparent());
+}
+
 private BufferedImage imageDataToBufferedImage(int[][] rawData)
 {
 int width = rawData[0].length;




svn commit: r1147386 - in /commons/proper/sanselan/trunk/src: main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java test/data/images/jpg/4/ test/data/images/jpg/4/0x00-to-0xFF-between-segments.jpg

2011-07-16 Thread damjan
Author: damjan
Date: Sat Jul 16 09:11:03 2011
New Revision: 1147386

URL: http://svn.apache.org/viewvc?rev=1147386view=rev
Log:
Make JPEG parsing a lot more resilient:
skip all bytes between the end of a segment
and the next 0xFF followed by non-0xFF.
Add a thorough test for this.

Fixes one of the problems with SANSELAN-13.

JIRA-Key: SANSELAN-13


Added:
commons/proper/sanselan/trunk/src/test/data/images/jpg/4/

commons/proper/sanselan/trunk/src/test/data/images/jpg/4/0x00-to-0xFF-between-segments.jpg
   (with props)
commons/proper/sanselan/trunk/src/test/data/images/jpg/4/info.txt
Modified:

commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java?rev=1147386r1=1147385r2=1147386view=diff
==
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java
 Sat Jul 16 09:11:03 2011
@@ -65,10 +65,12 @@ public class JpegUtils extends BinaryFil
 
 for (int markerCount = 0; true; markerCount++)
 {
-byte markerBytes[] = readByteArray(markerBytes, 2, is,
-markerBytes);
-int marker = convertByteArrayToShort(marker, markerBytes,
-byteOrder);
+byte[] markerBytes = new byte[2];
+do {
+markerBytes[0] = markerBytes[1];
+markerBytes[1] = readByte(marker, is, Could not read 
marker);
+} while ((0xff  markerBytes[0]) != 0xff || (0xff  
markerBytes[1]) == 0xff);
+int marker = ((0xff  markerBytes[0])  8) | (0xff  
markerBytes[1]);
 
 //Debug.debug(marker, marker +  (0x + 
Integer.toHexString(marker) + ));
 //Debug.debug(markerBytes, markerBytes);

Added: 
commons/proper/sanselan/trunk/src/test/data/images/jpg/4/0x00-to-0xFF-between-segments.jpg
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/data/images/jpg/4/0x00-to-0xFF-between-segments.jpg?rev=1147386view=auto
==
Binary file - no diff available.

Propchange: 
commons/proper/sanselan/trunk/src/test/data/images/jpg/4/0x00-to-0xFF-between-segments.jpg
--
svn:mime-type = application/octet-stream

Added: commons/proper/sanselan/trunk/src/test/data/images/jpg/4/info.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/data/images/jpg/4/info.txt?rev=1147386view=auto
==
--- commons/proper/sanselan/trunk/src/test/data/images/jpg/4/info.txt (added)
+++ commons/proper/sanselan/trunk/src/test/data/images/jpg/4/info.txt Sat Jul 
16 09:11:03 2011
@@ -0,0 +1,7 @@
+Image contributed by Damjan Jovanovic.
+
+This is a badly corrupted JPEG: 0x00 0x01 ... 0xFF
+is written between each segment. A resilient JPEG
+parser must skip this data, and scan forward
+looking for 0xFF followed by a non-0xFF byte
+which marks the next segment.




svn commit: r1354188 [2/2] - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: ./ common/ formats/tiff/

2012-06-26 Thread damjan
Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java?rev=1354188r1=1354187r2=1354188view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 Tue Jun 26 19:32:21 2012
@@ -40,52 +40,80 @@ import org.apache.commons.imaging.icc.Ic
 import org.apache.commons.imaging.util.Debug;
 
 /**
- * The primary interface to the Imaging library.
- * p
- * Almost all of the Imaging library's core functionality can be accessed
- * through it's methods.
- * p
- * All of Imaging's methods are static.
+ * The primary application programming interface (API) to the Imaging library.
  * p
+
+ * h3Application Notes/h3
+ * h4Using this class/h4
+ * Almost all of the Apache Commons Imaging library's core functionality can 
+ * be accessed through the methods provided by this class.
+ * The use of the Imaging class is similar to the Java API's ImageIO class,
+ * though Imaging supports formats and options not included in the standard 
+ * Java API. 
+ * pAll of methods provided by the Imaging class are declared static.
+ * pThe Apache Commons Imaging package is a pure Java implementation.
+ * h4Format support/h4
+ * While the Apache Commons Imaging package handles a number of different 
+ * graphics formats, support for some formats is not yet complete.
+ * For the most recent information on support for specific formats, refer to
+ * a href=http://commons.apache.org/imaging/formatsupport.html;Format 
Support/a
+ * at the main project development web site.
+ * h4Optional parameters for image reading and writing/h4
+ * Some of the methods provided by this class accept an optional 
+ * strongparams/strong argument that permits the application to specify
+ * elements for special handling.  If these specifications are not required by
+ * the application, the params argument may be omitted (as appropriate) or
+ * a null argument may be provided. In image-writing operations, the option 
+ * parameters may include options such as data-compression type (if any), 
+ * color model, or other format-specific data representations.   The 
parameters 
+ * map may also be used to provide EXIF Tags and other metadata to those
+ * formats that support them. In image-reading operations,
+ * the parameters may include information about special handling in reading
+ * the image data.
+ * pOptional parameters are specified using a Map object (typically, 
+ * a Java HashMap) to specify a set of keys and values for input.  
+ * The specification for support keys is provided by the ImagingConstants 
+ * interface as well as by format-specific interfaces such as 
+ * JpegContants or TiffConstants.
+ * h4Example code/h4
  * See the source of the SampleUsage class and other classes in the
  * org.apache.commons.imaging.examples package for examples.
  * 
  * @see a
  *  
href=https://svn.apache.org/repos/asf/commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java;org.apache.commons.imaging.examples.SampleUsage/a
+ * @see a href=http://commons.apache.org/imaging/formatsupport.html;Format 
Support/a
  */
 public abstract class Imaging implements ImagingConstants {
 
 /**
- * Tries to guess whether a file contains an image based on its file
- * extension.
- * p
- * Returns true if the file has a file extension associated with a file
- * format, such as .jpg or .gif.
- * p
- * 
- * @param file
- *File which may contain an image.
- * @return true if the file has an image format file extension.
+ * Attempts to determine if a file contains an image recorded in 
+ * a supported graphics format based on its file-name extension 
+ * (for example #46jpg, #46;gif, #46;png, etc#46;). 
+ * 
+ * @param file A valid File object providing a reference to 
+ * a file that may contain an image.
+ * @return true if the file-name includes a supported image 
+ * format file extension; otherwise, false.
  */
 public static boolean hasImageFileExtension(File file) {
-if (!file.isFile())
+if (file==null || !file.isFile())
 return false;
 return hasImageFileExtension(file.getName());
 }
 
 /**
- * Tries to guess whether a filename represents an image based on its file
- * extension.
- * p
- * Returns true if the filename has a file extension associated with a file
- * format, such as .jpg or .gif.
- * p
+ * Attempts to determine if a file contains an image recorded in 
+ * a supported graphics format based on its file-name extension 
+ * (for example #46jpg, #46;gif, #46;png, etc#46;). 
  * 
-

svn commit: r1354188 [1/2] - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging: ./ common/ formats/tiff/

2012-06-26 Thread damjan
Author: damjan
Date: Tue Jun 26 19:32:21 2012
New Revision: 1354188

URL: http://svn.apache.org/viewvc?rev=1354188view=rev
Log:
Add more Javadoc to main package.

Submitted by: Gary Lucas gwlucas at sonalysts dot com
Jira issue key: IMAGING-81


Added:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/common/package.html
   (with props)

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/package.html
   (with props)

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/package.html
   (with props)
Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ColorTools.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageDump.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageFormat.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageParser.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageReadException.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageWriteException.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingConstants.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImagingException.java

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/PixelDensity.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ColorTools.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ColorTools.java?rev=1354188r1=1354187r2=1354188view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ColorTools.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ColorTools.java
 Tue Jun 26 19:32:21 2012
@@ -31,7 +31,12 @@ import java.io.File;
 import java.io.IOException;
 
 /**
- * This class is a mess and needs to be cleaned up.
+ * A selection of tools for evaluating and manipulating color
+ * spaces, color values, etc.
+ * pThe Javadoc provided in the original code gave the 
+ * following notation:brbr
+ *
+ * nbsp;nbsp;nbsp; This class is a mess and needs to be cleaned up.
  */
 public class ColorTools {
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java?rev=1354188r1=1354187r2=1354188view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/FormatCompliance.java
 Tue Jun 26 19:32:21 2012
@@ -23,6 +23,10 @@ import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * Provides information about the compliance of a specified data 
+ * source (byte array, file, etc#46;) to an image format.
+ */
 public class FormatCompliance {
 private final boolean failOnError;
 private final String description;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageDump.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageDump.java?rev=1354188r1=1354187r2=1354188view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageDump.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageDump.java
 Tue Jun 26 19:32:21 2012
@@ -24,6 +24,10 @@ import java.awt.image.BufferedImage;
 import org.apache.commons.imaging.icc.IccProfileInfo;
 import org.apache.commons.imaging.icc.IccProfileParser;
 
+/**
+ * Used to store metadata and descriptive information extracted from
+ * image files.
+ */
 public class ImageDump {
 private String colorSpaceTypeToName(ColorSpace cs) {
 // System.out.println(prefix + :  + type: 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageFormat.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageFormat.java?rev=1354188r1=1354187r2=1354188view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/ImageFormat.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org

svn commit: r1354191 - /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java

2012-06-26 Thread damjan
Author: damjan
Date: Tue Jun 26 19:40:55 2012
New Revision: 1354191

URL: http://svn.apache.org/viewvc?rev=1354191view=rev
Log:
Fix some Javadoc errors.


Modified:

commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java?rev=1354191r1=1354190r2=1354191view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/Imaging.java
 Tue Jun 26 19:40:55 2012
@@ -811,7 +811,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Determines the width and height of an image.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param is
@@ -826,7 +826,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Determines the width and height of an image.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param is
@@ -843,7 +843,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Determines the width and height of an image.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param bytes
@@ -856,7 +856,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Determines the width and height of an image.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param bytes
@@ -871,7 +871,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Extracts embedded XML metadata as XML string.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param file
@@ -884,7 +884,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Extracts embedded XML metadata as XML string.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param file
@@ -899,7 +899,7 @@ public abstract class Imaging implements
 }
 
 /**
- * Extracts embedded XML metadata as XML string.
+ * Extracts the embedded XML metadata as an XML string.
  * p
  * 
  * @param byteSource
@@ -1295,8 +1295,6 @@ public abstract class Imaging implements
  * while reading an image (i.e. a format violation, etc.).
  * @throws IOException  in the event of an unrecoverable I/O exception.
  */ 
-
-
 public static BufferedImage getBufferedImage(byte bytes[], Map params)
 throws ImageReadException, IOException {
 return getBufferedImage(new ByteSourceArray(bytes), params);
@@ -1361,31 +1359,6 @@ public abstract class Imaging implements
 return imageParser.getBufferedImage(byteSource, params);
 }
 
-/**
- * Writes a BufferedImage to a file.
- * p
- * (TODO: elaborate here.)
- * p
- * Sanselan can only read image info, metadata and ICC profiles from all
- * image formats. However, note that the library cannot currently read or
- * write JPEG image data. PSD (Photoshop) files can only be partially read
- * and cannot be written. All other formats (PNG, GIF, TIFF, BMP, etc.) are
- * fully supported.
- * p
- * 
- * @param src
- *The BufferedImage to be written.
- * @param file
- *File to write to.
- * @param format
- *The ImageFormat to use.
- * @param params
- *Map of optional parameters, defined in ImagingConstants.
- * @see ImagingConstants
- */
-
-
-
  /**
  * Writes the content of a BufferedImage to a file using the specified 
  * image format.  Specifications for storing the file (such as data 
compression,




svn commit: r1355634 - /commons/proper/imaging/trunk/pom.xml

2012-06-29 Thread damjan
Author: damjan
Date: Sat Jun 30 04:56:59 2012
New Revision: 1355634

URL: http://svn.apache.org/viewvc?rev=1355634view=rev
Log:
Fix some formatting in the POM.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1355634r1=1355633r2=1355634view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Sat Jun 30 04:56:59 2012
@@ -129,57 +129,49 @@
 
 pluginManagement
plugins
-   !--This plugin's configuration is used to store Eclipse m2e 
settings only. It has no influence on the Maven build itself.--
-   plugin
-   groupIdorg.eclipse.m2e/groupId
-   artifactIdlifecycle-mapping/artifactId
-   version1.0.0/version
-   configuration
-   lifecycleMappingMetadata
-   pluginExecutions
-   pluginExecution
-   pluginExecutionFilter
-   groupId
-   
org.apache.maven.plugins
-   /groupId
-   artifactId
-   
maven-antrun-plugin
-   /artifactId
-   
versionRange[1.6,)/versionRange
-   goals
-   
goalrun/goal
-   /goals
-   /pluginExecutionFilter
-   action
-   execute
-
runOnIncrementalfalse/runOnIncremental
-/execute
-   /action
-   /pluginExecution
-   pluginExecution
-   pluginExecutionFilter
-   
groupIdorg.apache.felix/groupId
-   artifactId
-   
maven-bundle-plugin
-   /artifactId
-   versionRange
-   [2.3.5,)
-   /versionRange
-   goals
-   
goalmanifest/goal
-   /goals
-   /pluginExecutionFilter
-   action
-   execute
-   
runOnIncrementalfalse/runOnIncremental
-   /execute
-   /action
-   /pluginExecution
-   /pluginExecutions
-   /lifecycleMappingMetadata
-   /configuration
-   /plugin
-   /plugins
+!-- This plugin's configuration is used to store Eclipse m2e settings 
only. It has no influence on the Maven build itself.--
+plugin
+  groupIdorg.eclipse.m2e/groupId
+  artifactIdlifecycle-mapping/artifactId
+  version1.0.0/version
+  configuration
+lifecycleMappingMetadata
+  pluginExecutions
+pluginExecution
+  pluginExecutionFilter
+groupIdorg.apache.maven.plugins/groupId
+artifactIdmaven-antrun-plugin/artifactId
+versionRange[1.6,)/versionRange
+goals
+  goalrun/goal
+/goals
+  /pluginExecutionFilter
+  action

svn commit: r1355640 - in /commons/proper/imaging/trunk: RELEASE-NOTES.txt RELEASE_NOTES pom.xml

2012-06-29 Thread damjan
Author: damjan
Date: Sat Jun 30 05:55:46 2012
New Revision: 1355640

URL: http://svn.apache.org/viewvc?rev=1355640view=rev
Log:
Rename RELEASE_NOTES to the more common RELEASE-NOTES.txt form.
Use a specific maven-assembly-plugin version which allows
mvn -Prc install to work.


Added:
commons/proper/imaging/trunk/RELEASE-NOTES.txt
  - copied unchanged from r1355634, 
commons/proper/imaging/trunk/RELEASE_NOTES
Removed:
commons/proper/imaging/trunk/RELEASE_NOTES
Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1355640r1=1355639r2=1355640view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Sat Jun 30 05:55:46 2012
@@ -128,7 +128,12 @@
 /plugins
 
 pluginManagement
-   plugins
+  plugins
+!-- Temporary workaround for MASSEMBLY-553 until commons-parent 26 is 
released--
+plugin
+  artifactIdmaven-assembly-plugin/artifactId
+  version2.2-beta-5/version
+/plugin
 !-- This plugin's configuration is used to store Eclipse m2e settings 
only. It has no influence on the Maven build itself.--
 plugin
   groupIdorg.eclipse.m2e/groupId




svn commit: r1356829 - /commons/proper/imaging/trunk/pom.xml

2012-07-03 Thread damjan
Author: damjan
Date: Tue Jul  3 16:54:39 2012
New Revision: 1356829

URL: http://svn.apache.org/viewvc?rev=1356829view=rev
Log:
Remove redundant settings which are in the parent POM.


Modified:
commons/proper/imaging/trunk/pom.xml

Modified: commons/proper/imaging/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/pom.xml?rev=1356829r1=1356828r2=1356829view=diff
==
--- commons/proper/imaging/trunk/pom.xml (original)
+++ commons/proper/imaging/trunk/pom.xml Tue Jul  3 16:54:39 2012
@@ -217,8 +217,6 @@
 version${commons.changes.version}/version
 configuration
   issueLinkTemplate%URL%/%ISSUE%/issueLinkTemplate
-  templaterelease-notes.vm/template
-  templateDirectorysrc/changes/templateDirectory
 /configuration
 reportSets
   reportSet




svn commit: r1357065 [2/2] - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff: ./ constants/

2012-07-03 Thread damjan
Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java?rev=1357065r1=1357064r2=1357065view=diff
==
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
 Wed Jul  4 04:21:03 2012
@@ -37,7 +37,7 @@ public interface MicrosoftHdPhotoTagCons
  * Data4 (char[8]) is endian-independent.
  */
 public static final TagInfoByte EXIF_TAG_PIXEL_FORMAT = new TagInfoByte(
-Pixel Format, 0xbc01, 16,
+PixelFormat, 0xbc01, 16,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final BinaryConstant PIXEL_FORMAT_VALUE_BLACK_AND_WHITE =
 TagConstantsUtils.createMicrosoftHdPhotoGuidEndingWith((byte)0x05);
@@ -168,45 +168,46 @@ public interface MicrosoftHdPhotoTagCons
 public static final int UNCOMPRESSED_VALUE_NO = 0;
 public static final int UNCOMPRESSED_VALUE_YES = 1;
 
-public static final TagInfoLong EXIF_TAG_IMAGE_TYPE = new 
TagInfoLong(Image Type,
-0xbc04, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+public static final TagInfoLong EXIF_TAG_IMAGE_TYPE = new TagInfoLong(
+ImageType, 0xbc04, 1,
+TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoLong EXIF_TAG_IMAGE_WIDTH = new TagInfoLong(
-Image Width, 0xbc80, 1,
+ImageWidth, 0xbc80, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoLong EXIF_TAG_IMAGE_HEIGHT = new TagInfoLong(
-Image Height, 0xbc81, 1,
+ImageHeight, 0xbc81, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoFloat EXIF_TAG_WIDTH_RESOLUTION = new 
TagInfoFloat(
-Width Resolution, 0xbc82, 1,
+WidthResolution, 0xbc82, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoFloat EXIF_TAG_HEIGHT_RESOLUTION = new 
TagInfoFloat(
-Height Resolution, 0xbc83, 1,
+HeightResolution, 0xbc83, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 // FIXME: might be an offset?
 public static final TagInfoLong EXIF_TAG_IMAGE_OFFSET = new TagInfoLong(
-Image Offset, 0xbcc0, 1,
+ImageOffset, 0xbcc0, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoLong EXIF_TAG_IMAGE_BYTE_COUNT = new 
TagInfoLong(
-Image Byte Count, 0xbcc1, 1,
+ImageByteCount, 0xbcc1, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 // FIXME: might be an offset?
 public static final TagInfoLong EXIF_TAG_ALPHA_OFFSET = new TagInfoLong(
-Alpha Offset, 0xbcc2, 1,
+AlphaOffset, 0xbcc2, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoLong EXIF_TAG_ALPHA_BYTE_COUNT = new 
TagInfoLong(
-Alpha Byte Count, 0xbcc3, 1,
+AlphaByteCount, 0xbcc3, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
 public static final TagInfoByte EXIF_TAG_IMAGE_DATA_DISCARD = new 
TagInfoByte(
-Image Data Discard, 0xbcc4, 1,
+ImageDataDiscard, 0xbcc4, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final int IMAGE_DATA_DISCARD_VALUE_FULL_RESOLUTION = 0;
 public static final int IMAGE_DATA_DISCARD_VALUE_FLEXBITS_DISCARDED = 1;
@@ -214,7 +215,7 @@ public interface MicrosoftHdPhotoTagCons
 public static final int 
IMAGE_DATA_DISCARD_VALUE_HIGHPASS_AND_LOW_PASS_FREQUENCY_DATA_DISCARDED = 3;
 
 public static final TagInfoByte EXIF_TAG_ALPHA_DATA_DISCARD = new 
TagInfoByte(
-Alpha Data Discard, 0xbcc5, 1,
+AlphaDataDiscard, 0xbcc5, 1,
 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 public static final int ALPHA_DATA_DISCARD_VALUE_FULL_RESOLUTION = 0;
 public static final int ALPHA_DATA_DISCARD_VALUE_FLEXBITS_DISCARDED = 1;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java?rev=1357065r1=1357064r2=1357065view=diff
==
--- 

  1   2   3   4   >