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); }