Author: tomekr
Date: Wed Dec 7 09:05:56 2016
New Revision: 1773028
URL: http://svn.apache.org/viewvc?rev=1773028&view=rev
Log:
OAK-5233: Parameter --src-datastore is being ignored for JCR2 upgrade
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java
Modified:
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java?rev=1773028&r1=1773027&r2=1773028&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java
(original)
+++
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/StoreArguments.java
Wed Dec 7 09:05:56 2016
@@ -54,7 +54,7 @@ public class StoreArguments {
public StoreArguments(MigrationOptions options, List<String> arguments)
throws CliArgumentException {
this.options = options;
- List<StoreDescriptor> descriptors = createStoreDescriptors(arguments);
+ List<StoreDescriptor> descriptors = createStoreDescriptors(arguments,
options);
src = descriptors.get(0);
dst = descriptors.get(1);
@@ -115,11 +115,11 @@ public class StoreArguments {
return !srcHasExternalBlobRefs;
}
- private static List<StoreDescriptor> createStoreDescriptors(List<String>
arguments) throws CliArgumentException {
+ private static List<StoreDescriptor> createStoreDescriptors(List<String>
arguments, MigrationOptions options) throws CliArgumentException {
List<StoreDescriptor> descriptors = mapToStoreDescriptors(arguments);
mergeCrx2Descriptors(descriptors);
addSegmentAsDestination(descriptors);
- validateDescriptors(descriptors);
+ validateDescriptors(descriptors, options);
return descriptors;
}
@@ -195,7 +195,7 @@ public class StoreArguments {
}
}
- private static void validateDescriptors(List<StoreDescriptor> descriptors)
throws CliArgumentException {
+ private static void validateDescriptors(List<StoreDescriptor> descriptors,
MigrationOptions options) throws CliArgumentException {
if (descriptors.size() < 2) {
throw new CliArgumentException("Not enough node store arguments: "
+ descriptors.toString(), 1);
} else if (descriptors.size() > 2) {
@@ -208,6 +208,9 @@ public class StoreArguments {
if (src.getType() == dst.getType() &&
src.getPath().equals(dst.getPath())) {
throw new CliArgumentException("The source and the destination is
the same repository.", 1);
}
+ if (src.getType() == StoreType.JCR2_DIR_XML &&
options.isSrcBlobStoreDefined()) {
+ throw new CliArgumentException("The --src-datastore can't be used
for the repository upgrade. Source datastore configuration is placed in the
repository.xml file.", 1);
+ }
}
private static void logSegmentVersion() {