diff --git a/build.gradle b/build.gradle index 7b82329b7861f9a0d927d8a8396b777b0efe0c00..664eb1fb78e4d5cc0a696555688a1339a2b2b1a4 100644 --- a/build.gradle +++ b/build.gradle @@ -13,6 +13,10 @@ sourceCompatibility = 1.8 repositories { mavenCentral() mavenLocal() + maven { + name "gitlab-maven" + url "https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven" + } } dependencies { @@ -26,6 +30,7 @@ dependencies { implementation group: 'com.flipkart.zjsonpatch', name: 'zjsonpatch', version: '0.4.11' implementation group: 'io.swagger.parser.v3', name: 'swagger-parser', version: '2.0.30' + testImplementation group: 'de.tudresden.inf.st', name: 'dumpAstWithPlantuml', version: '0.3.6' testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.7.0' testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.0' testImplementation group: 'com.jayway.jsonpath', name: 'json-path', version: '2.6.0' diff --git a/src/main/jastadd/ReverseParser.jrag b/src/main/jastadd/ReverseParser.jrag index 11595d5b76873bf9097a3e8c1a69f3fa91c74c77..96279d575d6e1e0898ee7f4f1353a09858a3b98f 100644 --- a/src/main/jastadd/ReverseParser.jrag +++ b/src/main/jastadd/ReverseParser.jrag @@ -2,258 +2,257 @@ import java.math.BigDecimal; import java.util.*; aspect ReverseParser{ -public static OpenAPI OpenAPIObject.reverseOpenAPI(OpenAPIObject openapi){ - OpenAPI api=new OpenAPI(); - - if(!openapi.getOpenAPI().isEmpty()) - api.setOpenapi(openapi.getOpenAPI()); - if(openapi.getI() != null) - api.setInfo(InfoObject.reverseInfo(openapi.getI())); - if(openapi.getNumServ()!=0){ - List<Server> servers=new ArrayList<>(); - for(ServerObject s:openapi.getServList()) - servers.add(ServerObject.reverseServer(s)); - api.setServers(servers); - } - if(openapi.getNumP()!=0){ - Paths paths=new Paths(); - for(PathsObject p:openapi.getPList()){ - if (p.getP() instanceof PathItemObject) - paths.addPathItem(p.getRef(), p.getP().reversePath(p.getP())); - } - api.setPaths(paths); - } - if(openapi.getC() != null) - api.setComponents(ComponentsObject.reverseComponents(openapi.getC())); - if(openapi.getNumSr()!=0){ - List<io.swagger.v3.oas.models.security.SecurityRequirement>securityRequirements=new ArrayList<>(); - for(SecurityRequirementObject s:openapi.getSrList()) - securityRequirements.add(SecurityRequirementObject.reverseSecurityRequirement(s)); - api.setSecurity(securityRequirements); - } - if(openapi.getNumT()!=0){ - List<io.swagger.v3.oas.models.tags.Tag>tags=new ArrayList<>(); - for(TagObject t:openapi.getTList()) - tags.add(TagObject.reverseTag(t)); - api.setTags(tags); - } - if(openapi.hasE()) - api.setExternalDocs(ExternalDocObject.reverseExternalDocs(openapi.getE())); - if(openapi.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:openapi.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - api.setExtensions(extensionMap); + public static OpenAPI OpenAPIObject.reverseOpenAPI(OpenAPIObject openapi){ + OpenAPI api = new OpenAPI(); + + if (!openapi.getOpenAPI().isEmpty()) + api.setOpenapi(openapi.getOpenAPI()); + if (openapi.getI() != null) + api.setInfo(InfoObject.reverseInfo(openapi.getI())); + if (openapi.getNumServ() != 0) { + List<Server> servers = new ArrayList<>(); + for (ServerObject s : openapi.getServList()) + servers.add(ServerObject.reverseServer(s)); + api.setServers(servers); + } + if (openapi.getNumP() != 0) { + Paths paths = new Paths(); + for (PathsObject p : openapi.getPList()) { + if (p.getP() instanceof PathItemObject) + paths.addPathItem(p.getRef(), p.getP().reversePath(p.getP())); + } + api.setPaths(paths); + } + if (openapi.getC() != null) + api.setComponents(ComponentsObject.reverseComponents(openapi.getC())); + if (openapi.getNumSr() != 0) { + List<io.swagger.v3.oas.models.security.SecurityRequirement> securityRequirements = new ArrayList<>(); + for (SecurityRequirementObject s : openapi.getSrList()) + securityRequirements.add(SecurityRequirementObject.reverseSecurityRequirement(s)); + api.setSecurity(securityRequirements); + } + if (openapi.getNumT() != 0) { + List<io.swagger.v3.oas.models.tags.Tag> tags = new ArrayList<>(); + for (TagObject t : openapi.getTList()) + tags.add(TagObject.reverseTag(t)); + api.setTags(tags); + } + if (openapi.hasE()) + api.setExternalDocs(ExternalDocObject.reverseExternalDocs(openapi.getE())); + if (openapi.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : openapi.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + api.setExtensions(extensionMap); } /* 3.1.0 features if (openapi.getWebhook != null) ... if (openapi.getJsonSchemaDialect != null) ... */ - return api; - } - -public static io.swagger.v3.oas.models.info.Info InfoObject.reverseInfo(InfoObject infoObject){ - io.swagger.v3.oas.models.info.Info info=new io.swagger.v3.oas.models.info.Info(); - - if(!infoObject.getTitle().isEmpty()) - info.setTitle(infoObject.getTitle()); - if(!infoObject.getVersion().isEmpty()) - info.setVersion(infoObject.getVersion()); - if(!infoObject.getDescription().isEmpty()) - info.setDescription(infoObject.getDescription()); - if(!infoObject.getTermsOfService().isEmpty()) - info.setTermsOfService(infoObject.getTermsOfService()); - if(infoObject.hasC()) - info.setContact(ContactObject.reverseContact(infoObject.getC())); - if(infoObject.hasL()) - info.setLicense(LicenseObject.reverseLicense(infoObject.getL())); - if(infoObject.getNumEx()!=0){ - Map<String, Object> extension=new HashMap<>(); - for(Extension e:infoObject.getExList()) - extension.put(e.getKey(),e.getValue()); - info.setExtensions(extension); + } + + public static io.swagger.v3.oas.models.info.Info InfoObject.reverseInfo(InfoObject infoObject){ + io.swagger.v3.oas.models.info.Info info = new io.swagger.v3.oas.models.info.Info(); + + if (!infoObject.getTitle().isEmpty()) + info.setTitle(infoObject.getTitle()); + if (!infoObject.getVersion().isEmpty()) + info.setVersion(infoObject.getVersion()); + if (!infoObject.getDescription().isEmpty()) + info.setDescription(infoObject.getDescription()); + if (!infoObject.getTermsOfService().isEmpty()) + info.setTermsOfService(infoObject.getTermsOfService()); + if (infoObject.hasC()) + info.setContact(ContactObject.reverseContact(infoObject.getC())); + if (infoObject.hasL()) + info.setLicense(LicenseObject.reverseLicense(infoObject.getL())); + if (infoObject.getNumEx() != 0) { + Map<String, Object> extension = new HashMap<>(); + for (Extension e : infoObject.getExList()) + extension.put(e.getKey(), e.getValue()); + info.setExtensions(extension); } return info; - } + } -public static io.swagger.v3.oas.models.info.Contact ContactObject.reverseContact(ContactObject contactObject){ - io.swagger.v3.oas.models.info.Contact contact=new io.swagger.v3.oas.models.info.Contact(); + public static io.swagger.v3.oas.models.info.Contact ContactObject.reverseContact(ContactObject contactObject){ + io.swagger.v3.oas.models.info.Contact contact = new io.swagger.v3.oas.models.info.Contact(); - if(!contactObject.getName().isEmpty()) - contact.setName(contactObject.getName()); - if(!contactObject.getUrl().isEmpty()) - contact.setUrl(contactObject.getUrl()); - if(!contactObject.getEmail().isEmpty()) - contact.setEmail(contactObject.getEmail()); - if(contactObject.getNumEx()!=0){ - Map<String, Object> extensions=new HashMap<>(); - for(Extension e:contactObject.getExList()) - extensions.put(e.getKey(),e.getValue()); - contact.setExtensions(extensions); + if (!contactObject.getName().isEmpty()) + contact.setName(contactObject.getName()); + if (!contactObject.getUrl().isEmpty()) + contact.setUrl(contactObject.getUrl()); + if (!contactObject.getEmail().isEmpty()) + contact.setEmail(contactObject.getEmail()); + if (contactObject.getNumEx() != 0) { + Map<String, Object> extensions = new HashMap<>(); + for (Extension e : contactObject.getExList()) + extensions.put(e.getKey(), e.getValue()); + contact.setExtensions(extensions); } return contact; - } + } -public static io.swagger.v3.oas.models.info.License LicenseObject.reverseLicense(LicenseObject licenseObject){ - io.swagger.v3.oas.models.info.License license=new io.swagger.v3.oas.models.info.License(); + public static io.swagger.v3.oas.models.info.License LicenseObject.reverseLicense(LicenseObject licenseObject){ + io.swagger.v3.oas.models.info.License license = new io.swagger.v3.oas.models.info.License(); - if(!licenseObject.getName().isEmpty()) - license.setName(licenseObject.getName()); - if(!licenseObject.getUrl().isEmpty()) - license.setUrl(licenseObject.getUrl()); - if(licenseObject.getNumEx()!=0){ - Map<String, Object> extensions=new HashMap<>(); - for(Extension e:licenseObject.getExList()) - extensions.put(e.getKey(),e.getValue()); - license.setExtensions(extensions); + if (!licenseObject.getName().isEmpty()) + license.setName(licenseObject.getName()); + if (!licenseObject.getUrl().isEmpty()) + license.setUrl(licenseObject.getUrl()); + if (licenseObject.getNumEx() != 0) { + Map<String, Object> extensions = new HashMap<>(); + for (Extension e : licenseObject.getExList()) + extensions.put(e.getKey(), e.getValue()); + license.setExtensions(extensions); } return license; - } + } -public static Server ServerObject.reverseServer(ServerObject serverObject){ - Server server=new Server(); + public static Server ServerObject.reverseServer(ServerObject serverObject){ + Server server = new Server(); - if(!serverObject.getUrl().isEmpty()) - server.setUrl(serverObject.getUrl()); - if(!serverObject.getDescription().isEmpty()) - server.setDescription(serverObject.getDescription()); - if(serverObject.getNumSt()!=0){ - ServerVariables serverVariables=new ServerVariables(); - for(ServerVariablesTuple s:serverObject.getStList()) - serverVariables.addServerVariable(s.getName(),ServerVariableObject.reverseServerVariable(s.getS())); - server.setVariables(serverVariables); + if (!serverObject.getUrl().isEmpty()) + server.setUrl(serverObject.getUrl()); + if (!serverObject.getDescription().isEmpty()) + server.setDescription(serverObject.getDescription()); + if (serverObject.getNumSt() != 0) { + ServerVariables serverVariables = new ServerVariables(); + for (ServerVariablesTuple s : serverObject.getStList()) + serverVariables.addServerVariable(s.getName(), ServerVariableObject.reverseServerVariable(s.getS())); + server.setVariables(serverVariables); } - if(serverObject.getNumEx()!=0){ - Map<String, Object> extensions=new HashMap<>(); - for(Extension e:serverObject.getExList()) - extensions.put(e.getKey(),e.getValue()); - server.setExtensions(extensions); + if (serverObject.getNumEx() != 0) { + Map<String, Object> extensions = new HashMap<>(); + for (Extension e : serverObject.getExList()) + extensions.put(e.getKey(), e.getValue()); + server.setExtensions(extensions); } return server; - } + } -public static ServerVariable ServerVariableObject.reverseServerVariable(ServerVariableObject serverVariableObject){ - ServerVariable serverVariable=new ServerVariable(); + public static ServerVariable ServerVariableObject.reverseServerVariable(ServerVariableObject serverVariableObject){ + ServerVariable serverVariable = new ServerVariable(); - if(!serverVariableObject.getDefault().isEmpty()) - serverVariable.setDefault(serverVariableObject.getDefault()); - if(!serverVariableObject.getDescription().isEmpty()) - serverVariable.setDescription(serverVariableObject.getDescription()); - if(serverVariableObject.getNumE()!=0){ - List<String> enums=new ArrayList<>(); - for(Enum e:serverVariableObject.getEList()) - enums.add(e.getEnumValue()); - serverVariable.setEnum(enums); + if (!serverVariableObject.getDefault().isEmpty()) + serverVariable.setDefault(serverVariableObject.getDefault()); + if (!serverVariableObject.getDescription().isEmpty()) + serverVariable.setDescription(serverVariableObject.getDescription()); + if (serverVariableObject.getNumE() != 0) { + List<String> enums = new ArrayList<>(); + for (Enum e : serverVariableObject.getEList()) + enums.add(e.getEnumValue()); + serverVariable.setEnum(enums); } - if(serverVariableObject.getNumEx()!=0){ - Map<String, Object> extensions=new HashMap<>(); - for(Extension e:serverVariableObject.getExList()) - extensions.put(e.getKey(),e.getValue()); - serverVariable.setExtensions(extensions); + if (serverVariableObject.getNumEx() != 0) { + Map<String, Object> extensions = new HashMap<>(); + for (Extension e : serverVariableObject.getExList()) + extensions.put(e.getKey(), e.getValue()); + serverVariable.setExtensions(extensions); } return serverVariable; - } - -public static Components ComponentsObject.reverseComponents(ComponentsObject componentsObject){ - Components components=new Components(); - - if(componentsObject.getNumS()!=0){ - Map<String, io.swagger.v3.oas.models.media.Schema>schemaMap=new HashMap<>(); - SchemaOb s; - for(SchemaTuple t:componentsObject.getSList()) - schemaMap.put(t.getKey(), t.getO().reverseSchema(t.getO())); - components.setSchemas(schemaMap); - } - if(componentsObject.getNumR()!=0){ - Map<String, ApiResponse> responseMap=new HashMap<>(); - ResponseOb r; - for(ResponseTuple t:componentsObject.getRList()){ - r=t.getO(); - responseMap.put(t.getKey(),r.reverseResponse(r)); - } - components.setResponses(responseMap); - } - if(componentsObject.getNumP()!=0){ - Map<String, Parameter> parameterMap=new HashMap<>(); - ParameterOb p; - for(ParameterTuple t:componentsObject.getPList()){ - p=t.getO(); - parameterMap.put(t.getKey(),p.reverseParameter(p)); - } - components.setParameters(parameterMap); - } - if(componentsObject.getNumE()!=0){ - Map<String, Example> exampleMap=new HashMap<>(); - for(ExampleTuple t:componentsObject.getEList()) - exampleMap.put(t.getKey(),ExampleObject.reverseExample(t.getO())); - components.setExamples(exampleMap); - } - if(componentsObject.getNumRb()!=0){ - Map<String, RequestBody> requestBodyMap=new HashMap<>(); - RequestBodyOb r; - for(RequestBodyTuple t:componentsObject.getRbList()){ - r=t.getO(); - requestBodyMap.put(t.getKey(),r.reverseRequestBody(r)); - } - components.setRequestBodies(requestBodyMap); - } - if(componentsObject.getNumH()!=0){ - Map<String, Header> headerMap=new HashMap<>(); - HeaderOb h; - for(HeaderTuple t:componentsObject.getHList()){ - h=t.getO(); - headerMap.put(t.getKey(),h.reverseHeader(h)); - } - components.setHeaders(headerMap); - } - if(componentsObject.getNumSc()!=0){ - Map<String, SecurityScheme> securitySchemeMap=new HashMap<>(); - SecuritySchemeOb s; - for(SecuritySchemeTuple t:componentsObject.getScList()){ - s=t.getO(); - securitySchemeMap.put(t.getKey(),s.reverseSecurityScheme(s)); - } - components.setSecuritySchemes(securitySchemeMap); - } - if(componentsObject.getNumL()!=0){ - Map<String, Link> linkMap=new HashMap<>(); - LinkOb l; - for(LinkTuple t:componentsObject.getLList()){ - l=t.getO(); - linkMap.put(t.getKey(),l.reverseLink(l)); - } - components.setLinks(linkMap); - } - if(componentsObject.getNumC()!=0){ - Map<String, Callback> callbackMap=new HashMap<>(); - CallbackOb c; - for(CallbackTuple t:componentsObject.getCList()){ - c=t.getO(); - callbackMap.put(t.getKey(),c.reverseCallback(c)); - } - components.setCallbacks(callbackMap); - } - if(componentsObject.getNumEx()!=0){ - Map<String, Object> extensions=new HashMap<>(); - for(Extension e:componentsObject.getExList()) - extensions.put(e.getKey(),e.getValue()); - components.setExtensions(extensions); + } + + public static Components ComponentsObject.reverseComponents(ComponentsObject componentsObject){ + Components components = new Components(); + + if (componentsObject.getNumS() != 0) { + Map<String, io.swagger.v3.oas.models.media.Schema> schemaMap = new HashMap<>(); + SchemaOb s; + for (SchemaTuple t : componentsObject.getSList()) + schemaMap.put(t.getKey(), t.getO().reverseSchema(t.getO())); + components.setSchemas(schemaMap); + } + if (componentsObject.getNumR() != 0) { + Map<String, ApiResponse> responseMap = new HashMap<>(); + ResponseOb r; + for (ResponseTuple t : componentsObject.getRList()) { + r = t.getO(); + responseMap.put(t.getKey(), r.reverseResponse(r)); + } + components.setResponses(responseMap); + } + if (componentsObject.getNumP() != 0) { + Map<String, Parameter> parameterMap = new HashMap<>(); + ParameterOb p; + for (ParameterTuple t : componentsObject.getPList()) { + p = t.getO(); + parameterMap.put(t.getKey(), p.reverseParameter(p)); + } + components.setParameters(parameterMap); + } + if (componentsObject.getNumE() != 0) { + Map<String, Example> exampleMap = new HashMap<>(); + for (ExampleTuple t : componentsObject.getEList()) + exampleMap.put(t.getKey(), ExampleObject.reverseExample(t.getO())); + components.setExamples(exampleMap); + } + if (componentsObject.getNumRb() != 0) { + Map<String, RequestBody> requestBodyMap = new HashMap<>(); + RequestBodyOb r; + for (RequestBodyTuple t : componentsObject.getRbList()) { + r = t.getO(); + requestBodyMap.put(t.getKey(), r.reverseRequestBody(r)); + } + components.setRequestBodies(requestBodyMap); + } + if (componentsObject.getNumH() != 0) { + Map<String, Header> headerMap = new HashMap<>(); + HeaderOb h; + for (HeaderTuple t : componentsObject.getHList()) { + h = t.getO(); + headerMap.put(t.getKey(), h.reverseHeader(h)); + } + components.setHeaders(headerMap); + } + if (componentsObject.getNumSc() != 0) { + Map<String, SecurityScheme> securitySchemeMap = new HashMap<>(); + SecuritySchemeOb s; + for (SecuritySchemeTuple t : componentsObject.getScList()) { + s = t.getO(); + securitySchemeMap.put(t.getKey(), s.reverseSecurityScheme(s)); + } + components.setSecuritySchemes(securitySchemeMap); + } + if (componentsObject.getNumL() != 0) { + Map<String, Link> linkMap = new HashMap<>(); + LinkOb l; + for (LinkTuple t : componentsObject.getLList()) { + l = t.getO(); + linkMap.put(t.getKey(), l.reverseLink(l)); + } + components.setLinks(linkMap); + } + if (componentsObject.getNumC() != 0) { + Map<String, Callback> callbackMap = new HashMap<>(); + CallbackOb c; + for (CallbackTuple t : componentsObject.getCList()) { + c = t.getO(); + callbackMap.put(t.getKey(), c.reverseCallback(c)); + } + components.setCallbacks(callbackMap); + } + if (componentsObject.getNumEx() != 0) { + Map<String, Object> extensions = new HashMap<>(); + for (Extension e : componentsObject.getExList()) + extensions.put(e.getKey(), e.getValue()); + components.setExtensions(extensions); } return components; - } + } - syn PathItem PathItemOb.reversePath(PathItemOb pathItemOb); - eq PathItemReference.reversePath(PathItemOb pathItemOb){ - PathItem pathItem=new PathItem(); - PathItemReference p=(PathItemReference)pathItemOb; + syn PathItem PathItemOb.reversePath(PathItemOb pathItemOb); + eq PathItemReference.reversePath(PathItemOb pathItemOb){ + PathItem pathItem = new PathItem(); + PathItemReference p = (PathItemReference) pathItemOb; /* implement after reference implementation if (!p.getRef().isEmpty()) { @@ -266,693 +265,725 @@ public static Components ComponentsObject.reverseComponents(ComponentsObject com */ return pathItem; - } - eq PathItemObject.reversePath(PathItemOb pathItemOb){ - PathItem path=new PathItem(); - PathItemObject p=(PathItemObject)pathItemOb; - - if(!p.getSummary().isEmpty()) - path.setSummary(p.getSummary()); - if(!p.getDescription().isEmpty()) - path.setDescription(p.getDescription()); - if(p.hasG()) - path.setGet(OperationObject.reverseOperation(p.getG().getO())); - if(p.hasPutOb()) - path.setPut(OperationObject.reverseOperation(p.getPutOb().getO())); - if(p.hasPostOb()) - path.setPost(OperationObject.reverseOperation(p.getPostOb().getO())); - if(p.hasD()) - path.setDelete(OperationObject.reverseOperation(p.getD().getO())); - if(p.hasO()) - path.setOptions(OperationObject.reverseOperation(p.getO().getO())); - if(p.hasH()) - path.setHead(OperationObject.reverseOperation(p.getH().getO())); - if(p.hasPatchOb()) - path.setPatch(OperationObject.reverseOperation(p.getPatchOb().getO())); - if(p.getNumS()!=0){ - for(ServerObject s:p.getSList()) - path.addServersItem(ServerObject.reverseServer(s)); - } - if(p.getNumPo()!=0){ - for(ParameterOb e:p.getPoList()) - path.addParametersItem(e.reverseParameter(e)); - } - if(p.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:p.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - path.setExtensions(extensionMap); + } + eq PathItemObject.reversePath(PathItemOb pathItemOb){ + PathItem path = new PathItem(); + PathItemObject p = (PathItemObject) pathItemOb; + + if (!p.getSummary().isEmpty()) + path.setSummary(p.getSummary()); + if (!p.getDescription().isEmpty()) + path.setDescription(p.getDescription()); + if (p.hasG()) + path.setGet(OperationObject.reverseOperation(p.getG().getO())); + if (p.hasPutOb()) + path.setPut(OperationObject.reverseOperation(p.getPutOb().getO())); + if (p.hasPostOb()) + path.setPost(OperationObject.reverseOperation(p.getPostOb().getO())); + if (p.hasD()) + path.setDelete(OperationObject.reverseOperation(p.getD().getO())); + if (p.hasO()) + path.setOptions(OperationObject.reverseOperation(p.getO().getO())); + if (p.hasH()) + path.setHead(OperationObject.reverseOperation(p.getH().getO())); + if (p.hasPatchOb()) + path.setPatch(OperationObject.reverseOperation(p.getPatchOb().getO())); + if (p.getNumS() != 0) { + for (ServerObject s : p.getSList()) + path.addServersItem(ServerObject.reverseServer(s)); + } + if (p.getNumPo() != 0) { + for (ParameterOb e : p.getPoList()) + path.addParametersItem(e.reverseParameter(e)); + } + if (p.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : p.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + path.setExtensions(extensionMap); } return path; - } - -public static io.swagger.v3.oas.models.Operation OperationObject.reverseOperation(OperationObject operationObject){ - io.swagger.v3.oas.models.Operation operation=new io.swagger.v3.oas.models.Operation(); - - if(operationObject.getNumT()!=0){ - for(de.tudresden.inf.st.openapi.ast.Tag t:operationObject.getTList()) - operation.addTagsItem(t.getTag()); - } - if(!operationObject.getSummary().isEmpty()) - operation.setSummary(operationObject.getSummary()); - if(!operationObject.getDescription().isEmpty()) - operation.setDescription(operationObject.getDescription()); - if(operationObject.hasEd()) - operation.setExternalDocs(ExternalDocObject.reverseExternalDocs(operationObject.getEd())); - if(!operationObject.getOperationID().isEmpty()) - operation.setOperationId(operationObject.getOperationID()); - if(operationObject.getNumP()!=0){ - for(ParameterOb p:operationObject.getPList()) - operation.addParametersItem(p.reverseParameter(p)); - } - if(operationObject.hasRb()) - operation.setRequestBody(operationObject.getRb().reverseRequestBody(operationObject.getRb())); - if(operationObject.getR().getNumR()!=0){ - ApiResponses responses=new ApiResponses(); - for(ResponseTuple t:operationObject.getR().getRList()) - responses.put(t.getKey(),t.getO().reverseResponse(t.getO())); - operation.setResponses(responses); - } - if(operationObject.getNumC()!=0){ - Map<String, Callback> callbacks=new HashMap<>(); - for(CallbackTuple t:operationObject.getCList()) - callbacks.put(t.getKey(),t.getO().reverseCallback(t.getO())); - operation.setCallbacks(callbacks); - } - if(operationObject.getDeprecatedBoolean()!=null) - operation.setDeprecated(operationObject.getDeprecatedBoolean()); - if(operationObject.getNumSr()!=0){ - for(SecurityRequirementObject s:operationObject.getSrList()) - operation.addSecurityItem(SecurityRequirementObject.reverseSecurityRequirement(s)); - } - if(operationObject.getNumS()!=0){ - for(ServerObject s:operationObject.getSList()) - operation.addServersItem(ServerObject.reverseServer(s)); - } - if(operationObject.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:operationObject.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - operation.setExtensions(extensionMap); + } + + public static io.swagger.v3.oas.models.Operation OperationObject.reverseOperation(OperationObject operationObject){ + io.swagger.v3.oas.models.Operation operation = new io.swagger.v3.oas.models.Operation(); + + if (operationObject.getNumT() != 0) { + for (de.tudresden.inf.st.openapi.ast.Tag t : operationObject.getTList()) + operation.addTagsItem(t.getTag()); + } + if (!operationObject.getSummary().isEmpty()) + operation.setSummary(operationObject.getSummary()); + if (!operationObject.getDescription().isEmpty()) + operation.setDescription(operationObject.getDescription()); + if (operationObject.hasEd()) + operation.setExternalDocs(ExternalDocObject.reverseExternalDocs(operationObject.getEd())); + if (!operationObject.getOperationID().isEmpty()) + operation.setOperationId(operationObject.getOperationID()); + if (operationObject.getNumP() != 0) { + for (ParameterOb p : operationObject.getPList()) + operation.addParametersItem(p.reverseParameter(p)); + } + if (operationObject.hasRb()) + operation.setRequestBody(operationObject.getRb().reverseRequestBody(operationObject.getRb())); + if (operationObject.getR().getNumR() != 0) { + ApiResponses responses = new ApiResponses(); + for (ResponseTuple t : operationObject.getR().getRList()) + responses.put(t.getKey(), t.getO().reverseResponse(t.getO())); + operation.setResponses(responses); + } + if (operationObject.getNumC() != 0) { + Map<String, Callback> callbacks = new HashMap<>(); + for (CallbackTuple t : operationObject.getCList()) + callbacks.put(t.getKey(), t.getO().reverseCallback(t.getO())); + operation.setCallbacks(callbacks); + } + if (operationObject.getDeprecatedBoolean() != null) + operation.setDeprecated(operationObject.getDeprecatedBoolean()); + if (operationObject.getNumSr() != 0) { + for (SecurityRequirementObject s : operationObject.getSrList()) + operation.addSecurityItem(SecurityRequirementObject.reverseSecurityRequirement(s)); + } + if (operationObject.getNumS() != 0) { + for (ServerObject s : operationObject.getSList()) + operation.addServersItem(ServerObject.reverseServer(s)); + } + if (operationObject.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : operationObject.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + operation.setExtensions(extensionMap); } return operation; - } + } -public static io.swagger.v3.oas.models.ExternalDocumentation ExternalDocObject.reverseExternalDocs(ExternalDocObject externalDocObject){ - ExternalDocumentation externalDocs=new ExternalDocumentation(); + public static io.swagger.v3.oas.models.ExternalDocumentation ExternalDocObject.reverseExternalDocs(ExternalDocObject externalDocObject){ + ExternalDocumentation externalDocs = new ExternalDocumentation(); - if(!externalDocObject.getDescription().isEmpty()) - externalDocs.setDescription(externalDocObject.getDescription()); - if(!externalDocObject.getUrl().isEmpty()) - externalDocs.setUrl(externalDocObject.getUrl()); - if(externalDocObject.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:externalDocObject.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - externalDocs.setExtensions(extensionMap); + if (!externalDocObject.getDescription().isEmpty()) + externalDocs.setDescription(externalDocObject.getDescription()); + if (!externalDocObject.getUrl().isEmpty()) + externalDocs.setUrl(externalDocObject.getUrl()); + if (externalDocObject.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : externalDocObject.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + externalDocs.setExtensions(extensionMap); } return externalDocs; - } + } - syn io.swagger.v3.oas.models.parameters.Parameter ParameterOb.reverseParameter(ParameterOb parameterOb); - eq ParameterReference.reverseParameter(ParameterOb parameterOb){ - io.swagger.v3.oas.models.parameters.Parameter parameter=new io.swagger.v3.oas.models.parameters.Parameter(); - ParameterReference p=(ParameterReference)parameterOb; + syn io.swagger.v3.oas.models.parameters.Parameter ParameterOb.reverseParameter(ParameterOb parameterOb); + eq ParameterReference.reverseParameter(ParameterOb parameterOb){ + io.swagger.v3.oas.models.parameters.Parameter parameter = new io.swagger.v3.oas.models.parameters.Parameter(); + ParameterReference p = (ParameterReference) parameterOb; - if(!p.getRef().isEmpty()){ - parameter.set$ref(p.getRef()); + if (!p.getRef().isEmpty()) { + parameter.set$ref(p.getRef()); } return parameter; - } - eq ParameterObject.reverseParameter(ParameterOb parameterOb){ - io.swagger.v3.oas.models.parameters.Parameter parameter=new io.swagger.v3.oas.models.parameters.Parameter(); - ParameterObject p=(ParameterObject)parameterOb; - - if(!p.getName().isEmpty()) - parameter.setName(p.getName()); - if(!p.getIn().isEmpty()) - parameter.setIn(p.getIn()); - if(p.getRequired()!=null) - parameter.setRequired(p.getRequired()); - if(!p.getDescription().isEmpty()) - parameter.setDescription(p.getDescription()); - if(p.getDeprecatedBoolean()!=null) - parameter.setDeprecated(p.getDeprecatedBoolean()); - switch (p.getStyle()){ - case "matrix": parameter.setStyle(Parameter.StyleEnum.MATRIX); break; - case "label": parameter.setStyle(Parameter.StyleEnum.LABEL); break; - case "form": parameter.setStyle(Parameter.StyleEnum.FORM); break; - case "simple": parameter.setStyle(Parameter.StyleEnum.SIMPLE); break; - case "spaceDelimited": parameter.setStyle(Parameter.StyleEnum.SPACEDELIMITED); break; - case "pipeDelimited": parameter.setStyle(Parameter.StyleEnum.PIPEDELIMITED); break; - case "deepObject": parameter.setStyle(Parameter.StyleEnum.DEEPOBJECT); break; - } - if(p.getAllowReserved()!=null) - parameter.setAllowReserved(p.getAllowReserved()); - if(p.getExplode()!=null) - parameter.setExplode(p.getExplode()); - if(p.getSchema()!=null) - parameter.setSchema(p.getSchema().reverseSchema(p.getSchema())); - if(p.getExample()!=null) - parameter.setExample(p.getExample()); - if(p.getNumE()!=0){ - Map<String, Example> exampleMap=new HashMap<>(); - for(ExampleTuple t:p.getEList()) - exampleMap.put(t.getKey(),ExampleObject.reverseExample(t.getO())); - parameter.setExamples(exampleMap); - } - if(p.getNumC()!=0){ - io.swagger.v3.oas.models.media.Content content=new Content(); - for(ContentTuple t:p.getCList()) - content.put(t.getKey(),MediaTypeObject.reverseMediaType(t.getM())); - parameter.setContent(content); - } - if(p.getRequired()!=null) - parameter.setRequired(p.getRequired()); - if(p.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:p.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - parameter.setExtensions(extensionMap); + } + eq ParameterObject.reverseParameter(ParameterOb parameterOb){ + io.swagger.v3.oas.models.parameters.Parameter parameter = new io.swagger.v3.oas.models.parameters.Parameter(); + ParameterObject p = (ParameterObject) parameterOb; + + if (!p.getName().isEmpty()) + parameter.setName(p.getName()); + if (!p.getIn().isEmpty()) + parameter.setIn(p.getIn()); + if (p.getRequired() != null) + parameter.setRequired(p.getRequired()); + if (!p.getDescription().isEmpty()) + parameter.setDescription(p.getDescription()); + if (p.getDeprecatedBoolean() != null) + parameter.setDeprecated(p.getDeprecatedBoolean()); + switch (p.getStyle()) { + case "matrix": + parameter.setStyle(Parameter.StyleEnum.MATRIX); + break; + case "label": + parameter.setStyle(Parameter.StyleEnum.LABEL); + break; + case "form": + parameter.setStyle(Parameter.StyleEnum.FORM); + break; + case "simple": + parameter.setStyle(Parameter.StyleEnum.SIMPLE); + break; + case "spaceDelimited": + parameter.setStyle(Parameter.StyleEnum.SPACEDELIMITED); + break; + case "pipeDelimited": + parameter.setStyle(Parameter.StyleEnum.PIPEDELIMITED); + break; + case "deepObject": + parameter.setStyle(Parameter.StyleEnum.DEEPOBJECT); + break; + } + if (p.getAllowReserved() != null) + parameter.setAllowReserved(p.getAllowReserved()); + if (p.getExplode() != null) + parameter.setExplode(p.getExplode()); + if (p.getSchema() != null) + parameter.setSchema(p.getSchema().reverseSchema(p.getSchema())); + if (p.getExample() != null) + parameter.setExample(p.getExample()); + if (p.getNumE() != 0) { + Map<String, Example> exampleMap = new HashMap<>(); + for (ExampleTuple t : p.getEList()) + exampleMap.put(t.getKey(), ExampleObject.reverseExample(t.getO())); + parameter.setExamples(exampleMap); + } + if (p.getNumC() != 0) { + io.swagger.v3.oas.models.media.Content content = new Content(); + for (ContentTuple t : p.getCList()) + content.put(t.getKey(), MediaTypeObject.reverseMediaType(t.getM())); + parameter.setContent(content); + } + if (p.getRequired() != null) + parameter.setRequired(p.getRequired()); + if (p.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : p.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + parameter.setExtensions(extensionMap); } return parameter; - } + } - syn RequestBody RequestBodyOb.reverseRequestBody(RequestBodyOb requestBodyOb); - eq RequestBodyReference.reverseRequestBody(RequestBodyOb requestBodyOb){ - RequestBody requestBody=new RequestBody(); - RequestBodyReference r=(RequestBodyReference)requestBodyOb; + syn RequestBody RequestBodyOb.reverseRequestBody(RequestBodyOb requestBodyOb); + eq RequestBodyReference.reverseRequestBody(RequestBodyOb requestBodyOb){ + RequestBody requestBody = new RequestBody(); + RequestBodyReference r = (RequestBodyReference) requestBodyOb; - if(!r.getRef().isEmpty()){ - requestBody.set$ref(r.getRef()); + if (!r.getRef().isEmpty()) { + requestBody.set$ref(r.getRef()); } return requestBody; - } - eq RequestBodyObject.reverseRequestBody(RequestBodyOb requestBodyOb){ - RequestBody requestBody=new RequestBody(); - RequestBodyObject r=(RequestBodyObject)requestBodyOb; - - if(r.getNumC()!=0){ - io.swagger.v3.oas.models.media.Content contents=new Content(); - for(ContentTuple t:r.getCList()) - contents.put(t.getKey(),MediaTypeObject.reverseMediaType(t.getM())); - requestBody.setContent(contents); - } - if(!r.getDescription().isEmpty()) - requestBody.setDescription(r.getDescription()); - if(r.getRequired()!=null) - requestBody.setRequired(r.getRequired()); + } + eq RequestBodyObject.reverseRequestBody(RequestBodyOb requestBodyOb){ + RequestBody requestBody = new RequestBody(); + RequestBodyObject r = (RequestBodyObject) requestBodyOb; + + if (r.getNumC() != 0) { + io.swagger.v3.oas.models.media.Content contents = new Content(); + for (ContentTuple t : r.getCList()) + contents.put(t.getKey(), MediaTypeObject.reverseMediaType(t.getM())); + requestBody.setContent(contents); + } + if (!r.getDescription().isEmpty()) + requestBody.setDescription(r.getDescription()); + if (r.getRequired() != null) + requestBody.setRequired(r.getRequired()); return requestBody; - } + } -public static io.swagger.v3.oas.models.media.MediaType MediaTypeObject.reverseMediaType(MediaTypeObject mediaTypeObject){ - MediaType mediaType=new MediaType(); + public static io.swagger.v3.oas.models.media.MediaType MediaTypeObject.reverseMediaType(MediaTypeObject mediaTypeObject){ + MediaType mediaType = new MediaType(); SchemaOb s; - if(mediaTypeObject.getS()!=null){ - s=mediaTypeObject.getS(); - mediaType.setSchema(s.reverseSchema(s)); + if (mediaTypeObject.getS() != null) { + s = mediaTypeObject.getS(); + mediaType.setSchema(s.reverseSchema(s)); } - if(mediaTypeObject.getExample()!=null) - mediaType.setExample(mediaTypeObject.getExample()); - if(mediaTypeObject.getNumE()!=0){ - Map<String, Example> exampleMap=new HashMap<>(); - for(ExampleTuple t:mediaTypeObject.getEList()) - exampleMap.put(t.getKey(),ExampleObject.reverseExample(t.getO())); - mediaType.setExamples(exampleMap); + if (mediaTypeObject.getExample() != null) + mediaType.setExample(mediaTypeObject.getExample()); + if (mediaTypeObject.getNumE() != 0) { + Map<String, Example> exampleMap = new HashMap<>(); + for (ExampleTuple t : mediaTypeObject.getEList()) + exampleMap.put(t.getKey(), ExampleObject.reverseExample(t.getO())); + mediaType.setExamples(exampleMap); } - if(mediaTypeObject.getNumEn()!=0){ - Map<String, io.swagger.v3.oas.models.media.Encoding>encodingMap=new HashMap<>(); - for(EncodingTuple t:mediaTypeObject.getEnList()) - encodingMap.put(t.getKey(),EncodingObject.reverseEncoding(t.getE())); - mediaType.setEncoding(encodingMap); + if (mediaTypeObject.getNumEn() != 0) { + Map<String, io.swagger.v3.oas.models.media.Encoding> encodingMap = new HashMap<>(); + for (EncodingTuple t : mediaTypeObject.getEnList()) + encodingMap.put(t.getKey(), EncodingObject.reverseEncoding(t.getE())); + mediaType.setEncoding(encodingMap); } return mediaType; - } + } -public static io.swagger.v3.oas.models.media.Encoding EncodingObject.reverseEncoding(EncodingObject encodingObject){ - io.swagger.v3.oas.models.media.Encoding encodingProperty=new io.swagger.v3.oas.models.media.Encoding(); + public static io.swagger.v3.oas.models.media.Encoding EncodingObject.reverseEncoding(EncodingObject encodingObject){ + io.swagger.v3.oas.models.media.Encoding encodingProperty = new io.swagger.v3.oas.models.media.Encoding(); HeaderOb h; - if(!encodingObject.getContentType().isEmpty()) - encodingProperty.setContentType(encodingObject.getContentType()); - if(encodingObject.getNumH()!=0){ - Map<String, Header> headers=new HashMap<>(); - for(HeaderTuple t:encodingObject.getHList()){ - h=t.getO(); - headers.put(t.getKey(),h.reverseHeader(h)); - } - encodingProperty.setHeaders(headers); + if (!encodingObject.getContentType().isEmpty()) + encodingProperty.setContentType(encodingObject.getContentType()); + if (encodingObject.getNumH() != 0) { + Map<String, Header> headers = new HashMap<>(); + for (HeaderTuple t : encodingObject.getHList()) { + h = t.getO(); + headers.put(t.getKey(), h.reverseHeader(h)); + } + encodingProperty.setHeaders(headers); } //if (!encodingObject.getStyle().isEmpty()) // encodingProperty.setStyle(Encoding.StyleEnum.valueOf()); - if(encodingObject.getExplode()!=null) - encodingProperty.setExplode(encodingObject.getExplode()); - if(encodingObject.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:encodingObject.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - encodingProperty.setExtensions(extensionMap); + if (encodingObject.getExplode() != null) + encodingProperty.setExplode(encodingObject.getExplode()); + if (encodingObject.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : encodingObject.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + encodingProperty.setExtensions(extensionMap); } return encodingProperty; - } + } - syn ApiResponse ResponseOb.reverseResponse(ResponseOb responseOb); - eq ResponseReference.reverseResponse(ResponseOb responseOb){ - ApiResponse response=new ApiResponse(); - ResponseReference r=(ResponseReference)responseOb; + syn ApiResponse ResponseOb.reverseResponse(ResponseOb responseOb); + eq ResponseReference.reverseResponse(ResponseOb responseOb){ + ApiResponse response = new ApiResponse(); + ResponseReference r = (ResponseReference) responseOb; - if(!r.getRef().isEmpty()){ - response.set$ref(r.getRef()); + if (!r.getRef().isEmpty()) { + response.set$ref(r.getRef()); } return response; - } - eq ResponseObject.reverseResponse(ResponseOb responseOb){ - ApiResponse response=new ApiResponse(); - ResponseObject r=(ResponseObject)responseOb; - - if(!r.getDescription().isEmpty()) - response.setDescription(r.getDescription()); - if(r.getNumH()!=0){ - Map<String, Header> headers=new HashMap<>(); - for(HeaderTuple t:r.getHList()) - headers.put(t.getKey(),t.getO().reverseHeader(t.getO())); - response.setHeaders(headers); - } - if(r.getNumC()!=0){ - io.swagger.v3.oas.models.media.Content contents=new io.swagger.v3.oas.models.media.Content(); - for(ContentTuple t:r.getCList()) - contents.put(t.getKey(),MediaTypeObject.reverseMediaType(t.getM())); - response.setContent(contents); - } - if(r.getNumL()!=0){ - Map<String, Link> links=new HashMap<>(); - for(LinkTuple t:r.getLList()) - links.put(t.getKey(),t.getO().reverseLink(t.getO())); - response.setLinks(links); + } + eq ResponseObject.reverseResponse(ResponseOb responseOb){ + ApiResponse response = new ApiResponse(); + ResponseObject r = (ResponseObject) responseOb; + + if (!r.getDescription().isEmpty()) + response.setDescription(r.getDescription()); + if (r.getNumH() != 0) { + Map<String, Header> headers = new HashMap<>(); + for (HeaderTuple t : r.getHList()) + headers.put(t.getKey(), t.getO().reverseHeader(t.getO())); + response.setHeaders(headers); + } + if (r.getNumC() != 0) { + io.swagger.v3.oas.models.media.Content contents = new io.swagger.v3.oas.models.media.Content(); + for (ContentTuple t : r.getCList()) + contents.put(t.getKey(), MediaTypeObject.reverseMediaType(t.getM())); + response.setContent(contents); + } + if (r.getNumL() != 0) { + Map<String, Link> links = new HashMap<>(); + for (LinkTuple t : r.getLList()) + links.put(t.getKey(), t.getO().reverseLink(t.getO())); + response.setLinks(links); } return response; - } + } - syn io.swagger.v3.oas.models.callbacks.Callback CallbackOb.reverseCallback(CallbackOb callbackOb); - eq CallbackReference.reverseCallback(CallbackOb callbackOb){ - io.swagger.v3.oas.models.callbacks.Callback callback=new io.swagger.v3.oas.models.callbacks.Callback(); - CallbackReference c=(CallbackReference)callbackOb; + syn io.swagger.v3.oas.models.callbacks.Callback CallbackOb.reverseCallback(CallbackOb callbackOb); + eq CallbackReference.reverseCallback(CallbackOb callbackOb){ + io.swagger.v3.oas.models.callbacks.Callback callback = new io.swagger.v3.oas.models.callbacks.Callback(); + CallbackReference c = (CallbackReference) callbackOb; - if(!c.getRef().isEmpty()){ - callback.set$ref(c.getRef()); + if (!c.getRef().isEmpty()) { + callback.set$ref(c.getRef()); } return callback; - } - eq CallbackObject.reverseCallback(CallbackOb callbackOb){ - io.swagger.v3.oas.models.callbacks.Callback callback=new io.swagger.v3.oas.models.callbacks.Callback(); - CallbackObject c=(CallbackObject)callbackOb; + } + eq CallbackObject.reverseCallback(CallbackOb callbackOb){ + io.swagger.v3.oas.models.callbacks.Callback callback = new io.swagger.v3.oas.models.callbacks.Callback(); + CallbackObject c = (CallbackObject) callbackOb; - if(c.getNumE()!=0){ - Map<String, Path> paths=new HashMap<>(); - PathItemOb p; - for(Expression e:c.getEList()) - callback.addPathItem(e.getName(),e.getP().reversePath(e.getP())); + if (c.getNumE() != 0) { + Map<String, Path> paths = new HashMap<>(); + PathItemOb p; + for (Expression e : c.getEList()) + callback.addPathItem(e.getName(), e.getP().reversePath(e.getP())); } return callback; - } - -public static Example ExampleObject.reverseExample(ExampleObject exampleObject){ - Example example=new Example(); - - if(!exampleObject.getSummary().isEmpty()) - example.setSummary(exampleObject.getSummary()); - if(!exampleObject.getDescription().isEmpty()) - example.setDescription(exampleObject.getDescription()); - if(exampleObject.getValue()!=null) - example.setValue(exampleObject.getValue()); - if(!exampleObject.getExternalValue().isEmpty()) - example.setExternalValue(exampleObject.getExternalValue()); - if(exampleObject.getNumEx()!=0){ - Map<String, Object> extension=new HashMap<>(); - for(Extension e:exampleObject.getExList()) - extension.put(e.getKey(),e.getValue()); - example.setExtensions(extension); + } + + public static Example ExampleObject.reverseExample(ExampleObject exampleObject){ + Example example = new Example(); + + if (!exampleObject.getSummary().isEmpty()) + example.setSummary(exampleObject.getSummary()); + if (!exampleObject.getDescription().isEmpty()) + example.setDescription(exampleObject.getDescription()); + if (exampleObject.getValue() != null) + example.setValue(exampleObject.getValue()); + if (!exampleObject.getExternalValue().isEmpty()) + example.setExternalValue(exampleObject.getExternalValue()); + if (exampleObject.getNumEx() != 0) { + Map<String, Object> extension = new HashMap<>(); + for (Extension e : exampleObject.getExList()) + extension.put(e.getKey(), e.getValue()); + example.setExtensions(extension); } return example; - } + } - syn io.swagger.v3.oas.models.links.Link LinkOb.reverseLink(LinkOb linkOb); - eq LinkReference.reverseLink(LinkOb linkOb){ - io.swagger.v3.oas.models.links.Link link=new io.swagger.v3.oas.models.links.Link(); - LinkReference l=(LinkReference)linkOb; + syn io.swagger.v3.oas.models.links.Link LinkOb.reverseLink(LinkOb linkOb); + eq LinkReference.reverseLink(LinkOb linkOb){ + io.swagger.v3.oas.models.links.Link link = new io.swagger.v3.oas.models.links.Link(); + LinkReference l = (LinkReference) linkOb; - if(!l.getRef().isEmpty()) - link.set$ref(l.getRef()); + if (!l.getRef().isEmpty()) + link.set$ref(l.getRef()); return link; - } - eq LinkObject.reverseLink(LinkOb linkOb){ - io.swagger.v3.oas.models.links.Link link=new io.swagger.v3.oas.models.links.Link(); - LinkObject l=(LinkObject)linkOb; - - if(!l.getOperationRef().isEmpty()) - link.setOperationRef(l.getOperationRef()); - if(!l.getOperationID().isEmpty()) - link.setOperationId(l.getOperationID()); - if(l.getNumL()!=0){ - Map<String, String> parameters=new HashMap<>(); - for(LinkParameterTuple t:l.getLList()) - parameters.put(t.getKey(),t.getValue()); - link.setParameters(parameters); - } - if(!l.getDescription().isEmpty()) - link.setDescription(l.getDescription()); - if(l.hasS()) - link.setServer(ServerObject.reverseServer(l.getS())); - if(l.getNumEx()!=0){ - for(Extension e:l.getExList()) - link.addExtension(e.getKey(),e.getValue()); + } + eq LinkObject.reverseLink(LinkOb linkOb){ + io.swagger.v3.oas.models.links.Link link = new io.swagger.v3.oas.models.links.Link(); + LinkObject l = (LinkObject) linkOb; + + if (!l.getOperationRef().isEmpty()) + link.setOperationRef(l.getOperationRef()); + if (!l.getOperationID().isEmpty()) + link.setOperationId(l.getOperationID()); + if (l.getNumL() != 0) { + Map<String, String> parameters = new HashMap<>(); + for (LinkParameterTuple t : l.getLList()) + parameters.put(t.getKey(), t.getValue()); + link.setParameters(parameters); + } + if (!l.getDescription().isEmpty()) + link.setDescription(l.getDescription()); + if (l.hasS()) + link.setServer(ServerObject.reverseServer(l.getS())); + if (l.getNumEx() != 0) { + for (Extension e : l.getExList()) + link.addExtension(e.getKey(), e.getValue()); } return link; - } + } - syn io.swagger.v3.oas.models.headers.Header HeaderOb.reverseHeader(HeaderOb headerOb); - eq HeaderReference.reverseHeader(HeaderOb headerOb){ - io.swagger.v3.oas.models.headers.Header header=new io.swagger.v3.oas.models.headers.Header(); - HeaderReference h=(HeaderReference) headerOb; + syn io.swagger.v3.oas.models.headers.Header HeaderOb.reverseHeader(HeaderOb headerOb); + eq HeaderReference.reverseHeader(HeaderOb headerOb){ + io.swagger.v3.oas.models.headers.Header header = new io.swagger.v3.oas.models.headers.Header(); + HeaderReference h = (HeaderReference) headerOb; - if(!h.getRef().isEmpty()){ - header.set$ref(h.getRef()); + if (!h.getRef().isEmpty()) { + header.set$ref(h.getRef()); } return header; - } - eq HeaderObject.reverseHeader(HeaderOb headerOb){ - io.swagger.v3.oas.models.headers.Header header=new io.swagger.v3.oas.models.headers.Header(); - HeaderObject h=(HeaderObject)headerOb; - - if(h.getRequired()!=null) - header.setRequired(h.getRequired()); - if(!h.getDescription().isEmpty()) - header.setDescription(h.getDescription()); - switch (h.getStyle()){ - case "simple": header.setStyle(Header.StyleEnum.SIMPLE); break; - } - if(h.getExplode()!=null) - header.setExplode(h.getExplode()); + } + eq HeaderObject.reverseHeader(HeaderOb headerOb){ + io.swagger.v3.oas.models.headers.Header header = new io.swagger.v3.oas.models.headers.Header(); + HeaderObject h = (HeaderObject) headerOb; + + if (h.getRequired() != null) + header.setRequired(h.getRequired()); + if (!h.getDescription().isEmpty()) + header.setDescription(h.getDescription()); + switch (h.getStyle()) { + case "simple": + header.setStyle(Header.StyleEnum.SIMPLE); + break; + } + if (h.getExplode() != null) + header.setExplode(h.getExplode()); //if (h.getAllowReserved() != null) // header.setAllowReserved(h.getAllowReserved()); - if(h.getExample()!=null) - header.setExample(h.getExample()); - if(h.getNumE()!=0){ - Map<String, Example> examples=new HashMap<>(); - for(ExampleTuple t:h.getEList()) - examples.put(t.getKey(),ExampleObject.reverseExample(t.getO())); - header.setExample(examples); - } - if(h.getNumChild()!=0){ - io.swagger.v3.oas.models.media.Content contents=new io.swagger.v3.oas.models.media.Content(); - for(ContentTuple t:h.getCList()) - contents.put(t.getKey(),MediaTypeObject.reverseMediaType(t.getM())); - header.setContent(contents); - } - if(h.hasS()) - header.setSchema(h.getS().reverseSchema(h.getS())); + if (h.getExample() != null) + header.setExample(h.getExample()); + if (h.getNumE() != 0) { + Map<String, Example> examples = new HashMap<>(); + for (ExampleTuple t : h.getEList()) + examples.put(t.getKey(), ExampleObject.reverseExample(t.getO())); + header.setExample(examples); + } + if (h.getNumChild() != 0) { + io.swagger.v3.oas.models.media.Content contents = new io.swagger.v3.oas.models.media.Content(); + for (ContentTuple t : h.getCList()) + contents.put(t.getKey(), MediaTypeObject.reverseMediaType(t.getM())); + header.setContent(contents); + } + if (h.hasS()) + header.setSchema(h.getS().reverseSchema(h.getS())); return header; - } + } -public static io.swagger.v3.oas.models.tags.Tag TagObject.reverseTag(TagObject tagObject){ - io.swagger.v3.oas.models.tags.Tag tag=new io.swagger.v3.oas.models.tags.Tag(); + public static io.swagger.v3.oas.models.tags.Tag TagObject.reverseTag(TagObject tagObject){ + io.swagger.v3.oas.models.tags.Tag tag = new io.swagger.v3.oas.models.tags.Tag(); tag.setName(tagObject.getName()); - if(!tagObject.getDescription().isEmpty()) - tag.setDescription(tagObject.getDescription()); - if(tagObject.hasE()) - tag.setExternalDocs(ExternalDocObject.reverseExternalDocs(tagObject.getE())); - if(tagObject.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:tagObject.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - tag.setExtensions(extensionMap); + if (!tagObject.getDescription().isEmpty()) + tag.setDescription(tagObject.getDescription()); + if (tagObject.hasE()) + tag.setExternalDocs(ExternalDocObject.reverseExternalDocs(tagObject.getE())); + if (tagObject.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : tagObject.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + tag.setExtensions(extensionMap); } return tag; - } + } - syn io.swagger.v3.oas.models.media.Schema SchemaOb.reverseSchema (SchemaOb schemaOb); - eq SchemaReference.reverseSchema (SchemaOb schemaOb){ + syn io.swagger.v3.oas.models.media.Schema SchemaOb.reverseSchema(SchemaOb schemaOb); + eq SchemaReference.reverseSchema(SchemaOb schemaOb){ io.swagger.v3.oas.models.media.Schema schema = new io.swagger.v3.oas.models.media.Schema(); SchemaReference s = (SchemaReference) schemaOb; if (!s.getRef().isEmpty()) { - schema.set$ref(s.getRef()); + schema.set$ref(s.getRef()); } return schema; - } - eq SchemaObject.reverseSchema (SchemaOb schemaOb){ - io.swagger.v3.oas.models.media.Schema<Object> schema=new io.swagger.v3.oas.models.media.Schema<Object>(); - SchemaObject s=(SchemaObject)schemaOb; - - if(s.hasI()){ - schema = new ArraySchema(); - ((ArraySchema) schema).setItems(s.getI().getSchema().reverseSchema(s.getI().getSchema())); - } - if(s.getNumAll() != 0 || s.getNumAny() != 0 || s.getNumOne() != 0){ - schema = new ComposedSchema(); - if(s.getNumAll()!=0){ - for(AllOfSchema a:s.getAllList()) - ((ComposedSchema) schema).addAllOfItem(a.getSchema().reverseSchema(a.getSchema())); - } - if(s.getNumAny()!=0){ - for(AnyOfSchema a:s.getAnyList()) - ((ComposedSchema) schema).addAnyOfItem(a.getSchema().reverseSchema(a.getSchema())); - } - if(s.getNumOne()!=0){ - for(OneOfSchema o:s.getOneList()) - ((ComposedSchema) schema).addOneOfItem(o.getSchema().reverseSchema(o.getSchema())); - } - } - - if(s.getAdditionalProperties() != null) - schema.setAdditionalProperties(s.getAdditionalProperties()); - if(s.getDefaultValue()!=null) - schema.setDefault(s.getDefaultValue()); - if(!s.getDescription().isEmpty()) - schema.setDescription(s.getDescription()); - if(s.getDeprecatedBoolean()!=null) - schema.setDeprecated(s.getDeprecatedBoolean()); - if(s.hasD()) - schema.setDiscriminator(DiscriminatorObject.reverseDiscriminator(s.getD())); - if(s.getNumEl()!=0){ - for(EnumObj e:s.getEList()) - schema.addEnumItemObject(e.getEnumOb()); - } - if(s.getElList()!=null) - schema.setExample(s.getEl(0)); - if(s.getExclusiveMaximum()!=null) - schema.setExclusiveMaximum(s.getExclusiveMaximum()); - if(s.getExclusiveMinimum()!=null) - schema.setExclusiveMinimum(s.getExclusiveMinimum()); - if(s.hasExt()) - schema.setExternalDocs(ExternalDocObject.reverseExternalDocs(s.getExt())); - if(!s.getFormat().isEmpty()) - schema.setFormat(s.getFormat()); - if(s.getMaximum()!=null) - schema.setMaximum(s.getMaximum()); - if(s.getMinimum()!=null) - schema.setMinimum(s.getMinimum()); - if(s.getMaxItems()!=null) - schema.setMaxItems(s.getMaxItems()); - if(s.getMinItems()!=null) - schema.setMinItems(s.getMinItems()); - if(s.getMaxLength()!=null) - schema.setMaxLength(s.getMaxLength()); - if(s.getMinLength()!=null) - schema.setMinLength(s.getMinLength()); - if(s.getMaxProperties()!=null) - schema.setMaxProperties(s.getMaxProperties()); - if(s.getMinProperties()!=null) - schema.setMinProperties(s.getMinProperties()); - if(s.getMultipleOf()!=null) - schema.setMultipleOf(s.getMultipleOf()); - if(s.hasN()) - schema.setNot(reverseSchema(s.getN().getSchema())); + } + eq SchemaObject.reverseSchema(SchemaOb schemaOb){ + io.swagger.v3.oas.models.media.Schema<Object> schema = new io.swagger.v3.oas.models.media.Schema<>(); + SchemaObject s = (SchemaObject) schemaOb; + + if (s.hasI()) { + schema = new ArraySchema(); + ((ArraySchema) schema).setItems(s.getI().getSchema().reverseSchema(s.getI().getSchema())); + } + if (s.getNumAll() != 0 || s.getNumAny() != 0 || s.getNumOne() != 0) { + schema = new ComposedSchema(); + if (s.getNumAll() != 0) { + for (AllOfSchema a : s.getAllList()) + ((ComposedSchema) schema).addAllOfItem(a.getSchema().reverseSchema(a.getSchema())); + } + if (s.getNumAny() != 0) { + for (AnyOfSchema a : s.getAnyList()) + ((ComposedSchema) schema).addAnyOfItem(a.getSchema().reverseSchema(a.getSchema())); + } + if (s.getNumOne() != 0) { + for (OneOfSchema o : s.getOneList()) + ((ComposedSchema) schema).addOneOfItem(o.getSchema().reverseSchema(o.getSchema())); + } + } + + if (s.getAdditionalProperties() != null) + schema.setAdditionalProperties(s.getAdditionalProperties()); + if (s.getDefaultValue() != null) + schema.setDefault(s.getDefaultValue()); + if (!s.getDescription().isEmpty()) + schema.setDescription(s.getDescription()); + if (s.getDeprecatedBoolean() != null) + schema.setDeprecated(s.getDeprecatedBoolean()); + if (s.hasD()) + schema.setDiscriminator(DiscriminatorObject.reverseDiscriminator(s.getD())); + if (s.getNumE() != 0) { + for (EnumObj e : s.getEList()) + schema.addEnumItemObject(e.getEnumOb()); + } + // in ver 3.0, only one example is provided. In ver 3.1, optionally multiple + if (s.getNumEl()!=0) + schema.setExample(s.getEl(0).getExample()); + if (s.getExclusiveMaximum() != null) + schema.setExclusiveMaximum(s.getExclusiveMaximum()); + if (s.getExclusiveMinimum() != null) + schema.setExclusiveMinimum(s.getExclusiveMinimum()); + if (s.hasExt()) + schema.setExternalDocs(ExternalDocObject.reverseExternalDocs(s.getExt())); + if (!s.getFormat().isEmpty()) + schema.setFormat(s.getFormat()); + if (s.getMaximum() != null) + schema.setMaximum(s.getMaximum()); + if (s.getMinimum() != null) + schema.setMinimum(s.getMinimum()); + if (s.getMaxItems() != null) + schema.setMaxItems(s.getMaxItems()); + if (s.getMinItems() != null) + schema.setMinItems(s.getMinItems()); + if (s.getMaxLength() != null) + schema.setMaxLength(s.getMaxLength()); + if (s.getMinLength() != null) + schema.setMinLength(s.getMinLength()); + if (s.getMaxProperties() != null) + schema.setMaxProperties(s.getMaxProperties()); + if (s.getMinProperties() != null) + schema.setMinProperties(s.getMinProperties()); + if (s.getMultipleOf() != null) + schema.setMultipleOf(s.getMultipleOf()); + if (s.hasN()) + schema.setNot(reverseSchema(s.getN().getSchema())); // Nullable will be excluded in version 3.1.0 - if(s.getNullable()!=null) - schema.setNullable(s.getNullable()); - if(!s.getPattern().isEmpty()) - schema.setPattern(s.getPattern()); - if(s.getNumP()!=0){ - Map<String, io.swagger.v3.oas.models.media.Schema>properties=new HashMap<>(); - for(PropertyItem p:s.getPList()) - properties.put(p.getName(), p.getSchema().reverseSchema(p.getSchema())); - schema.setProperties(properties); - } - if(s.getNumR()!=0){ - for(RequiredField r:s.getRList()) - schema.addRequiredItem(r.getValue()); - } - if(s.getReadOnly()!=null) - schema.setReadOnly(s.getReadOnly()); - if(s.getWriteOnly()!=null) - schema.setWriteOnly(s.getWriteOnly()); - if(!s.getType().isEmpty()) - schema.setType(s.getType()); - if(!s.getTitle().isEmpty()) - schema.setTitle(s.getTitle()); - if(s.getUniqueItems()!=null) - schema.setUniqueItems(s.getUniqueItems()); - if(s.hasX()) - schema.setXml(XmlObject.reverseXml(s.getX())); - if(s.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:s.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - schema.setExtensions(extensionMap); + if (s.getNullable() != null) + schema.setNullable(s.getNullable()); + if (!s.getPattern().isEmpty()) + schema.setPattern(s.getPattern()); + if (s.getNumP() != 0) { + Map<String, io.swagger.v3.oas.models.media.Schema> properties = new HashMap<>(); + for (PropertyItem p : s.getPList()) + properties.put(p.getName(), p.getSchema().reverseSchema(p.getSchema())); + schema.setProperties(properties); + } + if (s.getNumR() != 0) { + for (RequiredField r : s.getRList()) + schema.addRequiredItem(r.getValue()); + } + if (s.getReadOnly() != null) + schema.setReadOnly(s.getReadOnly()); + if (s.getWriteOnly() != null) + schema.setWriteOnly(s.getWriteOnly()); + if (!s.getType().isEmpty()) + schema.setType(s.getType()); + if (!s.getTitle().isEmpty()) + schema.setTitle(s.getTitle()); + if (s.getUniqueItems() != null) + schema.setUniqueItems(s.getUniqueItems()); + if (s.hasX()) + schema.setXml(XmlObject.reverseXml(s.getX())); + if (s.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : s.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + schema.setExtensions(extensionMap); } return schema; - } + } -public static io.swagger.v3.oas.models.media.Discriminator DiscriminatorObject.reverseDiscriminator(DiscriminatorObject discriminatorObject){ - io.swagger.v3.oas.models.media.Discriminator discriminator=new io.swagger.v3.oas.models.media.Discriminator(); + public static io.swagger.v3.oas.models.media.Discriminator DiscriminatorObject.reverseDiscriminator(DiscriminatorObject discriminatorObject){ + io.swagger.v3.oas.models.media.Discriminator discriminator = new io.swagger.v3.oas.models.media.Discriminator(); - if(!discriminatorObject.getPropertyName().isEmpty()) - discriminator.setPropertyName(discriminatorObject.getPropertyName()); - if(discriminatorObject.getNumM()!=0){ - Map<String, String> mapping=new HashMap<>(); - for(MappingTuple m:discriminatorObject.getMList()) - mapping.put(m.getKey(),m.getValue()); - discriminator.setMapping(mapping); + if (!discriminatorObject.getPropertyName().isEmpty()) + discriminator.setPropertyName(discriminatorObject.getPropertyName()); + if (discriminatorObject.getNumM() != 0) { + Map<String, String> mapping = new HashMap<>(); + for (MappingTuple m : discriminatorObject.getMList()) + mapping.put(m.getKey(), m.getValue()); + discriminator.setMapping(mapping); } return discriminator; - } - -public static io.swagger.v3.oas.models.media.XML XmlObject.reverseXml(XmlObject xmlObject){ - io.swagger.v3.oas.models.media.XML xml=new io.swagger.v3.oas.models.media.XML(); - - if(!xmlObject.getName().isEmpty()) - xml.setName(xmlObject.getName()); - if(!xmlObject.getNamespace().isEmpty()) - xml.setNamespace(xmlObject.getNamespace()); - if(!xmlObject.getPrefix().isEmpty()) - xml.setPrefix(xmlObject.getPrefix()); - if(xmlObject.getAttribute()!=null) - xml.setAttribute(xmlObject.getAttribute()); - if(xmlObject.getWrapped()!=null) - xml.setWrapped(xmlObject.getWrapped()); + } + + public static io.swagger.v3.oas.models.media.XML XmlObject.reverseXml(XmlObject xmlObject){ + io.swagger.v3.oas.models.media.XML xml = new io.swagger.v3.oas.models.media.XML(); + + if (!xmlObject.getName().isEmpty()) + xml.setName(xmlObject.getName()); + if (!xmlObject.getNamespace().isEmpty()) + xml.setNamespace(xmlObject.getNamespace()); + if (!xmlObject.getPrefix().isEmpty()) + xml.setPrefix(xmlObject.getPrefix()); + if (xmlObject.getAttribute() != null) + xml.setAttribute(xmlObject.getAttribute()); + if (xmlObject.getWrapped() != null) + xml.setWrapped(xmlObject.getWrapped()); return xml; - } + } - syn io.swagger.v3.oas.models.security.SecurityScheme SecuritySchemeOb.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb); - eq SecuritySchemeReference.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb){ - io.swagger.v3.oas.models.security.SecurityScheme securityScheme=new io.swagger.v3.oas.models.security.SecurityScheme(); - SecuritySchemeReference s=(SecuritySchemeReference)securitySchemeOb; + syn io.swagger.v3.oas.models.security.SecurityScheme SecuritySchemeOb.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb); + eq SecuritySchemeReference.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb){ + io.swagger.v3.oas.models.security.SecurityScheme securityScheme = new io.swagger.v3.oas.models.security.SecurityScheme(); + SecuritySchemeReference s = (SecuritySchemeReference) securitySchemeOb; - if(!s.getRef().isEmpty()){securityScheme.set$ref(s.getRef()); + if (!s.getRef().isEmpty()) { + securityScheme.set$ref(s.getRef()); } return securityScheme; - } - eq SecuritySchemeObject.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb){ - io.swagger.v3.oas.models.security.SecurityScheme securityScheme=new io.swagger.v3.oas.models.security.SecurityScheme(); - SecuritySchemeObject s=(SecuritySchemeObject)securitySchemeOb; - - switch (s.getType()){ - case "apiKey": securityScheme.setType(SecurityScheme.Type.APIKEY); break; - case "http": securityScheme.setType(SecurityScheme.Type.HTTP); break; - case "oauth2": securityScheme.setType(SecurityScheme.Type.OAUTH2); break; - case "openIdConnect": securityScheme.setType(SecurityScheme.Type.OPENIDCONNECT); break; - } - if(!s.getName().isEmpty()) - securityScheme.setName(s.getName()); - switch (s.getIn()){ - case "cookie": securityScheme.setIn(SecurityScheme.In.COOKIE); break; - case "header": securityScheme.setIn(SecurityScheme.In.HEADER); break; - case "query": securityScheme.setIn(SecurityScheme.In.QUERY); break; - } - if(!s.getScheme().isEmpty()) - securityScheme.setScheme(s.getScheme()); - if(!s.getOpenIdConnectUrl().isEmpty()) - securityScheme.setOpenIdConnectUrl(s.getOpenIdConnectUrl()); - if(s.getO()!=null) - securityScheme.setFlows(OAuthFlowsObject.reverseOAuthFlows(s.getO())); - if(!s.getDescription().isEmpty()) - securityScheme.setDescription(s.getDescription()); - if(!s.getBearerFormat().isEmpty()) - securityScheme.setBearerFormat(s.getBearerFormat()); - if(s.getNumEx()!=0){ - Map<String, Object> extensionMap=new HashMap<>(); - for(Extension e:s.getExList()) - extensionMap.put(e.getKey(),e.getValue()); - securityScheme.setExtensions(extensionMap); + } + eq SecuritySchemeObject.reverseSecurityScheme(SecuritySchemeOb securitySchemeOb){ + io.swagger.v3.oas.models.security.SecurityScheme securityScheme = new io.swagger.v3.oas.models.security.SecurityScheme(); + SecuritySchemeObject s = (SecuritySchemeObject) securitySchemeOb; + + switch (s.getType()) { + case "apiKey": + securityScheme.setType(SecurityScheme.Type.APIKEY); + break; + case "http": + securityScheme.setType(SecurityScheme.Type.HTTP); + break; + case "oauth2": + securityScheme.setType(SecurityScheme.Type.OAUTH2); + break; + case "openIdConnect": + securityScheme.setType(SecurityScheme.Type.OPENIDCONNECT); + break; + } + if (!s.getName().isEmpty()) + securityScheme.setName(s.getName()); + switch (s.getIn()) { + case "cookie": + securityScheme.setIn(SecurityScheme.In.COOKIE); + break; + case "header": + securityScheme.setIn(SecurityScheme.In.HEADER); + break; + case "query": + securityScheme.setIn(SecurityScheme.In.QUERY); + break; + } + if (!s.getScheme().isEmpty()) + securityScheme.setScheme(s.getScheme()); + if (!s.getOpenIdConnectUrl().isEmpty()) + securityScheme.setOpenIdConnectUrl(s.getOpenIdConnectUrl()); + if (s.getO() != null) + securityScheme.setFlows(OAuthFlowsObject.reverseOAuthFlows(s.getO())); + if (!s.getDescription().isEmpty()) + securityScheme.setDescription(s.getDescription()); + if (!s.getBearerFormat().isEmpty()) + securityScheme.setBearerFormat(s.getBearerFormat()); + if (s.getNumEx() != 0) { + Map<String, Object> extensionMap = new HashMap<>(); + for (Extension e : s.getExList()) + extensionMap.put(e.getKey(), e.getValue()); + securityScheme.setExtensions(extensionMap); } return securityScheme; - } + } -public static io.swagger.v3.oas.models.security.OAuthFlows OAuthFlowsObject.reverseOAuthFlows(OAuthFlowsObject oAuthFlowsObject){ - io.swagger.v3.oas.models.security.OAuthFlows oAuthFlows=new io.swagger.v3.oas.models.security.OAuthFlows(); + public static io.swagger.v3.oas.models.security.OAuthFlows OAuthFlowsObject.reverseOAuthFlows(OAuthFlowsObject oAuthFlowsObject){ + io.swagger.v3.oas.models.security.OAuthFlows oAuthFlows = new io.swagger.v3.oas.models.security.OAuthFlows(); - if(oAuthFlowsObject.hasI()) - oAuthFlows.setImplicit(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getI().getO())); - if(oAuthFlowsObject.hasP()) - oAuthFlows.setPassword(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getP().getO())); - if(oAuthFlowsObject.hasC()) - oAuthFlows.setClientCredentials(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getC().getO())); - if(oAuthFlowsObject.hasA()) - oAuthFlows.setAuthorizationCode(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getA().getO())); + if (oAuthFlowsObject.hasI()) + oAuthFlows.setImplicit(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getI().getO())); + if (oAuthFlowsObject.hasP()) + oAuthFlows.setPassword(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getP().getO())); + if (oAuthFlowsObject.hasC()) + oAuthFlows.setClientCredentials(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getC().getO())); + if (oAuthFlowsObject.hasA()) + oAuthFlows.setAuthorizationCode(OAuthFlowObject.reverseOAuthFlow(oAuthFlowsObject.getA().getO())); return oAuthFlows; - } - -public static io.swagger.v3.oas.models.security.OAuthFlow OAuthFlowObject.reverseOAuthFlow(OAuthFlowObject oAuthFlowObject){ - io.swagger.v3.oas.models.security.OAuthFlow oAuthFlow=new io.swagger.v3.oas.models.security.OAuthFlow(); - Scopes scopes=new Scopes(); - - if(oAuthFlowObject.getAuthorizationUrl()!=null) - oAuthFlow.setAuthorizationUrl(oAuthFlowObject.getAuthorizationUrl()); - if(oAuthFlowObject.getTokenUrl()!=null) - oAuthFlow.setTokenUrl(oAuthFlowObject.getTokenUrl()); - for(ScopesTuple t:oAuthFlowObject.getSList()) - scopes.put(t.getScopesKey(),t.getScopesValue()); + } + + public static io.swagger.v3.oas.models.security.OAuthFlow OAuthFlowObject.reverseOAuthFlow(OAuthFlowObject oAuthFlowObject){ + io.swagger.v3.oas.models.security.OAuthFlow oAuthFlow = new io.swagger.v3.oas.models.security.OAuthFlow(); + Scopes scopes = new Scopes(); + + if (oAuthFlowObject.getAuthorizationUrl() != null) + oAuthFlow.setAuthorizationUrl(oAuthFlowObject.getAuthorizationUrl()); + if (oAuthFlowObject.getTokenUrl() != null) + oAuthFlow.setTokenUrl(oAuthFlowObject.getTokenUrl()); + for (ScopesTuple t : oAuthFlowObject.getSList()) + scopes.put(t.getScopesKey(), t.getScopesValue()); oAuthFlow.setScopes(scopes); - if(oAuthFlowObject.getRefreshUrl()!=null) - oAuthFlow.setRefreshUrl(oAuthFlowObject.getRefreshUrl()); + if (oAuthFlowObject.getRefreshUrl() != null) + oAuthFlow.setRefreshUrl(oAuthFlowObject.getRefreshUrl()); return oAuthFlow; - } + } -public static io.swagger.v3.oas.models.security.SecurityRequirement SecurityRequirementObject.reverseSecurityRequirement(SecurityRequirementObject securityRequirementObject){ - io.swagger.v3.oas.models.security.SecurityRequirement securityRequirement=new io.swagger.v3.oas.models.security.SecurityRequirement(); + public static io.swagger.v3.oas.models.security.SecurityRequirement SecurityRequirementObject.reverseSecurityRequirement(SecurityRequirementObject securityRequirementObject){ + io.swagger.v3.oas.models.security.SecurityRequirement securityRequirement = new io.swagger.v3.oas.models.security.SecurityRequirement(); - if(securityRequirementObject.getNumTuple()!=0){ - Map<String, List<String>>requirements=new HashMap<>(); - for(SecurityRequirementTuple t:securityRequirementObject.getTupleList()){ - List<String> values=new ArrayList<>(); - for(SecurityRequirementValue v:t.getValueList()) - values.add(v.getValue()); - securityRequirement.addList(t.getName(),values); - } + if (securityRequirementObject.getNumTuple() != 0) { + Map<String, List<String>> requirements = new HashMap<>(); + for (SecurityRequirementTuple t : securityRequirementObject.getTupleList()) { + List<String> values = new ArrayList<>(); + for (SecurityRequirementValue v : t.getValueList()) + values.add(v.getValue()); + securityRequirement.addList(t.getName(), values); + } } return securityRequirement; - } + } } diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java index 6c09d5f6cb2e69d3a5a399f300d987cf6321cdca..a418a0956d1ac7531ce09de10f679b9959413d7b 100644 --- a/src/test/java/openapi/OpenAPIMain_test.java +++ b/src/test/java/openapi/OpenAPIMain_test.java @@ -16,6 +16,7 @@ import io.swagger.v3.parser.core.models.SwaggerParseResult; import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import de.tudresden.inf.st.jastadd.dumpAst.ast.Dumper; import java.awt.*; import java.io.File; @@ -57,13 +58,11 @@ public class OpenAPIMain_test { for (String file : filenames) { String writerName = genDir + file; - System.out.println(writerName); - FileWriter expectedWriter = new FileWriter((writerName.substring(0, writerName.length() - 5) + "-expected.json")); - FileWriter actualWriter = new FileWriter((writerName.substring(0, writerName.length() - 5) + "-actual.json")); + writerName = writerName.substring(0, writerName.length() - 5); + FileWriter expectedWriter = new FileWriter(writerName + "-expected.json"); + FileWriter actualWriter = new FileWriter(writerName + "-actual.json"); // parsed openAPI object with swagger-parser - ParseOptions options = new ParseOptions(); - options.setResolve(true); SwaggerParseResult result = new OpenAPIParser().readLocation(resource.getPath() + "/" + file, null, null); POJOOpenAPI = result.getOpenAPI(); System.out.println("Loading expression DSL file '" + file + "'."); @@ -78,11 +77,12 @@ public class OpenAPIMain_test { System.out.println("validated!"); // save expected object - expectedWriter.write(POJOOpenAPI.toString()); + expectedWriter.write(expectedNode.toPrettyString()); expectedWriter.close(); // OpenAPI in POJO to OpenAPI in JastAdd jastAddObject = OpenAPIObject.parseOpenAPI(POJOOpenAPI); + Dumper.read(jastAddObject).dumpAsPNG(Paths.get(writerName + ".png")); // OpenAPI in JastAdd to OpenAPI in POJO OpenAPI transformedAPI = OpenAPIObject.reverseOpenAPI(jastAddObject); @@ -96,7 +96,7 @@ public class OpenAPIMain_test { System.out.println("validated"); // save generated object - actualWriter.write(transformedAPI.toString()); + actualWriter.write(actualNode.toPrettyString()); actualWriter.close(); // compare if api (source object) is equivalent to api3 (generated object)