FELIX-3527 Check against Java 1.4 API; fix some Java 5 API uses;
  add exception for ReentrantLock use in AbstractComponentManager$Jlock

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1344723 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/pom.xml b/scr/pom.xml
index 899990d..4d60a9d 100644
--- a/scr/pom.xml
+++ b/scr/pom.xml
@@ -311,6 +311,36 @@
             </plugin>
 
             <!--
+                Ensure not using too recent Java API
+                - for now touch base on Java 1.4
+                - Ignore some known Java 5 classes (used in JLock)
+            -->
+            <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>java14</artifactId>
+                        <version>1.0</version>
+                    </signature>
+                    <ignores>
+                        <ignore>java.util.concurrent.locks.ReentrantLock</ignore>
+                        <ignore>java.util.concurrent.TimeUnit</ignore>
+                    </ignores>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!--
                 Configure default compilation for Java 1.3 and integration
                 test compilation for Java 5 (since integration tests use
                 Java Annotations for Pax Exam).
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index defe3d7..2724a4d 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -160,7 +160,7 @@
         catch ( InterruptedException e )
         {
             //TODO this is so wrong
-            throw new IllegalStateException( e );
+            throw new IllegalStateException( "Could not obtain lock (Reason: " + e + ")" );
         }
     }
 
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/metadata/PropertyMetadata.java b/scr/src/main/java/org/apache/felix/scr/impl/metadata/PropertyMetadata.java
index bf4c5b4..69a95b9 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/metadata/PropertyMetadata.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/metadata/PropertyMetadata.java
@@ -324,7 +324,7 @@
             boolean[] array = new boolean[valueList.length];
             for ( int i = 0; i < array.length; i++ )
             {
-                array[i] = Boolean.parseBoolean( valueList[i] );
+                array[i] = Boolean.valueOf( valueList[i] ).booleanValue();
             }
             return array;
         }