Author: tjwatson
Date: Fri May  5 21:17:42 2017
New Revision: 1794106

URL: http://svn.apache.org/viewvc?rev=1794106&view=rev
Log:
Merge ^/aries/trunk/proxy r1728111 through r1794104 into java6support branch.

Added:
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/SystemModuleClassLoader.java
      - copied unchanged from r1794104, 
aries/trunk/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/SystemModuleClassLoader.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/BasicProxyTest.java
      - copied unchanged from r1794104, 
aries/trunk/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/BasicProxyTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/WeavingProxyTest.java
      - copied unchanged from r1794104, 
aries/trunk/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/WeavingProxyTest.java
Removed:
    
aries/branches/java6support/proxy/proxy-api/src/main/resources/org/apache/aries/proxy/nls/ProxyMessages.properties
    aries/branches/java6support/proxy/proxy-bundle/LICENSE
    aries/branches/java6support/proxy/proxy-bundle/NOTICE
    aries/branches/java6support/proxy/proxy-bundle/pom.xml
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/NLS.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/resources/org/apache/aries/proxy/nls/ProxyImplMessages.properties
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/util/AriesFrameworkUtil.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/util/ClassLoaderProxy.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractBasicProxyTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractWeavingProxyTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/BasicProxyBundlesTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/BasicProxyUberBundleTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/WeavingProxyBundlesTest.java
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/WeavingProxyUberBundleTest.java
Modified:
    aries/branches/java6support/proxy/   (props changed)
    aries/branches/java6support/proxy/pom.xml
    aries/branches/java6support/proxy/proxy-api/pom.xml
    
aries/branches/java6support/proxy/proxy-api/src/main/java/org/apache/aries/proxy/FinalModifierException.java
    aries/branches/java6support/proxy/proxy-impl/pom.xml
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AbstractProxyManager.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/JdkProxyManager.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyManagerActivator.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassWriter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassGenerator.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/ProxyClassLoader.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/ProxyWeavingHook.java
    
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxySubclassGeneratorTest.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassInnerClasses.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializable.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableChild.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableInterface.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuper.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuperWithNoDefaultOrProtectedAccess.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyPlusSubclassGeneratorTest.java
    
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenSubclassGeneratorTest.java
    aries/branches/java6support/proxy/proxy-itests/pom.xml
    
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractProxyTest.java

Propchange: aries/branches/java6support/proxy/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri May  5 21:17:42 2017
@@ -0,0 +1,2 @@
+/aries/branches/1.0-prototype/proxy:1306564-1337594
+/aries/trunk/proxy:1728111-1794104

Modified: aries/branches/java6support/proxy/pom.xml
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/pom.xml?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- aries/branches/java6support/proxy/pom.xml (original)
+++ aries/branches/java6support/proxy/pom.xml Fri May  5 21:17:42 2017
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.aries.proxy</groupId>
     <artifactId>proxy</artifactId>
-    <name>Apache Aries Class Proxy</name>
+    <name>Apache Aries Proxy Parent</name>
     <packaging>pom</packaging>
     <version>1.0.1-SNAPSHOT</version>
     <description>
@@ -40,7 +40,6 @@
     <modules>
         <module>proxy-api</module>
         <module>proxy-impl</module>
-        <module>proxy-bundle</module>
         <module>proxy-itests</module>
     </modules>
 

Modified: aries/branches/java6support/proxy/proxy-api/pom.xml
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-api/pom.xml?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- aries/branches/java6support/proxy/proxy-api/pom.xml (original)
+++ aries/branches/java6support/proxy/proxy-api/pom.xml Fri May  5 21:17:42 2017
@@ -32,7 +32,7 @@
     <artifactId>org.apache.aries.proxy.api</artifactId>
     <packaging>bundle</packaging>
     <name>Apache Aries Proxy API</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.1.1-SNAPSHOT</version>
     <description>
         This bundle contains the Apache Aries Proxy service API.
     </description>
@@ -48,17 +48,12 @@
         <aries.osgi.export.pkg>
             org.apache.aries.proxy*
         </aries.osgi.export.pkg>
-        <!--
-          We override the import versions for org.osgi.framework because we 
can operate on
-          a 4.2 framework (we only need 4.3 for weaving which is optional).
-        -->
-        <aries.osgi.import.pkg>
-            org.osgi.framework;version="[1.5,2)",
-            org.osgi.framework.hooks.weaving;resolution:=optional,
-            *
-        </aries.osgi.import.pkg>
         <aries.osgi.private.pkg />
-        <lastReleaseVersion>1.0.0</lastReleaseVersion>
+        <lastReleaseVersion>1.0.1</lastReleaseVersion>
+        
+        <!-- Skip version check for release 1.1.0 as the plugin does not 
handle the case
+             of removing a dpendency correctly -->
+        <aries.skip.version.check>true</aries.skip.version.check>
     </properties>
 
     <dependencies>
@@ -67,11 +62,6 @@
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.aries</groupId>
-            <artifactId>org.apache.aries.util</artifactId>
-            <version>1.0.0</version>
-        </dependency>
     </dependencies>
     
     <build>

Modified: 
aries/branches/java6support/proxy/proxy-api/src/main/java/org/apache/aries/proxy/FinalModifierException.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-api/src/main/java/org/apache/aries/proxy/FinalModifierException.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-api/src/main/java/org/apache/aries/proxy/FinalModifierException.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-api/src/main/java/org/apache/aries/proxy/FinalModifierException.java
 Fri May  5 21:17:42 2017
@@ -18,8 +18,6 @@
  */
 package org.apache.aries.proxy;
 
-import org.apache.aries.util.nls.MessageUtil;
-
 
 public class FinalModifierException extends UnableToProxyException
 {
@@ -28,7 +26,6 @@ public class FinalModifierException exte
    * 
    */
   private static final long serialVersionUID = -3139392096074404448L;
-  private static final MessageUtil MESSAGES = 
MessageUtil.createMessageUtil(FinalModifierException.class, 
"org.apache.aries.proxy.nls.ProxyMessages");
   private String finalMethods = null;
 
   public FinalModifierException(Class<?> clazz)
@@ -55,9 +52,9 @@ public class FinalModifierException exte
   public String getMessage()
   {
     if (isFinalClass()) {
-      return MESSAGES.getMessage("final.class", getClassName());
+      return String.format("The class %s is final.", getClassName());
     } else {
-      return MESSAGES.getMessage("final.methods", finalMethods, 
getClassName());
+      return String.format("The methods %s in class %s are final.", 
finalMethods, getClassName());
     }
   }
 }
\ No newline at end of file

Modified: aries/branches/java6support/proxy/proxy-impl/pom.xml
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/pom.xml?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- aries/branches/java6support/proxy/proxy-impl/pom.xml (original)
+++ aries/branches/java6support/proxy/proxy-impl/pom.xml Fri May  5 21:17:42 
2017
@@ -29,10 +29,10 @@
     </parent>
 
     <groupId>org.apache.aries.proxy</groupId>
-    <artifactId>org.apache.aries.proxy.impl</artifactId>
+    <artifactId>org.apache.aries.proxy</artifactId>
     <packaging>bundle</packaging>
     <name>Apache Aries Proxy Service</name>
-    <version>1.0.5-SNAPSHOT</version>
+    <version>1.1.1-SNAPSHOT</version>
     <description>
         This bundle contains the proxy service implementation for Apache Aries
     </description>
