CAMEL-10971: Remove catalog-commands
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/43518eaa Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/43518eaa Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/43518eaa Branch: refs/heads/master Commit: 43518eaa0108f0de215054498670d455c05c64de Parents: dc139cd Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Mar 9 09:48:56 2017 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Mar 9 09:48:56 2017 +0100 ---------------------------------------------------------------------- platforms/commands/commands-core/pom.xml | 4 - .../camel/commands/AbstractCamelController.java | 424 ------------------- .../apache/camel/commands/CamelController.java | 114 ----- .../commands/CatalogComponentDocCommand.java | 42 -- .../camel/commands/CatalogComponentHelper.java | 189 --------- .../commands/CatalogComponentInfoCommand.java | 143 ------- .../commands/CatalogComponentListCommand.java | 193 --------- .../commands/CatalogDataFormatDocCommand.java | 42 -- .../commands/CatalogDataFormatListCommand.java | 190 --------- .../camel/commands/CatalogEipListCommand.java | 172 -------- .../commands/CatalogLanguageDocCommand.java | 42 -- .../commands/CatalogLanguageListCommand.java | 193 --------- .../camel/commands/CatalogCommandTest.java | 79 ---- .../commands/catalog/CamelCatalogTest.java | 124 ------ .../commands/catalog/CamelModelCatalogTest.java | 100 ----- platforms/karaf/commands-catalog/pom.xml | 87 ---- .../commands/catalog/CatalogComponentDoc.java | 42 -- .../commands/catalog/CatalogComponentInfo.java | 51 --- .../commands/catalog/CatalogComponentList.java | 43 -- .../commands/catalog/CatalogDataFormatDoc.java | 42 -- .../commands/catalog/CatalogDataFormatList.java | 43 -- .../karaf/commands/catalog/CatalogEipList.java | 43 -- .../commands/catalog/CatalogLanguageDoc.java | 42 -- .../commands/catalog/CatalogLanguageList.java | 43 -- .../completers/ComponentListCompleter.java | 59 --- .../completers/DataFormatListCompleter.java | 59 --- .../completers/LanguageListCompleter.java | 59 --- .../src/main/resources/META-INF/LICENSE.txt | 203 --------- .../src/main/resources/META-INF/NOTICE.txt | 11 - .../src/main/resources/OSGI-INF/bundle.info | 20 - platforms/karaf/pom.xml | 1 - 31 files changed, 2899 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/pom.xml ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/pom.xml b/platforms/commands/commands-core/pom.xml index 4cdf003..4ea9e11 100644 --- a/platforms/commands/commands-core/pom.xml +++ b/platforms/commands/commands-core/pom.xml @@ -41,10 +41,6 @@ <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-catalog</artifactId> - </dependency> <!-- Test --> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java index f85f89c..3036d46 100644 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java +++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractCamelController.java @@ -17,16 +17,11 @@ package org.apache.camel.commands; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; -import java.util.LinkedHashSet; import java.util.List; import java.util.Map; -import java.util.Set; -import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.catalog.CatalogHelper; -import org.apache.camel.catalog.DefaultCamelCatalog; import org.apache.camel.commands.internal.RegexUtil; import org.apache.camel.util.JsonSchemaHelper; import org.apache.camel.util.ObjectHelper; @@ -36,8 +31,6 @@ import org.apache.camel.util.ObjectHelper; */ public abstract class AbstractCamelController implements CamelController { - private CamelCatalog catalog = new DefaultCamelCatalog(); - @Override public List<Map<String, String>> getCamelContexts(String filter) throws Exception { List<Map<String, String>> answer = new ArrayList<Map<String, String>>(); @@ -58,51 +51,6 @@ public abstract class AbstractCamelController implements CamelController { return answer; } - @Override - public List<Map<String, String>> listEipsCatalog(String filter) throws Exception { - List<Map<String, String>> answer = new ArrayList<Map<String, String>>(); - - if (filter != null) { - filter = RegexUtil.wildcardAsRegex(filter); - } - - List<String> names = filter != null ? catalog.findModelNames(filter) : catalog.findModelNames(); - for (String name : names) { - // load models json data, and parse it to gather the model meta-data - String json = catalog.modelJSonSchema(name); - List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("model", json, false); - - String description = null; - String label = null; - String type = null; - for (Map<String, String> row : rows) { - if (row.containsKey("description")) { - description = row.get("description"); - } else if (row.containsKey("label")) { - label = row.get("label"); - } else if (row.containsKey("javaType")) { - type = row.get("javaType"); - } - } - - Map<String, String> row = new HashMap<String, String>(); - row.put("name", name); - if (description != null) { - row.put("description", description); - } - if (label != null) { - row.put("label", label); - } - if (type != null) { - row.put("type", type); - } - - answer.add(row); - } - - return answer; - } - protected Map<String, Object> loadProperties(String json, String group, Map<String, Object> answer) { List<Map<String, String>> kv = JsonSchemaHelper.parseJsonSchema(group, json, true); if (kv.isEmpty()) { @@ -131,376 +79,4 @@ public abstract class AbstractCamelController implements CamelController { return answer; } - @Override - public Map<String, Object> componentInfo(String filter) throws Exception { - Map<String, Object> answer = new LinkedHashMap<>(); - List<String> names = catalog.findComponentNames(); - for (String name : names) { - if (name.equalsIgnoreCase(filter)) { - String json = catalog.componentJSonSchema(name); - - List<Map<String, String>> kv; - - kv = JsonSchemaHelper.parseJsonSchema("component", json, false); - for (Map<String, String> map : kv) { - answer.putAll(map); - } - - loadProperties(json, "componentProperties", answer); - loadProperties(json, "properties", answer); - - break; - } - } - - return answer; - } - - @Override - public List<Map<String, String>> listComponentsCatalog(String filter) throws Exception { - List<Map<String, String>> answer = new ArrayList<Map<String, String>>(); - - if (filter != null) { - filter = RegexUtil.wildcardAsRegex(filter); - } - - List<String> names = filter != null ? catalog.findComponentNames(filter) : catalog.findComponentNames(); - for (String name : names) { - // load component json data, and parse it to gather the component meta-data - String json = catalog.componentJSonSchema(name); - List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("component", json, false); - - String title = null; - String description = null; - String label = null; - // the status can be: - // - loaded = in use - // - classpath = on the classpath - // - release = available from the Apache Camel release - String status = "release"; - String type = null; - String groupId = null; - String artifactId = null; - String version = null; - for (Map<String, String> row : rows) { - if (row.containsKey("title")) { - title = row.get("title"); - } else if (row.containsKey("description")) { - description = row.get("description"); - } else if (row.containsKey("label")) { - label = row.get("label"); - } else if (row.containsKey("javaType")) { - type = row.get("javaType"); - } else if (row.containsKey("groupId")) { - groupId = row.get("groupId"); - } else if (row.containsKey("artifactId")) { - artifactId = row.get("artifactId"); - } else if (row.containsKey("version")) { - version = row.get("version"); - } - } - - Map<String, String> row = new HashMap<String, String>(); - row.put("name", name); - row.put("status", status); - if (title != null) { - row.put("title", title); - } - if (description != null) { - row.put("description", description); - } - if (label != null) { - row.put("label", label); - } - if (type != null) { - row.put("type", type); - } - if (groupId != null) { - row.put("groupId", groupId); - } - if (artifactId != null) { - row.put("artifactId", artifactId); - } - if (version != null) { - row.put("version", version); - } - - answer.add(row); - } - - return answer; - } - - @Override - public List<Map<String, String>> listDataFormatsCatalog(String filter) throws Exception { - List<Map<String, String>> answer = new ArrayList<Map<String, String>>(); - - if (filter != null) { - filter = RegexUtil.wildcardAsRegex(filter); - } - - List<String> names = filter != null ? catalog.findDataFormatNames(filter) : catalog.findDataFormatNames(); - for (String name : names) { - // load dataformat json data, and parse it to gather the dataformat meta-data - String json = catalog.dataFormatJSonSchema(name); - List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("dataformat", json, false); - - String title = null; - String description = null; - String label = null; - String modelName = name; - // the status can be: - // - loaded = in use - // - classpath = on the classpath - // - release = available from the Apache Camel release - String status = "release"; - String type = null; - String modelJavaType = null; - String groupId = null; - String artifactId = null; - String version = null; - for (Map<String, String> row : rows) { - if (row.containsKey("modelName")) { - modelName = row.get("modelName"); - } else if (row.containsKey("title")) { - title = row.get("title"); - } else if (row.containsKey("description")) { - description = row.get("description"); - } else if (row.containsKey("label")) { - label = row.get("label"); - } else if (row.containsKey("javaType")) { - type = row.get("javaType"); - } else if (row.containsKey("modelJavaType")) { - modelJavaType = row.get("modelJavaType"); - } else if (row.containsKey("groupId")) { - groupId = row.get("groupId"); - } else if (row.containsKey("artifactId")) { - artifactId = row.get("artifactId"); - } else if (row.containsKey("version")) { - version = row.get("version"); - } - } - - Map<String, String> row = new HashMap<String, String>(); - row.put("name", name); - row.put("modelName", modelName); - row.put("status", status); - if (title != null) { - row.put("title", title); - } - if (description != null) { - row.put("description", description); - } - if (label != null) { - row.put("label", label); - } - if (type != null) { - row.put("type", type); - } - if (modelJavaType != null) { - row.put("modelJavaType", modelJavaType); - } - if (groupId != null) { - row.put("groupId", groupId); - } - if (artifactId != null) { - row.put("artifactId", artifactId); - } - if (version != null) { - row.put("version", version); - } - - answer.add(row); - } - - return answer; - } - - @Override - public List<Map<String, String>> listLanguagesCatalog(String filter) throws Exception { - List<Map<String, String>> answer = new ArrayList<Map<String, String>>(); - - if (filter != null) { - filter = RegexUtil.wildcardAsRegex(filter); - } - - List<String> names = filter != null ? catalog.findLanguageNames(filter) : catalog.findLanguageNames(); - for (String name : names) { - // load language json data, and parse it to gather the language meta-data - String json = catalog.languageJSonSchema(name); - List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("language", json, false); - - String title = null; - String description = null; - String label = null; - String modelName = name; - // the status can be: - // - loaded = in use - // - classpath = on the classpath - // - release = available from the Apache Camel release - String status = "release"; - String type = null; - String modelJavaType = null; - String groupId = null; - String artifactId = null; - String version = null; - for (Map<String, String> row : rows) { - if (row.containsKey("modelName")) { - modelName = row.get("modelName"); - } else if (row.containsKey("title")) { - title = row.get("title"); - } else if (row.containsKey("description")) { - description = row.get("description"); - } else if (row.containsKey("label")) { - label = row.get("label"); - } else if (row.containsKey("javaType")) { - type = row.get("javaType"); - } else if (row.containsKey("modelJavaType")) { - modelJavaType = row.get("modelJavaType"); - } else if (row.containsKey("groupId")) { - groupId = row.get("groupId"); - } else if (row.containsKey("artifactId")) { - artifactId = row.get("artifactId"); - } else if (row.containsKey("version")) { - version = row.get("version"); - } - } - - Map<String, String> row = new HashMap<String, String>(); - row.put("name", name); - row.put("modelName", modelName); - row.put("status", status); - if (title != null) { - row.put("title", title); - } - if (description != null) { - row.put("description", description); - } - if (label != null) { - row.put("label", label); - } - if (type != null) { - row.put("type", type); - } - if (modelJavaType != null) { - row.put("modelJavaType", modelJavaType); - } - if (groupId != null) { - row.put("groupId", groupId); - } - if (artifactId != null) { - row.put("artifactId", artifactId); - } - if (version != null) { - row.put("version", version); - } - - answer.add(row); - } - - return answer; - } - - @Override - public Map<String, Set<String>> listEipsLabelCatalog() throws Exception { - Map<String, Set<String>> answer = new LinkedHashMap<String, Set<String>>(); - - Set<String> labels = catalog.findModelLabels(); - for (String label : labels) { - List<Map<String, String>> models = listEipsCatalog(label); - if (!models.isEmpty()) { - Set<String> names = new LinkedHashSet<String>(); - for (Map<String, String> info : models) { - String name = info.get("name"); - if (name != null) { - names.add(name); - } - } - answer.put(label, names); - } - } - - return answer; - } - - @Override - public Map<String, Set<String>> listComponentsLabelCatalog() throws Exception { - Map<String, Set<String>> answer = new LinkedHashMap<String, Set<String>>(); - - Set<String> labels = catalog.findComponentLabels(); - for (String label : labels) { - List<Map<String, String>> components = listComponentsCatalog(label); - if (!components.isEmpty()) { - Set<String> names = new LinkedHashSet<String>(); - for (Map<String, String> info : components) { - String name = info.get("name"); - if (name != null) { - names.add(name); - } - } - answer.put(label, names); - } - } - - return answer; - } - - @Override - public Map<String, Set<String>> listDataFormatsLabelCatalog() throws Exception { - Map<String, Set<String>> answer = new LinkedHashMap<String, Set<String>>(); - - Set<String> labels = catalog.findDataFormatLabels(); - for (String label : labels) { - List<Map<String, String>> dataFormats = listDataFormatsCatalog(label); - if (!dataFormats.isEmpty()) { - Set<String> names = new LinkedHashSet<String>(); - for (Map<String, String> info : dataFormats) { - String name = info.get("name"); - if (name != null) { - names.add(name); - } - } - answer.put(label, names); - } - } - - return answer; - } - - @Override - public Map<String, Set<String>> listLanguagesLabelCatalog() throws Exception { - Map<String, Set<String>> answer = new LinkedHashMap<String, Set<String>>(); - - Set<String> labels = catalog.findLanguageLabels(); - for (String label : labels) { - List<Map<String, String>> languages = listLanguagesCatalog(label); - if (!languages.isEmpty()) { - Set<String> names = new LinkedHashSet<String>(); - for (Map<String, String> info : languages) { - String name = info.get("name"); - if (name != null) { - names.add(name); - } - } - answer.put(label, names); - } - } - - return answer; - } - - @Override - public String catalogComponentAsciiDoc(String name) throws Exception { - return catalog.componentAsciiDoc(name); - } - - @Override - public String catalogDataFormatAsciiDoc(String name) throws Exception { - return catalog.dataFormatAsciiDoc(name); - } - - @Override - public String catalogLanguageAsciiDoc(String name) throws Exception { - return catalog.languageAsciiDoc(name); - } } http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java index f740d2d..ee3aead 100644 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java +++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CamelController.java @@ -18,7 +18,6 @@ package org.apache.camel.commands; import java.util.List; import java.util.Map; -import java.util.Set; /** * CamelController interface defines the expected behaviors to manipulate Camel resources (context, route, etc). @@ -268,119 +267,6 @@ public interface CamelController { List<Map<String, String>> listComponents(String camelContextName) throws Exception; /** - * Lists all EIPs from the Camel EIP catalog - * - * @param filter optional filter to filter by labels - * @return a list of key/value pairs with model information - * @throws java.lang.Exception can be thrown - */ - @Deprecated - List<Map<String, String>> listEipsCatalog(String filter) throws Exception; - - /** - * Lists all the labels from the Camel EIP catalog - * - * @return a map which key is the label, and the set is the models names that has the given label - * @throws java.lang.Exception can be thrown - */ - @Deprecated - Map<String, Set<String>> listEipsLabelCatalog() throws Exception; - - /** - * Collects information about a Camel component from catalog - * - * @param name the component name - * @return a map of key/value pairs with component information - * @throws java.lang.Exception can be thrown - */ - @Deprecated - Map<String, Object> componentInfo(String name) throws Exception; - - /** - * Lists all components from the Camel components catalog - * - * @param filter optional filter to filter by labels - * @return a list of key/value pairs with component information - * @throws java.lang.Exception can be thrown - */ - @Deprecated - List<Map<String, String>> listComponentsCatalog(String filter) throws Exception; - - /** - * Lists all the labels from the Camel components catalog - * - * @return a map which key is the label, and the set is the component names that has the given label - * @throws java.lang.Exception can be thrown - */ - @Deprecated - Map<String, Set<String>> listComponentsLabelCatalog() throws Exception; - - /** - * Lists all data formats from the Camel components catalog - * - * @param filter optional filter to filter by labels - * @return a list of key/value pairs with data format information - * @throws java.lang.Exception can be thrown - */ - @Deprecated - List<Map<String, String>> listDataFormatsCatalog(String filter) throws Exception; - - /** - * Lists all the labels from the Camel data formats catalog - * - * @return a map which key is the label, and the set is the data format names that has the given label - * @throws java.lang.Exception can be thrown - */ - @Deprecated - Map<String, Set<String>> listDataFormatsLabelCatalog() throws Exception; - - /** - * Lists all languages from the Camel components catalog - * - * @param filter optional filter to filter by labels - * @return a list of key/value pairs with language information - * @throws java.lang.Exception can be thrown - */ - @Deprecated - List<Map<String, String>> listLanguagesCatalog(String filter) throws Exception; - - /** - * Lists all the labels from the Camel languages catalog - * - * @return a map which key is the label, and the set is the language names that has the given label - * @throws java.lang.Exception can be thrown - */ - @Deprecated - Map<String, Set<String>> listLanguagesLabelCatalog() throws Exception; - - /** - * Gets the component ascii documentation from the Camel catalog. - * - * @param name the name of the component - * @throws java.lang.Exception can be thrown - */ - @Deprecated - String catalogComponentAsciiDoc(String name) throws Exception; - - /** - * Gets the data format ascii documentation from the Camel catalog. - * - * @param name the name of the data format - * @throws java.lang.Exception can be thrown - */ - @Deprecated - String catalogDataFormatAsciiDoc(String name) throws Exception; - - /** - * Gets the language ascii documentation from the Camel catalog. - * - * @param name the name of the language - * @throws java.lang.Exception can be thrown - */ - @Deprecated - String catalogLanguageAsciiDoc(String name) throws Exception; - - /** * Return the transformers * * @param camelContextName the Camel context. http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentDocCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentDocCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentDocCommand.java deleted file mode 100644 index c6930fc..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentDocCommand.java +++ /dev/null @@ -1,42 +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.camel.commands; - -import java.io.PrintStream; - -/** - * Shows documentation of a component from Catalog - */ -@Deprecated -public class CatalogComponentDocCommand extends AbstractCamelCommand { - - private final String name; - - public CatalogComponentDocCommand(String name) { - this.name = name; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - String doc = camelController.catalogComponentAsciiDoc(name); - if (doc != null) { - out.println(doc); - } - return null; - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentHelper.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentHelper.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentHelper.java deleted file mode 100644 index 7480d11..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentHelper.java +++ /dev/null @@ -1,189 +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.camel.commands; - -import java.io.PrintStream; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import org.apache.camel.util.ObjectHelper; - -@Deprecated -public final class CatalogComponentHelper { - private CatalogComponentHelper() { - } - - public static final class TableColumn { - private final String header; - private final String key; - private int maxLen; - private String formatString; - - public TableColumn(String header, String key) { - this.header = header; - this.key = key; - this.maxLen = header.length(); - this.formatString = null; - } - - public String getHeader() { - return header; - } - - public String getKey() { - return key; - } - - public int getMaxLen() { - return maxLen; - } - - public void computeMaxLen(Map<String, String> row) { - String val = row.get(key); - if (val != null) { - maxLen = Math.max(maxLen, val.length()); - } - } - - private String headerSeparator() { - StringBuilder sb = new StringBuilder(header.length()); - while (sb.length() < header.length()) { - sb.append('-'); - } - - return sb.toString(); - } - - private String formatString() { - if (formatString == null) { - formatString = new StringBuilder() - .append("%-").append(maxLen).append('.').append(maxLen).append('s') - .toString(); - } - - return formatString; - } - - public void printHeader(PrintStream out, boolean newLine) { - String outStr = String.format(formatString(), header); - - if (newLine) { - out.println(outStr.trim()); - } else { - out.print(outStr); - out.print(' '); - } - } - - public void printHeaderSeparator(PrintStream out, boolean newLine) { - String outStr = String.format(formatString(), headerSeparator()); - - if (newLine) { - out.println(outStr.trim()); - } else { - out.print(outStr); - out.print(' '); - } - } - - public void printValue(PrintStream out, Map<String, String> row, boolean newLine) { - String val = row.get(key); - if (val == null) { - val = ""; - } - - String outStr = String.format(formatString(), val); - - if (newLine) { - out.println(outStr.trim()); - } else { - out.print(outStr); - out.print(' '); - } - } - } - - public static final class Table { - private final List<TableColumn> columns; - private final List<Map<String, String>> rows; - - public Table(String[] headers, String[] keys) { - assert headers.length == keys.length; - - this.columns = new LinkedList<>(); - this.rows = new LinkedList<>(); - - for (int i = 0; i < headers.length; i++) { - columns.add(new TableColumn(headers[i], keys[i])); - } - } - - public boolean isEmpty() { - return rows.isEmpty(); - } - - public void addRow(String name, Map<String, Object> row) { - Map<String, String> rowData = null; - - for (TableColumn column : columns) { - Object val = row.get(column.getKey()); - if (ObjectHelper.isNotEmpty(val)) { - if (rowData == null) { - rowData = new LinkedHashMap<>(); - } - - rowData.put(column.getKey(), val.toString()); - } - } - - if (rowData != null) { - rowData.put("key", name); - rows.add(rowData); - - for (TableColumn column : columns) { - column.computeMaxLen(rowData); - } - } - } - - public void print(PrintStream out) { - for (int r = 0; r < rows.size(); r++) { - if (r == 0) { - printHeader(out); - } - - Map<String, String> row = rows.get(r); - for (int c = 0; c < columns.size(); c++) { - columns.get(c).printValue(out, row, c == columns.size() - 1); - } - } - } - - private void printHeader(PrintStream out) { - for (int c = 0; c < columns.size(); c++) { - TableColumn column = columns.get(c); - column.printHeader(out, c == columns.size() - 1); - } - for (int c = 0; c < columns.size(); c++) { - TableColumn column = columns.get(c); - column.printHeaderSeparator(out, c == columns.size() - 1); - } - } - } -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentInfoCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentInfoCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentInfoCommand.java deleted file mode 100644 index 332a12f..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentInfoCommand.java +++ /dev/null @@ -1,143 +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.camel.commands; - -import java.io.PrintStream; -import java.util.Map; -import java.util.regex.PatternSyntaxException; - -import org.apache.camel.catalog.CatalogHelper; -import org.apache.camel.commands.internal.RegexUtil; - -/** - * Shows properties of a component from Catalog - */ -@Deprecated -public class CatalogComponentInfoCommand extends AbstractCamelCommand { - private static final String[][] COMPONENT_PROPERTIES = new String[][] { - {"Property", "Description"}, - {"key", "description"} - }; - - private static final String[][] COMPONENT_PROPERTIES_VERBOSE = new String[][] { - {"Property", "Description"}, - {"key", "description"} - }; - - private static final String[][] PROPERTIES = new String[][] { - {"Property", "Description"}, - {"key", "description"} - }; - - private static final String[][] PROPERTIES_VERBOSE = new String[][] { - {"Property", "Group", "Default Value", "Description"}, - {"key", "group", "defaultValue", "description"} - }; - - private final String name; - private final boolean verbose; - private final String labelFilter; - - public CatalogComponentInfoCommand(String name, boolean verbose, String labelFilter) { - this.name = name; - this.verbose = verbose; - this.labelFilter = labelFilter != null ? RegexUtil.wildcardAsRegex(labelFilter) : null; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - final Map<String, Object> info = camelController.componentInfo(name); - - String component = name.toUpperCase(); - if (info.containsKey("description")) { - component += " :: " + info.get("description"); - } - - out.println(""); - out.println(component); - out.println(buildSeparatorString(component.length(), '-')); - out.println(""); - - - if (info.containsKey("label")) { - out.printf("label: %s\n", info.get("label")); - } - - if (info.containsKey("groupId") && info.containsKey("artifactId") && info.containsKey("version")) { - out.printf("maven: %s\n", info.get("groupId") + "/" + info.get("artifactId") + "/" + info.get("version")); - } - - dumpProperties("componentProperties", info, verbose ? COMPONENT_PROPERTIES_VERBOSE : COMPONENT_PROPERTIES, out); - dumpProperties("properties", info, verbose ? PROPERTIES_VERBOSE : PROPERTIES, out); - - return null; - } - - private void dumpProperties(String groupName, Map<String, Object> info, String[][] tableStruct, PrintStream out) { - Map<String, Object> group = (Map<String, Object>)info.get(groupName); - if (group != null) { - CatalogComponentHelper.Table table = new CatalogComponentHelper.Table(tableStruct[0], tableStruct[1]); - for (Map.Entry<String, Object> entry : group.entrySet()) { - if (entry.getValue() instanceof Map) { - Map<String, Object> data = (Map<String, Object>) entry.getValue(); - if (matchLabel(data)) { - table.addRow(entry.getKey(), data); - } - } - } - - if (!table.isEmpty()) { - out.println(""); - out.println(groupName); - out.println(""); - - table.print(out); - } - } - } - - private static String buildSeparatorString(int len, char pad) { - StringBuilder sb = new StringBuilder(len); - while (sb.length() < len) { - sb.append(pad); - } - - return sb.toString(); - } - - private boolean matchLabel(Map<String, Object> properties) { - if (labelFilter == null) { - return true; - } - - final String label = (String)properties.get("label"); - if (label != null) { - String[] parts = label.split(","); - for (String part : parts) { - try { - if (part.equalsIgnoreCase(labelFilter) || CatalogHelper.matchWildcard(part, labelFilter) || part.matches(labelFilter)) { - return true; - } - } catch (PatternSyntaxException e) { - // ignore as filter is maybe not a pattern - } - } - } - - return false; - } -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentListCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentListCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentListCommand.java deleted file mode 100644 index 6f78637..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogComponentListCommand.java +++ /dev/null @@ -1,193 +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.camel.commands; - -import java.io.PrintStream; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -/** - * From the Camel catalog lists all the components. - */ -@Deprecated -public class CatalogComponentListCommand extends AbstractCamelCommand { - - private static final String TITLE_COLUMN_LABEL = "Title"; - private static final String SYNTAX_COLUMN_LABEL = "Syntax"; - private static final String LABEL_COLUMN_LABEL = "Label"; - private static final String MAVEN_COLUMN_LABEL = "Maven Coordinate"; - private static final String DESCRIPTION_COLUMN_LABEL = "Description"; - - private static final int DEFAULT_COLUMN_WIDTH_INCREMENT = 0; - private static final String DEFAULT_FIELD_PREAMBLE = " "; - private static final String DEFAULT_FIELD_POSTAMBLE = " "; - private static final String DEFAULT_HEADER_PREAMBLE = " "; - private static final String DEFAULT_HEADER_POSTAMBLE = " "; - private static final int DEFAULT_FORMAT_BUFFER_LENGTH = 24; - // descriptions can be very long so clip by default after 120 chars - private static final int MAX_COLUMN_WIDTH = 120; - private static final int MIN_COLUMN_WIDTH = 12; - - private boolean verbose; - private String label; - - public CatalogComponentListCommand(boolean verbose, String label) { - this.verbose = verbose; - this.label = label; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - List<Map<String, String>> components = camelController.listComponentsCatalog(label); - - if (components == null || components.isEmpty()) { - return null; - } - - final Map<String, Integer> columnWidths = computeColumnWidths(components); - final String headerFormat = buildFormatString(columnWidths, true); - final String rowFormat = buildFormatString(columnWidths, false); - - if (verbose) { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, SYNTAX_COLUMN_LABEL, LABEL_COLUMN_LABEL, MAVEN_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "------", "-----", "----------------")); - } else { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, DESCRIPTION_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "-----------")); - } - for (final Map<String, String> component : components) { - if (verbose) { - String title = safeNull(component.get("title")); - String syntax = safeNull(component.get("syntax")); - String label = safeNull(component.get("label")); - String maven = ""; - if (component.containsKey("groupId") && component.containsKey("artifactId") && component.containsKey("version")) { - maven = component.get("groupId") + "/" + component.get("artifactId") + "/" + component.get("version"); - } - out.println(String.format(rowFormat, title, syntax, label, maven)); - } else { - String title = safeNull(component.get("title")); - String description = safeNull(component.get("description")); - out.println(String.format(rowFormat, title, description)); - } - } - - return null; - } - - private Map<String, Integer> computeColumnWidths(final Iterable<Map<String, String>> components) throws Exception { - if (components == null) { - return null; - } else { - // some of the options is optional so we need to start from 1 - int maxTitleLen = TITLE_COLUMN_LABEL.length(); - int maxSyntaxLen = SYNTAX_COLUMN_LABEL.length(); - int maxLabelLen = LABEL_COLUMN_LABEL.length(); - int maxMavenLen = MAVEN_COLUMN_LABEL.length(); - int maxDescriptionLen = DESCRIPTION_COLUMN_LABEL.length(); - - for (final Map<String, String> component : components) { - - // grab the information and compute max len - String syntax = component.get("syntax"); - if (syntax != null) { - maxSyntaxLen = Math.max(maxSyntaxLen, syntax.length()); - } - String title = component.get("title"); - if (title != null) { - maxTitleLen = Math.max(maxTitleLen, title.length()); - } - String label = component.get("label"); - if (label != null) { - maxLabelLen = Math.max(maxLabelLen, label.length()); - } - if (component.containsKey("groupId") && component.containsKey("artifactId") && component.containsKey("version")) { - String mvn = component.get("groupId") + "/" + component.get("artifactId") + "/" + component.get("version"); - maxMavenLen = Math.max(maxMavenLen, mvn.length()); - } - String description = component.get("description"); - if (description != null) { - maxDescriptionLen = Math.max(maxDescriptionLen, description.length()); - } - } - - final Map<String, Integer> retval = new Hashtable<String, Integer>(); - retval.put(TITLE_COLUMN_LABEL, maxTitleLen); - retval.put(SYNTAX_COLUMN_LABEL, maxSyntaxLen); - retval.put(LABEL_COLUMN_LABEL, maxLabelLen); - retval.put(MAVEN_COLUMN_LABEL, maxMavenLen); - retval.put(DESCRIPTION_COLUMN_LABEL, maxDescriptionLen); - - return retval; - } - } - - private String buildFormatString(Map<String, Integer> columnWidths, boolean isHeader) { - final String fieldPreamble; - final String fieldPostamble; - final int columnWidthIncrement; - - if (isHeader) { - fieldPreamble = DEFAULT_HEADER_PREAMBLE; - fieldPostamble = DEFAULT_HEADER_POSTAMBLE; - } else { - fieldPreamble = DEFAULT_FIELD_PREAMBLE; - fieldPostamble = DEFAULT_FIELD_POSTAMBLE; - } - columnWidthIncrement = DEFAULT_COLUMN_WIDTH_INCREMENT; - - if (verbose) { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int syntaxLen = Math.min(columnWidths.get(SYNTAX_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int labelLen = Math.min(columnWidths.get(LABEL_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int mavenLen = Math.min(columnWidths.get(MAVEN_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - titleLen = Math.max(MIN_COLUMN_WIDTH, titleLen); - syntaxLen = Math.max(MIN_COLUMN_WIDTH, syntaxLen); - labelLen = Math.max(MIN_COLUMN_WIDTH, labelLen); - mavenLen = Math.max(MIN_COLUMN_WIDTH, mavenLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(syntaxLen).append('.').append(syntaxLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(labelLen).append('.').append(labelLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(mavenLen).append('.').append(mavenLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } else { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int descriptionLen = Math.min(columnWidths.get(DESCRIPTION_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - titleLen = Math.max(MIN_COLUMN_WIDTH, titleLen); - descriptionLen = Math.max(MIN_COLUMN_WIDTH, descriptionLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(descriptionLen).append('.').append(descriptionLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } - } - - private int getMaxColumnWidth() { - if (verbose) { - return Integer.MAX_VALUE; - } else { - return MAX_COLUMN_WIDTH; - } - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatDocCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatDocCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatDocCommand.java deleted file mode 100644 index 5a1e4d4..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatDocCommand.java +++ /dev/null @@ -1,42 +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.camel.commands; - -import java.io.PrintStream; - -/** - * Shows documentation of a data format from Catalog - */ -@Deprecated -public class CatalogDataFormatDocCommand extends AbstractCamelCommand { - - private final String name; - - public CatalogDataFormatDocCommand(String name) { - this.name = name; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - String doc = camelController.catalogDataFormatAsciiDoc(name); - if (doc != null) { - out.println(doc); - } - return null; - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatListCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatListCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatListCommand.java deleted file mode 100644 index 49cd867..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogDataFormatListCommand.java +++ /dev/null @@ -1,190 +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.camel.commands; - -import java.io.PrintStream; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -/** - * From the Camel catalog lists all the data formats. - */ -@Deprecated -public class CatalogDataFormatListCommand extends AbstractCamelCommand { - - private static final String TITLE_COLUMN_LABEL = "Title"; - private static final String NAME_COLUMN_LABEL = "Name"; - private static final String LABEL_COLUMN_LABEL = "Label"; - private static final String MAVEN_COLUMN_LABEL = "Maven Coordinate"; - private static final String DESCRIPTION_COLUMN_LABEL = "Description"; - - private static final int DEFAULT_COLUMN_WIDTH_INCREMENT = 0; - private static final String DEFAULT_FIELD_PREAMBLE = " "; - private static final String DEFAULT_FIELD_POSTAMBLE = " "; - private static final String DEFAULT_HEADER_PREAMBLE = " "; - private static final String DEFAULT_HEADER_POSTAMBLE = " "; - private static final int DEFAULT_FORMAT_BUFFER_LENGTH = 24; - // descriptions can be very long so clip by default after 120 chars - private static final int MAX_COLUMN_WIDTH = 120; - private static final int MIN_COLUMN_WIDTH = 12; - - private boolean verbose; - private String label; - - public CatalogDataFormatListCommand(boolean verbose, String label) { - this.verbose = verbose; - this.label = label; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - List<Map<String, String>> dataFormats = camelController.listDataFormatsCatalog(label); - - if (dataFormats == null || dataFormats.isEmpty()) { - return null; - } - - final Map<String, Integer> columnWidths = computeColumnWidths(dataFormats); - final String headerFormat = buildFormatString(columnWidths, true); - final String rowFormat = buildFormatString(columnWidths, false); - - if (verbose) { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, NAME_COLUMN_LABEL, LABEL_COLUMN_LABEL, MAVEN_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "----", "-----", "----------------")); - } else { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, DESCRIPTION_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "-----------")); - } - for (final Map<String, String> dataFormat : dataFormats) { - if (verbose) { - String title = safeNull(dataFormat.get("title")); - String name = safeNull(dataFormat.get("name")); - String label = safeNull(dataFormat.get("label")); - String maven = ""; - if (dataFormat.containsKey("groupId") && dataFormat.containsKey("artifactId") && dataFormat.containsKey("version")) { - maven = dataFormat.get("groupId") + "/" + dataFormat.get("artifactId") + "/" + dataFormat.get("version"); - } - out.println(String.format(rowFormat, title, name, label, maven)); - } else { - String title = safeNull(dataFormat.get("title")); - String description = safeNull(dataFormat.get("description")); - out.println(String.format(rowFormat, title, description)); - } - } - - return null; - } - - private Map<String, Integer> computeColumnWidths(final Iterable<Map<String, String>> dataFormats) throws Exception { - if (dataFormats == null) { - return null; - } else { - // some of the options is optional so we need to start from 1 - int maxTitleLen = TITLE_COLUMN_LABEL.length(); - int maxNameLen = NAME_COLUMN_LABEL.length(); - int maxLabelLen = LABEL_COLUMN_LABEL.length(); - int maxMavenLen = MAVEN_COLUMN_LABEL.length(); - int maxDescriptionLen = DESCRIPTION_COLUMN_LABEL.length(); - - for (final Map<String, String> dataFormat : dataFormats) { - - // grab the information and compute max len - String title = dataFormat.get("title"); - if (title != null) { - maxTitleLen = Math.max(maxTitleLen, title.length()); - } - String name = dataFormat.get("name"); - if (name != null) { - maxNameLen = Math.max(maxNameLen, name.length()); - } - String label = dataFormat.get("label"); - if (label != null) { - maxLabelLen = Math.max(maxLabelLen, label.length()); - } - if (dataFormat.containsKey("groupId") && dataFormat.containsKey("artifactId") && dataFormat.containsKey("version")) { - String mvn = dataFormat.get("groupId") + "/" + dataFormat.get("artifactId") + "/" + dataFormat.get("version"); - maxMavenLen = Math.max(maxMavenLen, mvn.length()); - } - String description = dataFormat.get("description"); - if (description != null) { - maxDescriptionLen = Math.max(maxDescriptionLen, description.length()); - } - } - - final Map<String, Integer> retval = new Hashtable<String, Integer>(); - retval.put(TITLE_COLUMN_LABEL, maxTitleLen); - retval.put(NAME_COLUMN_LABEL, maxNameLen); - retval.put(LABEL_COLUMN_LABEL, maxLabelLen); - retval.put(MAVEN_COLUMN_LABEL, maxMavenLen); - retval.put(DESCRIPTION_COLUMN_LABEL, maxDescriptionLen); - - return retval; - } - } - - private String buildFormatString(Map<String, Integer> columnWidths, boolean isHeader) { - final String fieldPreamble; - final String fieldPostamble; - final int columnWidthIncrement; - - if (isHeader) { - fieldPreamble = DEFAULT_HEADER_PREAMBLE; - fieldPostamble = DEFAULT_HEADER_POSTAMBLE; - } else { - fieldPreamble = DEFAULT_FIELD_PREAMBLE; - fieldPostamble = DEFAULT_FIELD_POSTAMBLE; - } - columnWidthIncrement = DEFAULT_COLUMN_WIDTH_INCREMENT; - - if (verbose) { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int nameLen = Math.min(columnWidths.get(NAME_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int labelLen = Math.min(columnWidths.get(LABEL_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int mavenLen = Math.min(columnWidths.get(MAVEN_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - titleLen = Math.max(MIN_COLUMN_WIDTH, titleLen); - nameLen = Math.max(MIN_COLUMN_WIDTH, nameLen); - labelLen = Math.max(MIN_COLUMN_WIDTH, labelLen); - mavenLen = Math.max(MIN_COLUMN_WIDTH, mavenLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(nameLen).append('.').append(nameLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(labelLen).append('.').append(labelLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(mavenLen).append('.').append(mavenLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } else { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int descriptionLen = Math.min(columnWidths.get(DESCRIPTION_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(descriptionLen).append('.').append(descriptionLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } - } - - private int getMaxColumnWidth() { - if (verbose) { - return Integer.MAX_VALUE; - } else { - return MAX_COLUMN_WIDTH; - } - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogEipListCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogEipListCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogEipListCommand.java deleted file mode 100644 index 356b114..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogEipListCommand.java +++ /dev/null @@ -1,172 +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.camel.commands; - -import java.io.PrintStream; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -/** - * From the Camel catalog lists all the EIPs. - */ -@Deprecated -public class CatalogEipListCommand extends AbstractCamelCommand { - - private static final String NAME_COLUMN_LABEL = "Name"; - private static final String LABEL_COLUMN_LABEL = "Label"; - private static final String DESCRIPTION_COLUMN_LABEL = "Description"; - - private static final int DEFAULT_COLUMN_WIDTH_INCREMENT = 0; - private static final String DEFAULT_FIELD_PREAMBLE = " "; - private static final String DEFAULT_FIELD_POSTAMBLE = " "; - private static final String DEFAULT_HEADER_PREAMBLE = " "; - private static final String DEFAULT_HEADER_POSTAMBLE = " "; - private static final int DEFAULT_FORMAT_BUFFER_LENGTH = 24; - // descriptions can be very long so clip by default after 120 chars - private static final int MAX_COLUMN_WIDTH = 120; - private static final int MIN_COLUMN_WIDTH = 12; - - private boolean verbose; - private String label; - - public CatalogEipListCommand(boolean verbose, String label) { - this.verbose = verbose; - this.label = label; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - List<Map<String, String>> models = camelController.listEipsCatalog(label); - - if (models == null || models.isEmpty()) { - return null; - } - - final Map<String, Integer> columnWidths = computeColumnWidths(models); - final String headerFormat = buildFormatString(columnWidths, true); - final String rowFormat = buildFormatString(columnWidths, false); - - if (verbose) { - out.println(String.format(headerFormat, NAME_COLUMN_LABEL, LABEL_COLUMN_LABEL, DESCRIPTION_COLUMN_LABEL)); - out.println(String.format(headerFormat, "----", "-----", "-----------")); - } else { - out.println(String.format(headerFormat, NAME_COLUMN_LABEL, LABEL_COLUMN_LABEL)); - out.println(String.format(headerFormat, "----", "-----")); - } - for (final Map<String, String> component : models) { - if (verbose) { - String name = safeNull(component.get("name")); - String label = safeNull(component.get("label")); - String description = safeNull(component.get("description")); - out.println(String.format(rowFormat, name, label, description)); - } else { - String name = safeNull(component.get("name")); - String label = safeNull(component.get("label")); - out.println(String.format(rowFormat, name, label)); - } - } - - return null; - } - - private Map<String, Integer> computeColumnWidths(final Iterable<Map<String, String>> components) throws Exception { - if (components == null) { - return null; - } else { - // some of the options is optional so we need to start from 1 - int maxNameLen = NAME_COLUMN_LABEL.length(); - int maxLabelLen = LABEL_COLUMN_LABEL.length(); - int maxDescriptionLen = DESCRIPTION_COLUMN_LABEL.length(); - - for (final Map<String, String> component : components) { - - // grab the information and compute max len - String name = component.get("name"); - if (name != null) { - maxNameLen = Math.max(maxNameLen, name.length()); - } - String label = component.get("label"); - if (label != null) { - maxLabelLen = Math.max(maxLabelLen, label.length()); - } - String description = component.get("description"); - if (description != null) { - maxDescriptionLen = Math.max(maxDescriptionLen, description.length()); - } - } - - final Map<String, Integer> retval = new Hashtable<String, Integer>(3); - retval.put(NAME_COLUMN_LABEL, maxNameLen); - retval.put(LABEL_COLUMN_LABEL, maxLabelLen); - retval.put(DESCRIPTION_COLUMN_LABEL, maxDescriptionLen); - - return retval; - } - } - - private String buildFormatString(Map<String, Integer> columnWidths, boolean isHeader) { - final String fieldPreamble; - final String fieldPostamble; - final int columnWidthIncrement; - - if (isHeader) { - fieldPreamble = DEFAULT_HEADER_PREAMBLE; - fieldPostamble = DEFAULT_HEADER_POSTAMBLE; - } else { - fieldPreamble = DEFAULT_FIELD_PREAMBLE; - fieldPostamble = DEFAULT_FIELD_POSTAMBLE; - } - columnWidthIncrement = DEFAULT_COLUMN_WIDTH_INCREMENT; - - if (verbose) { - int nameLen = Math.min(columnWidths.get(NAME_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int labelLen = Math.min(columnWidths.get(LABEL_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int descriptionLen = Math.min(columnWidths.get(DESCRIPTION_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - nameLen = Math.max(MIN_COLUMN_WIDTH, nameLen); - labelLen = Math.max(MIN_COLUMN_WIDTH, labelLen); - descriptionLen = Math.max(MIN_COLUMN_WIDTH, descriptionLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(nameLen).append('.').append(nameLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(labelLen).append('.').append(labelLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(descriptionLen).append('.').append(descriptionLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } else { - int nameLen = Math.min(columnWidths.get(NAME_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int labelLen = Math.min(columnWidths.get(LABEL_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - nameLen = Math.max(MIN_COLUMN_WIDTH, nameLen); - labelLen = Math.max(MIN_COLUMN_WIDTH, labelLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(nameLen).append('.').append(nameLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(labelLen).append('.').append(labelLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } - } - - private int getMaxColumnWidth() { - if (verbose) { - return Integer.MAX_VALUE; - } else { - return MAX_COLUMN_WIDTH; - } - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageDocCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageDocCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageDocCommand.java deleted file mode 100644 index b4c5990..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageDocCommand.java +++ /dev/null @@ -1,42 +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.camel.commands; - -import java.io.PrintStream; - -/** - * Shows documentation of a language from Catalog - */ -@Deprecated -public class CatalogLanguageDocCommand extends AbstractCamelCommand { - - private final String name; - - public CatalogLanguageDocCommand(String name) { - this.name = name; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - String doc = camelController.catalogLanguageAsciiDoc(name); - if (doc != null) { - out.println(doc); - } - return null; - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageListCommand.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageListCommand.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageListCommand.java deleted file mode 100644 index 8b35599..0000000 --- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/CatalogLanguageListCommand.java +++ /dev/null @@ -1,193 +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.camel.commands; - -import java.io.PrintStream; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -/** - * From the Camel catalog lists all the languages. - */ -@Deprecated -public class CatalogLanguageListCommand extends AbstractCamelCommand { - - private static final String TITLE_COLUMN_LABEL = "Title"; - private static final String NAME_COLUMN_LABEL = "Name"; - private static final String LABEL_COLUMN_LABEL = "Label"; - private static final String MAVEN_COLUMN_LABEL = "Maven Coordinate"; - private static final String DESCRIPTION_COLUMN_LABEL = "Description"; - - private static final int DEFAULT_COLUMN_WIDTH_INCREMENT = 0; - private static final String DEFAULT_FIELD_PREAMBLE = " "; - private static final String DEFAULT_FIELD_POSTAMBLE = " "; - private static final String DEFAULT_HEADER_PREAMBLE = " "; - private static final String DEFAULT_HEADER_POSTAMBLE = " "; - private static final int DEFAULT_FORMAT_BUFFER_LENGTH = 24; - // descriptions can be very long so clip by default after 120 chars - private static final int MAX_COLUMN_WIDTH = 120; - private static final int MIN_COLUMN_WIDTH = 12; - - private boolean verbose; - private String label; - - public CatalogLanguageListCommand(boolean verbose, String label) { - this.verbose = verbose; - this.label = label; - } - - @Override - public Object execute(CamelController camelController, PrintStream out, PrintStream err) throws Exception { - List<Map<String, String>> languages = camelController.listLanguagesCatalog(label); - - if (languages == null || languages.isEmpty()) { - return null; - } - - final Map<String, Integer> columnWidths = computeColumnWidths(languages); - final String headerFormat = buildFormatString(columnWidths, true); - final String rowFormat = buildFormatString(columnWidths, false); - - if (verbose) { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, NAME_COLUMN_LABEL, LABEL_COLUMN_LABEL, MAVEN_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "----", "-----", "----------------")); - } else { - out.println(String.format(headerFormat, TITLE_COLUMN_LABEL, DESCRIPTION_COLUMN_LABEL)); - out.println(String.format(headerFormat, "-----", "-----------")); - } - for (final Map<String, String> language : languages) { - if (verbose) { - String title = safeNull(language.get("title")); - String name = safeNull(language.get("name")); - String label = safeNull(language.get("label")); - String maven = ""; - if (language.containsKey("groupId") && language.containsKey("artifactId") && language.containsKey("version")) { - maven = language.get("groupId") + "/" + language.get("artifactId") + "/" + language.get("version"); - } - out.println(String.format(rowFormat, title, name, label, maven)); - } else { - String title = safeNull(language.get("title")); - String description = safeNull(language.get("description")); - out.println(String.format(rowFormat, title, description)); - } - } - - return null; - } - - private Map<String, Integer> computeColumnWidths(final Iterable<Map<String, String>> languages) throws Exception { - if (languages == null) { - return null; - } else { - // some of the options is optional so we need to start from 1 - int maxTitleLen = TITLE_COLUMN_LABEL.length(); - int maxNameLen = NAME_COLUMN_LABEL.length(); - int maxLabelLen = LABEL_COLUMN_LABEL.length(); - int maxMavenLen = MAVEN_COLUMN_LABEL.length(); - int maxDescriptionLen = DESCRIPTION_COLUMN_LABEL.length(); - - for (final Map<String, String> dataFormat : languages) { - - // grab the information and compute max len - String title = dataFormat.get("title"); - if (title != null) { - maxTitleLen = Math.max(maxTitleLen, title.length()); - } - String name = dataFormat.get("name"); - if (name != null) { - maxNameLen = Math.max(maxNameLen, name.length()); - } - String label = dataFormat.get("label"); - if (label != null) { - maxLabelLen = Math.max(maxLabelLen, label.length()); - } - if (dataFormat.containsKey("groupId") && dataFormat.containsKey("artifactId") && dataFormat.containsKey("version")) { - String mvn = dataFormat.get("groupId") + "/" + dataFormat.get("artifactId") + "/" + dataFormat.get("version"); - maxMavenLen = Math.max(maxMavenLen, mvn.length()); - } - String description = dataFormat.get("description"); - if (description != null) { - maxDescriptionLen = Math.max(maxDescriptionLen, description.length()); - } - } - - final Map<String, Integer> retval = new Hashtable<String, Integer>(); - retval.put(TITLE_COLUMN_LABEL, maxTitleLen); - retval.put(NAME_COLUMN_LABEL, maxNameLen); - retval.put(LABEL_COLUMN_LABEL, maxLabelLen); - retval.put(MAVEN_COLUMN_LABEL, maxMavenLen); - retval.put(DESCRIPTION_COLUMN_LABEL, maxDescriptionLen); - - return retval; - } - } - - private String buildFormatString(Map<String, Integer> columnWidths, boolean isHeader) { - final String fieldPreamble; - final String fieldPostamble; - final int columnWidthIncrement; - - if (isHeader) { - fieldPreamble = DEFAULT_HEADER_PREAMBLE; - fieldPostamble = DEFAULT_HEADER_POSTAMBLE; - } else { - fieldPreamble = DEFAULT_FIELD_PREAMBLE; - fieldPostamble = DEFAULT_FIELD_POSTAMBLE; - } - columnWidthIncrement = DEFAULT_COLUMN_WIDTH_INCREMENT; - - if (verbose) { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int nameLen = Math.min(columnWidths.get(NAME_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int labelLen = Math.min(columnWidths.get(LABEL_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int mavenLen = Math.min(columnWidths.get(MAVEN_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - titleLen = Math.max(MIN_COLUMN_WIDTH, titleLen); - nameLen = Math.max(MIN_COLUMN_WIDTH, nameLen); - labelLen = Math.max(MIN_COLUMN_WIDTH, labelLen); - mavenLen = Math.max(MIN_COLUMN_WIDTH, mavenLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(nameLen).append('.').append(nameLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(labelLen).append('.').append(labelLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(mavenLen).append('.').append(mavenLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } else { - int titleLen = Math.min(columnWidths.get(TITLE_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - int descriptionLen = Math.min(columnWidths.get(DESCRIPTION_COLUMN_LABEL) + columnWidthIncrement, getMaxColumnWidth()); - - titleLen = Math.max(MIN_COLUMN_WIDTH, titleLen); - descriptionLen = Math.max(MIN_COLUMN_WIDTH, descriptionLen); - - final StringBuilder retval = new StringBuilder(DEFAULT_FORMAT_BUFFER_LENGTH); - retval.append(fieldPreamble).append("%-").append(titleLen).append('.').append(titleLen).append('s').append(fieldPostamble).append(' '); - retval.append(fieldPreamble).append("%-").append(descriptionLen).append('.').append(descriptionLen).append('s').append(fieldPostamble).append(' '); - return retval.toString(); - } - } - - private int getMaxColumnWidth() { - if (verbose) { - return Integer.MAX_VALUE; - } else { - return MAX_COLUMN_WIDTH; - } - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/43518eaa/platforms/commands/commands-core/src/test/java/org/apache/camel/commands/CatalogCommandTest.java ---------------------------------------------------------------------- diff --git a/platforms/commands/commands-core/src/test/java/org/apache/camel/commands/CatalogCommandTest.java b/platforms/commands/commands-core/src/test/java/org/apache/camel/commands/CatalogCommandTest.java deleted file mode 100644 index 4d03fb0..0000000 --- a/platforms/commands/commands-core/src/test/java/org/apache/camel/commands/CatalogCommandTest.java +++ /dev/null @@ -1,79 +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.camel.commands; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.PrintStream; - -import org.apache.camel.CamelContext; -import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.impl.ExplicitCamelContextNameStrategy; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static org.junit.Assert.assertNotNull; - -public class CatalogCommandTest { - - private static final Logger LOG = LoggerFactory.getLogger(CatalogCommandTest.class); - - @Test - public void testListComponents() throws Exception { - CamelContext context = new DefaultCamelContext(); - context.setNameStrategy(new ExplicitCamelContextNameStrategy("foobar")); - context.start(); - - CamelController controller = new DummyCamelController(context); - - OutputStream os = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(os); - - CatalogComponentListCommand command = new CatalogComponentListCommand(false, null); - command.execute(controller, ps, null); - - String out = os.toString(); - assertNotNull(out); - LOG.info("\n\n{}\n", out); - - context.stop(); - } - - - @Test - public void testComponentInfo() throws Exception { - CamelContext context = new DefaultCamelContext(); - context.setNameStrategy(new ExplicitCamelContextNameStrategy("foobar")); - context.start(); - - CamelController controller = new DummyCamelController(context); - - OutputStream os = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(os); - - CatalogComponentInfoCommand command = new CatalogComponentInfoCommand("hdfs", true, "consumer"); - command.execute(controller, ps, null); - - String out = os.toString(); - assertNotNull(out); - LOG.info("\n\n{}\n", out); - - context.stop(); - } - -}