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,

Reply via email to