jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ju...@apache.org
Subject svn commit: r1065623 - in /jackrabbit/branches/2.2: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/ jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/
Date Mon, 31 Jan 2011 14:28:50 GMT
Author: jukka
Date: Mon Jan 31 14:28:50 2011
New Revision: 1065623

URL: http://svn.apache.org/viewvc?rev=1065623&view=rev
Log:
2.2: Merged revision 1065622 (JCR-2870)

Modified:
    jackrabbit/branches/2.2/   (props changed)
    jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/TransientRepository.java
    jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfig.java
    jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java

Propchange: jackrabbit/branches/2.2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 31 14:28:50 2011
@@ -2,4 +2,4 @@
 /jackrabbit/sandbox/JCR-1456:774917-886178
 /jackrabbit/sandbox/JCR-2170:812417-816332
 /jackrabbit/sandbox/tripod-JCR-2209:795441-795863
-/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656,1044312,1049473,1049491,1049520,1050346,1050551,1055068,1055070-1055071,1055116-1055117,1055127,1055134,1055164,1055498,1060431,1060434,1060753,1063756,1065599
+/jackrabbit/trunk:1038201,1038203,1038205,1038657,1039064,1039347,1039408,1039422-1039423,1039888,1039946,1040033,1040090,1040459,1040601,1040606,1040661,1040958,1041379,1041439,1041761,1042643,1042647,1042978-1042982,1043084-1043086,1043088,1043343,1043357-1043358,1043430,1043554,1043616,1043618,1043637,1043656,1044312,1049473,1049491,1049520,1050346,1050551,1055068,1055070-1055071,1055116-1055117,1055127,1055134,1055164,1055498,1060431,1060434,1060753,1063756,1065599,1065622

Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/TransientRepository.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/TransientRepository.java?rev=1065623&r1=1065622&r2=1065623&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/TransientRepository.java
(original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/TransientRepository.java
Mon Jan 31 14:28:50 2011
@@ -168,15 +168,16 @@ public class TransientRepository extends
     }
 
     /**
-     * Creates a transient repository proxy that will use the given repository
-     * configuration to initialize the underlying repository instance.
+     * Creates a transient repository proxy that will use a copy of the given 
+     * repository configuration to initialize the underlying repository 
+     * instance.
      *
      * @param config repository configuration
      */
     public TransientRepository(final RepositoryConfig config) {
         this(new RepositoryFactory() {
             public RepositoryImpl getRepository() throws RepositoryException {
-                return RepositoryImpl.create(config);
+                return RepositoryImpl.create(RepositoryConfig.create(config));
             }
         }, config.getHomeDir());
     }

Modified: jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfig.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfig.java?rev=1065623&r1=1065622&r2=1065623&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfig.java
(original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/RepositoryConfig.java
Mon Jan 31 14:28:50 2011
@@ -350,6 +350,25 @@ public class RepositoryConfig
     }
 
     /**
+     * Creates a repository configuration object based on an existing configuration. The
factories
+     * contained within the configuration will be newly initialized, but all other information
+     * will be the same.
+     *
+     * @param config repository configuration to create the new instance from
+     * @return repository configuration
+     * @throws ConfigurationException on configuration errors
+     */
+    public static RepositoryConfig create(RepositoryConfig config) throws ConfigurationException
+    {
+        RepositoryConfig copiedConfig = new RepositoryConfig(config.home, config.sec, config.fsf,
+                config.workspaceDirectory, config.workspaceConfigDirectory, config.defaultWorkspace,
+                config.workspaceMaxIdleTime, config.template, config.vc, config.qhf, config.cc,
+                config.dsf, config.rlf, config.dsc, new ConnectionFactory(), config.parser);
+        copiedConfig.init();
+        return copiedConfig;
+    }
+
+    /**
      * map of workspace names and workspace configurations
      */
     private Map<String, WorkspaceConfig> workspaces;

