Merge pull request #30 from kakulisen/dev
SCB-1487 add support for general jax-rs
diff --git a/contractgen/src/main/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGenerator.java b/contractgen/src/main/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGenerator.java
index c899f2f..49dd5b9 100755
--- a/contractgen/src/main/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGenerator.java
+++ b/contractgen/src/main/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGenerator.java
@@ -45,6 +45,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.ws.rs.Path;
+
public class DefaultContractsGenerator implements ContractsGenerator {
private static Logger LOGGER = LoggerFactory.getLogger(DefaultContractsGenerator.class);
@@ -131,7 +133,8 @@
String swaggerString = SwaggerUtils.swaggerToString(generator.generate());
File outputFile = new File(
- outputDir + File.separator + loadClass.getSimpleName() + contractfileType.getFileSuffix());
+ outputDir + File.separator + loadClass.getSimpleName() + contractfileType
+ .getFileSuffix());
if (!outputFile.exists()) {
if (!outputFile.getParentFile().exists()) {
@@ -176,6 +179,10 @@
return true;
}
+ Path pathAnnotation = loadClass.getAnnotation(Path.class);
+ if (pathAnnotation != null) {
+ return true;
+ }
return false;
}
diff --git a/contractgen/src/test/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGeneratorTest.java b/contractgen/src/test/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGeneratorTest.java
index f9f5ac7..d907929 100644
--- a/contractgen/src/test/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGeneratorTest.java
+++ b/contractgen/src/test/java/org/apache/servicecomb/toolkit/contractgen/DefaultContractsGeneratorTest.java
@@ -37,6 +37,7 @@
import java.util.Map;
import java.util.concurrent.TimeoutException;
+import javax.ws.rs.Path;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.plugin.testing.resources.TestResources;
import org.apache.maven.project.MavenProject;
@@ -147,6 +148,9 @@
mockClass = contractTestUtil.putAnnotationToClass("TestRequestMapping", RequestMapping.class);
assertThat(method.invoke("TestRequestMapping", mockClass), is(true));
+
+ mockClass = contractTestUtil.putAnnotationToClass("TestPath", Path.class);
+ assertThat(method.invoke("TestPath", mockClass), is(true));
}
@Test