UNOMI-150 Retrieve common ES address for migration Retrieve the same Elasticsearch address for all migration scripts, in order to add more migration scripts.
Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/29d939f0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/29d939f0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/29d939f0 Branch: refs/heads/master Commit: 29d939f056c0aec8ae2f005a731e80c7334bc217 Parents: d806626 Author: Jarek Lipski <jlip...@jahia.com> Authored: Wed Feb 7 18:43:57 2018 +0100 Committer: Jarek Lipski <jlip...@jahia.com> Committed: Wed Feb 7 19:02:33 2018 +0100 ---------------------------------------------------------------------- .../java/org/apache/unomi/shell/migration/Migration.java | 2 +- .../org/apache/unomi/shell/migration/actions/Migrate.java | 4 +++- .../apache/unomi/shell/migration/impl/MigrationTo130.java | 9 +++++---- 3 files changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/29d939f0/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java ---------------------------------------------------------------------- diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java index 50307cb..141c4b4 100644 --- a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java +++ b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/Migration.java @@ -46,5 +46,5 @@ public interface Migration { * @param httpClient CloseableHttpClient * @throws IOException */ - void execute(CommandSession session, CloseableHttpClient httpClient) throws IOException; + void execute(CommandSession session, CloseableHttpClient httpClient, String esAddress) throws IOException; } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/29d939f0/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java ---------------------------------------------------------------------- diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java index f2e5ef2..fdc33ea 100644 --- a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java +++ b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/actions/Migrate.java @@ -44,6 +44,8 @@ public class Migrate extends OsgiCommandSupport { System.out.println("Starting migration process from version: " + fromVersionWithoutSuffix); + String esAddress = ConsoleUtils.askUserWithDefaultAnswer(session, "Elasticsearch address (default = http://localhost:9200): ", "http://localhost:9200"); + Version fromVersion = new Version(fromVersionWithoutSuffix); Version currentVersion = getCurrentVersionWithoutQualifier(); System.out.println("current version: " + currentVersion.toString()); @@ -57,7 +59,7 @@ public class Migrate extends OsgiCommandSupport { for (Migration migration : migrations) { if (fromVersion.compareTo(migration.getToVersion()) < 0) { System.out.println("Starting migration to version " + migration.getToVersion()); - migration.execute(session, httpClient); + migration.execute(session, httpClient, esAddress); System.out.println("Migration to version " + migration.getToVersion() + " done successfully"); } } http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/29d939f0/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo130.java ---------------------------------------------------------------------- diff --git a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo130.java b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo130.java index b1d4cd4..63e42fa 100644 --- a/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo130.java +++ b/tools/shell-commands/src/main/java/org/apache/unomi/shell/migration/impl/MigrationTo130.java @@ -36,6 +36,7 @@ public class MigrationTo130 implements Migration { private CloseableHttpClient httpClient; private CommandSession session; + private String esAddress; private LinkedHashMap<String, List<String>> tagsStructurePriorTo130; private List propsTaggedAsPersonalIdentifier = Arrays.asList("firstName", "lastName", "email", "phoneNumber", "address", "facebookId", "googleId", "linkedInId", "twitterId"); @@ -50,10 +51,11 @@ public class MigrationTo130 implements Migration { } @Override - public void execute(CommandSession session, CloseableHttpClient httpClient) throws IOException { + public void execute(CommandSession session, CloseableHttpClient httpClient, String esAddress) throws IOException { try { this.httpClient = httpClient; this.session = session; + this.esAddress = esAddress; migrateTags(); } catch (IOException e) { if (httpClient != null) { @@ -65,16 +67,15 @@ public class MigrationTo130 implements Migration { private void migrateTags() throws IOException { initTagsStructurePriorTo130(); - String hostAddress = ConsoleUtils.askUserWithDefaultAnswer(session, "Host address (default = http://localhost:9200): ", "http://localhost:9200"); String tagsOperation = ConsoleUtils.askUserWithAuthorizedAnswer(session, "How to manage tags?\n1. copy: will duplicate tags in systemTags property\n2. move: will move tags in systemTags property\n[1 - 2]: ", Arrays.asList("1", "2")); String removeNamespaceOnSystemTags = ConsoleUtils.askUserWithAuthorizedAnswer(session, "As we will copy/move the tags, do you wish to remove existing namespace on tags before copy/move in systemTags? (e.g: hidden.) (yes/no): ", Arrays.asList("yes", "no")); List<String> typeToMigrate = Arrays.asList("actionType", "conditionType", "campaign", "goal", "rule", "scoring", "segment", "userList"); for (String type : typeToMigrate) { - migrateTagsInResult(hostAddress, type, 10, true, tagsOperation, removeNamespaceOnSystemTags.equals("yes"), null); + migrateTagsInResult(esAddress, type, 10, true, tagsOperation, removeNamespaceOnSystemTags.equals("yes"), null); } - migrateTagsInResult(hostAddress, "propertyType", 10, false, tagsOperation, removeNamespaceOnSystemTags.equals("yes"), null); + migrateTagsInResult(esAddress, "propertyType", 10, false, tagsOperation, removeNamespaceOnSystemTags.equals("yes"), null); } private void migrateTagsInResult(String hostAddress, String type, int currentOffset,