Modified: jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java?rev=1065623&r1=1065622&r2=1065623&view=diff
==============================================================================
--- jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
(original)
+++ jackrabbit/branches/2.2/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/RepositoryConfigTest.java
Mon Jan 31 14:28:50 2011
@@ -195,42 +195,7 @@ public class RepositoryConfigTest extend
      * Test that the repository configuration file is correctly parsed.
      */
     public void testRepositoryConfig() throws Exception {
-        assertEquals(DIR.getPath(), config.getHomeDir());
-        assertEquals("default", config.getDefaultWorkspaceName());
-        assertEquals(
-                new File(DIR, "workspaces").getPath(),
-                new File(config.getWorkspacesConfigRootDir()).getPath());
-        assertEquals("Jackrabbit", config.getSecurityConfig().getAppName());
-
-        // SecurityManagerConfig
-        SecurityManagerConfig smc =
-            config.getSecurityConfig().getSecurityManagerConfig();
-        assertEquals(
-                "org.apache.jackrabbit.core.security.simple.SimpleSecurityManager",
-                smc.getClassName());
-        assertTrue(smc.getParameters().isEmpty());
-        assertNotNull(smc.getWorkspaceName());
-
-        BeanConfig bc = smc.getWorkspaceAccessConfig();
-        if (bc != null) {
-            WorkspaceAccessManager wac =
-                smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class);
-            assertEquals("org.apache.jackrabbit.core.security.simple.SimpleWorkspaceAccessManager",
wac.getClass().getName());
-        }
-
-        // AccessManagerConfig
-        AccessManagerConfig amc =
-            config.getSecurityConfig().getAccessManagerConfig();
-        assertEquals(
-                "org.apache.jackrabbit.core.security.simple.SimpleAccessManager",
-                amc.getClassName());
-        assertTrue(amc.getParameters().isEmpty());
-
-        VersioningConfig vc = config.getVersioningConfig();
-        assertEquals(new File(DIR, "version"), vc.getHomeDir());
-        assertEquals(
-                "org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager",
-                vc.getPersistenceManagerConfig().getClassName());
+        assertRepositoryConfiguration(config);
     }
 
     public void testInit() throws Exception {
@@ -313,4 +278,57 @@ public class RepositoryConfigTest extend
         }
     }
 
+    /**
+     * Test that a RepositoryConfig can be copied into a new instance.
+     *
+     * @throws Exception if an unexpected error occurs during the test
+     */
+    public void testCopyConfig() throws Exception
+    {
+        RepositoryConfig copyConfig = RepositoryConfig.create(config);
+
+        assertNotNull("Configuration not created properly", copyConfig);
+        assertRepositoryConfiguration(copyConfig);
+    }
+
+    private void assertRepositoryConfiguration(RepositoryConfig config)
+            throws ConfigurationException {
+        assertEquals(DIR.getPath(), config.getHomeDir());
+        assertEquals("default", config.getDefaultWorkspaceName());
+        assertEquals(
+                new File(DIR, "workspaces").getPath(),
+                new File(config.getWorkspacesConfigRootDir()).getPath());
+        assertEquals("Jackrabbit", config.getSecurityConfig().getAppName());
+
+        // SecurityManagerConfig
+        SecurityManagerConfig smc =
+            config.getSecurityConfig().getSecurityManagerConfig();
+        assertEquals(
+                "org.apache.jackrabbit.core.security.simple.SimpleSecurityManager",
+                smc.getClassName());
+        assertTrue(smc.getParameters().isEmpty());
+        assertNotNull(smc.getWorkspaceName());
+
+        BeanConfig bc = smc.getWorkspaceAccessConfig();
+        if (bc != null) {
+            WorkspaceAccessManager wac =
+                smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class);
+            assertEquals("org.apache.jackrabbit.core.security.simple.SimpleWorkspaceAccessManager",
wac.getClass().getName());
+        }
+
+        // AccessManagerConfig
+        AccessManagerConfig amc =
+            config.getSecurityConfig().getAccessManagerConfig();
+        assertEquals(
+                "org.apache.jackrabbit.core.security.simple.SimpleAccessManager",
+                amc.getClassName());
+        assertTrue(amc.getParameters().isEmpty());
+
+        VersioningConfig vc = config.getVersioningConfig();
+        assertEquals(new File(DIR, "version"), vc.getHomeDir());
+        assertEquals(
+                "org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager",
+                vc.getPersistenceManagerConfig().getClassName());
+    }
+
 }



Mime
View raw message