You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/02/08 18:17:04 UTC

svn commit: r376002 - in /lenya/trunk/src/modules: jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/ jcr/java/src/org/apache/lenya/cms/jcr/ repository/java/src/org/apache/lenya/cms/repo/ repository/java/test/org/apache/lenya/cms/jcr/

Author: andreas
Date: Wed Feb  8 09:17:02 2006
New Revision: 376002

URL: http://svn.apache.org/viewcvs?rev=376002&view=rev
Log:
Remove references to jackrabbit from jcr module. Shut down repository properly after test is completed.

Modified:
    lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java
    lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java
    lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java
    lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java
    lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java

Modified: lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java (original)
+++ lenya/trunk/src/modules/jackrabbit/java/src/org/apache/lenya/cms/jcr/jackrabbit/JackrabbitRepositoryFactory.java Wed Feb  8 09:17:02 2006
@@ -20,7 +20,6 @@
 
 import org.apache.jackrabbit.core.RepositoryImpl;
 import org.apache.jackrabbit.core.config.RepositoryConfig;
-import org.apache.lenya.cms.jcr.JCRRepository;
 import org.apache.lenya.cms.repo.Repository;
 import org.apache.lenya.cms.repo.RepositoryException;
 import org.apache.lenya.cms.repo.RepositoryFactory;
@@ -42,9 +41,7 @@
             File configFile = new File(repoDirectory, configFilePath);
             RepositoryConfig repoConfig = RepositoryConfig.create(configFile.getAbsolutePath(),
                     repoDirectory.getAbsolutePath());
-            JCRRepository repo = new JCRRepository(RepositoryImpl.create(repoConfig));
-
-            return repo;
+            return new JackrabbitRepository(RepositoryImpl.create(repoConfig));
         } catch (Exception e) {
             throw new RepositoryException(e);
         }

Modified: lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java (original)
+++ lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRRepository.java Wed Feb  8 09:17:02 2006
@@ -16,14 +16,9 @@
  */
 package org.apache.lenya.cms.jcr;
 
-import java.util.Arrays;
-
 import javax.jcr.Repository;
 import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
 
-import org.apache.jackrabbit.core.RepositoryImpl;
-import org.apache.jackrabbit.core.WorkspaceImpl;
 import org.apache.lenya.cms.jcr.metadata.JCRMetaDataRegistry;
 import org.apache.lenya.cms.repo.AssetTypeResolver;
 import org.apache.lenya.cms.repo.RepositoryException;
@@ -32,7 +27,7 @@
 /**
  * Facade to the JCR repository, providing Lenya-specific access.
  */
