You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2010/02/18 16:08:45 UTC

svn commit: r911430 - in /sling/trunk: bundles/jcr/base/ bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/ bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/ bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/load...

Author: justin
Date: Thu Feb 18 15:08:43 2010
New Revision: 911430

URL: http://svn.apache.org/viewvc?rev=911430&view=rev
Log:
SLING-1212 - upgrading to Jackrabbit 2. Also includes re-revert of SLING-1363 and implementation of SLING-1330. Thanks to Felix for getting this started.

Added:
    sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingTikaDetector.java
    sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/jcr/TestNamespaceMapper.java
Removed:
    sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/NamespaceMapper.java
    sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingMimeResolver.java
    sling/trunk/contrib/jcr/jackrabbit-api/LICENSE
    sling/trunk/contrib/jcr/jackrabbit-api/NOTICE
    sling/trunk/contrib/jcr/jackrabbit-api/README.txt
    sling/trunk/contrib/jcr/jackrabbit-api/pom.xml
    sling/trunk/contrib/jcr/jackrabbit-api/src/main/resources/META-INF/LICENSE
    sling/trunk/contrib/jcr/jackrabbit-api/src/main/resources/META-INF/NOTICE
Modified:
    sling/trunk/bundles/jcr/base/pom.xml
    sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository.java
    sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/NodeTypeLoader.java
    sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java
    sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java
    sling/trunk/bundles/jcr/contentloader/pom.xml
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/pom.xml
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
    sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java
    sling/trunk/bundles/jcr/jackrabbit-server/pom.xml
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/Activator.java
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/RmiRegistrationSupport.java
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/SlingServerRepository.java
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/security/PluggableDefaultAccessManager.java
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF
    sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/OSGI-INF/metatype/metatype.properties
    sling/trunk/bundles/jcr/jackrabbit-usermanager/pom.xml
    sling/trunk/bundles/jcr/webdav/pom.xml
    sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingResourceConfig.java
    sling/trunk/bundles/servlets/post/pom.xml
    sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java
    sling/trunk/contrib/pom.xml
    sling/trunk/launchpad/builder/src/main/bundles/list.xml
    sling/trunk/launchpad/test-services/pom.xml
    sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/nodetypes/test.cnd
    sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/NamespaceMappingTest.java

Modified: sling/trunk/bundles/jcr/base/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/base/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/base/pom.xml (original)
+++ sling/trunk/bundles/jcr/base/pom.xml Thu Feb 18 15:08:43 2010
@@ -7,9 +7,9 @@
     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
@@ -64,9 +64,6 @@
                         <Private-Package>
                             org.apache.sling.jcr.base.internal.*
                         </Private-Package>
-                        <Embed-Dependency>
-                            jackrabbit-jcr-rmi;inline=true
-                        </Embed-Dependency>
                     </instructions>
                 </configuration>
             </plugin>
@@ -90,21 +87,30 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.7-SNAPSHOT</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
+            <version>2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-jcr-rmi</artifactId>
+            <version>2.0.0</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>1.5.0</version>
+            <version>2.0.0</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-jcr-rmi</artifactId>
-            <version>1.5.0</version>
+            <artifactId>jackrabbit-jcr-commons</artifactId>
+            <version>2.0.0</version>
             <scope>provided</scope>
         </dependency>
         <!-- OSGi Libraries -->

Modified: sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository.java (original)
+++ sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository.java Thu Feb 18 15:08:43 2010
@@ -27,9 +27,11 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
+import javax.jcr.Value;
 import javax.jcr.Workspace;
 
 import org.apache.jackrabbit.api.JackrabbitWorkspace;
+import org.apache.sling.jcr.api.NamespaceMapper;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.jcr.base.internal.loader.Loader;
 import org.apache.sling.jcr.base.util.RepositoryAccessor;
@@ -39,6 +41,7 @@
 import org.osgi.framework.SynchronousBundleListener;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.log.LogService;
+import org.osgi.util.tracker.ServiceTracker;
 
 /**
  * The <code>AbstractSlingRepository</code> is an abstract implementation of
@@ -135,6 +138,8 @@
     // the background thread constantly checking the repository
     private Thread repositoryPinger;
 
+    private ServiceTracker namespaceMapperTracker;
+
     protected AbstractSlingRepository() {
     }
 
@@ -247,7 +252,7 @@
             throw new RepositoryException(re.getMessage(), re);
         }
     }
-    
+
     /**
      * @param anonUser the user name of the anon user.
      * @return a Credentials implementation that represents the anon user.
@@ -256,7 +261,7 @@
         // NB: this method is overridden in the Jackrabbit Service bundle to avoid using the anon password. SLING-1282
         return new SimpleCredentials(anonUser, anonPass);
     }
-    
+
     /**
      * @param adminUser the name of the administrative user.
      * @return a Credentials implementation that represents the administrative user.
@@ -265,7 +270,7 @@
         // NB: this method is overridden in the Jackrabbit Service bundle to avoid using the admin password. SLING-1282
         return new SimpleCredentials(adminUser, adminPass);
     }
-     
+
 
 
     /*
@@ -298,6 +303,58 @@
         return new String[0];
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    public Value getDescriptorValue(String key) {
+        Repository repo = getRepository();
+        if (repo != null) {
+            return repo.getDescriptorValue(key);
+        }
+
+        log(LogService.LOG_ERROR, "getDescriptorValue: Repository not available");
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Value[] getDescriptorValues(String key) {
+        Repository repo = getRepository();
+        if (repo != null) {
+            return repo.getDescriptorValues(key);
+        }
+
+        log(LogService.LOG_ERROR, "getDescriptorValues: Repository not available");
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean isSingleValueDescriptor(String key) {
+        Repository repo = getRepository();
+        if (repo != null) {
+            return repo.isSingleValueDescriptor(key);
+        }
+
+        log(LogService.LOG_ERROR, "isSingleValueDescriptor: Repository not available");
+        return false;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean isStandardDescriptor(String key) {
+        Repository repo = getRepository();
+        if (repo != null) {
+            return repo.isStandardDescriptor(key);
+        }
+
+        log(LogService.LOG_ERROR, "isStandardDescriptor: Repository not available");
+        return false;
+    }
+
     // ---------- logging ------------------------------------------------------
 
     protected void log(int level, String message) {
@@ -552,6 +609,9 @@
      * @throws nothing, but allow derived classes to throw any Exception
      */
     protected void activate(ComponentContext componentContext) throws Exception {
+        this.namespaceMapperTracker = new ServiceTracker(componentContext.getBundleContext(), NamespaceMapper.class.getName(), null);
+        this.namespaceMapperTracker.open();
+
         this.componentContext = componentContext;
 
         @SuppressWarnings("unchecked")
@@ -598,6 +658,7 @@
      * @param componentContext
      */
     protected void deactivate(ComponentContext componentContext) {
+        this.namespaceMapperTracker.close();
 
         componentContext.getBundleContext().removeBundleListener(this);
 
@@ -691,6 +752,14 @@
             // apply namespace mapping
             this.namespaceHandler.defineNamespacePrefixes(session);
         }
+
+        // call namespace mappers
+        Object[] nsMappers = namespaceMapperTracker.getServices();
+        if (nsMappers != null) {
+            for (int i = 0; i < nsMappers.length; i++) {
+                ((NamespaceMapper) nsMappers[i]).defineNamespacePrefixes(session);
+            }
+        }
     }
 
     // ---------- Background operation checking repository availability --------

