Repository: camel
Updated Branches:
  refs/heads/master e269b0a90 -> be3cc2f93


Camel catalog - Add api to get list of all the other stuff in json


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

Branch: refs/heads/master
Commit: be3cc2f93492c097e1a3502843eb952bbc1b850a
Parents: e269b0a
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Oct 18 09:13:22 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Oct 18 09:13:22 2015 +0200

----------------------------------------------------------------------
 .../org/apache/camel/catalog/CamelCatalog.java  | 20 ++++-
 .../camel/catalog/DefaultCamelCatalog.java      | 78 +++++++++++++++++++-
 .../apache/camel/catalog/CamelCatalogTest.java  | 22 +++++-
 3 files changed, 115 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/be3cc2f9/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
----------------------------------------------------------------------
diff --git 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
index e09ef78..ff66f50 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
@@ -211,7 +211,23 @@ public interface CamelCatalog {
     String asEndpointUriXml(String scheme, Map<String, String> properties) 
throws URISyntaxException;
 
     /**
-     * Lists all the component summary details in JSon
+     * Lists all the components summary details in JSon
      */
-    String listComponentAsJson();
+    String listComponentsAsJson();
+
+    /**
+     * Lists all the data formats summary details in JSon
+     */
+    String listDataFormatsAsJson();
+
+    /**
+     * Lists all the languages summary details in JSon
+     */
+    String listLanguagesAsJson();
+
+    /**
+     * Lists all the models (EIPs) summary details in JSon
+     */
+    String listModelsAsJson();
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/be3cc2f9/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 225b04d..121afb8 100644
--- 
a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ 
b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -733,7 +733,7 @@ public class DefaultCamelCatalog implements CamelCatalog {
     }
 
     @Override
-    public String listComponentAsJson() {
+    public String listComponentsAsJson() {
         StringBuilder sb = new StringBuilder();
         sb.append("[");
         List<String> names = findComponentNames();
@@ -756,4 +756,80 @@ public class DefaultCamelCatalog implements CamelCatalog {
         sb.append("\n]");
         return sb.toString();
     }
+
+    @Override
+    public String listDataFormatsAsJson() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[");
+        List<String> names = findDataFormatNames();
+        for (int i = 0; i < names.size(); i++) {
+            String scheme = names.get(i);
+            String json = dataFormatJSonSchema(scheme);
+            // skip first line
+            json = CatalogHelper.between(json, "\"dataformat\": {", 
"\"properties\"");
+            json = json.trim();
+            // skip last comma if not the last
+            if (i == names.size() - 1) {
+                json = json.substring(0, json.length() - 1);
+            }
+            sb.append("\n");
+            sb.append("  {\n");
+            sb.append("    ");
+            sb.append(json);
+        }
+
+        sb.append("\n]");
+        return sb.toString();
+    }
+
+    @Override
+    public String listLanguagesAsJson() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[");
+        List<String> names = findLanguageNames();
+        for (int i = 0; i < names.size(); i++) {
+            String scheme = names.get(i);
+            String json = languageJSonSchema(scheme);
+            // skip first line
+            json = CatalogHelper.between(json, "\"language\": {", 
"\"properties\"");
+            json = json.trim();
+            // skip last comma if not the last
+            if (i == names.size() - 1) {
+                json = json.substring(0, json.length() - 1);
+            }
+            sb.append("\n");
+            sb.append("  {\n");
+            sb.append("    ");
+            sb.append(json);
+        }
+
+        sb.append("\n]");
+        return sb.toString();
+    }
+
+    @Override
+    public String listModelsAsJson() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[");
+        List<String> names = findModelNames();
+        for (int i = 0; i < names.size(); i++) {
+            String scheme = names.get(i);
+            String json = modelJSonSchema(scheme);
+            // skip first line
+            json = CatalogHelper.between(json, "\"model\": {", 
"\"properties\"");
+            json = json.trim();
+            // skip last comma if not the last
+            if (i == names.size() - 1) {
+                json = json.substring(0, json.length() - 1);
+            }
+            sb.append("\n");
+            sb.append("  {\n");
+            sb.append("    ");
+            sb.append(json);
+        }
+
+        sb.append("\n]");
+        return sb.toString();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/be3cc2f9/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git 
a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
 
b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index 2f529cb..811d9a6 100644
--- 
a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ 
b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -239,8 +239,26 @@ public class CamelCatalogTest extends TestCase {
     }
 
     @Test
-    public void testListComponentAsJosn() throws Exception {
-        String json = catalog.listComponentAsJson();
+    public void testListComponentsAsJson() throws Exception {
+        String json = catalog.listComponentsAsJson();
+        assertNotNull(json);
+    }
+
+    @Test
+    public void testListDataFormatsAsJson() throws Exception {
+        String json = catalog.listDataFormatsAsJson();
+        assertNotNull(json);
+    }
+
+    @Test
+    public void testListLanguagesAsJson() throws Exception {
+        String json = catalog.listLanguagesAsJson();
+        assertNotNull(json);
+    }
+
+    @Test
+    public void testListModelsAsJson() throws Exception {
+        String json = catalog.listModelsAsJson();
         assertNotNull(json);
     }
 

Reply via email to