You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:45:13 UTC

[sling-org-apache-sling-jcr-classloader] annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator created (now 7703242)

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a change to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git.


      at 7703242  (tag)
 tagging 83c313102593c99f1ce293003a61c4b54556afff (commit)
      by Felix Meschberger
      on Thu Jun 18 09:21:02 2009 +0000

- Log -----------------------------------------------------------------
org.apache.sling.jcr.classloader-2.0.2-incubator
-----------------------------------------------------------------------

This annotated tag includes the following new commits:

     new 9609c02  Import initial Sling source
     new a0c6294  Ignore Eclipse and build artifacts
     new 04ddd72  Fix scm settings
     new ca2435c  Ignore Eclipse .settings
     new 9dfa564  Fix license headers.
     new c9cb58c  Fix license headers.
     new 09b3323  Fix license headers.
     new 2b850ab  SLING-18 scr plugin isn't enabled in jackrabbit-classloader, scripting-core and scripting-jsp
     new 9aa1c77  Remove sling module versions from parent pom to make release management easier. Add some more versions of dependencies to parent pom.
     new eafdadf  SLING-83 Move modules according to the new module structure
     new 35062bd  SLING-83 Fix SVN location, project name and java packages
     new d5ebe13  SLING-83: Fix relative paths to parent poms.
     new 81ea614  SLING-83 make artifactId fully qualified
     new c4dadf9  Add version attribute to package exports
     new 6eb3033  Ensure the Repository Classloader facade is also an URLClassLoader (just like the RepositoryClassLoader itself)
     new 019a135  Clean up code, remove unused imports etc.
     new 930a6c0  SLING-176 Include jackrabbit-jcr-commons classes in the bundle as jcr/api does not provide them any more.
     new 6a2d9a9  Use OSGi core and cmpendium jars from Felix project.
     new 23bd3b9  SLING-204 - add svn ignore patterns for intellij
     new d332a16  SLING-317 - rename /classes to /var/classes
     new 1d30440  Move licence and notice to top level dir.
     new e73f2bf  Add incubator disclaimer.
     new 19ef98b  Go back to simpler notice file format.
     new 33c124c  Eclude maven-eclipse.xml generated by the maven eclipse plugin.
     new 8f8460b  SLING-442: Clean up exports, imports, dependencies and used plugins.
     new d9ad7c5  SLING-479 Fix @scr.tags:   - normalize metadata attribute settings to "no"   - ensure proper metadata and ds attributes are set   - create metatype.properties files where required   - fix metatype.properties files
     new 5914833  SLING-483: Add excludes for javadocs (WiP)
     new 256033c  SLING-495 - NOTICE files generated using mknotice script
     new 0ba9480  SLING-495 - NOTICE files updated according to changes in revision 662927
     new ede0ef1  SLING-495 - NOTICE files regenerated with revision 663097 changes
     new 1e54dd4  Use released version of parent pom.
     new 74074ba  Use released versions (or soon to be released versions).
     new 46c8880  [maven-release-plugin] prepare release org.apache.sling.jcr.classloader-2.0.0-incubator
     new cd4e1cc  [maven-release-plugin] prepare for next development iteration
     new d578763  Set version to next development version.
     new 9d580ae  Fix reference to parent pom.
     new 37da054  SLING-521: Restore more notice files.
     new f1aeeac  SLING-471 Apply patch by Niklas Gustavsson (slightly modified)
     new 01df96a  SLING-521: Separate between notice files for bin and src dists.
     new 4b46564  SLING-521: Separate between notice files for bin and src dists.
     new b628ff4  Change copyright year to 2008.
     new c423fb9  [maven-release-plugin]  copy for tag org.apache.sling.jcr.classloader-2.0.2-incubator
     new 3b63ad6  Move Sling to new TLP location
     new 83c3131  Move Sling to new TLP location

The 44 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].

[sling-org-apache-sling-jcr-classloader] 02/44: Ignore Eclipse and build artifacts

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit a0c6294b467ba855662458609eb3e3708fd2e57f
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Mon Sep 10 13:17:30 2007 +0000

    Ignore Eclipse and build artifacts
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574241 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 19/44: SLING-204 - add svn ignore patterns for intellij

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 23bd3b92a531db429a46bc9ee6edd61063fc0b31
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Mon Jan 28 08:39:32 2008 +0000

    SLING-204 - add svn ignore patterns for intellij
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@615760 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 35/44: Set version to next development version.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit d57876341938334e02cfa80c09f02a0b925db683
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 4 17:27:58 2008 +0000

    Set version to next development version.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663320 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 183cf56..3a369ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.0.0-incubator</version>
+            <version>2.0.1-incubator-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 15/44: Ensure the Repository Classloader facade is also an URLClassLoader (just like the RepositoryClassLoader itself)

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 6eb30339456c4cffea92c30f2ebba77d644a1e59
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Tue Nov 27 13:25:43 2007 +0000

    Ensure the Repository Classloader facade is also an URLClassLoader
    (just like the RepositoryClassLoader itself)
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@598634 13f79535-47bb-0310-9956-ffa450edef68
---
 .../internal/RepositoryClassLoaderFacade.java      | 23 ++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
index 056707d..e8f0f41 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
@@ -20,6 +20,7 @@ package org.apache.sling.jcr.classloader.internal;
 
 import java.io.IOException;
 import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.Enumeration;
 
 import javax.jcr.RepositoryException;
@@ -32,11 +33,13 @@ import org.slf4j.LoggerFactory;
 /**
  * The <code>RepositoryClassLoaderFacade</code> TODO
  */