@@ -45,41 +45,38 @@
 
     <properties>
         <aries.osgi.export.pkg>
-            org.apache.aries.proxy.weaving;
+            org.apache.aries.proxy;,
+            org.apache.aries.proxy.weaving;,
+            org.apache.aries.proxy.weavinghook;
         </aries.osgi.export.pkg>
         <aries.osgi.activator>
             org.apache.aries.proxy.impl.ProxyManagerActivator
         </aries.osgi.activator>
-        <!-- 
-          We override the import versions for org.osgi.framework because we 
can operate on
-          a 4.2 framework (we only need 4.3 for weaving which is optional). 
-        -->
         <aries.osgi.import.pkg>
             
org.apache.aries.proxy.weavinghook;resolution:=optional;provide:=true,
             org.apache.aries.proxy*;provide:=true,
-            org.objectweb.asm*;resolution:=optional,
+            org.objectweb.asm*;resolution:=optional;version="[5,7)",
             sun.reflect*;resolution:=optional,
-            org.osgi.framework;version="[1.5,2)",
-            org.osgi.framework.hooks.weaving;resolution:=optional,
-            org.osgi.framework.wiring;resolution:=optional,
-            org.slf4j;version="[1.6,2)";resolution:=optional,
             *
         </aries.osgi.import.pkg>
         <aries.osgi.private.pkg>
             org.apache.aries.proxy.impl*
         </aries.osgi.private.pkg>
-        <aries.osgi.export.service>
-            org.apache.aries.proxy.ProxyManager
-        </aries.osgi.export.service>
-        <lastReleaseVersion>1.0.2</lastReleaseVersion>
+        <lastReleaseVersion>1.0.1</lastReleaseVersion>
     </properties>
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.aries.proxy</groupId>
+            <artifactId>org.apache.aries.proxy.api</artifactId>
+            <version>1.1.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.ow2.asm</groupId>
             <artifactId>asm-debug-all</artifactId>
             <optional>true</optional>
-            <version>5.0.3</version>
+            <version>6.0_ALPHA</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -87,17 +84,10 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <scope>provided</scope>
         </dependency>
-
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
@@ -105,20 +95,26 @@
         </dependency>
 
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>1.3.2</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.testsupport</groupId>
-            <artifactId>org.apache.aries.testsupport.unit</artifactId>
-            <version>1.0.0</version>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.proxy</groupId>
-            <artifactId>org.apache.aries.proxy.api</artifactId>
-            <version>1.0.0</version>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>2.5.5</version>
+            <scope>test</scope>
         </dependency>
     </dependencies>
 
@@ -127,7 +123,6 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -152,50 +147,6 @@
                     </execution>
                 </executions>
             </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <requireJavaVersion>
-                                    <version>[1.6,)</version>
-                                </requireJavaVersion>
-                            </rules>
-                        </configuration>
-                    </execution>
-                    <!--
-                    <execution>
-                        <id>check-java15</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <checkSignatureRule 
implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
-                                    
<ignoreDependencies>true</ignoreDependencies>
-                                    <ignores>
-                                        <ignore>sun.reflect.*</ignore>
-                                    </ignores>
-                                    <signature>
-                                        
<groupId>org.codehaus.mojo.signature</groupId>
-                                        <artifactId>java15</artifactId>
-                                        <version>1.0</version>
-                                    </signature>
-                                </checkSignatureRule>
-                            </rules>
-                        </configuration>
-                    </execution>
-                    -->
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
@@ -209,6 +160,24 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <instructions>
+                        <Provide-Capability>
+                            
osgi.service;objectClass:List&lt;String&gt;=org.apache.aries.proxy.ProxyManager
+                        </Provide-Capability>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-javadoc-plugin</artifactId>
+                 <configuration>
+                     <additionalparam>-Xdoclint:none</additionalparam>
+                 </configuration>
+            </plugin>
         </plugins>
     </build>
 

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AbstractProxyManager.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AbstractProxyManager.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AbstractProxyManager.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AbstractProxyManager.java
 Fri May  5 21:17:42 2017
@@ -18,6 +18,8 @@
  */
 package org.apache.aries.proxy.impl;
 
+import static java.lang.String.format;
+
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
@@ -28,8 +30,8 @@ import org.apache.aries.proxy.Invocation
 import org.apache.aries.proxy.ProxyManager;
 import org.apache.aries.proxy.UnableToProxyException;
 import org.apache.aries.proxy.weaving.WovenProxy;
