CAMEL-7800: camel-swagger-java - work in progress
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/11d97a6d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/11d97a6d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/11d97a6d Branch: refs/heads/master Commit: 11d97a6d29c6a23d705d9fc7bd80247f852479f8 Parents: d84e880 Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Sep 18 15:42:57 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Sep 18 16:16:14 2015 +0200 ---------------------------------------------------------------------- .../apache/camel/model/rest/RestDefinition.java | 22 ++++++++++++++++++++ .../apache/camel/swagger/RestSwaggerReader.java | 3 ++- .../swagger/RestSwaggerReaderModelTest.java | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/11d97a6d/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java index 4c5c044..9e1a34d 100644 --- a/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java @@ -52,6 +52,9 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition> private String path; @XmlAttribute + private String tag; + + @XmlAttribute private String consumes; @XmlAttribute @@ -85,6 +88,17 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition> this.path = path; } + public String getTag() { + return tag; + } + + /** + * To configure a special tag for the operations within this rest definition. + */ + public void setTag(String tag) { + this.tag = tag; + } + public String getConsumes() { return consumes; } @@ -173,6 +187,14 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition> return this; } + /** + * To set the tag to use of this REST service + */ + public RestDefinition tag(String tag) { + setTag(tag); + return this; + } + public RestDefinition get() { return addVerb("get", null); } http://git-wip-us.apache.org/repos/asf/camel/blob/11d97a6d/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java ---------------------------------------------------------------------- diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java index ae9c46f..d5eac90 100644 --- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java +++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java @@ -93,7 +93,8 @@ public class RestSwaggerReader { // must sort the verbs by uri so we group them together when an uri has multiple operations Collections.sort(verbs, new VerbOrdering()); - String pathAsTag = FileUtil.stripLeadingSeparator(rest.getPath()); + // we need to group the operations within the same tag, so use the path as default if not configured + String pathAsTag = rest.getTag() != null ? rest.getTag() : FileUtil.stripLeadingSeparator(rest.getPath()); String summary = rest.getDescriptionText(); // add rest as tag http://git-wip-us.apache.org/repos/asf/camel/blob/11d97a6d/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java ---------------------------------------------------------------------- diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java index 4d26438..d6293f5 100644 --- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java +++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderModelTest.java @@ -44,7 +44,7 @@ public class RestSwaggerReaderModelTest extends CamelTestSupport { @Override public void configure() throws Exception { // this user REST service is json only - rest("/user").description("User rest service") + rest("/user").tag("dude").description("User rest service") .consumes("application/json").produces("application/json") .get("/{id}").description("Find user by id").outType(User.class)