You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/18 17:43:51 UTC
[05/21] camel git commit: CAMEL-7800: camel-swagger-java - work in
progress
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/2ce6072c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/2ce6072c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/2ce6072c
Branch: refs/heads/master
Commit: 2ce6072c4c0e2a69c99edd002bf1273605e2c1bb
Parents: 83261fe
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Sep 17 16:58:42 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Sep 18 16:16:12 2015 +0200
----------------------------------------------------------------------
.../apache/camel/swagger/RestSwaggerReader.java | 18 ++++++++++++++----
.../camel/swagger/RestSwaggerReaderTest.java | 6 +++---
2 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/2ce6072c/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 662cb34..b343c5f 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
@@ -38,6 +38,7 @@ import org.apache.camel.model.rest.RestOperationParamDefinition;
import org.apache.camel.model.rest.RestOperationResponseMsgDefinition;
import org.apache.camel.model.rest.RestParamType;
import org.apache.camel.model.rest.VerbDefinition;
+import org.apache.camel.util.FileUtil;
public class RestSwaggerReader {
@@ -59,7 +60,7 @@ public class RestSwaggerReader {
// the method must be in lower case
String method = verb.asVerb().toLowerCase(Locale.US);
// operation path is a key
- String opPath = getPath(basePath, verb.getUri());
+ String opPath = buildUrl(basePath, verb.getUri());
Operation op = new Operation();
@@ -113,14 +114,23 @@ public class RestSwaggerReader {
// add path
swagger.path(opPath, path);
+
+ // TODO: add model parser for swagger annotations in the model/schema
}
return swagger;
}
- private String getPath(String basePath, String uri) {
- // TODO: slash check and avoid double slash and all that
- return basePath + "/" + uri;
+ private String buildUrl(String path1, String path2) {
+ String s1 = FileUtil.stripTrailingSeparator(path1);
+ String s2 = FileUtil.stripLeadingSeparator(path2);
+ if (s1 != null && s2 != null) {
+ return s1 + "/" + s2;
+ } else if (path1 != null) {
+ return path1;
+ } else {
+ return path2;
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/camel/blob/2ce6072c/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
index 45aa629..baefb8f 100644
--- a/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
+++ b/components/camel-swagger-java/src/test/java/org/apache/camel/swagger/RestSwaggerReaderTest.java
@@ -80,10 +80,10 @@ public class RestSwaggerReaderTest extends CamelTestSupport {
assertTrue(json.contains("\"host\" : \"localhost:8080\""));
assertTrue(json.contains("\"basePath\" : \"/api\""));
- assertTrue(json.contains("\"/hello//bye\""));
+ assertTrue(json.contains("\"/hello/bye\""));
assertTrue(json.contains("\"summary\" : \"To update the greeting message\""));
- assertTrue(json.contains("\"/hello//bye/{name}\""));
- assertTrue(json.contains("\"/hello//hi/{name}\""));
+ assertTrue(json.contains("\"/hello/bye/{name}\""));
+ assertTrue(json.contains("\"/hello/hi/{name}\""));
context.stop();
}