-import org.apache.aries.util.AriesFrameworkUtil;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.wiring.BundleWiring;
 
 public abstract class AbstractProxyManager implements ProxyManager
 {
@@ -60,7 +62,7 @@ public abstract class AbstractProxyManag
       throws UnableToProxyException 
   {
     if(dispatcher == null)
-      throw new NullPointerException(NLS.MESSAGES.getMessage("no.dispatcher"));
+      throw new NullPointerException("You must specify a dipatcher");
     
     if (template instanceof WovenProxy) {
       WovenProxy proxy = ((WovenProxy) template).
@@ -118,7 +120,8 @@ public abstract class AbstractProxyManag
   protected synchronized ClassLoader getClassLoader(final Bundle clientBundle, 
Collection<Class<?>> classes) 
   {
     if (clientBundle != null && clientBundle.getState() == Bundle.UNINSTALLED) 
{
-      throw new 
IllegalStateException(NLS.MESSAGES.getMessage("bundle.uninstalled", 
clientBundle.getSymbolicName(), clientBundle.getVersion(), 
clientBundle.getBundleId()));
+      throw new IllegalStateException(format("The bundle %s at version %s with 
id %d has been uninstalled.", 
+                                             clientBundle.getSymbolicName(), 
clientBundle.getVersion(), clientBundle.getBundleId()));
     }
     
     ClassLoader cl = null;
@@ -126,13 +129,17 @@ public abstract class AbstractProxyManag
     if (classes.size() == 1) cl = classes.iterator().next().getClassLoader();
 
     if (cl == null) {
-      // First of all see if the AriesFrameworkUtil can get the classloader, 
if it can we go with that.
-      cl = AriesFrameworkUtil.getClassLoaderForced(clientBundle);
+        cl = getWiringClassloader(clientBundle);
     }
     
     return cl;
   }
 
+  private ClassLoader getWiringClassloader(final Bundle bundle) {
+    BundleWiring wiring = bundle != null ? bundle.adapt(BundleWiring.class) : 
null;
+    return wiring != null ? wiring.getClassLoader() : null;
+  }
+
   private Object duplicateProxy(Collection<Class<?>> classes, Callable<Object> 
dispatcher, 
       Object template, InvocationListener listener)
   {

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/AsmProxyManager.java
 Fri May  5 21:17:42 2017
@@ -159,6 +159,12 @@ public final class AsmProxyManager exten
            // Ignore
          }
         }
+        try {
+          // use bootClassLoader as last fallback
+          return bootClassLoader.loadClass(name);
+        } catch (ClassNotFoundException e) {
+          // Ignore
+        }
         throw new ClassNotFoundException(name);
     }
 

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/JdkProxyManager.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/JdkProxyManager.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/JdkProxyManager.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/JdkProxyManager.java
 Fri May  5 21:17:42 2017
@@ -40,7 +40,7 @@ public final class JdkProxyManager exten
   {
     for (Class<?> clazz : classes) {
         if (!!!clazz.isInterface()) {
-          throw new UnableToProxyException(clazz, 
NLS.MESSAGES.getMessage("class.is.class", clazz.getName()));
+          throw new UnableToProxyException(clazz, String.format("The class %s 
is not an interface and therefore a proxy cannot be generated.", 
clazz.getName()));
         } 
     }
     return (Class[]) classes.toArray(new Class[classes.size()]);

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyManagerActivator.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyManagerActivator.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyManagerActivator.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyManagerActivator.java
 Fri May  5 21:17:42 2017
@@ -28,6 +28,7 @@ public class ProxyManagerActivator imple
 {
   private static final boolean ASM_PROXY_SUPPORTED;
   private AbstractProxyManager managerService;
+  @SuppressWarnings("rawtypes")
   private ServiceRegistration registration;
   
   static

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyUtils.java
 Fri May  5 21:17:42 2017
@@ -39,6 +39,10 @@ public class ProxyUtils
        //In order to avoid an inconsistent stack error the version of the 
woven byte code needs to match
        //the level of byte codes in the original class
        switch(JAVA_CLASS_VERSION) {
+                       case Opcodes.V1_9:
+                               LOGGER.debug("Weaving to Java 9");
+                               weavingJavaVersion = Opcodes.V1_9;
+                               break;
                case Opcodes.V1_8:
                        LOGGER.debug("Weaving to Java 8");
                        weavingJavaVersion = Opcodes.V1_8;

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java
 Fri May  5 21:17:42 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.aries.proxy.impl.common;
 
+import static java.lang.String.format;
 import static org.apache.aries.proxy.impl.ProxyUtils.JAVA_CLASS_VERSION;
 
 import java.io.IOException;
@@ -36,7 +37,7 @@ import java.util.concurrent.Callable;
 
 import org.apache.aries.proxy.InvocationListener;
 import org.apache.aries.proxy.UnableToProxyException;
-import org.apache.aries.proxy.impl.NLS;
+import org.apache.aries.proxy.impl.SystemModuleClassLoader;
 import org.apache.aries.proxy.impl.gen.Constants;
 import org.apache.aries.proxy.weaving.WovenProxy;
 import org.objectweb.asm.ClassReader;
@@ -279,10 +280,16 @@ public abstract class AbstractWovenProxy
       // should stop weaving and fail. Make sure we don't cause the hook to
       // throw an error though.
       UnableToProxyException u = new UnableToProxyException(name, e);
-      throw new 
RuntimeException(NLS.MESSAGES.getMessage("cannot.load.superclass", 
superName.replace('/', '.'), typeBeingWoven.getClassName()), u);
+      cannotLoadSuperClassException(superName, u);
     }
   }
 
+  private void cannotLoadSuperClassException(String superName, 
UnableToProxyException u) {
+      String msg = format("Unable to load the super type %s for class %s.", 
+                          superName.replace('/', '.'), 
typeBeingWoven.getClassName());
+      throw new RuntimeException(msg, u);
+  }
+
   /**
    * This method allows us to determine whether a superclass has a
    * non-private no-args constructor without causing it to initialize.
@@ -303,7 +310,7 @@ public abstract class AbstractWovenProxy
       new ClassReader(is).accept(cf, ClassReader.SKIP_FRAMES + 
ClassReader.SKIP_DEBUG + ClassReader.SKIP_CODE);
     } catch (IOException ioe) {
       UnableToProxyException u = new UnableToProxyException(name, ioe);
-      throw new 
RuntimeException(NLS.MESSAGES.getMessage("cannot.load.superclass", 
superName.replace('/', '.'), typeBeingWoven.getClassName()), u);
+      cannotLoadSuperClassException(superName, u);
     }
     return cf.hasNoArgsConstructor();
   }
@@ -393,8 +400,9 @@ public abstract class AbstractWovenProxy
         readClass(c, new MethodCopyingClassAdapter(this, loader, c, 
typeBeingWoven, 
             getKnownMethods(), transformedMethods));
       } catch (IOException e) {
-        // This should never happen! <= famous last words (not)
-        throw new 
RuntimeException(NLS.MESSAGES.getMessage("unexpected.error.processing.class", 
c.getName(), typeBeingWoven.getClassName()), e);
+        String msg = format("Unexpected error processing %s when weaving %s.",
+                            c.getName(), typeBeingWoven.getClassName());
+        throw new RuntimeException(msg, e);
       }
     }
     // If we need to implement woven proxy in this class then write the methods
@@ -548,7 +556,8 @@ public abstract class AbstractWovenProxy
           methodAdapter.invokeConstructor(typeBeingWoven, NO_ARGS_CONSTRUCTOR);
         else
           throw new RuntimeException(new 
UnableToProxyException(typeBeingWoven.getClassName(), 
-              NLS.MESSAGES.getMessage("type.lacking.no.arg.constructor", 
typeBeingWoven.getClassName(), superType.getClassName())));
+              String.format("The class %s and its superclass %s do not have 
no-args constructors and cannot be woven.",
+                            typeBeingWoven.getClassName(), 
superType.getClassName())));
       }
       methodAdapter.loadThis();
       methodAdapter.loadArg(0);
@@ -674,11 +683,15 @@ public abstract class AbstractWovenProxy
    * @throws IOException
    */
   public static void readClass(Class<?> c, ClassVisitor adapter) throws 
IOException {
-    String className = c.getName();
-    className = className.substring(className.lastIndexOf('.') + 1) + ".class";
-        
+    String className = c.getName().replace(".", "/") + ".class";
+
     //Load the class bytes and copy methods across
-    ClassReader cReader = new ClassReader(c.getResourceAsStream(className));
+    ClassLoader loader = c.getClassLoader();
+    if (loader == null) {
+      //system class, use SystemModuleClassLoader as fallback
+      loader = new SystemModuleClassLoader();
+    }
+    ClassReader cReader = new 
ClassReader(loader.getResourceAsStream(className));
 
     cReader.accept(adapter, ClassReader.SKIP_CODE | 
         ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java
 Fri May  5 21:17:42 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.aries.proxy.impl.common;
 
+import static java.lang.String.format;
 import static 
org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter.DISPATCHER_FIELD;
 import static 
org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter.DISPATCHER_TYPE;
 import static 
org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter.LISTENER_FIELD;
@@ -34,13 +35,13 @@ import static org.objectweb.asm.Opcodes.
 import java.util.Arrays;
 
 import org.apache.aries.proxy.InvocationListener;
-import org.apache.aries.proxy.impl.NLS;
 import org.objectweb.asm.Label;
 import org.objectweb.asm.MethodVisitor;
 import org.objectweb.asm.Opcodes;
 import org.objectweb.asm.Type;
 import org.objectweb.asm.commons.GeneratorAdapter;
 import org.objectweb.asm.commons.Method;
+
 /**
  * This class weaves dispatch and listener code into a method, there are two 
known
  * subclasses {@link WovenProxyConcreteMethodAdapter} is used for weaving 
instance methods
@@ -477,7 +478,8 @@ public abstract class AbstractWovenProxy
       ilMethod = clazz.getMethod(name, argTypes);
     } catch (Exception e) {
       //Should be impossible!
-      throw new 
RuntimeException(NLS.MESSAGES.getMessage("error.finding.invocation.listener.method",
 name, Arrays.toString(argTypes)), e);
+      throw new RuntimeException(format("Error finding InvocationListener 
method %s with argument types %s.", 
+                                        name, Arrays.toString(argTypes)), e);
     }
     //get the ASM method
     return new Method(name, Type.getReturnType(ilMethod), 
Type.getArgumentTypes(ilMethod));

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java
 Fri May  5 21:17:42 2017
@@ -18,12 +18,13 @@
  */
 package org.apache.aries.proxy.impl.common;
 
+import static java.lang.String.format;
+
 import java.util.Map;
 import java.util.Set;
 
 import org.apache.aries.proxy.FinalModifierException;
 import org.apache.aries.proxy.UnableToProxyException;
-import org.apache.aries.proxy.impl.NLS;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.Attribute;
 import org.objectweb.asm.ClassReader;
@@ -115,9 +116,9 @@ final class MethodCopyingClassAdapter ex
       // We can't call up to a default access method if we aren't in the same
       // package
       if((access & (ACC_PUBLIC | ACC_PROTECTED | ACC_PRIVATE)) == 0) {
-        if(!!!samePackage)
-          throw new 
RuntimeException(NLS.MESSAGES.getMessage("method.from.superclass.is.hidden", 
name, superToCopy.getName(), overridingClassType.getClassName()),
-                                     new UnableToProxyException(superToCopy));
+        if(!!!samePackage) {
+            methodHiddenException(name);
+        }
       }
       //Safe to copy a call to this method!
       Type superType = Type.getType(superToCopy);
@@ -140,9 +141,9 @@ final class MethodCopyingClassAdapter ex
         //odd, but if class Super has a protected method foo(), then class 
Sub, that extends Super, cannot
         //call ((Super)o).foo() in code (it can call super.foo()). If we are 
in the same package then this
        //gets around the problem, but if not the class will fail verification.
-        if(!samePackage && (access & ACC_PROTECTED) != 0)
-          throw new 
RuntimeException(NLS.MESSAGES.getMessage("method.from.superclass.is.hidden", 
name, superToCopy.getName(), overridingClassType.getClassName()),
-                new UnableToProxyException(superToCopy));
+        if(!samePackage && (access & ACC_PROTECTED) != 0) {
+            methodHiddenException(name);
+        }
         mv = new CopyingMethodAdapter((GeneratorAdapter) weaver, superType, 
currentTransformMethod);
       }
       else {
@@ -154,6 +155,13 @@ final class MethodCopyingClassAdapter ex
     
     return mv;
   }
+
+private void methodHiddenException(String name) {
+    String msg = format("The method %s in class %s cannot be called by %s 
because it is in a different package.",
+                        name, superToCopy.getName(), 
overridingClassType.getClassName());
+    throw new RuntimeException(msg,
+                                 new UnableToProxyException(superToCopy));
+}
   
   /**
    * This class is used to prevent any method body being copied, instead 
replacing

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassWriter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassWriter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassWriter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassWriter.java
 Fri May  5 21:17:42 2017
@@ -24,7 +24,6 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.aries.proxy.UnableToProxyException;
-import org.apache.aries.proxy.impl.NLS;
 import org.objectweb.asm.ClassReader;
 import org.objectweb.asm.ClassWriter;
 /**
@@ -115,10 +114,11 @@ public final class OSGiFriendlyClassWrit
         }
       }
 
+      String msg = String.format("The class %s and %s do not have a common 
super class.", arg0, arg1);
       if (unable == null) {
-          throw new 
RuntimeException(NLS.MESSAGES.getMessage("no.common.superclass", arg0, arg1));
+          throw new RuntimeException(msg);
       } else {
-          throw new RuntimeException(new UnableToProxyException(unable, 
NLS.MESSAGES.getMessage("no.common.superclass", arg0, arg1)));
+          throw new RuntimeException(new UnableToProxyException(unable, msg));
       }
     } catch (IOException e) {
       throw new RuntimeException(e);

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java
 Fri May  5 21:17:42 2017
@@ -19,12 +19,12 @@
 package org.apache.aries.proxy.impl.gen;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Modifier;
 
-import org.apache.aries.proxy.impl.NLS;
 import org.apache.aries.proxy.impl.ProxyUtils;
+import org.apache.aries.proxy.impl.SystemModuleClassLoader;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.Attribute;
 import org.objectweb.asm.ClassReader;
@@ -274,9 +274,17 @@ public class ProxySubclassAdapter extend
         if (loader == null) {
           loader = this.loader;
         }
-        ClassReader cr = new 
ClassReader(loader.getResourceAsStream(currentlyAnalysedClass
-            .getName().replaceAll("\\.", "/")
-            + ".class"));
+        InputStream is = loader.getResourceAsStream(currentlyAnalysedClass
+                                                    
.getName().replaceAll("\\.", "/")
+                                                    + ".class");
+        if (is == null) {
+              //use SystemModuleClassLoader as fallback
+              ClassLoader classLoader = new SystemModuleClassLoader();
+              is = classLoader.getResourceAsStream(currentlyAnalysedClass
+                                              .getName().replaceAll("\\.", "/")
+                                              + ".class");
+        }
+        ClassReader cr = new ClassReader(is);
         ClassVisitor hierarchyAdapter = new 
ProxySubclassHierarchyAdapter(this, setOfFoundMethods);
         cr.accept(hierarchyAdapter, ClassReader.SKIP_DEBUG);
       } catch (IOException e) {

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassGenerator.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassGenerator.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassGenerator.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassGenerator.java
 Fri May  5 21:17:42 2017
@@ -37,7 +37,6 @@ import java.util.concurrent.ConcurrentMa
 
 import org.apache.aries.proxy.FinalModifierException;
 import org.apache.aries.proxy.UnableToProxyException;
-import org.apache.aries.proxy.impl.NLS;
 import org.objectweb.asm.ClassReader;
 import org.objectweb.asm.ClassVisitor;
 import org.objectweb.asm.ClassWriter;
@@ -46,6 +45,7 @@ import org.slf4j.LoggerFactory;
 
 import sun.reflect.ReflectionFactory;
 
+@SuppressWarnings("restriction")
 public class ProxySubclassGenerator
 {
 
@@ -196,7 +196,8 @@ public class ProxySubclassGenerator
       LOGGER.debug(Constants.LOG_EXCEPTION, iae);
       throw new ProxyClassInstantiationException(classToProxy, iae);
     } catch (VerifyError ve) {
-        
LOGGER.info(NLS.MESSAGES.getMessage("no.nonprivate.noargs.constructor", 
classToProxy));
+        LOGGER.info(String.format("The no-argument constructor of class %s is 
private and therefore it may not be possible to generate a valid proxy.", 
+                                  classToProxy));
         LOGGER.debug(Constants.LOG_EXCEPTION, ve);
         throw new ProxyClassInstantiationException(classToProxy, ve);
     }

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java
 Fri May  5 21:17:42 2017
@@ -95,6 +95,9 @@ final class InterfaceCombiningClassAdapt
       else if(((access & (ACC_PRIVATE|ACC_SYNTHETIC)) == 
(ACC_PRIVATE|ACC_SYNTHETIC))) {
           // private, synthetic methods on interfaces don't need to be 
proxied.       
           return null;
+      } else if (((access & (ACC_STATIC)) == (ACC_STATIC))) {
+          //static methods on interfaces don't need to be proxied
+          return null;
       }
       else {//We're going to implement this method, so make it non abstract!
           return adapter.visitMethod(access, name, desc, null, arg4);

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java
 Fri May  5 21:17:42 2017
@@ -115,7 +115,18 @@ public final class InterfaceProxyGenerat
   private static SortedSet<Class<?>> createSet(Collection<Class<?>> ifaces) {
     SortedSet<Class<?>> classes = new TreeSet<Class<?>>(new 
Comparator<Class<?>>() {
       public int compare(Class<?> object1, Class<?> object2) {
-        return object1.getName().compareTo(object2.getName());
+        if (object1.getName().equals(object2.getName())) {
+          return 0;
+        } else if (object1.isAssignableFrom(object2)) {
+          // first class is parent of second, it occurs earlier in type 
hierarchy
+          return -1;
+        } else if (object2.isAssignableFrom(object1)) {
+          // second class is subclass of first one, it occurs later in 
hierarchy
+          return 1;
+        }
+        // types have separate inheritance trees, so it doesn't mater which 
one is first or second,
+        // however we can't mark them as equal cause one of them will be 
removed
+        return 1;
       }
     });
     for(Class<?> c : ifaces) {

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/ProxyClassLoader.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/ProxyClassLoader.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/ProxyClassLoader.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/ProxyClassLoader.java
 Fri May  5 21:17:42 2017
@@ -37,8 +37,8 @@ import org.apache.aries.proxy.Invocation
 import org.apache.aries.proxy.UnableToProxyException;
 import org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter;
 import org.apache.aries.proxy.weaving.WovenProxy;
-import org.apache.aries.util.AriesFrameworkUtil;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.wiring.BundleWiring;
 
 /** An implementation of ClassLoader that will be used to define our proxy 
class */
 final class ProxyClassLoader extends ClassLoader {
@@ -63,7 +63,14 @@ final class ProxyClassLoader extends Cla
   private final ReadWriteLock ifacesLock = new ReentrantReadWriteLock();
   
   public ProxyClassLoader(Bundle bundle) {
-    super(AriesFrameworkUtil.getClassLoader(bundle));
+//    super(AriesFrameworkUtil.getClassLoader(bundle));
+    super(getClassloader(bundle));
+  }
+
+  private static ClassLoader getClassloader(Bundle bundle) {
+    if (bundle == null) return ProxyClassLoader.class.getClassLoader();
+    BundleWiring wiring = bundle != null ? bundle.adapt(BundleWiring.class) : 
null;
+    return wiring != null ? wiring.getClassLoader() : null;
   }
 
   @Override

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/ProxyWeavingHook.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/ProxyWeavingHook.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/ProxyWeavingHook.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/ProxyWeavingHook.java
 Fri May  5 21:17:42 2017
@@ -18,6 +18,8 @@
  */
 package org.apache.aries.proxy.impl.weaving;
 
+import static java.lang.String.format;
+
 import java.util.ArrayList;
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -25,7 +27,6 @@ import java.util.List;
 import java.util.regex.Pattern;
 
 import org.apache.aries.proxy.UnableToProxyException;
-import org.apache.aries.proxy.impl.NLS;
 import org.apache.aries.proxy.weaving.WovenProxy;
 import org.apache.aries.proxy.weavinghook.ProxyWeavingController;
 import org.apache.aries.proxy.weavinghook.WeavingHelper;
@@ -60,9 +61,13 @@ public final class ProxyWeavingHook impl
 
   private final List<Pattern> enabled;
   private final List<Pattern> disabled;
+  @SuppressWarnings("rawtypes")
   private final ServiceTracker controllers;
 
-  public ProxyWeavingHook(BundleContext context) {
+  @SuppressWarnings({
+ "unchecked", "rawtypes"
+})
+public ProxyWeavingHook(BundleContext context) {
     String enabledProp = context != null ? 
context.getProperty(WEAVING_ENABLED_CLASSES) : null;
     enabled = parseMatchers(enabledProp, WEAVING_ENABLED_CLASSES_DEFAULT);
     disabled = parseMatchers(context != null ? 
context.getProperty(WEAVING_DISABLED_CLASSES) : null, 
WEAVING_DISABLED_CLASSES_DEFAULT);
@@ -109,12 +114,10 @@ public final class ProxyWeavingHook impl
             e.getCause() instanceof UnableToProxyException){
           //This is a weaving failure that should be logged, but the class
           //can still be loaded
-          LOGGER.trace(NLS.MESSAGES.getMessage("cannot.weave", 
wovenClass.getClassName()), e);
+          LOGGER.trace(String.format("The class %s cannot be woven, it may not 
be possible for the runtime to proxy this class.",
+                                     wovenClass.getClassName()), e);
         } else {
-          String failureMessage = 
NLS.MESSAGES.getMessage("fatal.weaving.failure", wovenClass.getClassName());
-          //This is a failure that should stop the class loading!
-          LOGGER.error(failureMessage, e);
-          throw new WeavingException(failureMessage, e);
+          throw weavingException(wovenClass, e);
         }
       }
       
@@ -127,6 +130,7 @@ public final class ProxyWeavingHook impl
     }
   }
 
+
     private List<Pattern> parseMatchers(String matchers, String def) {
         String[] strings = (matchers != null ? matchers : def).split(",");
         List<Pattern> patterns = new ArrayList<Pattern>();
@@ -172,10 +176,7 @@ public final class ProxyWeavingHook impl
                   wovenClass.getBundleWiring().getClassLoader());
           return WovenProxy.class.isAssignableFrom(superClass);
       } catch (ClassNotFoundException e) {
-          String failureMessage = 
NLS.MESSAGES.getMessage("fatal.weaving.failure", wovenClass.getClassName());
-          //This is a failure that should stop the class loading!
-          LOGGER.error(failureMessage, e);
-          throw new WeavingException(failureMessage, e);
+          throw weavingException(wovenClass, e);
       }
     }
     