Modified: sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/NodeTypeLoader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/NodeTypeLoader.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/NodeTypeLoader.java (original)
+++ sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/NodeTypeLoader.java Thu Feb 18 15:08:43 2010
@@ -20,14 +20,16 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
 import java.net.URL;
 
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.Workspace;
-import javax.jcr.nodetype.NodeTypeManager;
 
-import org.apache.jackrabbit.api.JackrabbitNodeTypeManager;
+import org.apache.jackrabbit.commons.cnd.CndImporter;
+import org.apache.jackrabbit.commons.cnd.ParseException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -108,37 +110,17 @@
      */
     public static boolean registerNodeType(Session session, InputStream source)
             throws IOException, RepositoryException {
-        final Workspace workspace = session.getWorkspace();
-        final NodeTypeManager ntm = workspace.getNodeTypeManager();
-        if (ntm instanceof JackrabbitNodeTypeManager) {
-            log.debug("Using Jackrabbit to import node types");
-            JackrabbitNodeTypeManager jntm = (JackrabbitNodeTypeManager) ntm;
-            try {
-                jntm.registerNodeTypes(source,
-                    JackrabbitNodeTypeManager.TEXT_X_JCR_CND);
-                return true;
-            } catch (RepositoryException re) {
-                Throwable t = re.getCause();
-                if (t != null
-                    && t.getClass().getName().endsWith(
-                        ".InvalidNodeTypeDefException")) {
-                    // hacky wacky: interpret message to check whether it is for
-                    // duplicate node type -> very bad, that this is the only
-                    // way to check !!!
-                    if (re.getCause().getMessage().indexOf("already exists") >= 0) {
-                        // alright, node types are already registered, ignore
-                        // this
-                        log.debug("Node types already registered...");
-                        return true;
-                    }
-                }
+        return registerNodeType(session, "cnd input stream", new InputStreamReader(source), false);
+    }
 
-                // get here to rethrow the RepositoryException
-                throw re;
-            }
+    public static boolean registerNodeType(Session session, String systemId, Reader reader, boolean reregisterExisting)
+        throws IOException, RepositoryException {
+        try {
+            Workspace wsp = session.getWorkspace();
+            CndImporter.registerNodeTypes(reader, systemId, wsp.getNodeTypeManager(), wsp.getNamespaceRegistry(), session.getValueFactory(), reregisterExisting);
+        } catch (ParseException e) {
+            throw new IOException("Unable to parse CND Input.", e);
         }
-
-        log.warn("Repository does not implement JackrabbitNodeTypeManager, cannot import node types");
-        return false;
+        return true;
     }
 }

Modified: sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java (original)
+++ sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java Thu Feb 18 15:08:43 2010
@@ -20,6 +20,7 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -33,9 +34,9 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+import org.apache.sling.jcr.api.NamespaceMapper;
 import org.apache.sling.jcr.base.AbstractSlingRepository;
 import org.apache.sling.jcr.base.NodeTypeLoader;
