You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by dg...@apache.org on 2017/11/29 14:39:51 UTC

[8/9] incubator-unomi git commit: Changed functions name, added errors messages, and optimized the code

Changed functions name, added errors messages, and optimized the code


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/ea3a41cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/ea3a41cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/ea3a41cb

Branch: refs/heads/master
Commit: ea3a41cbd072b4073ad04d4d0ad59caf705df554
Parents: 89672bd
Author: Dinesh <di...@ynov.com>
Authored: Wed Nov 29 14:13:44 2017 +0100
Committer: Dinesh <di...@ynov.com>
Committed: Wed Nov 29 14:13:44 2017 +0100

----------------------------------------------------------------------
 .../AddVisitorToMailChimpListAction.java        |  55 +++++++
 .../AddVisitorToMailChimpListsAction.java       |  55 -------
 .../RemoveVisitorFromMailChimpListAction.java   |  54 +++++++
 .../RemoveVisitorFromMailChimpListsAction.java  |  54 -------
 ...subscribeVisitorFromMailChimpListAction.java |  59 +++++++
 ...ubscribeVisitorFromMailChimpListsAction.java |  59 -------
 .../AddVisitorToMailChimpListAction.json        |  20 +++
 .../AddVisitorToMailChimpListsAction.json       |  20 ---
 .../RemoveVisitorFromMailChimpListAction.json   |  20 +++
 .../RemoveVisitorFromMailChimpListsAction.json  |  20 ---
 ...subscribeVisitorFromMailChimpListAction.json |  20 +++
 ...ubscribeVisitorFromMailChimpListsAction.json |  20 ---
 .../resources/OSGI-INF/blueprint/blueprint.xml  |  12 +-
 .../unomi/mailchimp/services/HttpUtils.java     |  10 +-
 .../services/internal/MailChimpServiceImpl.java | 153 ++++++++-----------
 15 files changed, 299 insertions(+), 332 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListAction.java
