forked from loafle/openapi-generator-original
Add CXF codegen
Also rename the existing JAX-RS codegen to JAX-RS-Jersey1 codegen, since JAX-RS is only a specification. Jersey and CXF are both an implementation of the JAX-RS specification.
This commit is contained in:
parent
44c1e27680
commit
3648a79965
@ -0,0 +1,49 @@
|
||||
|
||||
package io.swagger.codegen.languages;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
|
||||
// TODO: create an abstract JavaJAXRSServerCodegen that both Jersey1 & CXF will extends.
|
||||
public class JavaJaxRSCXFServerCodegen extends JavaJaxRSJersey1ServerCodegen
|
||||
{
|
||||
public JavaJaxRSCXFServerCodegen()
|
||||
{
|
||||
super();
|
||||
super.embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME + File.separator + "cxf";
|
||||
// We decided to just provide the CXF interface and let the user create his own files to implement it
|
||||
super.apiTemplateFiles.remove("apiService.mustache");
|
||||
super.apiTemplateFiles.remove("apiServiceImpl.mustache");
|
||||
super.apiTemplateFiles.remove("apiServiceFactory.mustache");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processOpts()
|
||||
{
|
||||
super.processOpts();
|
||||
sourceFolder = "gen" + File.separator + "java";
|
||||
|
||||
modelTemplateFiles.clear();
|
||||
modelTemplateFiles.put("entityModel.mustache", ".java");
|
||||
|
||||
supportingFiles.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toApiName(String name)
|
||||
{
|
||||
String computedName = name;
|
||||
computedName = computedName.replace('-', ' ');
|
||||
computedName = WordUtils.capitalize(computedName);
|
||||
computedName = computedName.replaceAll("\\s", "");
|
||||
computedName = super.toApiName(computedName);
|
||||
return computedName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "cxf";
|
||||
}
|
||||
}
|
@ -8,11 +8,14 @@ import io.swagger.models.Swagger;
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
public class JaxRSServerCodegen extends JavaClientCodegen {
|
||||
public class JavaJaxRSJersey1ServerCodegen extends JavaClientCodegen {
|
||||
protected static final String JAXRS_TEMPLATE_DIRECTORY_NAME = "JavaJaxRS";
|
||||
protected String dateLibrary = "default";
|
||||
protected String title = "Swagger Server";
|
||||
protected String implFolder = "src/main/java";
|
||||
|
||||
public JaxRSServerCodegen() {
|
||||
public static final String DATE_LIBRARY = "dateLibrary";
|
||||
public JavaJaxRSJersey1ServerCodegen() {
|
||||
super();
|
||||
|
||||
sourceFolder = "src/gen/java";
|
||||
@ -30,7 +33,7 @@ public class JaxRSServerCodegen extends JavaClientCodegen {
|
||||
|
||||
additionalProperties.put("title", title);
|
||||
|
||||
embeddedTemplateDir = templateDir = "JavaJaxRS" + File.separator + "jersey1_18";
|
||||
embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME + File.separator + "jersey1_18";
|
||||
|
||||
for(int i = 0; i < cliOptions.size(); i++) {
|
||||
if(CodegenConstants.LIBRARY.equals(cliOptions.get(i).getOpt())) {
|
@ -7,7 +7,8 @@ io.swagger.codegen.languages.FlaskConnexionCodegen
|
||||
io.swagger.codegen.languages.GoClientCodegen
|
||||
io.swagger.codegen.languages.JavaClientCodegen
|
||||
io.swagger.codegen.languages.JavascriptClientCodegen
|
||||
io.swagger.codegen.languages.JaxRSServerCodegen
|
||||
io.swagger.codegen.languages.JavaJaxRSJersey1ServerCodegen
|
||||
io.swagger.codegen.languages.JavaJaxRSCXFServerCodegen
|
||||
io.swagger.codegen.languages.JavaInflectorServerCodegen
|
||||
io.swagger.codegen.languages.JMeterCodegen
|
||||
io.swagger.codegen.languages.NodeJSServerCodegen
|
||||
|
@ -2,7 +2,7 @@ package io.swagger.codegen.jaxrs;
|
||||
|
||||
import io.swagger.codegen.CodegenConfig;
|
||||
import io.swagger.codegen.java.JavaClientOptionsTest;
|
||||
import io.swagger.codegen.languages.JaxRSServerCodegen;
|
||||
import io.swagger.codegen.languages.JavaJaxRSJersey1ServerCodegen;
|
||||
import io.swagger.codegen.options.JaxRSServerOptionsProvider;
|
||||
|
||||
import mockit.Expectations;
|
||||
@ -11,7 +11,7 @@ import mockit.Tested;
|
||||
public class JaxRSServerOptionsTest extends JavaClientOptionsTest {
|
||||
|
||||
@Tested
|
||||
private JaxRSServerCodegen clientCodegen;
|
||||
private JavaJaxRSJersey1ServerCodegen clientCodegen;
|
||||
|
||||
public JaxRSServerOptionsTest() {
|
||||
super(new JaxRSServerOptionsProvider());
|
||||
|
@ -2,7 +2,7 @@ package io.swagger.codegen.jaxrs;
|
||||
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
|
||||
import io.swagger.codegen.languages.JaxRSServerCodegen;
|
||||
import io.swagger.codegen.languages.JavaJaxRSJersey1ServerCodegen;
|
||||
import io.swagger.models.Model;
|
||||
import io.swagger.models.ModelImpl;
|
||||
import io.swagger.models.properties.DateProperty;
|
||||
@ -26,7 +26,7 @@ public class JaxrsJava8ModelTest {
|
||||
.required("id")
|
||||
.required("name");
|
||||
|
||||
final JaxRSServerCodegen codegen = new JaxRSServerCodegen();
|
||||
final JavaJaxRSJersey1ServerCodegen codegen = new JavaJaxRSJersey1ServerCodegen();
|
||||
codegen.setDateLibrary("java8");
|
||||
codegen.processOpts();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
@ -1,7 +1,7 @@
|
||||
package io.swagger.codegen.jaxrs;
|
||||
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.languages.JaxRSServerCodegen;
|
||||
import io.swagger.codegen.languages.JavaJaxRSJersey1ServerCodegen;
|
||||
import io.swagger.models.Model;
|
||||
import io.swagger.models.ModelImpl;
|
||||
import io.swagger.models.properties.DateProperty;
|
||||
@ -25,7 +25,7 @@ public class JaxrsJodaModelTest {
|
||||
.required("id")
|
||||
.required("name");
|
||||
|
||||
final JaxRSServerCodegen codegen = new JaxRSServerCodegen();
|
||||
final JavaJaxRSJersey1ServerCodegen codegen = new JavaJaxRSJersey1ServerCodegen();
|
||||
codegen.setDateLibrary("joda");
|
||||
codegen.processOpts();
|
||||
final CodegenModel cm = codegen.fromModel("sample", model);
|
||||
|
@ -1,6 +1,7 @@
|
||||
package io.swagger.codegen.options;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import io.swagger.codegen.languages.JavaJaxRSJersey1ServerCodegen;
|
||||
import io.swagger.codegen.CodegenConstants;
|
||||
|
||||
import java.util.Map;
|
||||
@ -26,6 +27,8 @@ public class JaxRSServerOptionsProvider extends JavaOptionsProvider {
|
||||
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<String, String>();
|
||||
builder.putAll(options)
|
||||
.put(CodegenConstants.IMPL_FOLDER, IMPL_FOLDER_VALUE);
|
||||
.put(CodegenConstants.IMPL_FOLDER, IMPL_FOLDER_VALUE)
|
||||
.put(JavaJaxRSJersey1ServerCodegen.DATE_LIBRARY, "joda");
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user