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:52 UTC
[06/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/0fd7e668
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0fd7e668
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0fd7e668
Branch: refs/heads/master
Commit: 0fd7e668a2a7861846b336f26b3156fcc5aa92ab
Parents: 2ce6072
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Sep 17 17:16:50 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Sep 18 16:16:12 2015 +0200
----------------------------------------------------------------------
.../RestSwaggerApiDeclarationServlet.java | 4 ++-
.../apache/camel/swagger/RestSwaggerReader.java | 25 ++++++-------
.../org/apache/camel/swagger/SwaggerHelper.java | 37 ++++++++++++++++++++
3 files changed, 50 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0fd7e668/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerApiDeclarationServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerApiDeclarationServlet.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerApiDeclarationServlet.java
index 9a918b2..ceb5af2 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerApiDeclarationServlet.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerApiDeclarationServlet.java
@@ -35,6 +35,8 @@ import org.apache.camel.model.rest.RestDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.camel.swagger.SwaggerHelper.buildUrl;
+
public abstract class RestSwaggerApiDeclarationServlet extends HttpServlet {
private Logger LOG = LoggerFactory.getLogger(RestSwaggerApiDeclarationServlet.class);
@@ -168,7 +170,7 @@ public abstract class RestSwaggerApiDeclarationServlet extends HttpServlet {
} else {
swaggerConfig.setHost(url.getHost());
}
- swaggerConfig.setBasePath(path + "/" + base);
+ swaggerConfig.setBasePath(buildUrl(path, base));
}
initDone = true;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/0fd7e668/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 b343c5f..e6172af 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
@@ -33,12 +33,12 @@ import io.swagger.models.parameters.HeaderParameter;
import io.swagger.models.parameters.Parameter;
import io.swagger.models.parameters.PathParameter;
import io.swagger.models.parameters.QueryParameter;
+import io.swagger.models.parameters.SerializableParameter;
import org.apache.camel.model.rest.RestDefinition;
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 {
@@ -60,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 = buildUrl(basePath, verb.getUri());
+ String opPath = SwaggerHelper.buildUrl(basePath, verb.getUri());
Operation op = new Operation();
@@ -71,6 +71,8 @@ public class RestSwaggerReader {
}
path = path.set(method, op);
+ // TODO: add the type / outType stuff with array and model detection
+
if (verb.getConsumes() != null) {
op.consumes(verb.getConsumes());
} else if (rest.getConsumes() != null) {
@@ -103,6 +105,12 @@ public class RestSwaggerReader {
parameter.setAccess(param.getAccess());
parameter.setDescription(param.getDescription());
parameter.setRequired(param.getRequired());
+
+ if (parameter instanceof SerializableParameter) {
+ SerializableParameter sp = (SerializableParameter) parameter;
+ sp.setType(param.getDataType());
+ }
+
op.addParameter(parameter);
}
}
@@ -121,18 +129,6 @@ public class RestSwaggerReader {
return swagger;
}
- 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;
- }
- }
-
/**
* To sort the rest operations
*/
@@ -161,5 +157,4 @@ public class RestSwaggerReader {
}
}
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/0fd7e668/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerHelper.java
----------------------------------------------------------------------
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerHelper.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerHelper.java
new file mode 100644
index 0000000..eb5124a
--- /dev/null
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/SwaggerHelper.java
@@ -0,0 +1,37 @@
+/**
+ * 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.swagger;
+
+import org.apache.camel.util.FileUtil;
+
+public final class SwaggerHelper {
+
+ private SwaggerHelper() {
+ }
+
+ public static 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;
+ }
+ }
+}