You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2014/04/11 15:48:37 UTC
svn commit: r1586655 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/
oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/
oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/
oak-core/src/mai...
Author: jukka
Date: Fri Apr 11 13:48:37 2014
New Revision: 1586655
URL: http://svn.apache.org/r1586655
Log:
OAK-1719: Missing commit hooks in upgrade
Map security configuration and include all initializers and hooks from the security provider
Also removed unused arguments from WorkspaceInitializer.initialize()
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeWorkspaceInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java Fri Apr 11 13:48:37 2014
@@ -531,9 +531,8 @@ public class Oak {
return sc.getWorkspaceInitializer();
}
});
- OakInitializer.initialize(workspaceInitializers, store,
- defaultWorkspaceName, indexEditors, queryEngineSettings, indexProvider,
- CompositeHook.compose(initHooks));
+ OakInitializer.initialize(
+ workspaceInitializers, store, defaultWorkspaceName, indexEditors);
// add index hooks later to prevent the OakInitializer to do excessive indexing
with(new IndexUpdateProvider(indexEditors));
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationInitializer.java Fri Apr 11 13:48:37 2014
@@ -20,11 +20,8 @@ import com.google.common.collect.Immutab
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
-import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionConstants;
-import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
-import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol.AccessControlConstants;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -44,10 +41,7 @@ import static org.apache.jackrabbit.JcrC
class AuthorizationInitializer implements WorkspaceInitializer, AccessControlConstants, PermissionConstants {
@Override
- public void initialize(
- NodeBuilder builder, String workspaceName,
- QueryEngineSettings queryEngineSettings,
- QueryIndexProvider indexProvider, CommitHook commitHook) {
+ public void initialize(NodeBuilder builder, String workspaceName) {
// property index for rep:principalName stored in ACEs
NodeBuilder index = IndexUtils.getOrCreateOakIndex(builder);
if (!index.hasChildNode("acPrincipalName")) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserInitializer.java Fri Apr 11 13:48:37 2014
@@ -30,9 +30,9 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.spi.commit.CommitHook;
+import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.lifecycle.WorkspaceInitializer;
-import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.spi.query.CompositeQueryIndexProvider;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
@@ -86,14 +86,13 @@ class UserInitializer implements Workspa
//-----------------------------------------------< WorkspaceInitializer >---
@Override
- public void initialize(
- NodeBuilder builder, String workspaceName,
- QueryEngineSettings queryEngineSettings,
- QueryIndexProvider indexProvider, CommitHook commitHook) {
+ public void initialize(NodeBuilder builder, String workspaceName) {
NodeState base = builder.getNodeState();
MemoryNodeStore store = new MemoryNodeStore(base);
- Root root = new SystemRoot(store, commitHook, workspaceName, securityProvider, queryEngineSettings, indexProvider);
+ Root root = new SystemRoot(
+ store, EmptyHook.INSTANCE, workspaceName, securityProvider,
+ new QueryEngineSettings(), new CompositeQueryIndexProvider());
UserConfiguration userConfiguration = securityProvider.getConfiguration(UserConfiguration.class);
UserManager userManager = userConfiguration.getUserManager(root, NamePathMapper.DEFAULT);
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeInitializer.java Fri Apr 11 13:48:37 2014
@@ -24,7 +24,6 @@ import java.util.Collection;
import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
-import org.apache.jackrabbit.oak.spi.state.NodeState;
/**
* Composite repository initializer that delegates the
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeWorkspaceInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeWorkspaceInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeWorkspaceInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/CompositeWorkspaceInitializer.java Fri Apr 11 13:48:37 2014
@@ -20,19 +20,15 @@ package org.apache.jackrabbit.oak.spi.li
import java.util.Arrays;
import java.util.Collection;
+
import javax.annotation.Nonnull;
-import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.spi.commit.CommitHook;
-import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
/**
* Composite repository initializer that delegates the
- * {@link #initialize(org.apache.jackrabbit.oak.spi.state.NodeBuilder, String,
- * org.apache.jackrabbit.oak.spi.query.QueryIndexProvider,
- * org.apache.jackrabbit.oak.spi.commit.CommitHook)} calls in sequence to all the
- * component initializers.
+ * {@link #initialize(org.apache.jackrabbit.oak.spi.state.NodeBuilder, String)}
+ * calls in sequence to all the component initializers.
*/
public class CompositeWorkspaceInitializer implements WorkspaceInitializer {
@@ -47,9 +43,9 @@ public class CompositeWorkspaceInitializ
}
@Override
- public void initialize(NodeBuilder builder, String workspaceName, QueryEngineSettings queryEngineSettings, QueryIndexProvider indexProvider, CommitHook commitHook) {
+ public void initialize(NodeBuilder builder, String workspaceName) {
for (WorkspaceInitializer tracker : initializers) {
- tracker.initialize(builder, workspaceName, queryEngineSettings, indexProvider, commitHook);
+ tracker.initialize(builder, workspaceName);
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/OakInitializer.java Fri Apr 11 13:48:37 2014
@@ -23,11 +23,9 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
-import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
-import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -53,13 +51,10 @@ public final class OakInitializer {
public static void initialize(@Nonnull Iterable<WorkspaceInitializer> initializer,
@Nonnull NodeStore store,
@Nonnull String workspaceName,
- @Nonnull IndexEditorProvider indexEditor,
- QueryEngineSettings queryEngineSettings,
- @Nonnull QueryIndexProvider indexProvider,
- @Nonnull CommitHook commitHook) {
+ @Nonnull IndexEditorProvider indexEditor) {
NodeBuilder builder = store.getRoot().builder();
for (WorkspaceInitializer wspInit : initializer) {
- wspInit.initialize(builder, workspaceName, queryEngineSettings, indexProvider, commitHook);
+ wspInit.initialize(builder, workspaceName);
}
try {
CommitHook hook = new EditorHook(new IndexUpdateProvider(indexEditor));
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/lifecycle/WorkspaceInitializer.java Fri Apr 11 13:48:37 2014
@@ -16,9 +16,6 @@
*/
package org.apache.jackrabbit.oak.spi.lifecycle;
-import org.apache.jackrabbit.oak.query.QueryEngineSettings;
-import org.apache.jackrabbit.oak.spi.commit.CommitHook;
-import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
/**
@@ -32,10 +29,7 @@ public interface WorkspaceInitializer {
WorkspaceInitializer DEFAULT = new WorkspaceInitializer() {
@Override
- public void initialize(
- NodeBuilder builder, String workspaceName,
- QueryEngineSettings queryEngineSettings,
- QueryIndexProvider indexProvider, CommitHook commitHook) {
+ public void initialize(NodeBuilder builder, String workspaceName) {
}
};
@@ -45,12 +39,6 @@ public interface WorkspaceInitializer {
*
* @param builder builder for accessing and modifying the workspace
* @param workspaceName The name of the workspace that is being initialized.
- * @param indexProvider The query index provider used within this workspace.
- * @param commitHook The commit hook(s) defined for this workspace.
*/
- void initialize(NodeBuilder builder,
- String workspaceName,
- QueryEngineSettings queryEngineSettings,
- QueryIndexProvider indexProvider,
- CommitHook commitHook);
+ void initialize(NodeBuilder builder, String workspaceName);
}
Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1586655&r1=1586654&r2=1586655&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java Fri Apr 11 13:48:37 2014
@@ -22,14 +22,17 @@ import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+
import javax.jcr.NamespaceException;
import javax.jcr.RepositoryException;
import javax.jcr.security.Privilege;
import javax.jcr.version.OnParentVersionAction;
import org.apache.jackrabbit.core.RepositoryContext;
+import org.apache.jackrabbit.core.config.BeanConfig;
+import org.apache.jackrabbit.core.config.LoginModuleConfig;
import org.apache.jackrabbit.core.config.RepositoryConfig;
-import org.apache.jackrabbit.core.config.UserManagerConfig;
+import org.apache.jackrabbit.core.config.SecurityConfig;
import org.apache.jackrabbit.core.fs.FileSystem;
import org.apache.jackrabbit.core.fs.FileSystemException;
import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
@@ -46,12 +49,16 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.name.Namespaces;
import org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider;
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
+import org.apache.jackrabbit.oak.security.SecurityProviderImpl;
import org.apache.jackrabbit.oak.spi.commit.CommitHook;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.CompositeEditorProvider;
import org.apache.jackrabbit.oak.spi.commit.CompositeHook;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
+import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
+import org.apache.jackrabbit.oak.spi.security.SecurityConfiguration;
import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeBits;
+import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -68,7 +75,10 @@ import org.apache.jackrabbit.spi.QValueC
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+
import static com.google.common.base.Preconditions.checkState;
+import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Lists.newArrayListWithCapacity;
import static com.google.common.collect.Maps.newHashMap;
import static java.util.Arrays.asList;
@@ -211,8 +221,16 @@ public class RepositoryUpgrade {
try {
NodeBuilder builder = target.getRoot().builder();
+ String workspace =
+ source.getRepositoryConfig().getDefaultWorkspaceName();
+ SecurityProviderImpl security = new SecurityProviderImpl(
+ mapSecurityConfig(config.getSecurityConfig()));
+
// init target repository first
new InitialContent().initialize(builder);
+ for (SecurityConfiguration sc : security.getConfigurations()) {
+ sc.getWorkspaceInitializer().initialize(builder, workspace);
+ }
Map<String, String> uriToPrefix = newHashMap();
Map<Integer, String> idxToPrefix = newHashMap();
@@ -222,30 +240,67 @@ public class RepositoryUpgrade {
NodeState root = builder.getNodeState();
copyVersionStore(builder, root, uriToPrefix, idxToPrefix);
- copyWorkspaces(builder, root, uriToPrefix, idxToPrefix);
+ copyWorkspace(builder, root, workspace, uriToPrefix, idxToPrefix);
logger.info("Applying default commit hooks");
- String groupsPath;
- UserManagerConfig userConfig = config.getSecurityConfig().getSecurityManagerConfig().getUserManagerConfig();
- if (userConfig != null) {
- groupsPath = userConfig.getParameters().getProperty(UserManagerImpl.PARAM_GROUPS_PATH, UserConstants.DEFAULT_GROUP_PATH);
- } else {
- groupsPath = UserConstants.DEFAULT_GROUP_PATH;
- }
// TODO: default hooks?
- CommitHook hook = new CompositeHook(
- new EditorHook(new GroupEditorProvider(groupsPath)),
- new EditorHook(new CompositeEditorProvider(
+ List<CommitHook> hooks = newArrayList();
+
+ UserConfiguration userConf =
+ security.getConfiguration(UserConfiguration.class);
+ String groupsPath = userConf.getParameters().getConfigValue(
+ UserConstants.PARAM_GROUP_PATH,
+ UserConstants.DEFAULT_GROUP_PATH);
+ hooks.add(new EditorHook(new GroupEditorProvider(groupsPath)));
+ hooks.add(new EditorHook(new CompositeEditorProvider(
+ new GroupEditorProvider(groupsPath),
new TypeEditorProvider(false),
new IndexUpdateProvider(new CompositeIndexEditorProvider(
new ReferenceEditorProvider(),
new PropertyIndexEditorProvider())))));
- target.merge(builder, hook, CommitInfo.EMPTY);
+
+ for (SecurityConfiguration sc : security.getConfigurations()) {
+ hooks.addAll(sc.getCommitHooks(workspace));
+ }
+
+ target.merge(builder, CompositeHook.compose(hooks), CommitInfo.EMPTY);
} catch (Exception e) {
throw new RepositoryException("Failed to copy content", e);
}
}
+ private ConfigurationParameters mapSecurityConfig(SecurityConfig config) {
+ ConfigurationParameters loginConfig = mapConfigurationParameters(
+ config.getLoginModuleConfig(),
+ LoginModuleConfig.PARAM_ADMIN_ID, UserConstants.PARAM_ADMIN_ID,
+ LoginModuleConfig.PARAM_ANONYMOUS_ID, UserConstants.PARAM_ANONYMOUS_ID);
+ ConfigurationParameters userConfig = mapConfigurationParameters(
+ config.getSecurityManagerConfig().getUserManagerConfig(),
+ UserManagerImpl.PARAM_USERS_PATH, UserConstants.PARAM_USER_PATH,
+ UserManagerImpl.PARAM_GROUPS_PATH, UserConstants.PARAM_GROUP_PATH,
+ UserManagerImpl.PARAM_DEFAULT_DEPTH, UserConstants.PARAM_DEFAULT_DEPTH,
+ UserManagerImpl.PARAM_PASSWORD_HASH_ALGORITHM, UserConstants.PARAM_PASSWORD_HASH_ALGORITHM,
+ UserManagerImpl.PARAM_PASSWORD_HASH_ITERATIONS, UserConstants.PARAM_PASSWORD_HASH_ITERATIONS);
+ return ConfigurationParameters.of(ImmutableMap.of(
+ UserConfiguration.NAME,
+ ConfigurationParameters.of(loginConfig, userConfig)));
+ }
+
+ private ConfigurationParameters mapConfigurationParameters(
+ BeanConfig config, String... mapping) {
+ Map<String, String> map = newHashMap();
+ if (config != null) {
+ Properties properties = config.getParameters();
+ for (int i = 0; i + 1 < mapping.length; i += 2) {
+ String value = properties.getProperty(mapping[i]);
+ if (value != null) {
+ map.put(mapping[i + 1], value);
+ }
+ }
+ }
+ return ConfigurationParameters.of(map);
+ }
+
private String getOakName(Name name) throws NamespaceException {
String uri = name.getNamespaceURI();
String local = name.getLocalName();
@@ -557,15 +612,11 @@ public class RepositoryUpgrade {
"/jcr:system/jcr:activities", copyBinariesByReference));
}
- private void copyWorkspaces(
- NodeBuilder builder, NodeState root,
+ private String copyWorkspace(
+ NodeBuilder builder, NodeState root, String name,
Map<String, String> uriToPrefix, Map<Integer, String> idxToPrefix)
throws RepositoryException, IOException {
- logger.info("Copying default workspace");
-
- // Copy all the default workspace content
- RepositoryConfig config = source.getRepositoryConfig();
- String name = config.getDefaultWorkspaceName();
+ logger.info("Copying workspace {}", name);
PersistenceManager pm =
source.getWorkspaceInfo(name).getPersistenceManager();
@@ -582,7 +633,7 @@ public class RepositoryUpgrade {
}
}
- // TODO: Copy all the active open-scoped locks
+ return name;
}