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

URL: http://svn.apache.org/viewvc?rev=1294794&view=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=1294794&r1=1294793&r2=1294794&view=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=1294794&r1=1294793&r2=1294794&view=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
 
         baos.write(new ZLibUtils().deflate(text.text.getBytes("utf-8")));
 
-        writeChunk(os, iTXt_CHUNK_TYPE, baos.toByteArray());
+        writeChunk(os, iTXt_CHUNK_TYPE.toByteArray(), baos.toByteArray());
     }
 
     private void writeChunkzTXt(OutputStream os, PngText.zTXt text)
@@ -204,7 +204,7 @@ public class PngWriter implements PngCon
                 .write(new ZLibUtils().deflate(text.text
                         .getBytes("ISO-8859-1")));
 
-        writeChunk(os, zTXt_CHUNK_TYPE, baos.toByteArray());
+        writeChunk(os, zTXt_CHUNK_TYPE.toByteArray(), baos.toByteArray());
     }
 
     private void writeChunktEXt(OutputStream os, PngText.tEXt text)
@@ -226,7 +226,7 @@ public class PngWriter implements PngCon
         // text
         baos.write(text.text.getBytes("ISO-8859-1"));
 
-        writeChunk(os, tEXt_CHUNK_TYPE, baos.toByteArray());
+        writeChunk(os, tEXt_CHUNK_TYPE.toByteArray(), baos.toByteArray());
     }
 
     private void writeChunkXmpiTXt(OutputStream os, String xmpXml)
@@ -250,7 +250,7 @@ public class PngWriter implements PngCon
 
         baos.write(new ZLibUtils().deflate(xmpXml.getBytes("utf-8")));
 
-        writeChunk(os, iTXt_CHUNK_TYPE, baos.toByteArray());
+        writeChunk(os, iTXt_CHUNK_TYPE.toByteArray(), baos.toByteArray());
     }
 
     private void writeChunkPLTE(OutputStream os, Palette palette)
@@ -270,18 +270,18 @@ public class PngWriter implements PngCon
             bytes[index + 2] = (byte) (0xff & (rgb >> 0));
         }
 
-        writeChunk(os, PLTE_CHUNK_TYPE, bytes);
+        writeChunk(os, PLTE_CHUNK_TYPE.toByteArray(), bytes);
     }
 
     private void writeChunkIEND(OutputStream os) throws IOException
     {
-        writeChunk(os, IEND_CHUNK_TYPE, null);
+        writeChunk(os, IEND_CHUNK_TYPE.toByteArray(), null);
     }
 
     private void writeChunkIDAT(OutputStream os, byte bytes[])
             throws IOException
     {
-        writeChunk(os, IDAT_CHUNK_TYPE, bytes);
+        writeChunk(os, IDAT_CHUNK_TYPE.toByteArray(), bytes);
     }
 
     private byte getColourType(boolean hasAlpha, boolean isGrayscale)
@@ -440,7 +440,7 @@ public class PngWriter implements PngCon
             Debug.debug("sample_depth", sampleDepth);
 
         {
-            os.write(PNG_Signature);
+            PNG_Signature.writeTo(os);
         }
         {
             // IHDR must be first

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdConstants.java?rev=1294794&r1=1294793&r2=1294794&view=diff
==============================================================================
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdConstants.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/psd/PsdConstants.java
 Tue Feb 28 19:16:15 2012
@@ -20,7 +20,7 @@ import org.apache.commons.sanselan.util.
 
 public class PsdConstants
 {
-    public static final ImageResourceType fImageResourceTypes[];
+    static final ImageResourceType fImageResourceTypes[];
 
     public String getDescription(int id)
     {


Reply via email to