-import org.apache.sling.jcr.base.internal.NamespaceMapper;
 import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -188,6 +189,17 @@
             StringTokenizer tokener = new StringTokenizer(typesHeader, ",");
             while (tokener.hasMoreTokens()) {
                 String nodeTypeFile = tokener.nextToken().trim();
+                Map<String,String> nodeTypeFileParams = new HashMap<String,String>();
+                nodeTypeFileParams.put("reregister", "true");
+
+                if (nodeTypeFile.contains(";")) {
+                    int idx = nodeTypeFile.indexOf(';');
+                    String nodeTypeFileParam = nodeTypeFile.substring(idx + 1);
+                    String[] params = nodeTypeFileParam.split(":=");
+                    nodeTypeFileParams.put(params[0], params[1]);
+                    nodeTypeFile = nodeTypeFile.substring(0, idx);
+
+                }
 
                 URL mappingURL = bundle.getEntry(nodeTypeFile);
                 if (mappingURL == null) {
@@ -202,7 +214,9 @@
                 try {
                     // laod the node types
                     ins = mappingURL.openStream();
-                    NodeTypeLoader.registerNodeType(session, ins);
+                    String reregister = nodeTypeFileParams.get("reregister");
+                    boolean reregisterBool = Boolean.valueOf(reregister);
+                    NodeTypeLoader.registerNodeType(session, mappingURL.toString(), new InputStreamReader(ins), reregisterBool);
                     // log a message if retry is successful
                     if ( isRetry ) {
                         log.info("Retrytring to register node types from {} in bundle {} succeeded.",

Modified: sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java (original)
+++ sling/trunk/bundles/jcr/base/src/main/java/org/apache/sling/jcr/base/util/AccessControlUtil.java Thu Feb 18 15:08:43 2010
@@ -27,13 +27,13 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.UnsupportedRepositoryOperationException;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlException;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.api.JackrabbitSession;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlException;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.Privilege;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.jackrabbit.api.security.user.UserManager;
 

Modified: sling/trunk/bundles/jcr/contentloader/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/pom.xml (original)
+++ sling/trunk/bundles/jcr/contentloader/pom.xml Thu Feb 18 15:08:43 2010
@@ -7,9 +7,9 @@
     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
@@ -92,6 +92,7 @@
         <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
+            <version>2.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -124,6 +125,12 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-api</artifactId>
+            <version>2.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
@@ -145,7 +152,7 @@
             <version>1.4</version>
             <scope>provided</scope>
         </dependency>
-    <!-- Testing -->        
+    <!-- Testing -->
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -154,18 +161,12 @@
             <groupId>org.jmock</groupId>
             <artifactId>jmock-junit4</artifactId>
         </dependency>
-        
+
         <!-- for security content loader (users/groups/acls) -->
         <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>1.5.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>2.0.4-incubator</version>
+            <version>2.0.7-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentCreator.java Thu Feb 18 15:08:43 2010
@@ -47,13 +47,13 @@
 import javax.jcr.Session;
 import javax.jcr.Value;
 import javax.jcr.ValueFactory;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.AccessControlPolicy;
+import javax.jcr.security.AccessControlPolicyIterator;
+import javax.jcr.security.Privilege;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicyIterator;
-import org.apache.jackrabbit.api.jsr283.security.Privilege;
 import org.apache.jackrabbit.api.security.user.Authorizable;
 import org.apache.jackrabbit.api.security.user.Group;
 import org.apache.jackrabbit.api.security.user.User;

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/pom.xml (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/pom.xml Thu Feb 18 15:08:43 2010
@@ -7,9 +7,9 @@
     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
@@ -18,7 +18,7 @@
     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>
@@ -63,7 +63,7 @@
 						</Private-Package>
 						<Export-Package>
                      org.apache.sling.jcr.jackrabbit.accessmanager;version=${pom.version},
-                     org.apache.sling.jcr.jackrabbit.accessmanager.post;version=${pom.version}                   
+                     org.apache.sling.jcr.jackrabbit.accessmanager.post;version=${pom.version}
 						</Export-Package>
 						<Sling-Initial-Content />
 						<Sling-Nodetypes />
@@ -92,32 +92,42 @@
 			<groupId>javax.servlet</groupId>
 			<artifactId>servlet-api</artifactId>
 		</dependency>
-		
+
       <dependency>
          <groupId>org.apache.sling</groupId>
          <artifactId>org.apache.sling.commons.json</artifactId>
          <version>2.0.4-incubator</version>
       </dependency>
-		
+
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.api</artifactId>
 			<version>2.0.8</version>
+            <scope>provided</scope>
 		</dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-api</artifactId>
+            <version>2.0.0</version>
+            <scope>provided</scope>
+        </dependency>
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.servlets.post</artifactId>
 			<version>2.0.4-incubator</version>
+            <scope>provided</scope>
 		</dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>1.6.0</version>
-        </dependency>
+  		<dependency>
+ 			<groupId>javax.jcr</groupId>
+ 			<artifactId>jcr</artifactId>
+ 			<version>2.0</version>
+            <scope>provided</scope>
+  		</dependency>
 		<dependency>
 			<groupId>org.apache.sling</groupId>
 			<artifactId>org.apache.sling.jcr.base</artifactId>
-			<version>2.0.4-incubator</version>
+			<version>2.0.7-SNAPSHOT</version>
+            <scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.osgi</groupId>

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java Thu Feb 18 15:08:43 2010
@@ -31,12 +31,12 @@
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.AccessControlPolicy;
+import javax.jcr.security.Privilege;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy;
-import org.apache.jackrabbit.api.jsr283.security.Privilege;
 import org.apache.jackrabbit.api.security.principal.PrincipalManager;
 import org.apache.sling.jcr.base.util.AccessControlUtil;
 

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java Thu Feb 18 15:08:43 2010
@@ -22,14 +22,14 @@
 
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.AccessControlPolicy;
+import javax.jcr.security.AccessControlPolicyIterator;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicyIterator;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.ResourceNotFoundException;

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java Thu Feb 18 15:08:43 2010
@@ -26,9 +26,9 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceNotFoundException;

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java Thu Feb 18 15:08:43 2010
@@ -28,14 +28,14 @@
 import javax.jcr.Item;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.AccessControlPolicy;
+import javax.jcr.security.Privilege;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy;
-import org.apache.jackrabbit.api.jsr283.security.Privilege;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.Resource;

Modified: sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-accessmanager/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java Thu Feb 18 15:08:43 2010
@@ -24,11 +24,11 @@
 import javax.jcr.Item;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
+import javax.jcr.security.AccessControlEntry;
+import javax.jcr.security.AccessControlList;
+import javax.jcr.security.AccessControlManager;
+import javax.jcr.security.Privilege;
 
-import org.apache.jackrabbit.api.jsr283.security.AccessControlEntry;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlList;
-import org.apache.jackrabbit.api.jsr283.security.AccessControlManager;
-import org.apache.jackrabbit.api.jsr283.security.Privilege;
 import org.apache.jackrabbit.api.security.user.Authorizable;
 import org.apache.jackrabbit.api.security.user.UserManager;
 import org.apache.sling.api.SlingHttpServletRequest;

Modified: sling/trunk/bundles/jcr/jackrabbit-server/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/pom.xml (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/pom.xml Thu Feb 18 15:08:43 2010
@@ -7,9 +7,9 @@
     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
@@ -49,7 +49,7 @@
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-scr-plugin</artifactId>
             </plugin>
-            
+
             <!--
                 copy the SCR descriptors into the correct location
                 because the maven-scr-plugin cannot be configured
@@ -70,17 +70,17 @@
                         ${project.build.outputDirectory}
                       </outputDirectory>
                       <encoding>UTF-8</encoding>
-                      <resources>          
+                      <resources>
                         <resource>
                           <directory>target/scr-plugin-generated</directory>
                           <filtering>false</filtering>
                         </resource>
-                      </resources>              
-                    </configuration>            
+                      </resources>
+                    </configuration>
                   </execution>
                 </executions>
             </plugin>
-            
+
             <!--
                 copy the embedded libraries required for the embedded
                 Jackrabbit Repository
@@ -96,7 +96,7 @@
                         </goals>
                         <configuration>
                             <includeArtifactIds>
-                                jackrabbit-jcr-rmi,jackrabbit-core,jackrabbit-jcr-commons,jackrabbit-spi-commons,jackrabbit-spi,lucene-core,derby,concurrent,jackrabbit-text-extractors,pdfbox,jempbox,fontbox,poi,poi-scratchpad,nekohtml,xercesImpl
+                                jackrabbit-core,lucene-core,concurrent,xercesImpl,commons-dbcp,commons-pool
                             </includeArtifactIds>
                             <excludeTransitive>false</excludeTransitive>
                             <outputDirectory>
@@ -111,11 +111,11 @@
                 By default the JAR plugin will use the MANIFEST.MF file found
                 in the src/main/resources/META-INF folder, which is copied
                 as a resource.
-                
+
                 To use a manifest file, which is generated with the Apache
                 Felix Maven Bundle plugin enable the bundle profile (see below)
                 as in
-                
+
                     $ mvn -P bundle clean install
             -->
             <plugin>
@@ -132,9 +132,9 @@
             </plugin>
         </plugins>
     </build>
-    
+
     <profiles>
-        <!-- 
+        <!--
             The bundle profile may be used to update the manifest entries of
             the above default profile. If running the build with the build
             profile, you may use the generated manifest to update the
@@ -167,40 +167,63 @@
                                             org.apache.sling.jcr.jackrabbit.server.impl.Activator
                                         </Bundle-Activator>
                                         <Export-Package>
-                                        	org.apache.sling.jcr.jackrabbit.server.security.*;version=2.0.4-incubator,
-                                            org.apache.jackrabbit.core.security.principal;version=1.6.0
+                                            org.apache.sling.jcr.jackrabbit.server.security.*;version=2.0.4-incubator,
+                                            org.apache.jackrabbit.core.security.principal;version=2.0.0
                                         </Export-Package>
                                         <Private-Package>
-                                            org.apache.sling.jcr.jackrabbit.server.impl.*
+                                            org.apache.sling.jcr.jackrabbit.server.impl.*,
+                                            org.apache.commons.*
                                         </Private-Package>
                                         <Import-Package>
-                                            org.apache.sling.*, javax.jcr.*,
-                                            javax.naming.*, javax.xml.*,
+                                            <!-- Sling and OSGi -->
+                                            org.apache.sling.*, org.osgi.*,
+                                            <!-- JNDI, Security, Transactions -->
+                                            javax.naming.*,
                                             javax.security.*,
+                                            javax.sql.*,
+                                            javax.transaction.xa,
+                                            <!--  Helpers -->
+                                            org.apache.commons.io.*,
                                             org.apache.commons.collections.*,
-                                            org.apache.jackrabbit.api.*,
-                                            org.osgi.*,
-                                            org.slf4j, org.xml.sax, org.xml.sax.helpers
+                                            <!-- JCR and Jackrabbit API -->
+                                            javax.jcr.*, org.apache.jackrabbit.api.*,
+                                            <!-- Logging -->
+                                            org.slf4j,
+                                            <!-- XML stuff -->
+                                            javax.xml.*, org.xml.sax.*, org.w3c.dom.*,
+                                            <!-- JAR Service Registry for Query -->
+                                            javax.imageio.spi,
+
+                                            <!-- Exclude package, see JCR-2412 -->
+                                            !org.apache.jackrabbit.test,
+
+                                            <!-- playground imports -->
+                                            org.apache.tika.*,
+
+                                            <!-- Our default configuration uses derby, so import the driver -->
+                                            org.apache.derby.jdbc;resolution:=optional,
+
+                                            <!-- Required by concurrent lib SynchronizationTimer class -->
+                                            javax.swing.*;resolution:=optional
                                         </Import-Package>
+                                        <!--
                                         <DynamicImport-Package>*</DynamicImport-Package>
-                
+                                        -->
+
                                         <!-- Embedd some libraries -->
                                         <Embed-Transitive>true</Embed-Transitive>
                                         <Embed-Dependency>
-                                            <!-- core repository implementation -->
-                                            jackrabbit-jcr-rmi; jackrabbit-core;
-                                            jackrabbit-jcr-commons;
-                                            jackrabbit-spi-commons; jackrabbit-spi;
-                                            lucene-core; derby; concurrent,
-                                            
-                                            <!-- jackrabbit text extraction -->
-                                            jackrabbit-text-extractors,
-                                            pdfbox, jempbox, fontbox,
-                                            poi, poi-scratchpad,
-                                            nekohtml, xercesImpl
+                                            jackrabbit-core,
+                                            lucene-core,
+                                            concurrent,
+                                            commons-dbcp,
+                                            commons-pool
                                         </Embed-Dependency>
                                         <_removeheaders>
-                                            Embed-Dependency,Private-Package,Include-Resource
+                                            Embed-Dependency,
+                                            Embed-Transitive,
+                                            Private-Package,
+                                            Include-Resource
                                         </_removeheaders>
                                     </instructions>
                                 </configuration>
@@ -211,7 +234,7 @@
             </build>
         </profile>
     </profiles>
-    
+
     <reporting>
         <plugins>
             <plugin>
@@ -230,6 +253,7 @@
         <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
+            <version>2.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -240,37 +264,31 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.7-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
-        
+
         <!-- The core repository implementation -->
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>1.6.0</version>
+            <version>2.0.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-core</artifactId>
-            <version>1.6.0</version>
+            <version>2.0.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-jcr-rmi</artifactId>
-            <version>1.5.0</version>
-            <scope>compile</scope>
+            <version>2.0.0</version>
+            <scope>provided</scope>
         </dependency>
 
-        <!-- Text Extractor support -->
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-text-extractors</artifactId>
-            <version>1.6.0</version>
-        </dependency>
-        
+
         <!-- OSGi Libraries -->
         <dependency>
             <groupId>org.osgi</groupId>

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/Activator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/Activator.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/Activator.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/Activator.java Thu Feb 18 15:08:43 2010
@@ -20,7 +20,6 @@
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.sql.DriverManager;
 import java.util.Hashtable;
 
 import org.apache.sling.jcr.base.AbstractSlingRepository;
@@ -133,21 +132,6 @@
 
     public void stop(BundleContext arg0) {
 
-        /*
-         * when stopping Derby (which is used by Jackrabbit by default) a
-         * derby.antiGC thread keeps running which prevents this bundle from
-         * being garbage collected ... we try to really stop derby here and
-         * ignore the exception since according to
-         * http://db.apache.org/derby/docs/10.4/devguide/tdevdvlp20349.html this
-         * exception will always be thrown.
-         */
-
-        try {
-            DriverManager.getConnection("jdbc:derby:;shutdown=true");
-        } catch (Throwable t) {
-            // exception is always thrown
-        }
-
         // drop module cache
         moduleCache = null;
 

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/RmiRegistrationSupport.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/RmiRegistrationSupport.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/RmiRegistrationSupport.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/RmiRegistrationSupport.java Thu Feb 18 15:08:43 2010
@@ -27,8 +27,8 @@
 
 import javax.jcr.Repository;
 
-import org.apache.jackrabbit.rmi.jackrabbit.JackrabbitServerAdapterFactory;
 import org.apache.jackrabbit.rmi.server.RemoteAdapterFactory;
+import org.apache.jackrabbit.rmi.server.ServerAdapterFactory;
 import org.osgi.service.log.LogService;
 
 /**
@@ -186,7 +186,7 @@
      * extension API depending on the server implementation.
      */
     protected RemoteAdapterFactory getRemoteAdapterFactory() {
-        return new JackrabbitServerAdapterFactory();
+        return new ServerAdapterFactory();
     }
 
     // ---------- Inner Class --------------------------------------------------

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/SlingServerRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/SlingServerRepository.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/SlingServerRepository.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/SlingServerRepository.java Thu Feb 18 15:08:43 2010
@@ -30,6 +30,7 @@
 import javax.jcr.Credentials;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
+import javax.jcr.Value;
 
 import org.apache.jackrabbit.core.RepositoryImpl;
 import org.apache.jackrabbit.core.config.RepositoryConfig;

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/security/PluggableDefaultAccessManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/security/PluggableDefaultAccessManager.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/security/PluggableDefaultAccessManager.java (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/java/org/apache/sling/jcr/jackrabbit/server/impl/security/PluggableDefaultAccessManager.java Thu Feb 18 15:08:43 2010
@@ -23,7 +23,8 @@
 import javax.jcr.Session;
 import javax.security.auth.Subject;
 
-import org.apache.jackrabbit.core.ItemId;
+import org.apache.jackrabbit.core.HierarchyManager;
+import org.apache.jackrabbit.core.id.ItemId;
 import org.apache.jackrabbit.core.security.AMContext;
 import org.apache.jackrabbit.core.security.DefaultAccessManager;
 import org.apache.jackrabbit.core.security.authorization.AccessControlProvider;

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/META-INF/MANIFEST.MF Thu Feb 18 15:08:43 2010
@@ -1,66 +1,66 @@
-Manifest-Version: 1.0
-Export-Package: org.apache.sling.jcr.jackrabbit.server.security;uses:=
- "javax.jcr,javax.security.auth.callback,javax.security.auth.login";ve
- rsion="2.0.4.incubator",org.apache.sling.jcr.jackrabbit.server.securi
- ty.accessmanager;uses:="javax.jcr,javax.security.auth";version="2.0.4
- .incubator",org.apache.jackrabbit.core.security.principal;uses:="org.
- apache.jackrabbit.api.security.principal,org.slf4j,org.apache.commons
- .collections.map,javax.jcr,org.apache.jackrabbit.api.security.user,or
- g.apache.commons.collections.iterators,javax.jcr.observation,org.apac
- he.commons.collections.set";version="1.6.0"
-Service-Component: OSGI-INF/serviceComponents.xml
-Bundle-ClassPath: .,jackrabbit-jcr-rmi-1.5.0.jar,jackrabbit-core-1.6.0
- .jar,jackrabbit-jcr-commons-1.6.0.jar,jackrabbit-spi-commons-1.6.0.ja
- r,jackrabbit-spi-1.6.0.jar,lucene-core-2.4.1.jar,derby-10.2.1.6.jar,c
- oncurrent-1.3.4.jar,jackrabbit-text-extractors-1.6.0.jar,pdfbox-0.7.3
- .jar,jempbox-0.2.0.jar,fontbox-0.1.0.jar,poi-3.2-FINAL.jar,poi-scratc
- hpad-3.2-FINAL.jar,nekohtml-1.9.7.jar,xercesImpl-2.8.1.jar
-Tool: Bnd-0.0.357
-Embed-Transitive: true
-Bundle-Activator: org.apache.sling.jcr.jackrabbit.server.impl.Activato
- r
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-SymbolicName: org.apache.sling.jcr.jackrabbit.server
-Note: Built by bundle profile
-Bundle-Category: sling,jcr,jackrabbit
-Bundle-Name: Apache Sling Jackrabbit Embedded Repository
-Created-By: 1.6.0_13 (Sun Microsystems Inc.)
-DynamicImport-Package: *
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.6
-Bnd-LastModified: 1264510177332
-Bundle-ManifestVersion: 2
-Bundle-Description: Bundle providing support to embed Jackrabbit Repos
- itory        instances and publish via RMI and/or JNDI
-Import-Package: javax.jcr;version="1.0.0",javax.jcr.lock;version="1.0.
- 0",javax.jcr.nodetype;version="1.0.0",javax.jcr.observation;version="
- 1.0.0",javax.jcr.query;version="1.0.0",javax.jcr.util;version="1.0.0"
- ,javax.jcr.version;version="1.0.0",javax.naming,javax.naming.director
- y,javax.naming.spi,javax.security.auth,javax.security.auth.callback,j
- avax.security.auth.login,javax.security.auth.spi,javax.xml.datatype,j
- avax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.tr
- ansform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.
- xml.validation,org.apache.commons.collections,org.apache.commons.coll
- ections.bidimap,org.apache.commons.collections.buffer,org.apache.comm
- ons.collections.collection,org.apache.commons.collections.iterators,o
- rg.apache.commons.collections.list,org.apache.commons.collections.map
- ,org.apache.commons.collections.set,org.apache.jackrabbit.api;version
- ="1.6.0",org.apache.jackrabbit.api.jsr283;version="1.6.0",org.apache.
- jackrabbit.api.jsr283.lock;version="1.6.0",org.apache.jackrabbit.api.
- jsr283.nodetype;version="1.6.0",org.apache.jackrabbit.api.jsr283.obse
- rvation;version="1.6.0",org.apache.jackrabbit.api.jsr283.query;versio
- n="1.6.0",org.apache.jackrabbit.api.jsr283.retention;version="1.6.0",
- org.apache.jackrabbit.api.jsr283.security;version="1.6.0",org.apache.
- jackrabbit.api.jsr283.version;version="1.6.0",org.apache.jackrabbit.a
- pi.observation;version="1.6.0",org.apache.jackrabbit.api.security.pri
- ncipal;version="1.6.0",org.apache.jackrabbit.api.security.user;versio
- n="1.6.0",org.apache.sling.jcr.api;version="2.0.2",org.apache.sling.j
- cr.base;version="2.0.4",org.apache.sling.jcr.jackrabbit.server.securi
- ty;version="2.0.4",org.apache.sling.jcr.jackrabbit.server.security.ac
- cessmanager;version="2.0.4",org.osgi.framework;version="1.4.0",org.os
- gi.service.cm;version="1.2.0",org.osgi.service.component;version="1.0
- .0",org.osgi.service.log;version="1.3.0",org.osgi.util.tracker;versio
- n="1.3.3",org.slf4j;version="1.5.2",org.xml.sax,org.xml.sax.helpers
-Bundle-DocURL: http://sling.apache.org
-Originally-Created-By: 1.6.0_10 (Sun Microsystems Inc.)
-
+Manifest-Version: 1.0
+Export-Package: org.apache.sling.jcr.jackrabbit.server.security;uses:=
+ "javax.jcr,javax.security.auth.callback,javax.security.auth.login";ve
+ rsion="2.0.4.incubator",org.apache.sling.jcr.jackrabbit.server.securi
+ ty.accessmanager;uses:="javax.jcr,javax.security.auth";version="2.0.4
+ .incubator",org.apache.jackrabbit.core.security.principal;uses:="org.
+ apache.jackrabbit.api.security.principal,org.slf4j,org.apache.commons
+ .collections.map,javax.jcr,org.apache.jackrabbit.api.security.user,ja
+ vax.security.auth,org.apache.commons.collections.iterators,javax.jcr.
+ observation";version="2.0.0"
+Service-Component: OSGI-INF/serviceComponents.xml
+Ignore-Package: org.apache.jackrabbit.test
+Bundle-ClassPath: .,jackrabbit-core-2.0.0.jar,lucene-core-2.4.1.jar,co
+ ncurrent-1.3.4.jar,commons-dbcp-1.2.2.jar,commons-pool-1.3.jar
+Tool: Bnd-0.0.357
+Bundle-Activator: org.apache.sling.jcr.jackrabbit.server.impl.Activato
+ r
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
+Bundle-SymbolicName: org.apache.sling.jcr.jackrabbit.server
+Note: Built by bundle profile
+Bundle-Category: sling,jcr,jackrabbit
+Bundle-Name: Apache Sling Jackrabbit Embedded Repository
+Created-By: 1.6.0_17 (Apple Inc.)
+DynamicImport-Package: *
+Bundle-Vendor: The Apache Software Foundation
+Bundle-Version: 2.0.7.SNAPSHOT
+Bnd-LastModified: 1266504700690
+Bundle-ManifestVersion: 2
+Bundle-Description: Bundle providing support to embed Jackrabbit Repos
+ itory        instances and publish via RMI and/or JNDI
+Import-Package: javax.imageio.spi,javax.jcr;version="2.0.0",javax.jcr.
+ lock;version="2.0.0",javax.jcr.nodetype;version="2.0.0",javax.jcr.obs
+ ervation;version="2.0.0",javax.jcr.query;version="2.0.0",javax.jcr.qu
+ ery.qom;version="2.0.0",javax.jcr.retention;version="2.0.0",javax.jcr
+ .security;version="2.0.0",javax.jcr.util;version="2.0.0",javax.jcr.ve
+ rsion;version="2.0.0",javax.naming,javax.naming.spi,javax.security.au
+ th,javax.security.auth.callback,javax.security.auth.login,javax.secur
+ ity.auth.spi,javax.sql,javax.swing;resolution:=optional,javax.swing.b
+ order;resolution:=optional,javax.transaction.xa,javax.xml.parsers,jav
+ ax.xml.transform,javax.xml.transform.dom,javax.xml.transform.stream,o
+ rg.apache.commons.collections;version="3.2.1",org.apache.commons.coll
+ ections.bidimap;version="3.2.1",org.apache.commons.collections.buffer
+ ;version="3.2.1",org.apache.commons.collections.iterators;version="3.
+ 2.1",org.apache.commons.collections.map;version="3.2.1",org.apache.co
+ mmons.io;version="1.4.0",org.apache.commons.io.input;version="1.4.0",
+ org.apache.derby.jdbc;resolution:=optional,org.apache.jackrabbit.api;
+ version="2.0.0",org.apache.jackrabbit.api.management;version="2.0.0",
+ org.apache.jackrabbit.api.observation;version="2.0.0",org.apache.jack
+ rabbit.api.security;version="2.0.0",org.apache.jackrabbit.api.securit
+ y.principal;version="2.0.0",org.apache.jackrabbit.api.security.user;v
+ ersion="2.0.0",org.apache.sling.jcr.api;version="2.0.2",org.apache.sl
+ ing.jcr.base;version="2.0.4",org.apache.sling.jcr.jackrabbit.server.s
+ ecurity;version="2.0.4",org.apache.sling.jcr.jackrabbit.server.securi
+ ty.accessmanager;version="2.0.4",org.apache.tika.config,org.apache.ti
+ ka.exception,org.apache.tika.metadata,org.apache.tika.parser,org.apac
+ he.tika.parser.html,org.apache.tika.parser.image,org.apache.tika.pars
+ er.microsoft,org.apache.tika.parser.odf,org.apache.tika.parser.pdf,or
+ g.apache.tika.parser.rtf,org.apache.tika.parser.txt,org.apache.tika.p
+ arser.xml,org.apache.tika.sax,org.osgi.framework;version="1.4.0",org.
+ osgi.service.cm;version="1.2.0",org.osgi.service.component;version="1
+ .0.0",org.osgi.service.log;version="1.3.0",org.osgi.util.tracker;vers
+ ion="1.3.3",org.slf4j;version="1.5.2",org.w3c.dom,org.xml.sax,org.xml
+ .sax.helpers
+Bundle-DocURL: http://sling.apache.org
+Originally-Created-By: 1.6.0_10 (Sun Microsystems Inc.)
+

Modified: sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/OSGI-INF/metatype/metatype.properties
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/OSGI-INF/metatype/metatype.properties (original)
+++ sling/trunk/bundles/jcr/jackrabbit-server/src/main/resources/OSGI-INF/metatype/metatype.properties Thu Feb 18 15:08:43 2010
@@ -82,26 +82,6 @@
  The default value is 10 seconds, the minimum allowed value is 2 seconds, \
  smaller values are corected to the minimum.
  
-pool.maxActive.name = Maximum Sessions	
-pool.maxActive.description = The maximum number of sessions which may be logged \
- in through the Sling Repository. This number limits the number of sessions \
- provided by the session pool at any one time. If more sessions are requested \
- the respective threads have to wait for sessions to be logged out by other \
- threads. Default if negative or not set is virtually unlimited. \
- See Session Wait Time.
- 
-pool.maxActiveWait.name	= Session Wait Time
-pool.maxActiveWait.description = The number of seconds to wait for a session \
- to become available if the maximum number of sessions has been provided. If \
- no session becomes available within time frame, access to the repository fails. \
- Default if negative or not set is 10 seconds.
- 
-pool.maxIdle.name = Maximum Idle Sessions
-pool.maxIdle.description = The maximum number of sessions to keep in the pool. \
- The bigger this number, the more sessions are kept in the pool, the more login \
- round trips may be saved. On the other hand, each session requires a certain \
- amount of memory. Default if negative or not set is 10 idle sessions.
- 
 name.name = Embedded JCR Repository Name
 name.description = The name under which the embedded repository will be \
  registered JNDI and RMI registries. The respective registry services listen \

Modified: sling/trunk/bundles/jcr/jackrabbit-usermanager/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/jackrabbit-usermanager/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/jackrabbit-usermanager/pom.xml (original)
+++ sling/trunk/bundles/jcr/jackrabbit-usermanager/pom.xml Thu Feb 18 15:08:43 2010
@@ -87,7 +87,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>1.6.0</version>
+            <version>2.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>

Modified: sling/trunk/bundles/jcr/webdav/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/webdav/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/webdav/pom.xml (original)
+++ sling/trunk/bundles/jcr/webdav/pom.xml Thu Feb 18 15:08:43 2010
@@ -115,9 +115,15 @@
         </dependency>
 
         <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <version>2.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-jcr-server</artifactId>
-            <version>1.5.0</version>
+            <version>2.0.0</version>
             <scope>compile</scope>
         </dependency>
 

Modified: sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingResourceConfig.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingResourceConfig.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingResourceConfig.java (original)
+++ sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingResourceConfig.java Thu Feb 18 15:08:43 2010
@@ -30,7 +30,6 @@
 import org.apache.jackrabbit.server.io.DirListingExportHandler;
 import org.apache.jackrabbit.server.io.IOManager;
 import org.apache.jackrabbit.server.io.IOManagerImpl;
-import org.apache.jackrabbit.server.io.MimeResolver;
 import org.apache.jackrabbit.server.io.PropertyManager;
 import org.apache.jackrabbit.server.io.PropertyManagerImpl;
 import org.apache.jackrabbit.webdav.simple.DefaultItemFilter;
@@ -43,8 +42,6 @@
 
 public class SlingResourceConfig extends ResourceConfig {
 
-    private final MimeResolver mimeResolver;
-
     private final String[] collectionTypes;
 
     private final ItemFilter itemFilter;
@@ -57,9 +54,9 @@
 
     private final Dictionary<String, String> servletInitParams;
 
-    public SlingResourceConfig(MimeTypeService mimetypService,
+    public SlingResourceConfig(MimeTypeService mimeTypeService,
             Dictionary<?, ?> config) {
-        mimeResolver = new SlingMimeResolver(mimetypService);
+        super(new SlingTikaDetector(mimeTypeService));
         collectionTypes = OsgiUtil.toStringArray(
             config.get(SlingWebDavServlet.COLLECTION_TYPES),
             SlingWebDavServlet.COLLECTION_TYPES_DEFAULT);
@@ -93,7 +90,7 @@
         DirListingExportHandler dirHandler = new DirListingExportHandler();
         DefaultHandler defaultHandler = new DefaultHandler(null, collectionType,
             nonCollectionType, contentType);
-        
+
         ioManager = new IOManagerImpl();
         ioManager.addIOHandler(dirHandler);
         ioManager.addIOHandler(defaultHandler);
@@ -131,11 +128,6 @@
     }
 
     @Override
-    public MimeResolver getMimeResolver() {
-        return mimeResolver;
-    }
-
-    @Override
     public PropertyManager getPropertyManager() {
         return propertyManager;
     }

Added: sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingTikaDetector.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingTikaDetector.java?rev=911430&view=auto
==============================================================================
--- sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingTikaDetector.java (added)
+++ sling/trunk/bundles/jcr/webdav/src/main/java/org/apache/sling/jcr/webdav/impl/helper/SlingTikaDetector.java Thu Feb 18 15:08:43 2010
@@ -0,0 +1,88 @@
+/*
+ * 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.webdav.impl.helper;
+
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import org.apache.sling.commons.mime.MimeTypeService;
+import org.apache.tika.detect.Detector;
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.mime.MediaType;
+
+public class SlingTikaDetector implements Detector {
+
+    private final MimeTypeService mimeTypeService;
+
+    public SlingTikaDetector(MimeTypeService mimeTypeService) {
+        this.mimeTypeService = mimeTypeService;
+    }
+
+    public MediaType detect(InputStream rawData, Metadata metadata) {
+
+        // NOTE: This implementation is built after the Tika NameDetector
+        //    implementation which only takes the resource name into
+        //    consideration when trying to detect the MIME type.
+
+        // Look for a resource name in the input metadata
+        String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
+        if (name != null) {
+            // If the name is a URL, skip the trailing query and fragment parts
+            int question = name.indexOf('?');
+            if (question != -1) {
+                name = name.substring(0, question);
+            }
+            int hash = name.indexOf('#');
+            if (hash != -1) {
+                name = name.substring(0, hash);
+            }
+
+            // If the name is a URL or a path, skip all but the last component
+            int slash = name.lastIndexOf('/');
+            if (slash != -1) {
+                name = name.substring(slash + 1);
+            }
+            int backslash = name.lastIndexOf('\\');
+            if (backslash != -1) {
+                name = name.substring(backslash + 1);
+            }
+
+            // Decode any potential URL encoding
+            int percent = name.indexOf('%');
+            if (percent != -1) {
+                try {
+                    name = URLDecoder.decode(name, "UTF-8");
+                } catch (UnsupportedEncodingException e) {
+                    throw new AssertionError("UTF-8 not supported");
+                }
+            }
+
+            // Skip any leading or trailing whitespace
+            name = name.trim();
+            if (name.length() > 0) {
+                // Match the name against the registered patterns
+                String type = mimeTypeService.getMimeType(name);
+                if (type != null) {
+                    return MediaType.parse(type);
+                }
+            }
+        }
+
+        return MediaType.OCTET_STREAM;
+    }
+
+}

Modified: sling/trunk/bundles/servlets/post/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/post/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/post/pom.xml (original)
+++ sling/trunk/bundles/servlets/post/pom.xml Thu Feb 18 15:08:43 2010
@@ -120,6 +120,12 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <version>2.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.resource</artifactId>
             <version>2.0.6</version>

Modified: sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java (original)
+++ sling/trunk/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/impl/helper/SlingPropertyValueHandler.java Thu Feb 18 15:08:43 2010
@@ -243,7 +243,7 @@
                         }
                         return;
                     }
-                } else if (type == PropertyType.REFERENCE) {
+                } else if (type == PropertyType.REFERENCE || type == PropertyType.WEAKREFERENCE) {
                     Node n = referenceParser.parse(values[0]);
                     if (n != null) {
                         if ( prop.hasMultiValueTypeHint() ) {
@@ -290,7 +290,7 @@
                     ));
                     return;
                 }
-            } else if (type == PropertyType.REFERENCE) {
+            } else if (type == PropertyType.REFERENCE || type == PropertyType.WEAKREFERENCE) {
                 // try conversion
                 ValueFactory valFac = parent.getSession().getValueFactory();
                 Value[] n = referenceParser.parse(values, valFac);

Modified: sling/trunk/contrib/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/contrib/pom.xml (original)
+++ sling/trunk/contrib/pom.xml Thu Feb 18 15:08:43 2010
@@ -90,7 +90,6 @@
           <module>extensions/obr</module>
           <module>extensions/rewriter</module>
           <module>extensions/runmode</module>
-          <module>jcr/jackrabbit-api</module>
           <module>jcr/jackrabbit-client</module>
           <module>jcr/compiler</module>
           <module>jcr/prefs</module>

Modified: sling/trunk/launchpad/builder/src/main/bundles/list.xml
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/builder/src/main/bundles/list.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/launchpad/builder/src/main/bundles/list.xml (original)
+++ sling/trunk/launchpad/builder/src/main/bundles/list.xml Thu Feb 18 15:08:43 2010
@@ -7,6 +7,11 @@
             <version>1.4</version>
         </bundle>
         <bundle>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.2.1</version>
+        </bundle>
+        <bundle>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
             <version>3.2.1</version>
@@ -86,7 +91,7 @@
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.contentloader</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.7-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
@@ -235,44 +240,74 @@
 
     <startLevel level="15">
         <bundle>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <version>2.0</version>
+        </bundle>
+        <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.0.2-incubator</version>
+            <version>2.0.7-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.7-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-api</artifactId>
-            <version>1.6.0</version>
+            <version>2.0.0</version>
+        </bundle>
+        <bundle>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.5.3.0_1</version>
+        </bundle>
+        <bundle>
+            <groupId>org.apache.tika</groupId>
+    	    <artifactId>tika-bundle</artifactId>
+            <version>0.6</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.jackrabbit.server</artifactId>
-            <version>2.0.6</version>
+            <version>2.0.7-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.jackrabbit.usermanager</artifactId>
-            <version>2.0.4</version>
+            <version>2.0.5-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.jackrabbit.accessmanager</artifactId>
-            <version>2.0.4</version>
+            <version>2.0.5-SNAPSHOT</version>
         </bundle>
         <bundle>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-jcr-commons</artifactId>
-            <version>1.6.0</version>
+            <version>2.0.0</version>
+        </bundle>
+        <bundle>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-spi</artifactId>
+            <version>2.0.0</version>
+        </bundle>
+        <bundle>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-spi-commons</artifactId>
+            <version>2.0.0</version>
+        </bundle>
+        <bundle>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-jcr-rmi</artifactId>
+            <version>2.0.0</version>
         </bundle>
         <bundle>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.webdav</artifactId>
-            <version>2.0.8</version>
+            <version>2.0.9-SNAPSHOT</version>
         </bundle>
     </startLevel>
 </bundles>

Modified: sling/trunk/launchpad/test-services/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/pom.xml?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/launchpad/test-services/pom.xml (original)
+++ sling/trunk/launchpad/test-services/pom.xml Thu Feb 18 15:08:43 2010
@@ -81,6 +81,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.api</artifactId>
+            <version>2.0.7-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.api</artifactId>
             <version>2.1.1-SNAPSHOT</version>
         </dependency>

Added: sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/jcr/TestNamespaceMapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/jcr/TestNamespaceMapper.java?rev=911430&view=auto
==============================================================================
--- sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/jcr/TestNamespaceMapper.java (added)
+++ sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/jcr/TestNamespaceMapper.java Thu Feb 18 15:08:43 2010
@@ -0,0 +1,40 @@
+/*
+ * 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.launchpad.testservices.jcr;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.sling.jcr.api.NamespaceMapper;
+
+/**
+ * Test Implementation of NamespaceMapper
+ *
+ * @scr.component immediate="true" metatype="no"
+ * @scr.service interface="org.apache.sling.jcr.api.NamespaceMapper"
+ *
+ * @scr.property name="service.description" value="Test NamespaceMapper"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ *
+ */
+public class TestNamespaceMapper implements NamespaceMapper {
+
+    public void defineNamespacePrefixes(Session session) throws RepositoryException {
+        session.setNamespacePrefix("test2", "test2=http://sling.apache.org/test/two");
+    }
+
+}

Modified: sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/nodetypes/test.cnd
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/nodetypes/test.cnd?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/nodetypes/test.cnd (original)
+++ sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/nodetypes/test.cnd Thu Feb 18 15:08:43 2010
@@ -19,7 +19,6 @@
 <sling = 'http://sling.apache.org/jcr/sling/1.0'>
 
 [sling:propertySetTestNodeType] > nt:base
-/* post jcr-2 upgrade, change property type below to be 'uri' */
- - uri (string)
+ - uri (uri)
  - path (path)
  - name (name)
\ No newline at end of file

Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/NamespaceMappingTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/NamespaceMappingTest.java?rev=911430&r1=911429&r2=911430&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/NamespaceMappingTest.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/NamespaceMappingTest.java Thu Feb 18 15:08:43 2010
@@ -25,7 +25,7 @@
 import org.apache.commons.httpclient.NameValuePair;
 
 /**
- * Test that Namespace Mappings are working properly.
+ * Test that both Sling-Namespaces and {@link NamespaceMapper} work.
  */
 public class NamespaceMappingTest extends AbstractAuthenticatedTest {
 
@@ -51,6 +51,26 @@
         assertTrue("Content contains " + expected + " (" + content + ")", content.contains(expected));
     }
 
+    /**
+     * Verify that {@link NamespaceMapper} works.
+     */
+    public void testNamespaceFromNamespaceMapper() throws IOException {
+        final String expected = "test2=http://sling.apache.org/test/two";
+        final String content = getContent(HTTP_BASE_URL + "/testing/NamespaceTestServlet/output",
+                CONTENT_TYPE_PLAIN);
+        assertTrue("Content contains " + expected + " (" + content + ")", content.contains(expected));
+    }
+
+    /**
+     * Verify that {@link NamespaceMapper} works with impersonation.
+     */
+    public void testNamespaceFromNamespaceMapperWithImpersonation() throws IOException {
+        final String expected = "test2=http://sling.apache.org/test/two";
+        final String content = getContent(HTTP_BASE_URL + "/testing/NamespaceTestServlet/output?sudo=" + testUserId,
+                CONTENT_TYPE_PLAIN);
+        assertTrue("Content contains " + expected + " (" + content + ")", content.contains(expected));
+    }
+
     String testUserId = null;
 
     @Override