-class RepositoryClassLoaderFacade extends ClassLoader {
+class RepositoryClassLoaderFacade extends URLClassLoader {
 
     /** default log */
     private static final Logger log = LoggerFactory.getLogger(RepositoryClassLoaderFacade.class);
 
+    private static final URL[] NO_URLS = new URL[0];
+
     private RepositoryClassLoaderProviderImpl classLoaderProvider;
     private ClassLoader parent;
     private String sessionOwner;
@@ -58,7 +61,9 @@ class RepositoryClassLoaderFacade extends ClassLoader {
             ClassLoader parent,
             String sessionOwner,
             String[] classPath) {
-        super(null); // no parent class loader, we delegate to repository class loaders
+
+        // no parent class loader, we delegate to repository class loaders
+        super(NO_URLS, null);
 
         this.classLoaderProvider = classLoaderProvider;
         this.parent = parent;
@@ -85,6 +90,16 @@ class RepositoryClassLoaderFacade extends ClassLoader {
         return this.classPath.clone();
     }
 
+    @Override
+    public URL[] getURLs() {
+        try {
+            return getDelegateClassLoader().getURLs();
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to get URLs", re);
+            return NO_URLS;
+        }
+    }
+
     protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
         try {
             return this.getDelegateClassLoader().loadClass(name);
@@ -103,7 +118,7 @@ class RepositoryClassLoaderFacade extends ClassLoader {
         }
     }
 
-    protected Enumeration findResources(String name) throws IOException {
+    public Enumeration findResources(String name) throws IOException {
         try {
             return this.getDelegateClassLoader().getResources(name);
         } catch (RepositoryException re) {
@@ -171,7 +186,7 @@ class RepositoryClassLoaderFacade extends ClassLoader {
         return this.session;
     }
 
-    private ClassLoader getDelegateClassLoader() throws RepositoryException {
+    private DynamicRepositoryClassLoader getDelegateClassLoader() throws RepositoryException {
         if (this.delegate != null) {
             if (this.delegate.isDirty()) {
                 this.delegate = this.delegate.reinstantiate(this.getSession(), this.parent);

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 34/44: [maven-release-plugin] prepare for next development iteration

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit cd4e1cc8cb2ad5d29eec9e0471b82a9dde97d504
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 4 15:21:53 2008 +0000

    [maven-release-plugin] prepare for next development iteration
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663195 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2862f13..183cf56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
     </parent>
 
     <artifactId>org.apache.sling.jcr.classloader</artifactId>
-    <version>2.0.0-incubator</version>
+    <version>2.0.1-incubator-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <name>Sling - Repository ClassLoader</name>
@@ -38,9 +38,9 @@
     </description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</developerConnection>
-        <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/classloader</url>
     </scm>
 
     <build>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 40/44: SLING-521: Separate between notice files for bin and src dists.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 4b46564630ebaaf389018ecb31f02c761083d523
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Jun 13 13:43:34 2008 +0000

    SLING-521: Separate between notice files for bin and src dists.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@667538 13f79535-47bb-0310-9956-ffa450edef68
---
 README.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/README.txt b/README.txt
index 2c022b7..68c85a7 100644
--- a/README.txt
+++ b/README.txt
@@ -1,7 +1,8 @@
 Apache Sling JCR Classloader
 
-WE NEED A LOT MORE HERE!!!!!!!!!!!!!!!!!!
-
+Provides Support for delegate class loaders built dynamically.
+Delegate class loaders supported are generic ClassLoader, OSGi
+bundles and repository class loader.
 
 Disclaimer
 ==========

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 36/44: Fix reference to parent pom.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 9d580ae52853fc3ca1c2bf75b43c310e23bc1471
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Jun 5 05:51:38 2008 +0000

    Fix reference to parent pom.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663458 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3a369ce..7cd6b0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>1-incubator</version>
+        <version>2-incubator-SNAPSHOT</version>
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 11/44: SLING-83 Fix SVN location, project name and java packages

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 35062bd44b1e5a1a75e5bc87eb045187b8e08e5f
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Tue Nov 6 12:14:04 2007 +0000

    SLING-83 Fix SVN location, project name and java packages
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@592400 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                    | 14 +++++---------
 .../internal/RepositoryClassLoaderProviderImpl.java        |  2 +-
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/pom.xml b/pom.xml
index ec2ab77..50c8386 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>sling-jackrabbit-classloader</artifactId>
+    <artifactId>jcr.classloader</artifactId>
     <version>2.0.0-incubator-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
@@ -41,13 +41,13 @@
 
     <scm>
         <connection>
-            scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader
+            scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
         </connection>
         <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader
+            scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
         </developerConnection>
         <url>
-            http://svn.apache.org/viewvc/incubator/sling/trunk/jackrabbit-classloader
+            http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/classloader
         </url>
     </scm>
 
@@ -58,10 +58,6 @@
                 <artifactId>maven-scr-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.apache.sling</groupId>
-                <artifactId>maven-sling-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <extensions>true</extensions>
@@ -86,7 +82,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>sling-jackrabbit-api</artifactId>
+            <artifactId>jcr.api</artifactId>
             <version>2.0.0-incubator-SNAPSHOT</version>
         </dependency>
         <dependency>
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
index 1d77462..3ddcad5 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -27,7 +27,7 @@ import javax.jcr.SimpleCredentials;
 
 import org.apache.commons.collections.BidiMap;
 import org.apache.commons.collections.bidimap.DualHashBidiMap;
-import org.apache.sling.jcr.SlingRepository;
+import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.jcr.classloader.RepositoryClassLoaderProvider;
 import org.osgi.framework.Bundle;
 import org.osgi.service.component.ComponentContext;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 03/44: Fix scm settings

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 04ddd7299e879112abd4d68dfdcf79b7a7b3be80
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Mon Sep 10 14:39:14 2007 +0000

    Fix scm settings
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574263 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 133f6ac..eda1f0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,9 +37,15 @@
     </description>
 
     <scm>
-        <url>http://svn.day.com/repos/sling/trunk/jackrabbit-classloader</url>
-        <connection>scm:svn:${scm.url}</connection>
-        <developerConnection>scm:svn:${scm.url}</developerConnection>
+        <connection>
+            scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader
+        </connection>
+        <developerConnection>
+            scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader
+        </developerConnection>
+        <url>
+            http://svn.apache.org/viewvc/incubator/sling/trunk/jackrabbit-classloader
+        </url>
     </scm>
 
     <build>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 05/44: Fix license headers.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 9dfa564c13afff6f812615eace5a0b43d9ddd1b4
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Sep 12 05:54:54 2007 +0000

    Fix license headers.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574792 13f79535-47bb-0310-9956-ffa450edef68
---
 .../classloader/RepositoryClassLoaderProvider.java |  31 ++---
 .../internal/BundleProxyClassLoader.java           |  59 +++++-----
 .../internal/RepositoryClassLoaderFacade.java      | 127 +++++++++++----------
 .../RepositoryClassLoaderProviderImpl.java         | 103 +++++++++--------
 4 files changed, 166 insertions(+), 154 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
index cd2f256..eb41324 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
@@ -1,17 +1,20 @@
 /*
- * Copyright 2007 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at 
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.sling.jcr.classloader;
 
@@ -22,7 +25,7 @@ import javax.jcr.RepositoryException;
  */
 public interface RepositoryClassLoaderProvider {
 
-    ClassLoader getClassLoader(String owner) throws RepositoryException;    
+    ClassLoader getClassLoader(String owner) throws RepositoryException;
     void ungetClassLoader(ClassLoader classLoader);
-    
+
 }
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
index e77a086..8275a5a 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
@@ -1,17 +1,20 @@
 /*
- * Copyright 2007 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at 
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.sling.jcr.classloader.internal;
 
@@ -28,45 +31,45 @@ import org.osgi.framework.Bundle;
 
     private Bundle bundle;
     private ClassLoader parent;
-        
+
     public BundleProxyClassLoader(Bundle bundle) {
         this.bundle = bundle;
     }
-    
+
     public BundleProxyClassLoader(Bundle bundle, ClassLoader parent) {
         super(parent);
         this.parent = parent;
         this.bundle = bundle;
     }
 
-    // Note: Both ClassLoader.getResources(...) and bundle.getResources(...) consult 
-    // the boot classloader. As a result, BundleProxyClassLoader.getResources(...) 
-    // might return duplicate results from the boot classloader. Prior to Java 5 
+    // Note: Both ClassLoader.getResources(...) and bundle.getResources(...) consult
+    // the boot classloader. As a result, BundleProxyClassLoader.getResources(...)
+    // might return duplicate results from the boot classloader. Prior to Java 5
     // Classloader.getResources was marked final. If your target environment requires
-    // at least Java 5 you can prevent the occurence of duplicate boot classloader 
-    // resources by overriding ClassLoader.getResources(...) instead of 
-    // ClassLoader.findResources(...).   
+    // 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 {
-        return bundle.getResources(name);
+        return this.bundle.getResources(name);
     }
-    
+
     public URL findResource(String name) {
-        return bundle.getResource(name);
+        return this.bundle.getResource(name);
     }
 
     public Class findClass(String name) throws ClassNotFoundException {
-        return bundle.loadClass(name);
+        return this.bundle.loadClass(name);
     }
-    
+
     public URL getResource(String name) {
-        return (parent == null) ? findResource(name) : super.getResource(name);
+        return (this.parent == null) ? this.findResource(name) : super.getResource(name);
     }
 
     protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
-        Class clazz = (parent == null) ? findClass(name) : super.loadClass(name, false);
+        Class clazz = (this.parent == null) ? this.findClass(name) : super.loadClass(name, false);
         if (resolve)
             super.resolveClass(clazz);
-        
+
         return clazz;
     }
 }
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
index e9767dc..056707d 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
@@ -1,17 +1,20 @@
 /*
- * Copyright 2007 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at 
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.sling.jcr.classloader.internal;
 
@@ -33,14 +36,14 @@ class RepositoryClassLoaderFacade extends ClassLoader {
 
     /** default log */
     private static final Logger log = LoggerFactory.getLogger(RepositoryClassLoaderFacade.class);
-    
+
     private RepositoryClassLoaderProviderImpl classLoaderProvider;
     private ClassLoader parent;
     private String sessionOwner;
     private Session session;
     private String[] classPath;
     private DynamicRepositoryClassLoader delegate;
-    
+
     /**
      * The reference counter. If not greater than zero, there are this
      * number of (assumed) life references.
@@ -56,7 +59,7 @@ class RepositoryClassLoaderFacade extends ClassLoader {
             String sessionOwner,
             String[] classPath) {
         super(null); // no parent class loader, we delegate to repository class loaders
-        
+
         this.classLoaderProvider = classLoaderProvider;
         this.parent = parent;
         this.classPath = classPath;
@@ -65,68 +68,68 @@ class RepositoryClassLoaderFacade extends ClassLoader {
 
     public void addPath(String path) {
         // create new class path
-        String[] newClassPath = new String[classPath.length+1];
-        System.arraycopy(classPath, 0, newClassPath, 0, classPath.length);
-        newClassPath[classPath.length] = path;
-        classPath = newClassPath;
-        
+        String[] newClassPath = new String[this.classPath.length+1];
+        System.arraycopy(this.classPath, 0, newClassPath, 0, this.classPath.length);
+        newClassPath[this.classPath.length] = path;
+        this.classPath = newClassPath;
+
         // destroy the delegate and have a new one created
-        if (delegate != null) {
-            DynamicRepositoryClassLoader oldLoader = delegate;
-            delegate = null;
+        if (this.delegate != null) {
+            DynamicRepositoryClassLoader oldLoader = this.delegate;
+            this.delegate = null;
             oldLoader.destroy();
         }
     }
-    
+
     public String[] getClassPath() {
-        return (String[]) classPath.clone();
+        return this.classPath.clone();
     }
-    
+
     protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
         try {
-            return getDelegateClassLoader().loadClass(name);
+            return this.getDelegateClassLoader().loadClass(name);
         } catch (RepositoryException re) {
             log.error("Cannot get repository class loader to load class " + name, re);
             throw new ClassNotFoundException(name);
         }
     }
-    
+
     public URL getResource(String name) {
         try {
-            return getDelegateClassLoader().getResource(name);
+            return this.getDelegateClassLoader().getResource(name);
         } catch (RepositoryException re) {
             log.error("Cannot get repository class loader to get resource " + name, re);
             return null;
         }
     }
-    
+
     protected Enumeration findResources(String name) throws IOException {
         try {
-            return getDelegateClassLoader().getResources(name);
+            return this.getDelegateClassLoader().getResources(name);
         } catch (RepositoryException re) {
             throw (IOException) new IOException("Cannot lookup " + name).initCause(re);
         }
     }
-    
+
     //---------- Reference counting support -----------------------------------
-    
+
     /* package */ void destroy() {
-        if (delegate != null) {
-            delegate.destroy();
-            delegate = null;
+        if (this.delegate != null) {
+            this.delegate.destroy();
+            this.delegate = null;
         }
 
-        if (session != null) {
-            session.logout();
-            session = null;
+        if (this.session != null) {
+            this.session.logout();
+            this.session = null;
         }
     }
-    
+
     /**
      * Increases the reference counter of this class loader.
      */
     /* package */void ref() {
-        refCtr++;
+        this.refCtr++;
     }
 
     /**
@@ -135,7 +138,7 @@ class RepositoryClassLoaderFacade extends ClassLoader {
      * already been destroyed by calling the {@link #destroy()} method.
      */
     /* package */void deref() {
-        refCtr--;
+        this.refCtr--;
 
         // destroy if the loader should be destroyed and no refs exist
 //        if (refCtr <= 0 /* && destroyed */ ) {
@@ -144,39 +147,39 @@ class RepositoryClassLoaderFacade extends ClassLoader {
     }
 
     //---------- internal -----------------------------------------------------
-    
+
     private Session getSession() throws RepositoryException {
         // check current session
-        if (session != null) {
-            if (session.isLive()) {
-                return session;
+        if (this.session != null) {
+            if (this.session.isLive()) {
+                return this.session;
             }
-        
+
             // drop delegate
-            if (delegate != null) {
-                delegate.destroy();
-                delegate = null;
+            if (this.delegate != null) {
+                this.delegate.destroy();
+                this.delegate = null;
             }
-            
+
             // current session is not live anymore, drop
-            session.logout();
-            session = null;
+            this.session.logout();
+            this.session = null;
         }
-        
+
         // no session currently, acquire and return
-        session = classLoaderProvider.getSession(sessionOwner);
-        return session;
+        this.session = this.classLoaderProvider.getSession(this.sessionOwner);
+        return this.session;
     }
 
     private ClassLoader getDelegateClassLoader() throws RepositoryException {
-        if (delegate != null) {
-            if (delegate.isDirty()) {
-                delegate = delegate.reinstantiate(getSession(), parent);
+        if (this.delegate != null) {
+            if (this.delegate.isDirty()) {
+                this.delegate = this.delegate.reinstantiate(this.getSession(), this.parent);
             }
         } else {
-            delegate = new DynamicRepositoryClassLoader(getSession(), classPath, parent);
+            this.delegate = new DynamicRepositoryClassLoader(this.getSession(), this.classPath, this.parent);
         }
-        
-        return delegate;
+
+        return this.delegate;
     }
 }
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
index b65c9cd..1d77462 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -1,17 +1,20 @@
 /*
- * Copyright 2007 The Apache Software Foundation.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at 
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 package org.apache.sling.jcr.classloader.internal;
 
@@ -31,7 +34,7 @@ import org.osgi.service.component.ComponentContext;
 
 /**
  * The <code>RepositoryClassLoaderProviderImpl</code> TODO
- * 
+ *
  * @scr.component immediate="false" label="%loader.name"
  *      description="%loader.description"
  * @scr.property name="service.vendor" value="The Apache Software Foundation"
@@ -43,49 +46,49 @@ public class RepositoryClassLoaderProviderImpl
         implements RepositoryClassLoaderProvider {
 
     /**
-     * @scr.property values0="/classes" 
+     * @scr.property values0="/classes"
      */
     public static final String CLASS_PATH_PROP = "classpath";
-    
+
     /**
      * @scr.property value="admin"
      */
     public static final String OWNER_PROP = "owner";
-    
+
     // JSP Class Loader class path will be injected to the class loader !
     private static final String[] CLASS_PATH_DEFAULT = { };
-    
+
     private static final String OWNER_DEFAULT = "admin";
-    
+
     private BidiMap loaders = new DualHashBidiMap();
-    
+
     /**
      * @scr.reference
      */
     private SlingRepository repository;
-    
+
     private String[] classPath;
-    
+
     private String classLoaderOwner;
-    
+
     private BundleProxyClassLoader parent;
 
     public ClassLoader getClassLoader(String owner) {
-        String classLoaderOwner = getClassLoaderOwner(owner);
+        String classLoaderOwner = this.getClassLoaderOwner(owner);
         RepositoryClassLoaderFacade loader =
-            (RepositoryClassLoaderFacade) loaders.get(classLoaderOwner);
+            (RepositoryClassLoaderFacade) this.loaders.get(classLoaderOwner);
         if (loader == null) {
-            loader = new RepositoryClassLoaderFacade(this, parent,
-                classLoaderOwner, classPath);
-            loaders.put(classLoaderOwner, loader);
+            loader = new RepositoryClassLoaderFacade(this, this.parent,
+                classLoaderOwner, this.classPath);
+            this.loaders.put(classLoaderOwner, loader);
         }
 
         // extend reference counter
         loader.ref();
-        
+
         return loader;
     }
-    
+
     public void ungetClassLoader(ClassLoader classLoader) {
         if (classLoader instanceof RepositoryClassLoaderFacade) {
             RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) classLoader;
@@ -94,16 +97,16 @@ public class RepositoryClassLoaderProviderImpl
     }
 
     //---------- Support for RepositoryClassLoaderFacade ----------------------
-    
+
     /* package */ Session getSession(String owner) throws RepositoryException {
         // get an administrative session for potentiall impersonation
-        Session admin = repository.loginAdministrative(null);
-        
+        Session admin = this.repository.loginAdministrative(null);
+
         // do use the admin session, if the admin's user id is the same as owner
         if (admin.getUserID().equals(owner)) {
             return admin;
         }
-        
+
         // else impersonate as the owner and logout the admin session again
         try {
             return admin.impersonate(new SimpleCredentials(owner, new char[0]));
@@ -113,38 +116,38 @@ public class RepositoryClassLoaderProviderImpl
             }
         }
     }
-    
+
     //---------- SCR Integration ----------------------------------------------
-    
+
     protected void activate(ComponentContext componentContext) {
         Dictionary properties = componentContext.getProperties();
-        
+
         Object prop = properties.get(CLASS_PATH_PROP);
-        classPath = (prop instanceof String[]) ? (String[]) prop : CLASS_PATH_DEFAULT;
-        
+        this.classPath = (prop instanceof String[]) ? (String[]) prop : CLASS_PATH_DEFAULT;
+
         prop = properties.get(OWNER_PROP);
-        classLoaderOwner = (prop instanceof String)? (String) prop : OWNER_DEFAULT;
-        
+        this.classLoaderOwner = (prop instanceof String)? (String) prop : OWNER_DEFAULT;
+
         Bundle owner = componentContext.getUsingBundle();
-        
+
         // if there is no using bundle, we have an error !!
         if (owner == null) {
             throw new IllegalStateException("Using Bundle expected. Is this a servicefactory component ?");
         }
-        
-        parent = new BundleProxyClassLoader(owner, null);
+
+        this.parent = new BundleProxyClassLoader(owner, null);
     }
 
     protected void deactivate(ComponentContext componentContext) {
-        for (Iterator ci=loaders.values().iterator(); ci.hasNext(); ) {
+        for (Iterator ci=this.loaders.values().iterator(); ci.hasNext(); ) {
             RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) ci.next();
             cl.destroy();
             ci.remove();
         }
-        
-        parent = null;
+
+        this.parent = null;
     }
-  
+
     protected void bindRepository(SlingRepository repository) {
         this.repository = repository;
     }
@@ -152,10 +155,10 @@ public class RepositoryClassLoaderProviderImpl
     protected void unbindRepository(SlingRepository repository) {
         this.repository = null;
     }
-    
+
     //---------- internal -----------------------------------------------------
-    
+
     private String getClassLoaderOwner(String userId) {
-        return classLoaderOwner; 
+        return this.classLoaderOwner;
     }
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 24/44: Eclude maven-eclipse.xml generated by the maven eclipse plugin.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 33c124ca827607ad82597f863a26b34223bb8d85
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon May 5 07:09:17 2008 +0000

    Eclude maven-eclipse.xml generated by the maven eclipse plugin.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@653322 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 08/44: SLING-18 scr plugin isn't enabled in jackrabbit-classloader, scripting-core and scripting-jsp

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 2b850abba9bcea1ad5673b0c94992095720edc22
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Sun Sep 23 13:37:22 2007 +0000

    SLING-18 scr plugin isn't enabled in jackrabbit-classloader, scripting-core and scripting-jsp
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@578572 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pom.xml b/pom.xml
index 4f68e76..a70fcfe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,10 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.sling</groupId>
                 <artifactId>maven-sling-plugin</artifactId>
             </plugin>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 21/44: Move licence and notice to top level dir.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 1d30440cde806d1d1b92fd68125e6fbd419f0eef
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Apr 10 15:18:37 2008 +0000

    Move licence and notice to top level dir.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@646840 13f79535-47bb-0310-9956-ffa450edef68
---
 src/main/resources/META-INF/LICENSE => LICENSE | 0
 src/main/resources/META-INF/NOTICE => NOTICE   | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/META-INF/LICENSE b/LICENSE
similarity index 100%
rename from src/main/resources/META-INF/LICENSE
rename to LICENSE
diff --git a/src/main/resources/META-INF/NOTICE b/NOTICE
similarity index 100%
rename from src/main/resources/META-INF/NOTICE
rename to NOTICE

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 13/44: SLING-83 make artifactId fully qualified

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 81ea614bf1382c339f20eb1cbf162ce3ef5ac241
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Wed Nov 7 10:41:18 2007 +0000

    SLING-83 make artifactId fully qualified
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@592691 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5f501ba..fc3f571 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
-    <artifactId>jcr.classloader</artifactId>
+    <artifactId>org.apache.sling.jcr.classloader</artifactId>
     <version>2.0.0-incubator-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
@@ -82,7 +82,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>jcr.api</artifactId>
+            <artifactId>org.apache.sling.jcr.api</artifactId>
             <version>2.0.0-incubator-SNAPSHOT</version>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 33/44: [maven-release-plugin] prepare release org.apache.sling.jcr.classloader-2.0.0-incubator

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 46c88806ab9fb55cd226d8d408b6c37076c553ea
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 4 15:21:43 2008 +0000

    [maven-release-plugin] prepare release org.apache.sling.jcr.classloader-2.0.0-incubator
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663193 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/pom.xml b/pom.xml
index 66e0134..2862f13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
     </parent>
 
     <artifactId>org.apache.sling.jcr.classloader</artifactId>
-    <version>2.0.0-incubator-SNAPSHOT</version>
+    <version>2.0.0-incubator</version>
     <packaging>bundle</packaging>
 
     <name>Sling - Repository ClassLoader</name>
@@ -38,15 +38,9 @@
     </description>
 
     <scm>
-        <connection>
-            scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
-        </connection>
-        <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
-        </developerConnection>
-        <url>
-            http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/classloader
-        </url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.0-incubator</url>
     </scm>
 
     <build>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 14/44: Add version attribute to package exports

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit c4dadf9b62783142128b0225fde056e6f9528758
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Wed Nov 7 21:43:56 2007 +0000

    Add version attribute to package exports
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@592914 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index fc3f571..85b987e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
                             sling,jcr,jackrabbit
                         </Bundle-Category>
                         <Export-Package>
-                            org.apache.sling.jcr.classloader,
+                            org.apache.sling.jcr.classloader;version=${pom.version},
                             org.apache.jackrabbit.classloader;
                             org.apache.jackrabbit.net;version=1.3
                         </Export-Package>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 17/44: SLING-176 Include jackrabbit-jcr-commons classes in the bundle as jcr/api does not provide them any more.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 930a6c025d7e23b0192afa09d2533d2b0ba28597
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Wed Jan 23 17:40:26 2008 +0000

    SLING-176 Include jackrabbit-jcr-commons classes in the bundle as jcr/api
    does not provide them any more.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@614586 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 48 +++++++++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 21 deletions(-)

diff --git a/pom.xml b/pom.xml
index 85b987e..cbd9d8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,25 +1,23 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.sling</groupId>
@@ -69,10 +67,13 @@
                         <Export-Package>
                             org.apache.sling.jcr.classloader;version=${pom.version},
                             org.apache.jackrabbit.classloader;
-                            org.apache.jackrabbit.net;version=1.3
+                            org.apache.jackrabbit.net;version=1.4
                         </Export-Package>
                         <Private-Package>
-                            org.apache.sling.jcr.classloader.internal.*
+                            org.apache.sling.jcr.classloader.internal.*,
+                            org.apache.jackrabbit;
+                            org.apache.jackrabbit.name;
+                            org.apache.jackrabbit.util;split-package:=merge-first
                         </Private-Package>
                     </instructions>
                 </configuration>
@@ -91,6 +92,11 @@
             <scope>compile</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-jcr-commons</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
         </dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 26/44: SLING-479 Fix @scr.tags: - normalize metadata attribute settings to "no" - ensure proper metadata and ds attributes are set - create metatype.properties files where required - fix metatype.properties files

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit d9ad7c57142176c0cbdb30864ee2f7cd124015ef
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Tue May 27 10:42:20 2008 +0000

    SLING-479 Fix @scr.tags:
      - normalize metadata attribute settings to "no"
      - ensure proper metadata and ds attributes are set
      - create metatype.properties files where required
      - fix metatype.properties files
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@660460 13f79535-47bb-0310-9956-ffa450edef68
---
 .../jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
index 6ed0f35..ed7506b 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -51,7 +51,7 @@ public class RepositoryClassLoaderProviderImpl
     public static final String CLASS_PATH_PROP = "classpath";
 
     /**
-     * @scr.property value="admin"
+     * @scr.property valueRef="OWNER_DEFAULT"
      */
     public static final String OWNER_PROP = "owner";
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 30/44: SLING-495 - NOTICE files regenerated with revision 663097 changes

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit ede0ef1bd0013033f9991e12348842744ad61cae
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Wed Jun 4 13:50:29 2008 +0000

    SLING-495 - NOTICE files regenerated with revision 663097 changes
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663098 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/NOTICE b/NOTICE
index 2204b44..7182d46 100644
--- a/NOTICE
+++ b/NOTICE
@@ -6,6 +6,6 @@ Copyright 2008 The Apache Software Foundation
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
-Based on source code originally developed by
-Day Software (http://www.day.com/).
+Apache Sling is based on source code originally developed 
+by Day Software (http://www.day.com/).
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 18/44: Use OSGi core and cmpendium jars from Felix project.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 6a2d9a9431fce5e7eef3ed269bdf6409e93c671c
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jan 28 08:17:53 2008 +0000

    Use OSGi core and cmpendium jars from Felix project.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@615754 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index cbd9d8c..a0e007b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,12 +113,12 @@
             <artifactId>commons-collections</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi_R4_core</artifactId>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi_R4_compendium</artifactId>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
         </dependency>
     </dependencies>
 </project>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 37/44: SLING-521: Restore more notice files.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 37da05454e7e3027fb62bbe2a499c383a8480b91
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 10 15:25:55 2008 +0000

    SLING-521: Restore more notice files.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@666152 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/NOTICE b/NOTICE
index 7182d46..9e1d86d 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,11 +1,9 @@
-Apache Sling - Repository ClassLoader
-
-Apache Sling
-Copyright 2008 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
+Apache Sling JCR Classloader
+Copyright 2007-2008 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).
 
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 38/44: SLING-471 Apply patch by Niklas Gustavsson (slightly modified)

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit f1aeeacdbd13417136fe104590677e0b01e164c8
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jun 12 14:41:30 2008 +0000

    SLING-471 Apply patch by Niklas Gustavsson (slightly modified)
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@667110 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 7cd6b0e..300f2fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,7 +113,7 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>jcl104-over-slf4j</artifactId>
+            <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
             <groupId>commons-collections</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 31/44: Use released version of parent pom.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 1e54dd45078c47ac7081fdf49540776b416de778
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 4 14:16:40 2008 +0000

    Use released version of parent pom.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663109 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 965e4c3..85d0363 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>1-incubator-SNAPSHOT</version>
+        <version>1-incubator</version>
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 27/44: SLING-483: Add excludes for javadocs (WiP)

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 591483310ddd126ca0690676629dc37b6de7aa31
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri May 30 09:21:49 2008 +0000

    SLING-483: Add excludes for javadocs (WiP)
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@661611 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/pom.xml b/pom.xml
index 05d2b1f..965e4c3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,6 +80,19 @@
             </plugin>
         </plugins>
     </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <excludePackageNames>
+                        org.apache.sling.jcr.classloader.internal
+                    </excludePackageNames>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
     <dependencies>
         <dependency>
             <groupId>org.apache.sling</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 07/44: Fix license headers.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 09b3323eee8650ffbbe767ee5f837bc3353625d9
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Sep 12 07:04:23 2007 +0000

    Fix license headers.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574808 13f79535-47bb-0310-9956-ffa450edef68
---
 .../OSGI-INF/metatype/metatype.properties          | 29 ++++++++++++----------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/src/main/resources/OSGI-INF/metatype/metatype.properties b/src/main/resources/OSGI-INF/metatype/metatype.properties
index b2c164e..7eb0e3e 100644
--- a/src/main/resources/OSGI-INF/metatype/metatype.properties
+++ b/src/main/resources/OSGI-INF/metatype/metatype.properties
@@ -1,17 +1,20 @@
 #
-#    Copyright 2007 The Apache Software Foundation.
-#    
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at 
-#    
-#    http://www.apache.org/licenses/LICENSE-2.0
-#    
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
 #
 
 #

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 42/44: [maven-release-plugin] copy for tag org.apache.sling.jcr.classloader-2.0.2-incubator

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit c423fb9c99abb6cb53bd199823de94e989187ad5
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jun 17 07:16:19 2008 +0000

    [maven-release-plugin]  copy for tag org.apache.sling.jcr.classloader-2.0.2-incubator
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator@668450 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index 300f2fc..4c31304 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,12 +22,12 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>2-incubator-SNAPSHOT</version>
+        <version>3-incubator</version>
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>org.apache.sling.jcr.classloader</artifactId>
-    <version>2.0.1-incubator-SNAPSHOT</version>
+    <version>2.0.2-incubator</version>
     <packaging>bundle</packaging>
 
     <name>Sling - Repository ClassLoader</name>
@@ -38,9 +38,9 @@
     </description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader</developerConnection>
-        <url>http://svn.apache.org/viewvc/incubator/sling/trunk/jcr/classloader</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</url>
     </scm>
 
     <build>
@@ -91,7 +91,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.0.1-incubator-SNAPSHOT</version>
+            <version>2.0.2-incubator</version>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 25/44: SLING-442: Clean up exports, imports, dependencies and used plugins.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 8f8460be337b2099d9cf7d63045d9d600136c1d6
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon May 26 15:06:55 2008 +0000

    SLING-442: Clean up exports, imports, dependencies and used plugins.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@660208 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a0e007b..05d2b1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,7 +98,7 @@
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
+            <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
             <groupId>junit</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 12/44: SLING-83: Fix relative paths to parent poms.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit d5ebe13b9d00fb3aa935bc263f9ad3eab8b54d73
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Nov 7 08:13:27 2007 +0000

    SLING-83: Fix relative paths to parent poms.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@592646 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 50c8386..5f501ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
         <version>1-incubator-SNAPSHOT</version>
-        <relativePath>../parent/pom.xml</relativePath>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>jcr.classloader</artifactId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 29/44: SLING-495 - NOTICE files updated according to changes in revision 662927

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 0ba94804d2aa6ace96e7216bcd5daf1453cc8e6c
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Wed Jun 4 08:05:20 2008 +0000

    SLING-495 - NOTICE files updated according to changes in revision 662927
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663025 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/NOTICE b/NOTICE
index 43645b7..2204b44 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,19 +1,11 @@
 Apache Sling - Repository ClassLoader
-Copyright 2007-2008 The Apache Software Foundation
 
-Based on source code originally developed by
-Day Software (http://www.day.com/).
+Apache Sling
+Copyright 2008 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-See http://www.apache.org/legal/3party.html for the ASF policy on 
-third-party licenses.
 
-This product includes software developed under the JCP from 
-http://www.jcp.org. Copyright 2005 Day Management AG.
-
-This product includes software developed at http://slf4j.org, distributed
-under the slf4j MIT-like license (http://slf4j.org/license.html). 
+Based on source code originally developed by
+Day Software (http://www.day.com/).
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 01/44: Import initial Sling source

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 9609c023fb4c4e477228a6c374d8c815dfa152b6
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Mon Sep 10 08:50:41 2007 +0000

    Import initial Sling source
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574179 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            | 108 +++++++++++
 .../classloader/RepositoryClassLoaderProvider.java |  28 +++
 .../internal/BundleProxyClassLoader.java           |  72 ++++++++
 .../internal/RepositoryClassLoaderFacade.java      | 182 +++++++++++++++++++
 .../RepositoryClassLoaderProviderImpl.java         | 161 ++++++++++++++++
 src/main/resources/META-INF/LICENSE                | 202 +++++++++++++++++++++
 src/main/resources/META-INF/NOTICE                 |   8 +
 .../OSGI-INF/metatype/metatype.properties          |  41 +++++
 8 files changed, 802 insertions(+)

diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..133f6ac
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Copyright 2007 The Apache Software Foundation.
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at 
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>1-incubator-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>sling-jackrabbit-classloader</artifactId>
+    <version>2.0.0-incubator-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <name>Sling - Repository ClassLoader</name>
+    <description>
+        Provides Support for delegate class loaders built dynamically.
+        Delegate class loaders supported are generic ClassLoader, OSGi
+        bundles and repository class loader.
+    </description>
+
+    <scm>
+        <url>http://svn.day.com/repos/sling/trunk/jackrabbit-classloader</url>
+        <connection>scm:svn:${scm.url}</connection>
+        <developerConnection>scm:svn:${scm.url}</developerConnection>
+    </scm>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.sling</groupId>
+                <artifactId>maven-sling-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Category>
+                            sling,jcr,jackrabbit
+                        </Bundle-Category>
+                        <Export-Package>
+                            org.apache.sling.jcr.classloader,
+                            org.apache.jackrabbit.classloader;
+                            org.apache.jackrabbit.net;version=1.3
+                        </Export-Package>
+                        <Private-Package>
+                            org.apache.sling.jcr.classloader.internal.*
+                        </Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>sling-jackrabbit-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-classloader</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl104-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi_R4_core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi_R4_compendium</artifactId>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
new file mode 100644
index 0000000..cd2f256
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.jcr.classloader;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * The <code>RepositoryClassLoaderProvider</code> TODO
+ */
+public interface RepositoryClassLoaderProvider {
+
+    ClassLoader getClassLoader(String owner) throws RepositoryException;    
+    void ungetClassLoader(ClassLoader classLoader);
+    
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
new file mode 100644
index 0000000..e77a086
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+
+import org.osgi.framework.Bundle;
+
+/**
+ * The <code>BundleProxyDelegate</code> TODO
+ */
+/* package */ class BundleProxyClassLoader extends ClassLoader {
+
+    private Bundle bundle;
+    private ClassLoader parent;
+        
+    public BundleProxyClassLoader(Bundle bundle) {
+        this.bundle = bundle;
+    }
+    
+    public BundleProxyClassLoader(Bundle bundle, ClassLoader parent) {
+        super(parent);
+        this.parent = parent;
+        this.bundle = bundle;
+    }
+
+    // Note: Both ClassLoader.getResources(...) and bundle.getResources(...) consult 
+    // the boot classloader. As a result, BundleProxyClassLoader.getResources(...) 
+    // might return duplicate results from the boot classloader. Prior to Java 5 
+    // Classloader.getResources was marked final. If your target environment requires
+    // 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 {
+        return bundle.getResources(name);
+    }
+    
+    public URL findResource(String name) {
+        return bundle.getResource(name);
+    }
+
+    public Class findClass(String name) throws ClassNotFoundException {
+        return bundle.loadClass(name);
+    }
+    
+    public URL getResource(String name) {
+        return (parent == null) ? findResource(name) : super.getResource(name);
+    }
+
+    protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
+        Class clazz = (parent == null) ? findClass(name) : super.loadClass(name, false);
+        if (resolve)
+            super.resolveClass(clazz);
+        
+        return clazz;
+    }
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
new file mode 100644
index 0000000..e9767dc
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
@@ -0,0 +1,182 @@
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.jackrabbit.classloader.DynamicRepositoryClassLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The <code>RepositoryClassLoaderFacade</code> TODO
+ */
+class RepositoryClassLoaderFacade extends ClassLoader {
+
+    /** default log */
+    private static final Logger log = LoggerFactory.getLogger(RepositoryClassLoaderFacade.class);
+    
+    private RepositoryClassLoaderProviderImpl classLoaderProvider;
+    private ClassLoader parent;
+    private String sessionOwner;
+    private Session session;
+    private String[] classPath;
+    private DynamicRepositoryClassLoader delegate;
+    
+    /**
+     * The reference counter. If not greater than zero, there are this
+     * number of (assumed) life references.
+     *
+     * @see #ref()
+     * @see #deref()
+     */
+    private int refCtr = 0;
+
+    public RepositoryClassLoaderFacade(
+            RepositoryClassLoaderProviderImpl classLoaderProvider,
+            ClassLoader parent,
+            String sessionOwner,
+            String[] classPath) {
+        super(null); // no parent class loader, we delegate to repository class loaders
+        
+        this.classLoaderProvider = classLoaderProvider;
+        this.parent = parent;
+        this.classPath = classPath;
+        this.sessionOwner = sessionOwner;
+    }
+
+    public void addPath(String path) {
+        // create new class path
+        String[] newClassPath = new String[classPath.length+1];
+        System.arraycopy(classPath, 0, newClassPath, 0, classPath.length);
+        newClassPath[classPath.length] = path;
+        classPath = newClassPath;
+        
+        // destroy the delegate and have a new one created
+        if (delegate != null) {
+            DynamicRepositoryClassLoader oldLoader = delegate;
+            delegate = null;
+            oldLoader.destroy();
+        }
+    }
+    
+    public String[] getClassPath() {
+        return (String[]) classPath.clone();
+    }
+    
+    protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
+        try {
+            return getDelegateClassLoader().loadClass(name);
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to load class " + name, re);
+            throw new ClassNotFoundException(name);
+        }
+    }
+    
+    public URL getResource(String name) {
+        try {
+            return getDelegateClassLoader().getResource(name);
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to get resource " + name, re);
+            return null;
+        }
+    }
+    
+    protected Enumeration findResources(String name) throws IOException {
+        try {
+            return getDelegateClassLoader().getResources(name);
+        } catch (RepositoryException re) {
+            throw (IOException) new IOException("Cannot lookup " + name).initCause(re);
+        }
+    }
+    
+    //---------- Reference counting support -----------------------------------
+    
+    /* package */ void destroy() {
+        if (delegate != null) {
+            delegate.destroy();
+            delegate = null;
+        }
+
+        if (session != null) {
+            session.logout();
+            session = null;
+        }
+    }
+    
+    /**
+     * Increases the reference counter of this class loader.
+     */
+    /* package */void ref() {
+        refCtr++;
+    }
+
+    /**
+     * Decreases the reference counter of this class loader and calls the
+     * base class <code>destroy()</code> method, if this class loader has
+     * already been destroyed by calling the {@link #destroy()} method.
+     */
+    /* package */void deref() {
+        refCtr--;
+
+        // destroy if the loader should be destroyed and no refs exist
+//        if (refCtr <= 0 /* && destroyed */ ) {
+//            destroy();
+//        }
+    }
+
+    //---------- internal -----------------------------------------------------
+    
+    private Session getSession() throws RepositoryException {
+        // check current session
+        if (session != null) {
+            if (session.isLive()) {
+                return session;
+            }
+        
+            // drop delegate
+            if (delegate != null) {
+                delegate.destroy();
+                delegate = null;
+            }
+            
+            // current session is not live anymore, drop
+            session.logout();
+            session = null;
+        }
+        
+        // no session currently, acquire and return
+        session = classLoaderProvider.getSession(sessionOwner);
+        return session;
+    }
+
+    private ClassLoader getDelegateClassLoader() throws RepositoryException {
+        if (delegate != null) {
+            if (delegate.isDirty()) {
+                delegate = delegate.reinstantiate(getSession(), parent);
+            }
+        } else {
+            delegate = new DynamicRepositoryClassLoader(getSession(), classPath, parent);
+        }
+        
+        return delegate;
+    }
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
new file mode 100644
index 0000000..b65c9cd
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.util.Dictionary;
+import java.util.Iterator;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+
+import org.apache.commons.collections.BidiMap;
+import org.apache.commons.collections.bidimap.DualHashBidiMap;
+import org.apache.sling.jcr.SlingRepository;
+import org.apache.sling.jcr.classloader.RepositoryClassLoaderProvider;
+import org.osgi.framework.Bundle;
+import org.osgi.service.component.ComponentContext;
+
+/**
+ * The <code>RepositoryClassLoaderProviderImpl</code> TODO
+ * 
+ * @scr.component immediate="false" label="%loader.name"
+ *      description="%loader.description"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="service.description"
+ *      value="Provides Repository ClassLoaders"
+ * @scr.service servicefactory="true"
+ */
+public class RepositoryClassLoaderProviderImpl
+        implements RepositoryClassLoaderProvider {
+
+    /**
+     * @scr.property values0="/classes" 
+     */
+    public static final String CLASS_PATH_PROP = "classpath";
+    
+    /**
+     * @scr.property value="admin"
+     */
+    public static final String OWNER_PROP = "owner";
+    
+    // JSP Class Loader class path will be injected to the class loader !
+    private static final String[] CLASS_PATH_DEFAULT = { };
+    
+    private static final String OWNER_DEFAULT = "admin";
+    
+    private BidiMap loaders = new DualHashBidiMap();
+    
+    /**
+     * @scr.reference
+     */
+    private SlingRepository repository;
+    
+    private String[] classPath;
+    
+    private String classLoaderOwner;
+    
+    private BundleProxyClassLoader parent;
+
+    public ClassLoader getClassLoader(String owner) {
+        String classLoaderOwner = getClassLoaderOwner(owner);
+        RepositoryClassLoaderFacade loader =
+            (RepositoryClassLoaderFacade) loaders.get(classLoaderOwner);
+        if (loader == null) {
+            loader = new RepositoryClassLoaderFacade(this, parent,
+                classLoaderOwner, classPath);
+            loaders.put(classLoaderOwner, loader);
+        }
+
+        // extend reference counter
+        loader.ref();
+        
+        return loader;
+    }
+    
+    public void ungetClassLoader(ClassLoader classLoader) {
+        if (classLoader instanceof RepositoryClassLoaderFacade) {
+            RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) classLoader;
+            cl.deref();
+        }
+    }
+
+    //---------- Support for RepositoryClassLoaderFacade ----------------------
+    
+    /* package */ Session getSession(String owner) throws RepositoryException {
+        // get an administrative session for potentiall impersonation
+        Session admin = repository.loginAdministrative(null);
+        
+        // do use the admin session, if the admin's user id is the same as owner
+        if (admin.getUserID().equals(owner)) {
+            return admin;
+        }
+        
+        // else impersonate as the owner and logout the admin session again
+        try {
+            return admin.impersonate(new SimpleCredentials(owner, new char[0]));
+        } finally {
+            if (admin != null) {
+                admin.logout();
+            }
+        }
+    }
+    
+    //---------- SCR Integration ----------------------------------------------
+    
+    protected void activate(ComponentContext componentContext) {
+        Dictionary properties = componentContext.getProperties();
+        
+        Object prop = properties.get(CLASS_PATH_PROP);
+        classPath = (prop instanceof String[]) ? (String[]) prop : CLASS_PATH_DEFAULT;
+        
+        prop = properties.get(OWNER_PROP);
+        classLoaderOwner = (prop instanceof String)? (String) prop : OWNER_DEFAULT;
+        
+        Bundle owner = componentContext.getUsingBundle();
+        
+        // if there is no using bundle, we have an error !!
+        if (owner == null) {
+            throw new IllegalStateException("Using Bundle expected. Is this a servicefactory component ?");
+        }
+        
+        parent = new BundleProxyClassLoader(owner, null);
+    }
+
+    protected void deactivate(ComponentContext componentContext) {
+        for (Iterator ci=loaders.values().iterator(); ci.hasNext(); ) {
+            RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) ci.next();
+            cl.destroy();
+            ci.remove();
+        }
+        
+        parent = null;
+    }
+  
+    protected void bindRepository(SlingRepository repository) {
+        this.repository = repository;
+    }
+
+    protected void unbindRepository(SlingRepository repository) {
+        this.repository = null;
+    }
+    
+    //---------- internal -----------------------------------------------------
+    
+    private String getClassLoaderOwner(String userId) {
+        return classLoaderOwner; 
+    }
+}
diff --git a/src/main/resources/META-INF/LICENSE b/src/main/resources/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/src/main/resources/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/src/main/resources/META-INF/NOTICE b/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..4894d83
--- /dev/null
+++ b/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,8 @@
+Apache Sling
+Copyright 2007 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Based on source code originally developed by
+Day Software (http://www.day.com/).
diff --git a/src/main/resources/OSGI-INF/metatype/metatype.properties b/src/main/resources/OSGI-INF/metatype/metatype.properties
new file mode 100644
index 0000000..b2c164e
--- /dev/null
+++ b/src/main/resources/OSGI-INF/metatype/metatype.properties
@@ -0,0 +1,41 @@
+#
+#    Copyright 2007 The Apache Software Foundation.
+#    
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at 
+#    
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+
+#
+# This file contains localization strings for configuration labels and
+# descriptions as used in the metatype.xml descriptor generated by the
+# the Sling SCR plugin
+
+loader.name = Repository Class Loader Factory
+loader.description = Configuration for the Repository Class Loader Factory. This \
+ configuration applies to all clients of the factory even though each Bundle \
+ using the factory retrieves its own factory. The class path of the created \
+ Repository Class Loaders is configurable and the class loaders delegate use \
+ the bundle asking for the factory as the parent class loader.
+
+classpath.name = Class Path
+classpath.description = The class path in the repository to use as the class \
+ path for all created Repository Class Loaders. All Class Loaders are configured \
+ with the same class path. This class path must include any destinations used \
+ by Java compilers writing to the Repository such as the JSP Script Handler, \
+ which by default writes to "/classes". If no class path is defined, the \
+ "/classes" folder is used by defualt.
+
+owner.name = Repository Session User
+owner.description = Name of a user owning the Repository Class Loader sessions. \
+ If this is empty a simple administrative session is used. Otherwise the \
+ administrative session is used to impersonate as the given user.
+ 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 09/44: Remove sling module versions from parent pom to make release management easier. Add some more versions of dependencies to parent pom.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 9aa1c77c4f6170ee7276ffaf9b8dd802e281003a
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Sep 26 09:26:28 2007 +0000

    Remove sling module versions from parent pom to make release management easier.
    Add some more versions of dependencies to parent pom.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@579532 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pom.xml b/pom.xml
index a70fcfe..ec2ab77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>sling-jackrabbit-api</artifactId>
+            <version>2.0.0-incubator-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 43/44: Move Sling to new TLP location

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 3b63ad6b505c579f4606a6858abb6cf12ca70c69
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jun 18 09:21:02 2009 +0000

    Move Sling to new TLP location
    
    git-svn-id: https://svn.eu.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator@785979 13f79535-47bb-0310-9956-ffa450edef68
---
 LICENSE                                            | 202 +++++++++++++++++++++
 NOTICE                                             |   8 +
 README.txt                                         |  39 ++++
 pom.xml                                            | 131 +++++++++++++
 .../classloader/RepositoryClassLoaderProvider.java |  31 ++++
 .../internal/BundleProxyClassLoader.java           |  75 ++++++++
 .../internal/RepositoryClassLoaderFacade.java      | 200 ++++++++++++++++++++
 .../RepositoryClassLoaderProviderImpl.java         | 162 +++++++++++++++++
 src/main/resources/META-INF/DISCLAIMER             |   7 +
 src/main/resources/META-INF/LICENSE                | 202 +++++++++++++++++++++
 src/main/resources/META-INF/NOTICE                 |   8 +
 .../OSGI-INF/metatype/metatype.properties          |  44 +++++
 12 files changed, 1109 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..cc956f5
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,8 @@
+Apache Sling JCR Classloader
+Copyright 2008 The Apache Software Foundation
+
+Apache Sling is based on source code originally developed 
+by Day Software (http://www.day.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..68c85a7
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,39 @@
+Apache Sling JCR Classloader
+
+Provides Support for delegate class loaders built dynamically.
+Delegate class loaders supported are generic ClassLoader, OSGi
+bundles and repository class loader.
+
+Disclaimer
+==========
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
+
+Getting Started
+===============
+
+This component uses a Maven 2 (http://maven.apache.org/) build
+environment. It requires a Java 5 JDK (or higher) and Maven (http://maven.apache.org/)
+2.0.7 or later. We recommend to use the latest Maven version.
+
+If you have Maven 2 installed, you can compile and
+package the jar using the following command:
+
+    mvn package
+
+See the Maven 2 documentation for other build features.
+
+The latest source code for this component is available in the
+Subversion (http://subversion.tigris.org/) source repository of
+the Apache Software Foundation. If you have Subversion installed,
+you can checkout the latest source using the following command:
+
+    svn checkout http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
+
+See the Subversion documentation for other source control features.
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..4c31304
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>3-incubator</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>org.apache.sling.jcr.classloader</artifactId>
+    <version>2.0.2-incubator</version>
+    <packaging>bundle</packaging>
+
+    <name>Sling - Repository ClassLoader</name>
+    <description>
+        Provides Support for delegate class loaders built dynamically.
+        Delegate class loaders supported are generic ClassLoader, OSGi
+        bundles and repository class loader.
+    </description>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator</url>
+    </scm>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Category>
+                            sling,jcr,jackrabbit
+                        </Bundle-Category>
+                        <Export-Package>
+                            org.apache.sling.jcr.classloader;version=${pom.version},
+                            org.apache.jackrabbit.classloader;
+                            org.apache.jackrabbit.net;version=1.4
+                        </Export-Package>
+                        <Private-Package>
+                            org.apache.sling.jcr.classloader.internal.*,
+                            org.apache.jackrabbit;
+                            org.apache.jackrabbit.name;
+                            org.apache.jackrabbit.util;split-package:=merge-first
+                        </Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <excludePackageNames>
+                        org.apache.sling.jcr.classloader.internal
+                    </excludePackageNames>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.api</artifactId>
+            <version>2.0.2-incubator</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-classloader</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-jcr-commons</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
new file mode 100644
index 0000000..eb41324
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/RepositoryClassLoaderProvider.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.classloader;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * The <code>RepositoryClassLoaderProvider</code> TODO
+ */
+public interface RepositoryClassLoaderProvider {
+
+    ClassLoader getClassLoader(String owner) throws RepositoryException;
+    void ungetClassLoader(ClassLoader classLoader);
+
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
new file mode 100644
index 0000000..8275a5a
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/BundleProxyClassLoader.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+
+import org.osgi.framework.Bundle;
+
+/**
+ * The <code>BundleProxyDelegate</code> TODO
+ */
+/* package */ class BundleProxyClassLoader extends ClassLoader {
+
+    private Bundle bundle;
+    private ClassLoader parent;
+
+    public BundleProxyClassLoader(Bundle bundle) {
+        this.bundle = bundle;
+    }
+
+    public BundleProxyClassLoader(Bundle bundle, ClassLoader parent) {
+        super(parent);
+        this.parent = parent;
+        this.bundle = bundle;
+    }
+
+    // Note: Both ClassLoader.getResources(...) and bundle.getResources(...) consult
+    // the boot classloader. As a result, BundleProxyClassLoader.getResources(...)
+    // might return duplicate results from the boot classloader. Prior to Java 5
+    // Classloader.getResources was marked final. If your target environment requires
+    // 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 {
+        return this.bundle.getResources(name);
+    }
+
+    public URL findResource(String name) {
+        return this.bundle.getResource(name);
+    }
+
+    public Class findClass(String name) throws ClassNotFoundException {
+        return this.bundle.loadClass(name);
+    }
+
+    public URL getResource(String name) {
+        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)
+            super.resolveClass(clazz);
+
+        return clazz;
+    }
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
new file mode 100644
index 0000000..e8f0f41
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderFacade.java
@@ -0,0 +1,200 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Enumeration;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.jackrabbit.classloader.DynamicRepositoryClassLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The <code>RepositoryClassLoaderFacade</code> TODO
+ */
+class RepositoryClassLoaderFacade extends URLClassLoader {
+
+    /** default log */
+    private static final Logger log = LoggerFactory.getLogger(RepositoryClassLoaderFacade.class);
+
+    private static final URL[] NO_URLS = new URL[0];
+
+    private RepositoryClassLoaderProviderImpl classLoaderProvider;
+    private ClassLoader parent;
+    private String sessionOwner;
+    private Session session;
+    private String[] classPath;
+    private DynamicRepositoryClassLoader delegate;
+
+    /**
+     * The reference counter. If not greater than zero, there are this
+     * number of (assumed) life references.
+     *
+     * @see #ref()
+     * @see #deref()
+     */
+    private int refCtr = 0;
+
+    public RepositoryClassLoaderFacade(
+            RepositoryClassLoaderProviderImpl classLoaderProvider,
+            ClassLoader parent,
+            String sessionOwner,
+            String[] classPath) {
+
+        // no parent class loader, we delegate to repository class loaders
+        super(NO_URLS, null);
+
+        this.classLoaderProvider = classLoaderProvider;
+        this.parent = parent;
+        this.classPath = classPath;
+        this.sessionOwner = sessionOwner;
+    }
+
+    public void addPath(String path) {
+        // create new class path
+        String[] newClassPath = new String[this.classPath.length+1];
+        System.arraycopy(this.classPath, 0, newClassPath, 0, this.classPath.length);
+        newClassPath[this.classPath.length] = path;
+        this.classPath = newClassPath;
+
+        // destroy the delegate and have a new one created
+        if (this.delegate != null) {
+            DynamicRepositoryClassLoader oldLoader = this.delegate;
+            this.delegate = null;
+            oldLoader.destroy();
+        }
+    }
+
+    public String[] getClassPath() {
+        return this.classPath.clone();
+    }
+
+    @Override
+    public URL[] getURLs() {
+        try {
+            return getDelegateClassLoader().getURLs();
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to get URLs", re);
+            return NO_URLS;
+        }
+    }
+
+    protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
+        try {
+            return this.getDelegateClassLoader().loadClass(name);
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to load class " + name, re);
+            throw new ClassNotFoundException(name);
+        }
+    }
+
+    public URL getResource(String name) {
+        try {
+            return this.getDelegateClassLoader().getResource(name);
+        } catch (RepositoryException re) {
+            log.error("Cannot get repository class loader to get resource " + name, re);
+            return null;
+        }
+    }
+
+    public Enumeration findResources(String name) throws IOException {
+        try {
+            return this.getDelegateClassLoader().getResources(name);
+        } catch (RepositoryException re) {
+            throw (IOException) new IOException("Cannot lookup " + name).initCause(re);
+        }
+    }
+
+    //---------- Reference counting support -----------------------------------
+
+    /* package */ void destroy() {
+        if (this.delegate != null) {
+            this.delegate.destroy();
+            this.delegate = null;
+        }
+
+        if (this.session != null) {
+            this.session.logout();
+            this.session = null;
+        }
+    }
+
+    /**
+     * Increases the reference counter of this class loader.
+     */
+    /* package */void ref() {
+        this.refCtr++;
+    }
+
+    /**
+     * Decreases the reference counter of this class loader and calls the
+     * base class <code>destroy()</code> method, if this class loader has
+     * already been destroyed by calling the {@link #destroy()} method.
+     */
+    /* package */void deref() {
+        this.refCtr--;
+
+        // destroy if the loader should be destroyed and no refs exist
+//        if (refCtr <= 0 /* && destroyed */ ) {
+//            destroy();
+//        }
+    }
+
+    //---------- internal -----------------------------------------------------
+
+    private Session getSession() throws RepositoryException {
+        // check current session
+        if (this.session != null) {
+            if (this.session.isLive()) {
+                return this.session;
+            }
+
+            // drop delegate
+            if (this.delegate != null) {
+                this.delegate.destroy();
+                this.delegate = null;
+            }
+
+            // current session is not live anymore, drop
+            this.session.logout();
+            this.session = null;
+        }
+
+        // no session currently, acquire and return
+        this.session = this.classLoaderProvider.getSession(this.sessionOwner);
+        return this.session;
+    }
+
+    private DynamicRepositoryClassLoader getDelegateClassLoader() throws RepositoryException {
+        if (this.delegate != null) {
+            if (this.delegate.isDirty()) {
+                this.delegate = this.delegate.reinstantiate(this.getSession(), this.parent);
+            }
+        } else {
+            this.delegate = new DynamicRepositoryClassLoader(this.getSession(), this.classPath, this.parent);
+        }
+
+        return this.delegate;
+    }
+}
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
new file mode 100644
index 0000000..ed7506b
--- /dev/null
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.classloader.internal;
+
+import java.util.Dictionary;
+import java.util.Iterator;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+
+import org.apache.commons.collections.BidiMap;
+import org.apache.commons.collections.bidimap.DualHashBidiMap;
+import org.apache.sling.jcr.api.SlingRepository;
+import org.apache.sling.jcr.classloader.RepositoryClassLoaderProvider;
+import org.osgi.framework.Bundle;
+import org.osgi.service.component.ComponentContext;
+
+/**
+ * The <code>RepositoryClassLoaderProviderImpl</code> TODO
+ *
+ * @scr.component immediate="false" label="%loader.name"
+ *      description="%loader.description"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="service.description"
+ *      value="Provides Repository ClassLoaders"
+ * @scr.service servicefactory="true"
+ */
+public class RepositoryClassLoaderProviderImpl
+        implements RepositoryClassLoaderProvider {
+
+    /**
+     * @scr.property values0="/var/classes"
+     */
+    public static final String CLASS_PATH_PROP = "classpath";
+
+    /**
+     * @scr.property valueRef="OWNER_DEFAULT"
+     */
+    public static final String OWNER_PROP = "owner";
+
+    // JSP Class Loader class path will be injected to the class loader !
+    private static final String[] CLASS_PATH_DEFAULT = { };
+
+    private static final String OWNER_DEFAULT = "admin";
+
+    private BidiMap loaders = new DualHashBidiMap();
+
+    /**
+     * @scr.reference
+     */
+    private SlingRepository repository;
+
+    private String[] classPath;
+
+    private String classLoaderOwner;
+
+    private BundleProxyClassLoader parent;
+
+    public ClassLoader getClassLoader(String owner) {
+        String classLoaderOwner = this.getClassLoaderOwner(owner);
+        RepositoryClassLoaderFacade loader =
+            (RepositoryClassLoaderFacade) this.loaders.get(classLoaderOwner);
+        if (loader == null) {
+            loader = new RepositoryClassLoaderFacade(this, this.parent,
+                classLoaderOwner, this.classPath);
+            this.loaders.put(classLoaderOwner, loader);
+        }
+
+        // extend reference counter
+        loader.ref();
+
+        return loader;
+    }
+
+    public void ungetClassLoader(ClassLoader classLoader) {
+        if (classLoader instanceof RepositoryClassLoaderFacade) {
+            RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) classLoader;
+            cl.deref();
+        }
+    }
+
+    //---------- Support for RepositoryClassLoaderFacade ----------------------
+
+    /* package */ Session getSession(String owner) throws RepositoryException {
+        // get an administrative session for potentiall impersonation
+        Session admin = this.repository.loginAdministrative(null);
+
+        // do use the admin session, if the admin's user id is the same as owner
+        if (admin.getUserID().equals(owner)) {
+            return admin;
+        }
+
+        // else impersonate as the owner and logout the admin session again
+        try {
+            return admin.impersonate(new SimpleCredentials(owner, new char[0]));
+        } finally {
+            admin.logout();
+        }
+    }
+
+    //---------- SCR Integration ----------------------------------------------
+
+    protected void activate(ComponentContext componentContext) {
+        Dictionary properties = componentContext.getProperties();
+
+        Object prop = properties.get(CLASS_PATH_PROP);
+        this.classPath = (prop instanceof String[]) ? (String[]) prop : CLASS_PATH_DEFAULT;
+
+        prop = properties.get(OWNER_PROP);
+        this.classLoaderOwner = (prop instanceof String)? (String) prop : OWNER_DEFAULT;
+
+        Bundle owner = componentContext.getUsingBundle();
+
+        // if there is no using bundle, we have an error !!
+        if (owner == null) {
+            throw new IllegalStateException("Using Bundle expected. Is this a servicefactory component ?");
+        }
+
+        this.parent = new BundleProxyClassLoader(owner, null);
+    }
+
+    protected void deactivate(ComponentContext componentContext) {
+        for (Iterator ci=this.loaders.values().iterator(); ci.hasNext(); ) {
+            RepositoryClassLoaderFacade cl = (RepositoryClassLoaderFacade) ci.next();
+            cl.destroy();
+            ci.remove();
+        }
+
+        this.parent = null;
+    }
+
+    protected void bindRepository(SlingRepository repository) {
+        this.repository = repository;
+    }
+
+    protected void unbindRepository(SlingRepository repository) {
+        this.repository = null;
+    }
+
+    //---------- internal -----------------------------------------------------
+
+    private String getClassLoaderOwner(String userId) {
+        return this.classLoaderOwner;
+    }
+}
diff --git a/src/main/resources/META-INF/DISCLAIMER b/src/main/resources/META-INF/DISCLAIMER
new file mode 100644
index 0000000..90850c2
--- /dev/null
+++ b/src/main/resources/META-INF/DISCLAIMER
@@ -0,0 +1,7 @@
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
\ No newline at end of file
diff --git a/src/main/resources/META-INF/LICENSE b/src/main/resources/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/src/main/resources/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/src/main/resources/META-INF/NOTICE b/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..cc956f5
--- /dev/null
+++ b/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,8 @@
+Apache Sling JCR Classloader
+Copyright 2008 The Apache Software Foundation
+
+Apache Sling is based on source code originally developed 
+by Day Software (http://www.day.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/src/main/resources/OSGI-INF/metatype/metatype.properties b/src/main/resources/OSGI-INF/metatype/metatype.properties
new file mode 100644
index 0000000..ae58194
--- /dev/null
+++ b/src/main/resources/OSGI-INF/metatype/metatype.properties
@@ -0,0 +1,44 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+
+#
+# This file contains localization strings for configuration labels and
+# descriptions as used in the metatype.xml descriptor generated by the
+# the Sling SCR plugin
+
+loader.name = Repository Class Loader Factory
+loader.description = Configuration for the Repository Class Loader Factory. This \
+ configuration applies to all clients of the factory even though each Bundle \
+ using the factory retrieves its own factory. The class path of the created \
+ Repository Class Loaders is configurable and the class loaders delegate use \
+ the bundle asking for the factory as the parent class loader.
+
+classpath.name = Class Path
+classpath.description = The class path in the repository to use as the class \
+ path for all created Repository Class Loaders. All Class Loaders are configured \
+ with the same class path. This class path must include any destinations used \
+ by Java compilers writing to the Repository such as the JSP Script Handler, \
+ which by default writes to "/var/classes". If no class path is defined, the \
+ "/var/classes" folder is used by default.
+
+owner.name = Repository Session User
+owner.description = Name of a user owning the Repository Class Loader sessions. \
+ If this is empty a simple administrative session is used. Otherwise the \
+ administrative session is used to impersonate as the given user.
+ 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 10/44: SLING-83 Move modules according to the new module structure

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit eafdadfd18731711fed78b78d897c71b6e2182d6
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Tue Nov 6 10:59:46 2007 +0000

    SLING-83 Move modules according to the new module structure
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@592370 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 20/44: SLING-317 - rename /classes to /var/classes

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit d332a1652580e0645462165beca7bbb14983d124
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Wed Apr 2 09:15:21 2008 +0000

    SLING-317 - rename /classes to /var/classes
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@643806 13f79535-47bb-0310-9956-ffa450edef68
---
 .../jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java   | 2 +-
 src/main/resources/OSGI-INF/metatype/metatype.properties              | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
index 18c528f..6ed0f35 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -46,7 +46,7 @@ public class RepositoryClassLoaderProviderImpl
         implements RepositoryClassLoaderProvider {
 
     /**
-     * @scr.property values0="/classes"
+     * @scr.property values0="/var/classes"
      */
     public static final String CLASS_PATH_PROP = "classpath";
 
diff --git a/src/main/resources/OSGI-INF/metatype/metatype.properties b/src/main/resources/OSGI-INF/metatype/metatype.properties
index 7eb0e3e..ae58194 100644
--- a/src/main/resources/OSGI-INF/metatype/metatype.properties
+++ b/src/main/resources/OSGI-INF/metatype/metatype.properties
@@ -34,8 +34,8 @@ classpath.description = The class path in the repository to use as the class \
  path for all created Repository Class Loaders. All Class Loaders are configured \
  with the same class path. This class path must include any destinations used \
  by Java compilers writing to the Repository such as the JSP Script Handler, \
- which by default writes to "/classes". If no class path is defined, the \
- "/classes" folder is used by defualt.
+ which by default writes to "/var/classes". If no class path is defined, the \
+ "/var/classes" folder is used by default.
 
 owner.name = Repository Session User
 owner.description = Name of a user owning the Repository Class Loader sessions. \

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 16/44: Clean up code, remove unused imports etc.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 019a135b6d1d336a666602e229bab5ddff10e1a9
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jan 22 13:22:20 2008 +0000

    Clean up code, remove unused imports etc.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@614198 13f79535-47bb-0310-9956-ffa450edef68
---
 .../jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java   | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
index 3ddcad5..18c528f 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/RepositoryClassLoaderProviderImpl.java
@@ -111,9 +111,7 @@ public class RepositoryClassLoaderProviderImpl
         try {
             return admin.impersonate(new SimpleCredentials(owner, new char[0]));
         } finally {
-            if (admin != null) {
-                admin.logout();
-            }
+            admin.logout();
         }
     }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 28/44: SLING-495 - NOTICE files generated using mknotice script

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 256033c8a3206cf10e2ad435eb3ef985acf4557f
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Tue Jun 3 12:24:26 2008 +0000

    SLING-495 - NOTICE files generated using mknotice script
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@662766 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/NOTICE b/NOTICE
index 712dd55..43645b7 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,4 +1,4 @@
-Apache Sling JCR Classloader
+Apache Sling - Repository ClassLoader
 Copyright 2007-2008 The Apache Software Foundation
 
 Based on source code originally developed by
@@ -7,3 +7,13 @@ Day Software (http://www.day.com/).
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
+
+See http://www.apache.org/legal/3party.html for the ASF policy on 
+third-party licenses.
+
+This product includes software developed under the JCP from 
+http://www.jcp.org. Copyright 2005 Day Management AG.
+
+This product includes software developed at http://slf4j.org, distributed
+under the slf4j MIT-like license (http://slf4j.org/license.html). 
+

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 44/44: Move Sling to new TLP location

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 83c313102593c99f1ce293003a61c4b54556afff
Merge: 3b63ad6 c423fb9
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Thu Jun 18 09:21:02 2009 +0000

    Move Sling to new TLP location
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.classloader-2.0.2-incubator@785979 13f79535-47bb-0310-9956-ffa450edef68


-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 06/44: Fix license headers.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit c9cb58c9c1ad0fef29490afa04b160934de83cae
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Sep 12 06:56:34 2007 +0000

    Fix license headers.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574806 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/pom.xml b/pom.xml
index eda1f0e..4f68e76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,18 +1,21 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
-    Copyright 2007 The Apache Software Foundation.
-    
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at 
-    
-    http://www.apache.org/licenses/LICENSE-2.0
-    
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 41/44: Change copyright year to 2008.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit b628ff4a75009f43af7fa776e8aa0a27f1bf18e8
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Jun 16 12:08:14 2008 +0000

    Change copyright year to 2008.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@668130 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE                             | 2 +-
 src/main/resources/META-INF/NOTICE | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NOTICE b/NOTICE
index 5543fff..cc956f5 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Sling JCR Classloader
-Copyright 2007-2008 The Apache Software Foundation
+Copyright 2008 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).
diff --git a/src/main/resources/META-INF/NOTICE b/src/main/resources/META-INF/NOTICE
index 5543fff..cc956f5 100644
--- a/src/main/resources/META-INF/NOTICE
+++ b/src/main/resources/META-INF/NOTICE
@@ -1,5 +1,5 @@
 Apache Sling JCR Classloader
-Copyright 2007-2008 The Apache Software Foundation
+Copyright 2008 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 32/44: Use released versions (or soon to be released versions).

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 74074baaaec9ee7cace614271009d92e0d8c1842
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jun 4 15:06:54 2008 +0000

    Use released versions (or soon to be released versions).
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@663157 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 85d0363..66e0134 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,7 +97,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.0.0-incubator-SNAPSHOT</version>
+            <version>2.0.0-incubator</version>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 04/44: Ignore Eclipse .settings

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit ca2435cbd54e8e547ddeebd2ba9a355098729953
Author: Felix Meschberger <fm...@apache.org>
AuthorDate: Tue Sep 11 14:25:31 2007 +0000

    Ignore Eclipse .settings
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jackrabbit-classloader@574614 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 39/44: SLING-521: Separate between notice files for bin and src dists.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 01df96a8baefcee12396251134841288cf0191de
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Jun 13 12:55:50 2008 +0000

    SLING-521: Separate between notice files for bin and src dists.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@667512 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE                                             |   1 -
 README.txt                                         |  38 ++++
 .../main/resources/META-INF/DISCLAIMER             |   0
 src/main/resources/META-INF/LICENSE                | 202 +++++++++++++++++++++
 NOTICE => src/main/resources/META-INF/NOTICE       |   1 -
 5 files changed, 240 insertions(+), 2 deletions(-)

diff --git a/NOTICE b/NOTICE
index 9e1d86d..5543fff 100644
--- a/NOTICE
+++ b/NOTICE
@@ -6,4 +6,3 @@ by Day Software (http://www.day.com/).
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..2c022b7
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,38 @@
+Apache Sling JCR Classloader
+
+WE NEED A LOT MORE HERE!!!!!!!!!!!!!!!!!!
+
+
+Disclaimer
+==========
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
+
+Getting Started
+===============
+
+This component uses a Maven 2 (http://maven.apache.org/) build
+environment. It requires a Java 5 JDK (or higher) and Maven (http://maven.apache.org/)
+2.0.7 or later. We recommend to use the latest Maven version.
+
+If you have Maven 2 installed, you can compile and
+package the jar using the following command:
+
+    mvn package
+
+See the Maven 2 documentation for other build features.
+
+The latest source code for this component is available in the
+Subversion (http://subversion.tigris.org/) source repository of
+the Apache Software Foundation. If you have Subversion installed,
+you can checkout the latest source using the following command:
+
+    svn checkout http://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader
+
+See the Subversion documentation for other source control features.
+
diff --git a/DISCLAIMER b/src/main/resources/META-INF/DISCLAIMER
similarity index 100%
rename from DISCLAIMER
rename to src/main/resources/META-INF/DISCLAIMER
diff --git a/src/main/resources/META-INF/LICENSE b/src/main/resources/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/src/main/resources/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/NOTICE b/src/main/resources/META-INF/NOTICE
similarity index 87%
copy from NOTICE
copy to src/main/resources/META-INF/NOTICE
index 9e1d86d..5543fff 100644
--- a/NOTICE
+++ b/src/main/resources/META-INF/NOTICE
@@ -6,4 +6,3 @@ by Day Software (http://www.day.com/).
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 22/44: Add incubator disclaimer.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit e73f2bf0189addbe365c13d2367ec0b7feb333a4
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Apr 14 12:58:07 2008 +0000

    Add incubator disclaimer.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@647780 13f79535-47bb-0310-9956-ffa450edef68
---
 DISCLAIMER | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..90850c2
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1,7 @@
+Apache Sling is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Jackrabbit PMC. Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure, communications,
+and decision making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a reflection of
+the completeness or stability of the code, it does indicate that the project has yet
+to be fully endorsed by the ASF.
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-jcr-classloader] 23/44: Go back to simpler notice file format.

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-2.0.2-incubator
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 19ef98bb95b7bc542caf551aad10d10db4e1f201
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Mon Apr 14 15:44:48 2008 +0000

    Go back to simpler notice file format.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/classloader@647860 13f79535-47bb-0310-9956-ffa450edef68
---
 NOTICE | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/NOTICE b/NOTICE
index 4894d83..712dd55 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,8 +1,9 @@
-Apache Sling
-Copyright 2007 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
+Apache Sling JCR Classloader
+Copyright 2007-2008 The Apache Software Foundation
 
 Based on source code originally developed by
 Day Software (http://www.day.com/).
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.