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:
Maelig Nantel
2016-01-15 14:17:16 +01:00
committed by wing328
parent 44c1e27680
commit 3648a79965
7 changed files with 66 additions and 10 deletions

View File

@@ -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";
}
}

View File

@@ -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())) {