CAMEL-10847: Component json schema - Include display name for options
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5c7613a1 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5c7613a1 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5c7613a1 Branch: refs/heads/master Commit: 5c7613a1ad29f6a9e7aa09688d0171121c2942ee Parents: 78634db Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Feb 16 19:55:05 2017 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Feb 16 19:55:05 2017 +0100 ---------------------------------------------------------------------- .../tools/apt/SpringAnnotationProcessor.java | 25 +------------------- .../tools/apt/helper/JsonSchemaHelper.java | 10 ++++---- .../apache/camel/tools/apt/helper/Strings.java | 22 +++++++++++++++++ 3 files changed, 29 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/5c7613a1/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java index f6def82..06a8620 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessor.java @@ -124,7 +124,7 @@ public class SpringAnnotationProcessor { buffer.append("\n \"title\": \"").append(eipModel.getTitle()).append("\","); } else { // fallback and use name as title - buffer.append("\n \"title\": \"").append(asTitle(eipModel.getName())).append("\","); + buffer.append("\n \"title\": \"").append(Strings.asTitle(eipModel.getName())).append("\","); } buffer.append("\n \"description\": \"").append(safeNull(eipModel.getDescription())).append("\","); buffer.append("\n \"javaType\": \"").append(eipModel.getJavaType()).append("\","); @@ -495,29 +495,6 @@ public class SpringAnnotationProcessor { return defaultValue; } - /** - * Capitializes the name as a title - * - * @param name the name - * @return as a title - */ - private static String asTitle(String name) { - StringBuilder sb = new StringBuilder(); - for (char c : name.toCharArray()) { - boolean upper = Character.isUpperCase(c); - boolean first = sb.length() == 0; - if (first) { - sb.append(Character.toUpperCase(c)); - } else if (upper) { - sb.append(' '); - sb.append(c); - } else { - sb.append(Character.toLowerCase(c)); - } - } - return sb.toString().trim(); - } - private static final class EipModel { private String name; http://git-wip-us.apache.org/repos/asf/camel/blob/5c7613a1/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java index b5c8264..caebe71 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java @@ -51,11 +51,13 @@ public final class JsonSchemaHelper { sb.append(": { \"kind\": "); sb.append(Strings.doubleQuote(kind)); - // we want display name early so its easier to spot - if (!Strings.isNullOrEmpty(displayName)) { - sb.append(", \"displayName\": "); - sb.append(Strings.doubleQuote(label)); + // compute a display name if we don't have anything + if (Strings.isNullOrEmpty(displayName)) { + displayName = Strings.asTitle(name); } + // we want display name early so its easier to spot + sb.append(", \"displayName\": "); + sb.append(Strings.doubleQuote(displayName)); // we want group early so its easier to spot if (!Strings.isNullOrEmpty(group)) { http://git-wip-us.apache.org/repos/asf/camel/blob/5c7613a1/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/Strings.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/Strings.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/Strings.java index 7037140..6c5d870 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/Strings.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/Strings.java @@ -115,4 +115,26 @@ public final class Strings { return text; } + /** + * Capitalizes the name as a title + * + * @param name the name + * @return as a title + */ + public static String asTitle(String name) { + StringBuilder sb = new StringBuilder(); + for (char c : name.toCharArray()) { + boolean upper = Character.isUpperCase(c); + boolean first = sb.length() == 0; + if (first) { + sb.append(Character.toUpperCase(c)); + } else if (upper) { + sb.append(' '); + sb.append(c); + } else { + sb.append(Character.toLowerCase(c)); + } + } + return sb.toString().trim(); + } }