forked from loafle/openapi-generator-original
refactor extension helpers.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package io.swagger.codegen;
|
||||
|
||||
import static io.swagger.codegen.VendorExtendable.PREFFIX_HAS;
|
||||
import static io.swagger.codegen.VendorExtendable.PREFFIX_IS;
|
||||
import static io.swagger.codegen.VendorExtendable.PREFIX_HAS;
|
||||
import static io.swagger.codegen.VendorExtendable.PREFIX_IS;
|
||||
|
||||
/**
|
||||
* A class for storing constants that are used throughout the project.
|
||||
@@ -224,42 +224,42 @@ public class CodegenConstants {
|
||||
public static final String REMOVE_OPERATION_ID_PREFIX = "removeOperationIdPrefix";
|
||||
public static final String REMOVE_OPERATION_ID_PREFIX_DESC = "Remove prefix of operationId, e.g. config_getId => getId";
|
||||
|
||||
public static final String IS_ENUM_EXT_NAME = PREFFIX_IS + "enum";
|
||||
public static final String IS_ALIAS_EXT_NAME = PREFFIX_IS + "alias";
|
||||
public static final String IS_ARRAY_MODEL_EXT_NAME = PREFFIX_IS + "array-model";
|
||||
public static final String HAS_VARS_EXT_NAME = PREFFIX_HAS + "vars";
|
||||
public static final String HAS_ENUMS_EXT_NAME = PREFFIX_HAS + "enums";
|
||||
public static final String HAS_MORE_MODELS_EXT_NAME = PREFFIX_HAS + "more-models";
|
||||
public static final String HAS_REQUIRED_EXT_NAME = PREFFIX_HAS + "required";
|
||||
public static final String HAS_OPTIONAL_EXT_NAME = PREFFIX_HAS + "optional";
|
||||
public static final String HAS_CHILDREN_EXT_NAME = PREFFIX_HAS + "children";
|
||||
public static final String HAS_ONLY_READ_ONLY_EXT_NAME = PREFFIX_HAS + "only-read-only";
|
||||
public static final String IS_ENUM_EXT_NAME = PREFIX_IS + "enum";
|
||||
public static final String IS_ALIAS_EXT_NAME = PREFIX_IS + "alias";
|
||||
public static final String IS_ARRAY_MODEL_EXT_NAME = PREFIX_IS + "array-model";
|
||||
public static final String HAS_VARS_EXT_NAME = PREFIX_HAS + "vars";
|
||||
public static final String HAS_ENUMS_EXT_NAME = PREFIX_HAS + "enums";
|
||||
public static final String HAS_MORE_MODELS_EXT_NAME = PREFIX_HAS + "more-models";
|
||||
public static final String HAS_REQUIRED_EXT_NAME = PREFIX_HAS + "required";
|
||||
public static final String HAS_OPTIONAL_EXT_NAME = PREFIX_HAS + "optional";
|
||||
public static final String HAS_CHILDREN_EXT_NAME = PREFIX_HAS + "children";
|
||||
public static final String HAS_ONLY_READ_ONLY_EXT_NAME = PREFIX_HAS + "only-read-only";
|
||||
|
||||
public static final String IS_PRIMITIVE_TYPE_EXT_NAME = PREFFIX_IS + "primitive-type";
|
||||
public static final String IS_CONTAINER_EXT_NAME = PREFFIX_IS + "container";
|
||||
public static final String IS_NOT_CONTAINER_EXT_NAME = PREFFIX_IS + "not-container";
|
||||
public static final String IS_STRING_EXT_NAME = PREFFIX_IS + "string";
|
||||
public static final String IS_NUMERIC_EXT_NAME = PREFFIX_IS + "numeric";
|
||||
public static final String IS_INTEGER_EXT_NAME = PREFFIX_IS + "integer";
|
||||
public static final String IS_LONG_EXT_NAME = PREFFIX_IS + "long";
|
||||
public static final String IS_NUMBER_EXT_NAME = PREFFIX_IS + "number";
|
||||
public static final String IS_FLOAT_EXT_NAME = PREFFIX_IS + "float";
|
||||
public static final String IS_DOUBLE_EXT_NAME = PREFFIX_IS + "double";
|
||||
public static final String IS_BYTE_ARRAY_EXT_NAME = PREFFIX_IS + "byte-array";
|
||||
public static final String IS_BINARY_EXT_NAME = PREFFIX_IS + "binary";
|
||||
public static final String IS_FILE_EXT_NAME = PREFFIX_IS + "file";
|
||||
public static final String IS_BOOLEAN_EXT_NAME = PREFFIX_IS + "boolean";
|
||||
public static final String IS_DATE_EXT_NAME = PREFFIX_IS + "date";
|
||||
public static final String IS_DATE_TIME_EXT_NAME = PREFFIX_IS + "date-time";
|
||||
public static final String IS_UUID_EXT_NAME = PREFFIX_IS + "uuid";
|
||||
public static final String IS_LIST_CONTAINER_EXT_NAME = PREFFIX_IS + "list-container";
|
||||
public static final String IS_MAP_CONTAINER_EXT_NAME = PREFFIX_IS + "map-container";
|
||||
public static final String IS_READ_ONLY_EXT_NAME = PREFFIX_IS + "read-only";
|
||||
public static final String IS_INHERITED_EXT_NAME = PREFFIX_IS + "inherited";
|
||||
public static final String IS_XML_ATTRIBUTE_EXT_NAME = PREFFIX_IS + "xml-attribute";
|
||||
public static final String IS_XML_WRAPPED_EXT_NAME = PREFFIX_IS + "xml-wrapped";
|
||||
public static final String IS_PRIMITIVE_TYPE_EXT_NAME = PREFIX_IS + "primitive-type";
|
||||
public static final String IS_CONTAINER_EXT_NAME = PREFIX_IS + "container";
|
||||
public static final String IS_NOT_CONTAINER_EXT_NAME = PREFIX_IS + "not-container";
|
||||
public static final String IS_STRING_EXT_NAME = PREFIX_IS + "string";
|
||||
public static final String IS_NUMERIC_EXT_NAME = PREFIX_IS + "numeric";
|
||||
public static final String IS_INTEGER_EXT_NAME = PREFIX_IS + "integer";
|
||||
public static final String IS_LONG_EXT_NAME = PREFIX_IS + "long";
|
||||
public static final String IS_NUMBER_EXT_NAME = PREFIX_IS + "number";
|
||||
public static final String IS_FLOAT_EXT_NAME = PREFIX_IS + "float";
|
||||
public static final String IS_DOUBLE_EXT_NAME = PREFIX_IS + "double";
|
||||
public static final String IS_BYTE_ARRAY_EXT_NAME = PREFIX_IS + "byte-array";
|
||||
public static final String IS_BINARY_EXT_NAME = PREFIX_IS + "binary";
|
||||
public static final String IS_FILE_EXT_NAME = PREFIX_IS + "file";
|
||||
public static final String IS_BOOLEAN_EXT_NAME = PREFIX_IS + "boolean";
|
||||
public static final String IS_DATE_EXT_NAME = PREFIX_IS + "date";
|
||||
public static final String IS_DATE_TIME_EXT_NAME = PREFIX_IS + "date-time";
|
||||
public static final String IS_UUID_EXT_NAME = PREFIX_IS + "uuid";
|
||||
public static final String IS_LIST_CONTAINER_EXT_NAME = PREFIX_IS + "list-container";
|
||||
public static final String IS_MAP_CONTAINER_EXT_NAME = PREFIX_IS + "map-container";
|
||||
public static final String IS_READ_ONLY_EXT_NAME = PREFIX_IS + "read-only";
|
||||
public static final String IS_INHERITED_EXT_NAME = PREFIX_IS + "inherited";
|
||||
public static final String IS_XML_ATTRIBUTE_EXT_NAME = PREFIX_IS + "xml-attribute";
|
||||
public static final String IS_XML_WRAPPED_EXT_NAME = PREFIX_IS + "xml-wrapped";
|
||||
|
||||
public static final String HAS_MORE_EXT_NAME = PREFFIX_HAS + "more";
|
||||
public static final String HAS_MORE_NON_READ_ONLY_EXT_NAME = PREFFIX_HAS + "more-non-read-only";
|
||||
public static final String HAS_VALIDATION_EXT_NAME = PREFFIX_HAS + "validation";
|
||||
public static final String HAS_MORE_EXT_NAME = PREFIX_HAS + "more";
|
||||
public static final String HAS_MORE_NON_READ_ONLY_EXT_NAME = PREFIX_HAS + "more-non-read-only";
|
||||
public static final String HAS_VALIDATION_EXT_NAME = PREFIX_HAS + "validation";
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@ import java.util.Map;
|
||||
|
||||
public interface VendorExtendable {
|
||||
|
||||
String PREFFIX_IS = "x-is-";
|
||||
String PREFFIX_HAS = "x-has-";
|
||||
String PREFIX_IS = "x-is-";
|
||||
String PREFIX_HAS = "x-has-";
|
||||
|
||||
Map<String, Object> getVendorExtensions();
|
||||
}
|
||||
|
||||
@@ -3,17 +3,14 @@ package io.swagger.codegen.languages.helpers;
|
||||
import com.github.jknack.handlebars.Helper;
|
||||
import com.github.jknack.handlebars.Options;
|
||||
import com.github.jknack.handlebars.Options.Buffer;
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
import io.swagger.codegen.VendorExtendable;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
import static io.swagger.codegen.VendorExtendable.PREFFIX_IS;
|
||||
public abstract class ExtensionHelper implements Helper<VendorExtendable> {
|
||||
|
||||
public class ExtensionHelper implements Helper<VendorExtendable> {
|
||||
|
||||
public static final String NAME = "is";
|
||||
public abstract String getPreffix();
|
||||
|
||||
@Override
|
||||
public Object apply(VendorExtendable vendor, Options options) throws IOException {
|
||||
@@ -24,7 +21,7 @@ public class ExtensionHelper implements Helper<VendorExtendable> {
|
||||
return buffer;
|
||||
}
|
||||
final String param = options.param(0);
|
||||
String extension = PREFFIX_IS + param;
|
||||
String extension = getPreffix() + param;
|
||||
|
||||
if (!getBooleanValue(vendor, extension)) {
|
||||
buffer.append(options.inverse());
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.swagger.codegen.languages.helpers;
|
||||
|
||||
import static io.swagger.codegen.VendorExtendable.PREFIX_HAS;
|
||||
|
||||
public class HasHelper extends ExtensionHelper {
|
||||
|
||||
public static final String NAME = "has";
|
||||
|
||||
@Override
|
||||
public String getPreffix() {
|
||||
return PREFIX_HAS;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.swagger.codegen.languages.helpers;
|
||||
|
||||
import io.swagger.codegen.VendorExtendable;
|
||||
|
||||
public class HasNotHelper extends NoneExtensionHelper {
|
||||
|
||||
public static final String NAME = "hasNot";
|
||||
|
||||
@Override
|
||||
public String getPreffix() {
|
||||
return VendorExtendable.PREFIX_HAS;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.swagger.codegen.languages.helpers;
|
||||
|
||||
import static io.swagger.codegen.VendorExtendable.PREFIX_IS;
|
||||
|
||||
public class IsHelper extends ExtensionHelper {
|
||||
|
||||
public static final String NAME = "is";
|
||||
|
||||
@Override
|
||||
public String getPreffix() {
|
||||
return PREFIX_IS;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package io.swagger.codegen.languages.helpers;
|
||||
|
||||
import io.swagger.codegen.VendorExtendable;
|
||||
|
||||
public class IsNotHelper extends NoneExtensionHelper {
|
||||
|
||||
public static final String NAME = "isNot";
|
||||
|
||||
|
||||
@Override
|
||||
public String getPreffix() {
|
||||
return VendorExtendable.PREFIX_IS;
|
||||
}
|
||||
}
|
||||
@@ -5,14 +5,13 @@ import com.github.jknack.handlebars.Options;
|
||||
import io.swagger.codegen.VendorExtendable;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
import static io.swagger.codegen.VendorExtendable.PREFFIX_IS;
|
||||
import static io.swagger.codegen.VendorExtendable.PREFIX_IS;
|
||||
import static io.swagger.codegen.languages.helpers.ExtensionHelper.getBooleanValue;
|
||||
|
||||
public class NoneExtensionHelper implements Helper<VendorExtendable> {
|
||||
public abstract class NoneExtensionHelper implements Helper<VendorExtendable> {
|
||||
|
||||
public static final String NAME = "isNot";
|
||||
public abstract String getPreffix();
|
||||
|
||||
@Override
|
||||
public Object apply(VendorExtendable vendor, Options options) throws IOException {
|
||||
@@ -22,7 +21,7 @@ public class NoneExtensionHelper implements Helper<VendorExtendable> {
|
||||
return buffer;
|
||||
}
|
||||
final String param = options.param(0);
|
||||
String extension = PREFFIX_IS + param;
|
||||
String extension = getPreffix() + param;
|
||||
|
||||
if (!getBooleanValue(vendor, extension)) {
|
||||
buffer.append(options.fn());
|
||||
|
||||
Reference in New Issue
Block a user