-public class JCRRepository implements org.apache.lenya.cms.repo.Repository {
+public abstract class JCRRepository implements org.apache.lenya.cms.repo.Repository {
 
     /**
      * The workspace to store internal data.
@@ -66,12 +61,13 @@
             throws org.apache.lenya.cms.repo.RepositoryException {
         return this.typeResolver;
     }
-    
+
     public void setAssetTypeResolver(AssetTypeResolver resolver) {
         this.typeResolver = resolver;
     }
 
     private MetaDataRegistry metaDataRegistry;
+    protected Session internalSession;
 
     public MetaDataRegistry getMetaDataRegistry() throws RepositoryException {
         if (this.metaDataRegistry == null) {
@@ -80,35 +76,12 @@
         return this.metaDataRegistry;
     }
 
-    private Session internalSession;
+    protected abstract Session getSession(String workspaceName) throws RepositoryException;
 
     protected Session getInternalSession() throws RepositoryException {
         if (this.internalSession == null) {
-            try {
-                Session defaultWorkspaceSession = getRepository().login(new SimpleCredentials("john",
-                        "".toCharArray()));
-                WorkspaceImpl defaultWorkspace = (WorkspaceImpl) defaultWorkspaceSession.getWorkspace();
-                String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
-                if (!Arrays.asList(workspaces).contains(INTERNAL_WORKSPACE)) {
-                    defaultWorkspace.createWorkspace(INTERNAL_WORKSPACE);
-                    // create = true;
-                }
-
-                this.internalSession = getRepository().login(new SimpleCredentials("john",
-                        "".toCharArray()),
-                        INTERNAL_WORKSPACE);
-            } catch (javax.jcr.RepositoryException e) {
-                throw new RepositoryException(e);
-            }
+            this.internalSession = getSession(INTERNAL_WORKSPACE);
         }
         return this.internalSession;
     }
-
-    public void shutdown() throws RepositoryException {
-        if (this.internalSession != null) {
-            this.internalSession.logout();
-        }
-        ((RepositoryImpl) this.repository).shutdown();
-    }
-
 }

Modified: lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java (original)
+++ lenya/trunk/src/modules/jcr/java/src/org/apache/lenya/cms/jcr/JCRSession.java Wed Feb  8 09:17:02 2006
@@ -24,14 +24,11 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.jcr.LoginException;
 import javax.jcr.NamespaceRegistry;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
 import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
 
-import org.apache.jackrabbit.core.WorkspaceImpl;
 import org.apache.lenya.cms.jcr.mapping.Path;
 import org.apache.lenya.cms.jcr.mapping.RepositoryFacade;
 import org.apache.lenya.cms.repo.Publication;
@@ -70,15 +67,7 @@
             try {
                 // boolean create = false;
 
-                WorkspaceImpl defaultWorkspace = getDefaultWorkspace();
-                String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
-                if (!Arrays.asList(workspaces).contains(area)) {
-                    defaultWorkspace.createWorkspace(area);
-                    // create = true;
-                }
-
-                Session session = getJcrRepository().getRepository()
-                        .login(new SimpleCredentials("john", "".toCharArray()), area);
+                Session session = getJcrRepository().getSession(area);
                 facade = new RepositoryFacade(this,
                         session,
                         getRepository().getAssetTypeResolver(),
@@ -104,19 +93,6 @@
         return facade;
     }
 
-    protected WorkspaceImpl getDefaultWorkspace() throws LoginException, RepositoryException {
-        WorkspaceImpl defaultWorkspace;
-        try {
-            Session defaultWorkspaceSession = getJcrRepository().getRepository()
-                    .login(new SimpleCredentials("john", "".toCharArray()));
-            defaultWorkspace = (WorkspaceImpl) defaultWorkspaceSession.getWorkspace();
-        } catch (javax.jcr.RepositoryException e) {
-            throw new RepositoryException(e);
-        }
-
-        return defaultWorkspace;
-    }
-
     public void save() throws org.apache.lenya.cms.repo.RepositoryException {
         try {
             for (Iterator i = this.area2facade.keySet().iterator(); i.hasNext();) {
@@ -136,8 +112,8 @@
             try {
                 Set pubIds = new HashSet();
 
-                WorkspaceImpl defaultWorkspace = getDefaultWorkspace();
-                String[] workspaces = defaultWorkspace.getAccessibleWorkspaceNames();
+                Session defaultSession = getJcrRepository().getInternalSession();
+                String[] workspaces = defaultSession.getWorkspace().getAccessibleWorkspaceNames();
 
                 for (int i = 0; i < workspaces.length; i++) {
 
@@ -206,7 +182,8 @@
         Set areas = new HashSet();
         String[] workspaces;
         try {
-            workspaces = getDefaultWorkspace().getAccessibleWorkspaceNames();
+            Session defaultSession = getJcrRepository().getInternalSession();
+            workspaces = defaultSession.getWorkspace().getAccessibleWorkspaceNames();
         } catch (javax.jcr.RepositoryException e) {
             throw new RepositoryException(e);
         }

Modified: lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java (original)
+++ lenya/trunk/src/modules/repository/java/src/org/apache/lenya/cms/repo/Repository.java Wed Feb  8 09:17:02 2006
@@ -50,8 +50,8 @@
     void setAssetTypeResolver(AssetTypeResolver resolver) throws RepositoryException;
     
     /**
-     * @return The asset type resolver.
-     * @throws RepositoryException if no asset type resolver is registered.
+     * @return The asset type resolver or <code>null</code> if no resolver is registered.
+     * @throws RepositoryException if an error occurs.
      */
     AssetTypeResolver getAssetTypeResolver() throws RepositoryException;
 }

Modified: lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java?rev=376002&r1=376001&r2=376002&view=diff
==============================================================================
--- lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java (original)
+++ lenya/trunk/src/modules/repository/java/test/org/apache/lenya/cms/jcr/JCRRepositoryTest.java Wed Feb  8 09:17:02 2006
@@ -144,6 +144,9 @@
         doTestTranslation(asset2);
 
         doTestUrlMapping(child);
+        
+        session.logout();
+        this.repo.shutdown();
 
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org