@@ -201,4 +202,11 @@ public final class ProxyWeavingHook impl
     return result;
   }
 
+  private WeavingException weavingException(WovenClass wovenClass, Exception 
e) {
+    String msg = format("There was a serious error trying to weave the class 
%s. See the associated exception for more information.",
+                            wovenClass.getClassName());
+    // This is a failure that should stop the class loading!
+    LOGGER.error(msg, e);
+    return new WeavingException(msg, e);
+  }
 }
\ No newline at end of file

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java
 Fri May  5 21:17:42 2017
@@ -63,7 +63,6 @@ public class Synthesizer
         //using the writer we created as the visitor
         reader.accept(cv, 0);
       } finally {
-        //close the InputStream if it is hanging around
         if (classInStream != null) classInStream.close();
       }
       FileOutputStream classOutStream = null;

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
 Fri May  5 21:17:42 2017
@@ -23,6 +23,8 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -33,6 +35,7 @@ import org.apache.aries.blueprint.proxy.
 import org.apache.aries.proxy.InvocationListener;
 import org.apache.aries.proxy.impl.SingleInstanceDispatcher;
 import org.junit.Test;
+import org.osgi.framework.wiring.BundleWiring;
 
 public abstract class AbstractProxyTest {
 
@@ -375,4 +378,10 @@ public abstract class AbstractProxyTest
     Method m = ptca.getClass().getDeclaredMethod("getMessage");
     assertEquals("Working", m.invoke(ptca));
   }
