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



git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1325114 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
index c95556b..9611e30 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
@@ -455,8 +455,8 @@
     {
         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)
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
index 633455f..6518007 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
@@ -57,6 +57,9 @@
     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 @@
             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,