Don't use Java 6 features like Arrays.copyOfRange().
Use the animal-sniffer-maven-plugin to verify this during the test phase.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1295763 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 800e50e..82c982d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,6 +95,27 @@
<argLine>-Xmx512m</argLine>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-maven-plugin</artifactId>
+ <version>1.7</version>
+ <configuration>
+ <signature>
+ <groupId>org.codehaus.mojo.signature</groupId>
+ <artifactId>java15</artifactId>
+ <version>1.0</version>
+ </signature>
+ </configuration>
+ <executions>
+ <execution>
+ <id>check-java-api</id>
+ <phase>test</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java b/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
index 4790d0c..0a8d3ff 100644
--- a/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryConstant.java
@@ -48,6 +48,18 @@
return Arrays.equals(value, bytes);
}
+ public boolean equals(byte[] bytes, int offset, int length) {
+ if (value.length != length) {
+ return false;
+ }
+ for (int i = 0; i < length; i++) {
+ if (value[i] != bytes[offset + i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+
@Override
public int hashCode() {
return Arrays.hashCode(value);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
index ab84dd2..148fa8f 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcParser.java
@@ -53,7 +53,7 @@
if (index + CONST_8BIM.size() > segmentData.length)
return false;
- if (!CONST_8BIM.equals(Arrays.copyOfRange(segmentData, index, index + CONST_8BIM.size())))
+ if (!CONST_8BIM.equals(segmentData, index, CONST_8BIM.size()))
return false;
return true;