+  
+  public static BundleWiring getWiring(ClassLoader loader) throws Exception {
+      BundleWiring wiring = mock(BundleWiring.class);
+      when(wiring.getClassLoader()).thenReturn(loader);
+      return wiring;
+  }
 }

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
 Fri May  5 21:17:42 2017
@@ -24,34 +24,29 @@ import static org.junit.Assert.assertNul
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.io.ByteArrayOutputStream;
 import java.io.Closeable;
-import java.io.File;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Dictionary;
-import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
 
 import org.apache.aries.blueprint.proxy.AbstractProxyTest.TestListener;
-import org.apache.aries.mocks.BundleMock;
 import org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator;
-import org.apache.aries.unittest.mocks.MethodCall;
-import org.apache.aries.unittest.mocks.Skeleton;
-import org.apache.aries.util.ClassLoaderProxy;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
 import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.BundleWiring;
 
 
+@SuppressWarnings("unchecked")
 public class InterfaceProxyingTest {
 
   public final static class TestCallable implements Callable<Object> {
@@ -75,32 +70,11 @@ public class InterfaceProxyingTest {
 
   private Bundle testBundle;
 
-  /**
-   * Extended BundleMock which handles update() and adapt() methods
-   */
-  public static class BundleMockEx extends BundleMock {
-    private BundleWiring currentWiring = Skeleton.newMock(BundleWiring.class);
-
-    public BundleMockEx(String name, Dictionary<?, ?> properties) {
-      super(name, properties);
-    }
-
-    public <A> A adapt(Class<A> type) {
-      if (type == BundleWiring.class) {
-        return (A) currentWiring;
-      }
-      return null;
-    }
-
-    public void update() throws BundleException {
-      this.currentWiring = Skeleton.newMock(BundleWiring.class);
-    }
-  }
-
   @Before
   public void setup() {
-    testBundle = Skeleton.newMock(new BundleMockEx("test",
-        new Hashtable<Object, Object>()), Bundle.class);
+    testBundle = Mockito.mock(Bundle.class);
+    BundleWiring bundleWiring = Mockito.mock(BundleWiring.class);
+    
Mockito.when(testBundle.adapt(BundleWiring.class)).thenReturn(bundleWiring);
   }
   
   @Test
@@ -116,8 +90,7 @@ public class InterfaceProxyingTest {
   @Test
   public void testGetProxyInstance2() throws Exception{
     
-    Collection<Class<?>> classes = new 
ArrayList<Class<?>>(Arrays.asList(Closeable.class,
-        Iterable.class, Map.class));
+    Collection<Class<? extends Object>> classes = 
Arrays.asList(Closeable.class, Iterable.class, Map.class);
     
     Object o = InterfaceProxyGenerator.getProxyInstance(testBundle, null, 
classes, constantly(null), null);
     
@@ -137,7 +110,7 @@ public class InterfaceProxyingTest {
     TestListener tl = new TestListener();
     TestCallable tc = new TestCallable();
     
-    Callable o = (Callable) 
InterfaceProxyGenerator.getProxyInstance(testBundle, 
+    Callable<Object> o = (Callable<Object>) 
InterfaceProxyGenerator.getProxyInstance(testBundle, 
         null, classes, tc, tl);
     
     assertCalled(tl, false, false, false);
@@ -213,7 +186,7 @@ public class InterfaceProxyingTest {
     
     assertTrue(o instanceof Callable);
     
-    assertEquals(5, ((Callable)o).call());
+    assertEquals(5, ((Callable<Object>)o).call());
   }
   
   @Test
@@ -270,14 +243,12 @@ public class InterfaceProxyingTest {
   
   @Test
   public void testNoStaleProxiesForRefreshedBundle() throws Exception {
-      Bundle bundle = (Bundle) Skeleton.newMock(new Class<?>[] { Bundle.class, 
ClassLoaderProxy.class });      
-      Skeleton skel = Skeleton.getSkeleton(bundle);
+      Bundle bundle = mock(Bundle.class);
       
       TestClassLoader loader = new TestClassLoader();
-      skel.setReturnValue(new MethodCall(ClassLoaderProxy.class, 
"getClassLoader"), loader);
-      skel.setReturnValue(new MethodCall(Bundle.class, "getLastModified"), 
10l);
-      skel.setReturnValue(new MethodCall(Bundle.class, "adapt", 
BundleWiring.class), Skeleton.newMock(BundleWiring.class));
-
+      when(bundle.getLastModified()).thenReturn(10l);
+      BundleWiring wiring = AbstractProxyTest.getWiring(loader);
+      when(bundle.adapt(BundleWiring.class)).thenReturn(wiring);
       Class<?> clazz = 
loader.loadClass("org.apache.aries.blueprint.proxy.TestInterface");
       
       Object proxy = InterfaceProxyGenerator.getProxyInstance(bundle, null, 
Arrays.<Class<?>>asList(clazz), constantly(null), null);
@@ -288,11 +259,11 @@ public class InterfaceProxyingTest {
       /* Now again but with a changed classloader as if the bundle had 
refreshed */
       
       TestClassLoader loaderToo = new TestClassLoader();
-      skel.setReturnValue(new MethodCall(ClassLoaderProxy.class, 
"getClassLoader"), loaderToo);
-      skel.setReturnValue(new MethodCall(Bundle.class, "getLastModified"), 
20l);
+      when(bundle.getLastModified()).thenReturn(20l);
 
       // let's change the returned revision
-      skel.setReturnValue(new MethodCall(Bundle.class, "adapt", 
BundleWiring.class), Skeleton.newMock(BundleWiring.class));
+      BundleWiring wiring2 = AbstractProxyTest.getWiring(loaderToo);
+      when(bundle.adapt(BundleWiring.class)).thenReturn(wiring2);
       
       Class<?> clazzToo = 
loaderToo.loadClass("org.apache.aries.blueprint.proxy.TestInterface");
       
@@ -301,8 +272,8 @@ public class InterfaceProxyingTest {
 
       ClassLoader parent2= proxyToo.getClass().getClassLoader().getParent();
 
-      // parents should be different, as the are the classloaders of different 
bundle revisions
-      assertTrue(parent1 != parent2);
+      // 
+      assertTrue("parents should be different, as the are the classloaders of 
different bundle revisions", parent1 != parent2);
   }
 
   protected void assertCalled(TestListener listener, boolean pre, boolean 
post, boolean ex) {
@@ -318,4 +289,5 @@ public class InterfaceProxyingTest {
           }             
         };
   }
+  
 }

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxySubclassGeneratorTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxySubclassGeneratorTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxySubclassGeneratorTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxySubclassGeneratorTest.java
 Fri May  5 21:17:42 2017
@@ -48,7 +48,7 @@ import org.apache.aries.proxy.impl.Proxy
 import org.apache.aries.proxy.impl.SingleInstanceDispatcher;
 import org.apache.aries.proxy.impl.gen.ProxySubclassGenerator;
 import org.apache.aries.proxy.impl.gen.ProxySubclassMethodHashSet;
-import org.apache.aries.util.io.IOUtils;
+import org.apache.commons.io.IOUtils;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -257,7 +257,8 @@ public class ProxySubclassGeneratorTest
     super.testGenerics();
   }
 
-  @Test
+  @SuppressWarnings("unchecked")
+@Test
   public void testClassLoaders() throws Exception {
     ClassLoader clA = new LimitedClassLoader("org.apache.aries.proxy.test.a", 
null, null);
     ClassLoader clB = new LimitedClassLoader("org.apache.aries.proxy.test.b", 
"org.apache.aries.proxy.test.a", clA);

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassInnerClasses.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassInnerClasses.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassInnerClasses.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassInnerClasses.java
 Fri May  5 21:17:42 2017
@@ -18,7 +18,6 @@
  */
 package org.apache.aries.blueprint.proxy;
 
-import java.lang.reflect.Proxy;
 
 public class ProxyTestClassInnerClasses {
 

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializable.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializable.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializable.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializable.java
 Fri May  5 21:17:42 2017
@@ -24,6 +24,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ObjectInputStream;
 import java.io.Serializable;
 
+@SuppressWarnings("serial")
 public class ProxyTestClassSerializable implements Serializable {
   
   public int value = 0;

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableChild.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableChild.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableChild.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableChild.java
 Fri May  5 21:17:42 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.aries.blueprint.proxy;
 
+@SuppressWarnings("serial")
 public class ProxyTestClassSerializableChild extends 
ProxyTestClassSerializable {
 
 }

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableInterface.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableInterface.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableInterface.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSerializableInterface.java
 Fri May  5 21:17:42 2017
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertEqu
 import java.io.ByteArrayInputStream;
 import java.io.ObjectInputStream;
 
+@SuppressWarnings("serial")
 public class ProxyTestClassSerializableInterface implements
     ProxyTestSerializableInterface {
 

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuper.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuper.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuper.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuper.java
 Fri May  5 21:17:42 2017
@@ -48,7 +48,8 @@ public class ProxyTestClassSuper
     return null;
   }
   
-  private void doTarget() {
+  @SuppressWarnings("unused")
+private void doTarget() {
     Object o = getTargetObject();
     if(this != o)
       ((ProxyTestClassSuper)o).doTarget();

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuperWithNoDefaultOrProtectedAccess.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuperWithNoDefaultOrProtectedAccess.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuperWithNoDefaultOrProtectedAccess.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/ProxyTestClassSuperWithNoDefaultOrProtectedAccess.java
 Fri May  5 21:17:42 2017
@@ -48,7 +48,8 @@ public class ProxyTestClassSuperWithNoDe
     return null;
   }
   
-  private void doTarget() {
+  @SuppressWarnings("unused")
+private void doTarget() {
     Object o = getTargetObject();
     if(this != o)
       ((ProxyTestClassSuperWithNoDefaultOrProtectedAccess)o).doTarget();

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
 Fri May  5 21:17:42 2017
@@ -23,6 +23,8 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
@@ -46,18 +48,17 @@ import org.apache.aries.proxy.Invocation
 import org.apache.aries.proxy.UnableToProxyException;
 import org.apache.aries.proxy.impl.AsmProxyManager;
 import org.apache.aries.proxy.impl.SingleInstanceDispatcher;
+import org.apache.aries.proxy.impl.SystemModuleClassLoader;
 import org.apache.aries.proxy.impl.gen.ProxySubclassMethodHashSet;
 import org.apache.aries.proxy.impl.weaving.WovenProxyGenerator;
 import org.apache.aries.proxy.weaving.WovenProxy;
-import org.apache.aries.unittest.mocks.MethodCall;
-import org.apache.aries.unittest.mocks.Skeleton;
-import org.apache.aries.util.ClassLoaderProxy;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.wiring.BundleWiring;
 
 
+@SuppressWarnings({"unchecked", "rawtypes"})
 public class WovenProxyGeneratorTest extends AbstractProxyTest
 {
   private static final String hexPattern = "[0-9_a-f]";
@@ -95,7 +96,7 @@ public class WovenProxyGeneratorTest ext
  
   private static final Map<String, byte[]> rawClasses = new HashMap<String, 
byte[]>();
   
-  protected static final ClassLoader weavingLoader = new ClassLoader() {
+  protected static final ClassLoader weavingLoader = new 
SystemModuleClassLoader() {
     public Class<?> loadClass(String className)  throws ClassNotFoundException
     {
       return loadClass(className, false);
@@ -139,7 +140,7 @@ public class WovenProxyGeneratorTest ext
   @BeforeClass
   public static void setUp() throws Exception
   {
-    List<Class<?>> classes = new ArrayList(CLASSES.size() + 
OTHER_CLASSES.size());
+    List<Class<?>> classes = new ArrayList<Class<?>>(CLASSES.size() + 
OTHER_CLASSES.size());
     
     classes.addAll(CLASSES);
     classes.addAll(OTHER_CLASSES);
@@ -496,13 +497,9 @@ public class WovenProxyGeneratorTest ext
    */
   @Test
   public void testWovenClassPlusInterfaces() throws Exception {
-    Bundle b = (Bundle) Skeleton.newMock(new Class<?>[] {Bundle.class, 
ClassLoaderProxy.class});
-    BundleWiring bw = (BundleWiring) Skeleton.newMock(BundleWiring.class);
-
-    Skeleton.getSkeleton(b).setReturnValue(new MethodCall(
-        ClassLoaderProxy.class, "getClassLoader"), weavingLoader);
-    Skeleton.getSkeleton(b).setReturnValue(new MethodCall(
-        ClassLoaderProxy.class, "adapt", BundleWiring.class), bw);
+    Bundle b = mock(Bundle.class);
+    BundleWiring wiring = getWiring(weavingLoader);
+    when(b.adapt(BundleWiring.class)).thenReturn(wiring);
 
     Object toCall = new AsmProxyManager().createDelegatingProxy(b, 
Arrays.asList(
         getProxyClass(ProxyTestClassAbstract.class), Callable.class), new 
Callable() {

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyPlusSubclassGeneratorTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyPlusSubclassGeneratorTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyPlusSubclassGeneratorTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyPlusSubclassGeneratorTest.java
 Fri May  5 21:17:42 2017
@@ -21,16 +21,15 @@ package org.apache.aries.blueprint.proxy
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
 
@@ -39,13 +38,8 @@ import org.apache.aries.proxy.Invocation
 import org.apache.aries.proxy.UnableToProxyException;
 import org.apache.aries.proxy.impl.SingleInstanceDispatcher;
 import org.apache.aries.proxy.impl.gen.ProxySubclassGenerator;
-import org.apache.aries.proxy.impl.gen.ProxySubclassMethodHashSet;
 import org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator;
 import org.apache.aries.proxy.weaving.WovenProxy;
-import org.apache.aries.unittest.mocks.MethodCall;
-import org.apache.aries.unittest.mocks.Skeleton;
-import org.apache.aries.util.ClassLoaderProxy;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
@@ -54,28 +48,21 @@ import org.osgi.framework.wiring.BundleW
 /**
  * This class uses the {@link ProxySubclassGenerator} to test
  */
+@SuppressWarnings("unchecked")
 public class WovenProxyPlusSubclassGeneratorTest extends 
WovenProxyGeneratorTest
 {
   private static final Class<?> FINAL_METHOD_CLASS = 
ProxyTestClassFinalMethod.class;
   private static final Class<?> FINAL_CLASS = ProxyTestClassFinal.class;
-  private static final Class<?> GENERIC_CLASS = ProxyTestClassGeneric.class;
-  private static final Class<?> COVARIANT_CLASS = 
ProxyTestClassCovariantOverride.class;
-  private static ProxySubclassMethodHashSet<String> expectedMethods = new 
ProxySubclassMethodHashSet<String>(
-      12);
   private Callable<Object> testCallable = null;
   
   private static Bundle testBundle;
-  private static BundleWiring testBundleWiring;
 
   @BeforeClass
-  public static void createTestBundle() {
-         testBundle = (Bundle) Skeleton.newMock(new Class<?>[] {Bundle.class, 
ClassLoaderProxy.class});
-         testBundleWiring = (BundleWiring) 
Skeleton.newMock(BundleWiring.class);
-
-           Skeleton.getSkeleton(testBundle).setReturnValue(new MethodCall(
-               ClassLoaderProxy.class, "getClassLoader"), weavingLoader);
-           Skeleton.getSkeleton(testBundle).setReturnValue(new MethodCall(
-               ClassLoaderProxy.class, "adapt", BundleWiring.class), 
testBundleWiring);
+  public static void createTestBundle() throws Exception {
+    testBundle = mock(Bundle.class);
+    BundleWiring wiring = AbstractProxyTest.getWiring(weavingLoader);
+    when(testBundle.adapt(BundleWiring.class))
+        .thenReturn(wiring);
   }
 
   //Avoid running four weaving tests that don't apply to us
@@ -203,7 +190,7 @@ public class WovenProxyPlusSubclassGener
   {
     try {
       InterfaceProxyGenerator.getProxyInstance(null, FINAL_CLASS, 
Collections.EMPTY_SET, 
-          new Callable() {
+          new Callable<Object>() {
         public Object call() throws Exception {
           return null;
         }} , null).getClass();

Modified: 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenSubclassGeneratorTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenSubclassGeneratorTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenSubclassGeneratorTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenSubclassGeneratorTest.java
 Fri May  5 21:17:42 2017
@@ -42,12 +42,12 @@ import org.apache.aries.proxy.impl.gen.P
 import org.apache.aries.proxy.impl.gen.ProxySubclassMethodHashSet;
 import org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator;
 import org.apache.aries.proxy.weaving.WovenProxy;
-import org.junit.Before;
 import org.junit.Test;
 
 /**
  * This class uses the {@link ProxySubclassGenerator} to test
  */
+@SuppressWarnings("unchecked")
 public class WovenSubclassGeneratorTest extends AbstractProxyTest
 {
   private static final Class<?> FINAL_METHOD_CLASS = 
ProxyTestClassFinalMethod.class;

Modified: aries/branches/java6support/proxy/proxy-itests/pom.xml
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-itests/pom.xml?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- aries/branches/java6support/proxy/proxy-itests/pom.xml (original)
+++ aries/branches/java6support/proxy/proxy-itests/pom.xml Fri May  5 21:17:42 
2017
@@ -61,33 +61,15 @@
         </dependency>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
-            <artifactId>org.apache.aries.proxy</artifactId>
-            <scope>test</scope>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy.api</artifactId>
             <scope>test</scope>
-            <version>1.0.2-SNAPSHOT</version>
+            <version>1.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
-            <artifactId>org.apache.aries.proxy.impl</artifactId>
-            <scope>test</scope>
-            <version>1.0.5-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries</groupId>
-            <artifactId>org.apache.aries.util</artifactId>
-            <scope>test</scope>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.testsupport</groupId>
-            <artifactId>org.apache.aries.testsupport.unit</artifactId>
-            <version>2.0.0-SNAPSHOT</version>
+            <artifactId>org.apache.aries.proxy</artifactId>
             <scope>test</scope>
+            <version>1.1.1-SNAPSHOT</version>
         </dependency>
 
         <!-- pax exam -->

Modified: 
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractProxyTest.java
URL: 
http://svn.apache.org/viewvc/aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractProxyTest.java?rev=1794106&r1=1794105&r2=1794106&view=diff
==============================================================================
--- 
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractProxyTest.java
 (original)
+++ 
aries/branches/java6support/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/AbstractProxyTest.java
 Fri May  5 21:17:42 2017
@@ -23,9 +23,7 @@ import static org.junit.Assert.assertFal
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.ops4j.pax.exam.CoreOptions.composite;
-import static org.ops4j.pax.exam.CoreOptions.junitBundles;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
-import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 import static org.ops4j.pax.exam.CoreOptions.when;
 
@@ -38,7 +36,6 @@ import java.util.concurrent.Callable;
 
 import javax.inject.Inject;
 
-import org.apache.aries.itest.AbstractIntegrationTest;
 import org.apache.aries.proxy.InvocationListener;
 import org.apache.aries.proxy.ProxyManager;
 import org.junit.Test;
@@ -49,10 +46,14 @@ import org.ops4j.pax.exam.junit.PaxExam;
 import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
-public abstract class AbstractProxyTest extends AbstractIntegrationTest {
+public abstract class AbstractProxyTest {
+  @Inject
+  BundleContext bundleContext;
+  
   @Inject
   ProxyManager mgr;
 
@@ -287,40 +288,22 @@ public abstract class AbstractProxyTest
     assertEquals(ex, listener.postInvokeExceptionalReturn);
   }
   
-  protected Option generalOptions() {
+  protected Option proxyOptions() {
          String localRepo = System.getProperty("maven.repo.local");
       if (localRepo == null) {
           localRepo = 
System.getProperty("org.ops4j.pax.url.mvn.localRepository");
       }
-         return composite(
-                         junitBundles(),
+     return composite(
+              CoreOptions.junitBundles(),
               
systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),
               when(localRepo != 
null).useOptions(CoreOptions.vmOption("-Dorg.ops4j.pax.url.mvn.localRepository="
 + localRepo)),
-                 mavenBundle("org.apache.aries", 
"org.apache.aries.util").versionAsInProject(),
-                 mavenBundle("org.ow2.asm", 
"asm-debug-all").versionAsInProject(),
-                 mavenBundle("org.apache.aries.testsupport", 
"org.apache.aries.testsupport.unit").versionAsInProject(),
+              mavenBundle("org.ow2.asm", "asm-debug-all").versionAsInProject(),
               mavenBundle("org.ops4j.pax.logging", 
"pax-logging-api").versionAsInProject(),
-              mavenBundle("org.ops4j.pax.logging", 
"pax-logging-service").versionAsInProject()
-                /* vmOption 
("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-                 waitForFrameworkStartup(),*/
-         );
-  }
-
-  protected Option[] proxyBundles()
-  {
-         return options(
-                         generalOptions(),
-                 mavenBundle("org.apache.aries.proxy", 
"org.apache.aries.proxy.api").versionAsInProject(),
-                 mavenBundle("org.apache.aries.proxy", 
"org.apache.aries.proxy.impl").versionAsInProject()
-         );
-  }
-
-  protected Option[] proxyUberBundle()
-  {
-         return options(
-                         generalOptions(),
-                         mavenBundle("org.apache.aries.proxy", 
"org.apache.aries.proxy").versionAsInProject()
-         );
+              mavenBundle("org.ops4j.pax.logging", 
"pax-logging-service").versionAsInProject(),
+              mavenBundle("org.apache.aries.proxy", 
"org.apache.aries.proxy").versionAsInProject()
+              /* vmOption 
("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
+              waitForFrameworkStartup(),*/
+     );
   }
 
 }


Reply via email to