Author: cziegeler
Date: Wed Jul 15 08:30:19 2009
New Revision: 794178

URL: http://svn.apache.org/viewvc?rev=794178&view=rev
Log:
SLING-1048 : Implement the dynamic class loader provider interface and 
deprecate the repository class loader interface.

Modified:
    sling/trunk/bundles/jcr/classloader/pom.xml
    
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
    
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
    
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
    
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java

Modified: sling/trunk/bundles/jcr/classloader/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/pom.xml?rev=794178&r1=794177&r2=794178&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/classloader/pom.xml (original)
+++ sling/trunk/bundles/jcr/classloader/pom.xml Wed Jul 15 08:30:19 2009
@@ -94,6 +94,11 @@
             <version>2.0.2-incubator</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.classloader</artifactId>
+            <version>0.9.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-classloader</artifactId>
             <version>1.4.1</version>

Modified: 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java?rev=794178&r1=794177&r2=794178&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
 (original)
+++ 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
 Wed Jul 15 08:30:19 2009
@@ -21,8 +21,12 @@
 import javax.jcr.RepositoryException;
 
 /**
- * The <code>RepositoryClassLoaderProvider</code> TODO
+ * The <code>RepositoryClassLoaderProvider</code>
+ *
+ * @deprecated Use the {...@link 
org.apache.sling.commons.classloader.DynamicClassLoaderManager}
+ * instead.
  */
+...@deprecated
 public interface RepositoryClassLoaderProvider {
 
     ClassLoader getClassLoader(String owner) throws RepositoryException;

Modified: 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java?rev=794178&r1=794177&r2=794178&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
 (original)
+++ 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
 Wed Jul 15 08:30:19 2009
@@ -49,7 +49,8 @@
     // at least Java 5 you can prevent the occurence of duplicate boot 
classloader
     // resources by overriding ClassLoader.getResources(...) instead of
     // ClassLoader.findResources(...).
-    public Enumeration findResources(String name) throws IOException {
+    @SuppressWarnings("unchecked")
+    public Enumeration<URL> findResources(String name) throws IOException {
         return this.bundle.getResources(name);
     }
 
@@ -57,7 +58,7 @@
         return this.bundle.getResource(name);
     }
 
-    public Class findClass(String name) throws ClassNotFoundException {
+    public Class<?> findClass(String name) throws ClassNotFoundException {
         return this.bundle.loadClass(name);
     }
 
@@ -65,11 +66,11 @@
         return (this.parent == null) ? this.findResource(name) : 
super.getResource(name);
     }
 
-    protected Class loadClass(String name, boolean resolve) throws 
ClassNotFoundException {
-        Class clazz = (this.parent == null) ? this.findClass(name) : 
super.loadClass(name, false);
-        if (resolve)
+    protected Class<?> loadClass(String name, boolean resolve) throws 
ClassNotFoundException {
+        Class<?> clazz = (this.parent == null) ? this.findClass(name) : 
super.loadClass(name, false);
+        if (resolve) {
             super.resolveClass(clazz);
-
+        }
         return clazz;
     }
 }

Modified: 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java?rev=794178&r1=794177&r2=794178&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
 (original)
+++ 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
 Wed Jul 15 08:30:19 2009
@@ -100,7 +100,7 @@
         }
     }
 
-    protected synchronized Class loadClass(String name, boolean resolve) 
throws ClassNotFoundException {
+    protected synchronized Class<?> loadClass(String name, boolean resolve) 
throws ClassNotFoundException {
         try {
             return this.getDelegateClassLoader().loadClass(name);
         } catch (RepositoryException re) {
@@ -118,7 +118,7 @@
         }
     }
 
-    public Enumeration findResources(String name) throws IOException {
+    public Enumeration<URL> findResources(String name) throws IOException {
         try {
             return this.getDelegateClassLoader().getResources(name);
         } catch (RepositoryException re) {

Modified: 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java?rev=794178&r1=794177&r2=794178&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
 (original)
+++ 
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
 Wed Jul 15 08:30:19 2009
@@ -27,6 +27,7 @@
 
 import org.apache.commons.collections.BidiMap;
 import org.apache.commons.collections.bidimap.DualHashBidiMap;
+import org.apache.sling.commons.classloader.DynamicClassLoaderProvider;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.jcr.classloader.RepositoryClassLoaderProvider;
 import org.osgi.framework.Bundle;
@@ -43,7 +44,7 @@
  * @scr.service servicefactory="true"
  */
 public class RepositoryClassLoaderProviderImpl
-        implements RepositoryClassLoaderProvider {
+        implements RepositoryClassLoaderProvider, DynamicClassLoaderProvider {
 
     /**
      * @scr.property values0="/var/classes"
@@ -115,6 +116,13 @@
         }
     }
 
+    /**
+     * @see 
org.apache.sling.commons.classloader.DynamicClassLoaderProvider#getClassLoader()
+     */
+    public ClassLoader getClassLoader() {
+        return this.getClassLoader(null);
+    }
+
     //---------- SCR Integration ----------------------------------------------
 
     protected void activate(ComponentContext componentContext) {


Reply via email to