diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java deleted file mode 100644 index a6efee11fb1..00000000000 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSilexServerCodegen.java +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) - * Copyright 2018 SmartBear Software - * - * Licensed 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 - * - * https://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.openapitools.codegen.languages; - -import io.swagger.v3.oas.models.media.ArraySchema; -import io.swagger.v3.oas.models.media.Schema; -import org.apache.commons.lang3.StringUtils; -import org.openapitools.codegen.*; -import org.openapitools.codegen.meta.features.*; -import org.openapitools.codegen.utils.ModelUtils; -import org.openapitools.codegen.meta.GeneratorMetadata; -import org.openapitools.codegen.meta.Stability; - -import java.io.File; -import java.util.*; - -import static org.openapitools.codegen.utils.StringUtils.camelize; -import static org.openapitools.codegen.utils.StringUtils.underscore; - -public class PhpSilexServerCodegen extends DefaultCodegen implements CodegenConfig { - protected String invokerPackage; - protected String groupId = "org.openapitools"; - protected String artifactId = "openapi-server"; - protected String artifactVersion = "1.0.0"; - - public PhpSilexServerCodegen() { - super(); - - generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata) - .stability(Stability.DEPRECATED) - .build(); - - modifyFeatureSet(features -> features - .includeDocumentationFeatures(DocumentationFeature.Readme) - .wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.XML)) - .securityFeatures(EnumSet.noneOf(SecurityFeature.class)) - .excludeGlobalFeatures( - GlobalFeature.XMLStructureDefinitions, - GlobalFeature.Callbacks, - GlobalFeature.LinkObjects, - GlobalFeature.ParameterStyling - ) - .excludeSchemaSupportFeatures( - SchemaSupportFeature.Polymorphism - ) - ); - - invokerPackage = camelize("OpenAPIServer"); - String packageName = "OpenAPIServer"; - modelPackage = "lib" + File.separator + "models"; - apiPackage = "lib"; - outputFolder = "generated-code" + File.separator + "php-silex"; - - // no model, api files - modelTemplateFiles.clear(); - apiTemplateFiles.clear(); - - embeddedTemplateDir = templateDir = "php-silex"; - - setReservedWordsLowerCase( - Arrays.asList( - "__halt_compiler", "abstract", "and", "array", "as", "break", "callable", "case", "catch", - "class", "clone", "const", "continue", "declare", "default", "die", "do", "echo", "else", - "elseif", "empty", "enddeclare", "endfor", "endforeach", "endif", "endswitch", "endwhile", - "eval", "exit", "extends", "final", "for", "foreach", "function", "global", "goto", "if", - "implements", "include", "include_once", "instanceof", "insteadof", "interface", "isset", - "list", "namespace", "new", "or", "print", "private", "protected", "public", "require", - "require_once", "return", "static", "switch", "throw", "trait", "try", "unset", "use", - "var", "while", "xor") - ); - - additionalProperties.put(CodegenConstants.INVOKER_PACKAGE, invokerPackage); - additionalProperties.put(CodegenConstants.GROUP_ID, groupId); - additionalProperties.put(CodegenConstants.ARTIFACT_ID, artifactId); - additionalProperties.put(CodegenConstants.ARTIFACT_VERSION, artifactVersion); - - // ref: http://php.net/manual/en/language.types.intro.php - languageSpecificPrimitives = new HashSet<>( - Arrays.asList( - "boolean", - "int", - "integer", - "double", - "float", - "string", - "object", - "DateTime", - "mixed", - "number") - ); - - instantiationTypes.put("array", "array"); - instantiationTypes.put("map", "map"); - - // ref: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types - typeMapping = new HashMap<>(); - typeMapping.put("integer", "int"); - typeMapping.put("long", "int"); - typeMapping.put("float", "float"); - typeMapping.put("double", "double"); - typeMapping.put("string", "string"); - typeMapping.put("byte", "int"); - typeMapping.put("boolean", "boolean"); - typeMapping.put("date", "DateTime"); - typeMapping.put("datetime", "DateTime"); - typeMapping.put("file", "string"); - typeMapping.put("map", "map"); - typeMapping.put("array", "array"); - typeMapping.put("list", "array"); - typeMapping.put("object", "object"); - //TODO binary should be mapped to byte array - // mapped to String as a workaround - typeMapping.put("binary", "string"); - - supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); - supportingFiles.add(new SupportingFile("composer.json", "", "composer.json")); - supportingFiles.add(new SupportingFile("index.mustache", "", "index.php")); - supportingFiles.add(new SupportingFile(".htaccess", "", ".htaccess")); - - // remove this line when this class extends AbstractPhpCodegen - supportingFiles.add(new SupportingFile("gitignore", "", ".gitignore")); - } - - @Override - public CodegenType getTag() { - return CodegenType.SERVER; - } - - @Override - public String getName() { - return "php-silex-deprecated"; - } - - @Override - public String getHelp() { - return "Generates a PHP Silex server library. IMPORTANT NOTE: this generator is no longer actively maintained."; - } - - @Override - public String escapeReservedWord(String name) { - if (this.reservedWordsMappings().containsKey(name)) { - return this.reservedWordsMappings().get(name); - } - return "_" + name; - } - - @Override - public String apiFileFolder() { - return (outputFolder + File.separator + apiPackage()).replace('/', File.separatorChar); - } - - @Override - public String modelFileFolder() { - return (outputFolder + File.separator + modelPackage()).replace('/', File.separatorChar); - } - - @Override - public String getTypeDeclaration(Schema p) { - if (ModelUtils.isArraySchema(p)) { - ArraySchema ap = (ArraySchema) p; - Schema inner = ap.getItems(); - return getSchemaType(p) + "[" + getTypeDeclaration(inner) + "]"; - } else if (ModelUtils.isMapSchema(p)) { - Schema inner = getAdditionalProperties(p); - return getSchemaType(p) + "[string," + getTypeDeclaration(inner) + "]"; - } - return super.getTypeDeclaration(p); - } - - @Override - public String getSchemaType(Schema p) { - String openAPIType = super.getSchemaType(p); - String type = null; - if (typeMapping.containsKey(openAPIType)) { - type = typeMapping.get(openAPIType); - if (languageSpecificPrimitives.contains(type)) { - return type; - } else if (instantiationTypes.containsKey(type)) { - return type; - } - } else { - type = openAPIType; - } - if (type == null) { - return null; - } - return toModelName(type); - } - - @Override - public String toDefaultValue(Schema p) { - return "null"; - } - - - @Override - public String toVarName(String name) { - // return the name in underscore style - // PhoneNumber => phone_number - name = underscore(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. - - // parameter name starting with number won't compile - // need to escape it by appending _ at the beginning - if (name.matches("^\\d.*")) { - name = "_" + name; - } - - return name; - } - - @Override - public String toParamName(String name) { - // should be the same as variable name - return toVarName(name); - } - - @Override - public String toModelName(String name) { - // model name cannot use reserved keyword - if (isReservedWord(name)) { - escapeReservedWord(name); // e.g. return => _return - } - - // camelize the model name - // phone_number => PhoneNumber - return camelize(name); - } - - @Override - public String toModelFilename(String name) { - // should be the same as the model name - return toModelName(name); - } - - @Override - public String escapeQuotationMark(String input) { - // remove ' to avoid code injection - return input.replace("'", ""); - } - - @Override - public String escapeUnsafeCharacters(String input) { - return input.replace("*/", "*_/").replace("/*", "/_*"); - } - - @Override - public Map postProcessOperationsWithModels(Map objs, List allModels) { - Map operations = (Map) objs.get("operations"); - List operationList = (List) operations.get("operation"); - for (CodegenOperation op : operationList) { - String path = op.path; - String[] items = path.split("/", -1); - String opsPath = ""; - int pathParamIndex = 0; - - for (int i = 0; i < items.length; ++i) { - if (items[i].matches("^\\{(.*)\\}$")) { // wrap in {} - // camelize path variable - items[i] = "{" + camelize(items[i].substring(1, items[i].length() - 1), true) + "}"; - } - } - - op.path = StringUtils.join(items, "/"); - } - - return objs; - } - -} diff --git a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION index 0984c4c1ad2..5f68295fc19 100644 --- a/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION +++ b/samples/client/others/csharp-netcore-complex-files/.openapi-generator/VERSION @@ -1 +1 @@ -5.4.0-SNAPSHOT \ No newline at end of file +6.0.0-SNAPSHOT \ No newline at end of file