new file mode 100644
index 0000000..152e72b
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListAction.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.unomi.mailchimp.actions;
+
+import org.apache.unomi.api.Event;
+import org.apache.unomi.api.actions.Action;
+import org.apache.unomi.api.actions.ActionExecutor;
+import org.apache.unomi.api.services.EventService;
+import org.apache.unomi.mailchimp.services.MailChimpResult;
+import org.apache.unomi.mailchimp.services.MailChimpService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class AddVisitorToMailChimpListAction implements ActionExecutor {
+    private static Logger logger = LoggerFactory.getLogger(AddVisitorToMailChimpListAction.class);
+    private MailChimpService mailChimpService;
+
+    public void setMailChimpService(MailChimpService mailChimpService) {
+        this.mailChimpService = mailChimpService;
+    }
+
+    @Override
+    public int execute(Action action, Event event) {
+
+        MailChimpResult result = mailChimpService.addToMCList(event.getProfile(), action);
+        switch (result) {
+
+            case UPDATED:
+                logger.info("The visitor has been successfully added in MailChimp list and subscribed");
+                break;
+            case NO_CHANGE:
+                logger.info("The visitor is already in the MailChimp list and subscribed");
+                break;
+                default:
+                    break;
+        }
+        return EventService.NO_CHANGE;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListsAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListsAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListsAction.java
deleted file mode 100644
index 3297887..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/AddVisitorToMailChimpListsAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.unomi.mailchimp.actions;
-
-import org.apache.unomi.api.Event;
-import org.apache.unomi.api.actions.Action;
-import org.apache.unomi.api.actions.ActionExecutor;
-import org.apache.unomi.api.services.EventService;
-import org.apache.unomi.mailchimp.services.MailChimpResult;
-import org.apache.unomi.mailchimp.services.MailChimpService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class AddVisitorToMailChimpListsAction implements ActionExecutor {
-    private static Logger logger = LoggerFactory.getLogger(AddVisitorToMailChimpListsAction.class);
-    private MailChimpService mailChimpService;
-
-    public void setMailChimpService(MailChimpService mailChimpService) {
-        this.mailChimpService = mailChimpService;
-    }
-
-    @Override
-    public int execute(Action action, Event event) {
-
-        MailChimpResult result = mailChimpService.addToMCList(event.getProfile(), action);
-        switch (result) {
-
-            case UPDATED:
-                logger.info("The visitor has been successfully added in MailChimp list and subscribed");
-                break;
-            case NO_CHANGE:
-                logger.info("The visitor is already in the MailChimp list and subscribed");
-                break;
-                default:
-                    break;
-        }
-        return EventService.NO_CHANGE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListAction.java
new file mode 100644
index 0000000..c83fbbb
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListAction.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.unomi.mailchimp.actions;
+
+import org.apache.unomi.api.Event;
+import org.apache.unomi.api.actions.Action;
+import org.apache.unomi.api.actions.ActionExecutor;
+import org.apache.unomi.api.services.EventService;
+import org.apache.unomi.mailchimp.services.MailChimpResult;
+import org.apache.unomi.mailchimp.services.MailChimpService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RemoveVisitorFromMailChimpListAction implements ActionExecutor {
+    private static Logger logger = LoggerFactory.getLogger(RemoveVisitorFromMailChimpListAction.class);
+    private MailChimpService mailChimpService;
+
+    public void setMailChimpService(MailChimpService mailChimpService) {
+        this.mailChimpService = mailChimpService;
+    }
+
+    @Override
+    public int execute(Action action, Event event) {
+        MailChimpResult result = mailChimpService.removeFromMCList(event.getProfile(), action);
+        switch (result) {
+
+            case REMOVED:
+                logger.info("The visitor has been successfully removed from MailChimp list");
+                break;
+            case NO_CHANGE:
+                logger.info("Visitor was not part of the list");
+                break;
+            default:
+                break;
+        }
+        return EventService.NO_CHANGE;
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListsAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListsAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListsAction.java
deleted file mode 100644
index 329aff7..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/RemoveVisitorFromMailChimpListsAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.unomi.mailchimp.actions;
-
-import org.apache.unomi.api.Event;
-import org.apache.unomi.api.actions.Action;
-import org.apache.unomi.api.actions.ActionExecutor;
-import org.apache.unomi.api.services.EventService;
-import org.apache.unomi.mailchimp.services.MailChimpResult;
-import org.apache.unomi.mailchimp.services.MailChimpService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class RemoveVisitorFromMailChimpListsAction implements ActionExecutor {
-    private static Logger logger = LoggerFactory.getLogger(RemoveVisitorFromMailChimpListsAction.class);
-    private MailChimpService mailChimpService;
-
-    public void setMailChimpService(MailChimpService mailChimpService) {
-        this.mailChimpService = mailChimpService;
-    }
-
-    @Override
-    public int execute(Action action, Event event) {
-        MailChimpResult result = mailChimpService.removeFromMCList(event.getProfile(), action);
-        switch (result) {
-
-            case REMOVED:
-                logger.info("The visitor has been successfully removed from MailChimp list");
-                break;
-            case NO_CHANGE:
-                logger.info("Visitor was not part of the list");
-                break;
-            default:
-                break;
-        }
-        return EventService.NO_CHANGE;
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListAction.java
new file mode 100644
index 0000000..078107e
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListAction.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.unomi.mailchimp.actions;
+
+import org.apache.unomi.api.Event;
+import org.apache.unomi.api.actions.Action;
+import org.apache.unomi.api.actions.ActionExecutor;
+import org.apache.unomi.api.services.EventService;
+import org.apache.unomi.mailchimp.services.MailChimpResult;
+import org.apache.unomi.mailchimp.services.MailChimpService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class UnsubscribeVisitorFromMailChimpListAction implements ActionExecutor {
+    private static Logger logger = LoggerFactory.getLogger(UnsubscribeVisitorFromMailChimpListAction.class);
+    private MailChimpService mailChimpService;
+
+    public void setMailChimpService(MailChimpService mailChimpService) {
+        this.mailChimpService = mailChimpService;
+    }
+
+    @Override
+    public int execute(Action action, Event event) {
+        MailChimpResult result = mailChimpService.unsubscribeFromMCList(event.getProfile(), action);
+        switch (result) {
+
+            case UPDATED:
+                logger.info("The visitor has been successfully unsubscribed from MailChimp list");
+                break;
+            case NO_CHANGE:
+                logger.info("Visitor is already unsubscribed");
+                break;
+            default:
+                break;
+        }
+        return EventService.NO_CHANGE;
+
+    }
+}
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListsAction.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListsAction.java b/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListsAction.java
deleted file mode 100644
index e6884e8..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/java/org/apache/unomi/mailchimp/actions/UnsubscribeVisitorFromMailChimpListsAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.unomi.mailchimp.actions;
-
-import org.apache.unomi.api.Event;
-import org.apache.unomi.api.actions.Action;
-import org.apache.unomi.api.actions.ActionExecutor;
-import org.apache.unomi.api.services.EventService;
-import org.apache.unomi.mailchimp.services.MailChimpResult;
-import org.apache.unomi.mailchimp.services.MailChimpService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UnsubscribeVisitorFromMailChimpListsAction implements ActionExecutor {
-    private static Logger logger = LoggerFactory.getLogger(UnsubscribeVisitorFromMailChimpListsAction.class);
-    private MailChimpService mailChimpService;
-
-    public void setMailChimpService(MailChimpService mailChimpService) {
-        this.mailChimpService = mailChimpService;
-    }
-
-    @Override
-    public int execute(Action action, Event event) {
-        MailChimpResult result = mailChimpService.unsubscribeFromMCList(event.getProfile(), action);
-        switch (result) {
-
-            case UPDATED:
-                logger.info("The visitor has been successfully unsubscribed from MailChimp list");
-                break;
-            case NO_CHANGE:
-                logger.info("Visitor is already unsubscribed");
-                break;
-            default:
-                break;
-        }
-        return EventService.NO_CHANGE;
-
-    }
-}
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListAction.json
new file mode 100644
index 0000000..d1d6421
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListAction.json
@@ -0,0 +1,20 @@
+{
+  "metadata": {
+    "id": "addVisitorToMailChimpListAction",
+    "name": "Add the visitor to a MailChimp list",
+    "description": "This action add the visitor to a defined MailChimp list",
+    "systemTags": [
+      "event",
+      "availableToEndUser"
+    ],
+    "readOnly": true
+  },
+  "actionExecutor": "addVisitorToMailChimpList",
+  "parameters": [
+    {
+      "id": "listIdentifier",
+      "type": "string",
+      "multivalued": false
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListsAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListsAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListsAction.json
deleted file mode 100644
index 9f7bc84..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/AddVisitorToMailChimpListsAction.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "metadata": {
-    "id": "addVisitorToMailChimpListsAction",
-    "name": "Add the visitor to a MailChimp list",
-    "description": "This action add the visitor to a defined MailChimp list",
-    "systemTags": [
-      "event",
-      "availableToEndUser"
-    ],
-    "readOnly": true
-  },
-  "actionExecutor": "addVisitorToMailChimpLists",
-  "parameters": [
-    {
-      "id": "listIdentifier",
-      "type": "string",
-      "multivalued": false
-    }
-  ]
-}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListAction.json
new file mode 100644
index 0000000..7cbcf32
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListAction.json
@@ -0,0 +1,20 @@
+{
+  "metadata": {
+    "id": "removeVisitorFromMailChimpListAction",
+    "name": "Remove a visitor from a MailChimp List",
+    "description": "Remove the visitor from a defined MailChimp list",
+    "systemTags": [
+      "event",
+      "availableToEndUser"
+    ],
+    "readOnly": true
+  },
+  "actionExecutor": "removeVisitorFromMailChimpList",
+  "parameters": [
+    {
+      "id": "listIdentifier",
+      "type": "string",
+      "multivalued": false
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListsAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListsAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListsAction.json
deleted file mode 100644
index 1644cd1..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/RemoveVisitorFromMailChimpListsAction.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "metadata": {
-    "id": "removeVisitorFromMailChimpListsAction",
-    "name": "Remove a visitor from a MailChimp List",
-    "description": "Remove the visitor from a defined MailChimp list",
-    "systemTags": [
-      "event",
-      "availableToEndUser"
-    ],
-    "readOnly": true
-  },
-  "actionExecutor": "removeVisitorFromMailChimpLists",
-  "parameters": [
-    {
-      "id": "listIdentifier",
-      "type": "string",
-      "multivalued": false
-    }
-  ]
-}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListAction.json
new file mode 100644
index 0000000..ea2dc95
--- /dev/null
+++ b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListAction.json
@@ -0,0 +1,20 @@
+{
+  "metadata": {
+    "id": "unsubscribeVisitorFromMailChimpListAction",
+    "name": "Unsubscribe a visitor from a MailChimp List",
+    "description": "Unsubscribe the visitor from a defined MailChimp list",
+    "systemTags": [
+      "event",
+      "availableToEndUser"
+    ],
+    "readOnly": true
+  },
+  "actionExecutor": "unsubscribeVisitorFromMailChimpList",
+  "parameters": [
+    {
+      "id": "listIdentifier",
+      "type": "string",
+      "multivalued": false
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListsAction.json
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListsAction.json b/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListsAction.json
deleted file mode 100644
index 0dfad79..0000000
--- a/extensions/unomi-mailchimp/actions/src/main/resources/META-INF/cxs/actions/UnsubscribeVisitorFromMailChimpListsAction.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "metadata": {
-    "id": "unsubscribeVisitorFromMailChimpListsAction",
-    "name": "Unsubscribe a visitor from a MailChimp List",
-    "description": "Unsubscribe the visitor from a defined MailChimp list",
-    "systemTags": [
-      "event",
-      "availableToEndUser"
-    ],
-    "readOnly": true
-  },
-  "actionExecutor": "unsubscribeVisitorFromMailChimpLists",
-  "parameters": [
-    {
-      "id": "listIdentifier",
-      "type": "string",
-      "multivalued": false
-    }
-  ]
-}

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index d0a2cbe..b8b0f01 100644
--- a/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/extensions/unomi-mailchimp/actions/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -25,27 +25,27 @@
 
     <service auto-export="interfaces">
         <service-properties>
-            <entry key="actionExecutorId" value="addVisitorToMailChimpLists"/>
+            <entry key="actionExecutorId" value="addVisitorToMailChimpList"/>
         </service-properties>
-        <bean class="org.apache.unomi.mailchimp.actions.AddVisitorToMailChimpListsAction">
+        <bean class="org.apache.unomi.mailchimp.actions.AddVisitorToMailChimpListAction">
             <property name="mailChimpService" ref="mailChimpService"/>
         </bean>
     </service>
 
     <service auto-export="interfaces">
         <service-properties>
-            <entry key="actionExecutorId" value="removeVisitorFromMailChimpLists"/>
+            <entry key="actionExecutorId" value="removeVisitorFromMailChimpList"/>
         </service-properties>
-        <bean class="org.apache.unomi.mailchimp.actions.RemoveVisitorFromMailChimpListsAction">
+        <bean class="org.apache.unomi.mailchimp.actions.RemoveVisitorFromMailChimpListAction">
             <property name="mailChimpService" ref="mailChimpService"/>
         </bean>
     </service>
 
     <service auto-export="interfaces">
         <service-properties>
-            <entry key="actionExecutorId" value="unsubscribeVisitorFromMailChimpLists"/>
+            <entry key="actionExecutorId" value="unsubscribeVisitorFromMailChimpList"/>
         </service-properties>
-        <bean class="org.apache.unomi.mailchimp.actions.UnsubscribeVisitorFromMailChimpListsAction">
+        <bean class="org.apache.unomi.mailchimp.actions.UnsubscribeVisitorFromMailChimpListAction">
             <property name="mailChimpService" ref="mailChimpService"/>
         </bean>
     </service>

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/HttpUtils.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/HttpUtils.java b/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/HttpUtils.java
index 03c1e4a..d87fa5f 100644
--- a/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/HttpUtils.java
+++ b/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/HttpUtils.java
@@ -84,7 +84,7 @@ public class HttpUtils {
 
             return executeRequest(httpClient, request);
         } catch (UnsupportedEncodingException e) {
-            logger.error("The subDomain or the ApiKey were wrong {}", e.getMessage());
+            logger.error("Error when executing request", e);
             return null;
         }
     }
@@ -95,7 +95,7 @@ public class HttpUtils {
 
             return extractResponse(response);
         } catch (IOException e) {
-            logger.error("The subDomain or the ApiKey were wrong {}", e.getMessage());
+            logger.error("Error when executing request", e);
             return null;
         }
     }
@@ -114,7 +114,7 @@ public class HttpUtils {
                 try {
                     responseString = EntityUtils.toString(response.getEntity());
                 } catch (IOException e) {
-                    logger.error("Error when retrieving entity response {}", e.getMessage());
+                    logger.error("Error when parsing entity response", e);
                     return null;
                 }
             }
@@ -129,13 +129,13 @@ public class HttpUtils {
                     try {
                         response.close();
                     } catch (IOException e) {
-                        logger.error("Error when trying to close response {}", e.getMessage());
+                        logger.error("Error when trying to close response", e);
                     }
                 }
 
                 return jsonNode;
             } catch (IOException e) {
-                logger.error("Error when parsing response with ObjectMapper {}", e.getMessage());
+                logger.error("Error when parsing response with ObjectMapper", e);
                 return null;
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ea3a41cb/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/internal/MailChimpServiceImpl.java
----------------------------------------------------------------------
diff --git a/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/internal/MailChimpServiceImpl.java b/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/internal/MailChimpServiceImpl.java
index 4da5b00..d2001ab 100644
--- a/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/internal/MailChimpServiceImpl.java
+++ b/extensions/unomi-mailchimp/services/src/main/java/org/apache/unomi/mailchimp/services/internal/MailChimpServiceImpl.java
@@ -35,8 +35,24 @@ import java.util.HashMap;
 import java.util.List;
 
 public class MailChimpServiceImpl implements MailChimpService {
+    private static final String LISTS = "lists";
+    private static final String ID = "id";
+    private static final String NAME = "name";
+    private static final String MERGE_FIELDS = "merge_fields";
+    private static final String EMAIL_TYPE = "email_type";
+    private static final String EMAIL_ADDRESS = "email_address";
+    private static final String EMAIL = "email";
+    private static final String ERRORS = "errors";
+    private static final String FIRST_NAME = "firstName";
+    private static final String LAST_NAME = "lastName";
+    private static final String MEMBERS = "members";
+    private static final String FNAME = "FNAME";
+    private static final String LNAME = "LNAME";
+    private static final String LIST_IDENTIFIER = "listIdentifier";
+    private static final String STATUS = "status";
+    private static final String SUBSCRIBED = "subscribed";
+    private static final String UNSUBSCRIBED = "unsubscribed";
     private static Logger logger = LoggerFactory.getLogger(MailChimpServiceImpl.class);
-
     private String apiKey;
     private String urlSubDomain;
     private CloseableHttpClient httpClient;
@@ -47,12 +63,12 @@ public class MailChimpServiceImpl implements MailChimpService {
         if (isMailChimpConnectorConfigured()) {
             JsonNode response = HttpUtils.executeGetRequest(httpClient, getBaseUrl() + "/lists", getHeaders());
             if (response != null) {
-                if (response.has("lists") && response.get("lists").size() > 0) {
-                    for (JsonNode list : response.get("lists")) {
-                        if (list.has("id") && list.has("name")) {
+                if (response.has(LISTS) && response.get(LISTS).size() > 0) {
+                    for (JsonNode list : response.get(LISTS)) {
+                        if (list.has(ID) && list.has(NAME)) {
                             HashMap<String, String> mcListInfo = new HashMap<>();
-                            mcListInfo.put("id", list.get("id").asText());
-                            mcListInfo.put("name", list.get("name").asText());
+                            mcListInfo.put(ID, list.get(ID).asText());
+                            mcListInfo.put(NAME, list.get(NAME).asText());
                             mcLists.add(mcListInfo);
                         } else {
                             logger.warn("Missing mandatory information for list, {}", list.asText());
@@ -72,54 +88,46 @@ public class MailChimpServiceImpl implements MailChimpService {
             return MailChimpResult.ERROR;
         }
 
-        String listIdentifier = (String) action.getParameterValues().get("listIdentifier");
+        String listIdentifier = (String) action.getParameterValues().get(LIST_IDENTIFIER);
         if (StringUtils.isBlank(listIdentifier)) {
             logger.error("MailChimp list identifier not found");
             return MailChimpResult.ERROR;
         }
 
         JsonNode member = isMemberOfMailChimpList(profile, action);
-        if (member != null) {
-            if (member.has("status")) {
-                if (member.get("status").asText().equals("unsubscribed")) {
-                    logger.info("The visitor is already in the list, this status is unsubscribed");
-                    JSONObject body = new JSONObject();
-                    body.put("status", "subscribed");
-                    MailChimpResult response = updateSubscription(listIdentifier, body.toString(), member, true);
-                    return updateSubscription(listIdentifier, body.toString(), member, true);
-                }
-                return MailChimpResult.NO_CHANGE;
+        if (member != null && member.has(STATUS)) {
+            if (member.get(STATUS).asText().equals(UNSUBSCRIBED)) {
+                logger.info("The visitor is already in the MailChimp list, his status is unsubscribed");
+                JSONObject body = new JSONObject();
+                body.put(STATUS, SUBSCRIBED);
+                return updateSubscription(listIdentifier, body.toString(), member, true);
             }
+            return MailChimpResult.NO_CHANGE;
         }
 
         JSONObject nameStruct = new JSONObject();
-        nameStruct.put("FNAME", profile.getProperty("firstName").toString());
-        nameStruct.put("LNAME", profile.getProperty("lastName").toString());
+        nameStruct.put(FNAME, profile.getProperty(FIRST_NAME).toString());
+        nameStruct.put(LNAME, profile.getProperty(LAST_NAME).toString());
 
         JSONObject userData = new JSONObject();
-        userData.put("merge_fields", nameStruct);
-        userData.put("email_type", "html");
-        userData.put("email_address", profile.getProperty("email").toString());
-        userData.put("status", "subscribed");
+        userData.put(MERGE_FIELDS, nameStruct);
+        userData.put(EMAIL_TYPE, "html");
+        userData.put(EMAIL_ADDRESS, profile.getProperty(EMAIL).toString());
+        userData.put(STATUS, SUBSCRIBED);
 
         JSONArray dataMember = new JSONArray();
         dataMember.put(userData);
 
         JSONObject body = new JSONObject();
-        body.put("members", dataMember);
+        body.put(MEMBERS, dataMember);
 
 
         JsonNode response = HttpUtils.executePostRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier, getHeaders(), body.toString());
-        if (response != null) {
-            if (response.has("errors") && response.get("errors").elements().hasNext() && response.get("errors")
-                    .elements().next().has("error")) {
-                return MailChimpResult.NO_CHANGE;
-            } else {
-                return MailChimpResult.UPDATED;
-            }
+        if (response == null || (response.has(ERRORS) && response.get(ERRORS).size() > 0)) {
+                logger.error("Error when adding user to MailChimp list, list identifier was {} and response was {}", listIdentifier, response);
+                return MailChimpResult.ERROR;
         }
-        return MailChimpResult.ERROR;
-
+        return MailChimpResult.UPDATED;
     }
 
     @Override
@@ -128,7 +136,7 @@ public class MailChimpServiceImpl implements MailChimpService {
             return MailChimpResult.ERROR;
         }
 
-        String listIdentifier = (String) action.getParameterValues().get("listIdentifier");
+        String listIdentifier = (String) action.getParameterValues().get(LIST_IDENTIFIER);
         if (StringUtils.isBlank(listIdentifier)) {
             logger.warn("Couldn't get the list identifier from Unomi");
             return MailChimpResult.ERROR;
@@ -136,16 +144,12 @@ public class MailChimpServiceImpl implements MailChimpService {
 
         JsonNode member = isMemberOfMailChimpList(profile, action);
         if (member == null) {
-            return MailChimpResult.ERROR;
-        }
-        if (!member.has("id")) {
             return MailChimpResult.NO_CHANGE;
         }
 
-
-        JsonNode response = HttpUtils.executeDeleteRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier + "/members/" + member.get("id").asText(), getHeaders());
-        if (response == null) {
-            logger.error("Couldn't remove the visitor from the list");
+        JsonNode response = HttpUtils.executeDeleteRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier + "/members/" + member.get(ID).asText(), getHeaders());
+        if (response == null || (response.has(ERRORS) && response.get(ERRORS).size() > 0)) {
+            logger.error("Couldn't remove the visitor from the MailChimp list, list identifier was {} and response was {}", listIdentifier, response);
             return MailChimpResult.ERROR;
         }
         return MailChimpResult.REMOVED;
@@ -157,29 +161,20 @@ public class MailChimpServiceImpl implements MailChimpService {
             return MailChimpResult.ERROR;
         }
 
-        String listIdentifier = (String) action.getParameterValues().get("listIdentifier");
+        String listIdentifier = (String) action.getParameterValues().get(LIST_IDENTIFIER);
         if (StringUtils.isBlank(listIdentifier)) {
             logger.warn("Couldn't get the list identifier from Unomi");
             return MailChimpResult.ERROR;
         }
 
         JsonNode member = isMemberOfMailChimpList(profile, action);
-        if (member == null) {
-            logger.error("Visitor was not part of the list");
-            return MailChimpResult.ERROR;
-        }
-
-        if (member.get("status").asText().equals("unsubscribed")) {
+        if (member == null || member.get(STATUS).asText().equals(UNSUBSCRIBED)) {
             return MailChimpResult.NO_CHANGE;
         }
 
         JSONObject body = new JSONObject();
-        body.put("status", "unsubscribed");
-
-
+        body.put(STATUS, UNSUBSCRIBED);
         return updateSubscription(listIdentifier, body.toString(), member, false);
-
-
     }
 
     private void initHttpClient() {
@@ -197,24 +192,10 @@ public class MailChimpServiceImpl implements MailChimpService {
         return false;
     }
 
-    //This method is not use yet, it can be used in the future
-    private boolean isMailChimpServerOnline() {
-        JsonNode response = HttpUtils.executeGetRequest(httpClient, getBaseUrl() + "/ping", getHeaders());
-        if (response != null) {
-            if (response.has("health_status") && response.get("health_status").textValue().equals("Everything's Chimpy!")) {
-                return true;
-            } else {
-                logger.error("Error when communicating with MailChimp server, response was: {}", response.asText());
-                return false;
-            }
-        }
-        return false;
-    }
-
     private boolean visitorHasMandatoryProperties(Profile profile) {
-        if (profile.getProperty("firstName") == null
-                || profile.getProperty("lastName") == null
-                || profile.getProperty("email") == null) {
+        if (profile.getProperty(FIRST_NAME) == null
+                || profile.getProperty(LAST_NAME) == null
+                || profile.getProperty(EMAIL) == null) {
             logger.warn("Visitor mandatory properties are missing");
             return false;
         }
@@ -222,49 +203,35 @@ public class MailChimpServiceImpl implements MailChimpService {
     }
 
     private JsonNode isMemberOfMailChimpList(Profile profile, Action action) {
-        String listIdentifier = (String) action.getParameterValues().get("listIdentifier");
+        String listIdentifier = (String) action.getParameterValues().get(LIST_IDENTIFIER);
         if (StringUtils.isBlank(listIdentifier)) {
             logger.warn("MailChimp list identifier not found");
             return null;
         }
-        String email = profile.getProperty("email").toString();
+        String email = profile.getProperty(EMAIL).toString();
         JsonNode response = HttpUtils.executeGetRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier + "/members/", getHeaders());
-        JsonNode member = null;
         if (response != null) {
-            if (response.has("members")) {
-                if (response.get("members").iterator().hasNext()
-                        && response.get("members").iterator().next().has("email_address")) {
-                    for (JsonNode m : response.get("members")) {
-                        if (m.get("email_address").textValue().equals(email)) {
-                            member = m;
-                            break;
-                        }
-                    }
-                    if (member == null) {
-                        return response;
-
-                    } else {
+            if (response.has(MEMBERS)) {
+                for (JsonNode member : response.get(MEMBERS)) {
+                    if (member.get(EMAIL_ADDRESS).asText().equals(email)) {
                         return member;
                     }
                 }
             }
-            return response;
         }
         return null;
     }
 
     private MailChimpResult updateSubscription(String listIdentifier, String jsonData, JsonNode member, boolean toSubscribe) {
-        JsonNode response = HttpUtils.executePatchRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier + "/members/" + member.get("id").asText(), getHeaders(), jsonData);
+        JsonNode response = HttpUtils.executePatchRequest(httpClient, getBaseUrl() + "/lists/" + listIdentifier + "/members/" + member.get(ID).asText(), getHeaders(), jsonData);
         if (response != null) {
-            if (response.has("status")) {
-                String responseStatus = response.get("status").asText();
-                if ((toSubscribe && responseStatus.equals("subscribed")) || (!toSubscribe && responseStatus.equals("unsubscribed"))) {
+            if (response.has(STATUS)) {
+                String responseStatus = response.get(STATUS).asText();
+                if ((toSubscribe && responseStatus.equals(SUBSCRIBED)) || (!toSubscribe && responseStatus.equals(UNSUBSCRIBED))) {
                     return MailChimpResult.UPDATED;
                 } else {
                     return MailChimpResult.NO_CHANGE;
                 }
-
-
             }
         }
         logger.error("Couldn't update the subscription of the visitor");