You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/17 10:42:50 UTC

[3/3] camel git commit: Camel catalog - Jolokia based commands avoid class loading issue by being more self dependent.

Camel catalog - Jolokia based commands avoid class loading issue by being more self dependent.


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

Branch: refs/heads/camel-2.16.x
Commit: d065b015b37c8dcaa19310850f80550db9522b8d
Parents: 668d329
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Nov 17 10:46:01 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Nov 17 10:46:28 2015 +0100

----------------------------------------------------------------------
 .../jolokia/DefaultJolokiaCamelController.java  | 25 ++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d065b015/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
----------------------------------------------------------------------
diff --git a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
index aabda83..d550be5 100644
--- a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
+++ b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
@@ -19,6 +19,7 @@ package org.apache.camel.commands.jolokia;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -27,8 +28,7 @@ import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 
 import org.apache.camel.commands.AbstractCamelController;
-import org.apache.camel.util.LRUCache;
-import org.apache.camel.util.StringHelper;
+
 import org.jolokia.client.J4pClient;
 import org.jolokia.client.exception.J4pException;
 import org.jolokia.client.exception.J4pRemoteException;
@@ -48,7 +48,7 @@ import org.json.simple.JSONObject;
  */
 public class DefaultJolokiaCamelController extends AbstractCamelController implements JolokiaCamelController {
 
-    private Map<String, ObjectName> cache = new LRUCache<String, ObjectName>(1000);
+    private Map<String, ObjectName> cache = new HashMap<String, ObjectName>(100);
 
     private J4pClient jolokia;
     private String url;
@@ -61,7 +61,7 @@ public class DefaultJolokiaCamelController extends AbstractCamelController imple
             if (sr != null) {
                 for (ObjectName name : sr.getObjectNames()) {
                     String id = name.getKeyProperty("name");
-                    id = StringHelper.removeLeadingAndEndingQuotes(id);
+                    id = removeLeadingAndEndingQuotes(id);
                     if (camelContextName.equals(id)) {
                         found = name;
                         break;
@@ -772,4 +772,21 @@ public class DefaultJolokiaCamelController extends AbstractCamelController imple
         }
     }
 
+    private static String removeLeadingAndEndingQuotes(String s) {
+        if (s == null || s.isEmpty()) {
+            return s;
+        }
+
+        String copy = s.trim();
+        if (copy.startsWith("'") && copy.endsWith("'")) {
+            return copy.substring(1, copy.length() - 1);
+        }
+        if (copy.startsWith("\"") && copy.endsWith("\"")) {
+            return copy.substring(1, copy.length() - 1);
+        }
+
+        // no quotes, so return as-is
+        return s;
+    }
+
 }