From 9b140e5e16b78c9657ce3abb98dceb76e8ed06f4 Mon Sep 17 00:00:00 2001 From: Jueun Park <jueun-park98> Date: Sun, 15 Aug 2021 03:55:07 +0900 Subject: [PATCH] fix ref, schema bugs --- .../6.8/executionHistory/executionHistory.bin | Bin 856454 -> 856454 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/6.8/fileHashes/fileHashes.bin | Bin 77165 -> 78315 bytes .gradle/6.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../6.8/fileHashes/resourceHashesCache.bin | Bin 64841 -> 69465 bytes .gradle/6.8/javaCompile/classAnalysis.bin | Bin 1094835 -> 1146589 bytes .gradle/6.8/javaCompile/jarAnalysis.bin | Bin 463860 -> 644242 bytes .gradle/6.8/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .gradle/6.8/javaCompile/taskHistory.bin | Bin 29049 -> 29049 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .idea/compiler.xml | 8 + .../inf/st/openapi/OpenAPIMain.class | Bin 3938 -> 3109 bytes .../inf/st/openapi/ast/ASTNode$1.class | Bin 1458 -> 1458 bytes .../inf/st/openapi/ast/ASTNode$2.class | Bin 915 -> 915 bytes .../inf/st/openapi/ast/ASTNode.class | Bin 8787 -> 8787 bytes .../openapi/ast/ASTNodeAnnotation$Kind.class | Bin 1277 -> 1277 bytes .../st/openapi/ast/ASTNodeAnnotation.class | Bin 1013 -> 1013 bytes .../st/openapi/ast/ASTState$CircleState.class | Bin 840 -> 840 bytes .../openapi/ast/ASTState$CircularValue.class | Bin 606 -> 606 bytes .../inf/st/openapi/ast/ASTState$Cycle.class | Bin 410 -> 410 bytes .../inf/st/openapi/ast/ASTState.class | Bin 3478 -> 3478 bytes .../st/openapi/ast/AdditionalProperties.class | Bin 4566 -> 4566 bytes .../inf/st/openapi/ast/AllOfSchema.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/AnyOfSchema.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/AttributeValue.class | Bin 1485 -> 1485 bytes .../st/openapi/ast/AuthorizationCode.class | Bin 4578 -> 4578 bytes .../inf/st/openapi/ast/CallbackObject.class | Bin 8440 -> 11292 bytes .../st/openapi/ast/CallbackObjectTuple.class | Bin 5405 -> 0 bytes .../openapi/ast/CallbackReferenceTuple.class | Bin 4946 -> 0 bytes .../inf/st/openapi/ast/CallbackTuple.class | Bin 0 -> 5144 bytes .../inf/st/openapi/ast/CallbacksTuple.class | Bin 1910 -> 0 bytes .../st/openapi/ast/ClientCredentials.class | Bin 4578 -> 4578 bytes .../inf/st/openapi/ast/ComponentsObject.class | Bin 41161 -> 39024 bytes .../inf/st/openapi/ast/ContactObject.class | Bin 5789 -> 5818 bytes .../st/openapi/ast/ContentObjectTuple.class | Bin 5406 -> 0 bytes .../openapi/ast/ContentReferenceTuple.class | Bin 4938 -> 0 bytes .../inf/st/openapi/ast/ContentTuple.class | Bin 1902 -> 5149 bytes .../tudresden/inf/st/openapi/ast/Delete.class | Bin 4534 -> 4534 bytes .../st/openapi/ast/DeprecatedBoolean.class | Bin 4406 -> 0 bytes .../st/openapi/ast/DiscriminatorObject.class | Bin 9056 -> 9056 bytes .../inf/st/openapi/ast/EncodingObject.class | Bin 10846 -> 13456 bytes .../st/openapi/ast/EncodingObjectTuple.class | Bin 5403 -> 0 bytes .../openapi/ast/EncodingReferenceTuple.class | Bin 4944 -> 0 bytes .../inf/st/openapi/ast/EncodingTuple.class | Bin 1906 -> 5144 bytes .../tudresden/inf/st/openapi/ast/Enum.class | Bin 4323 -> 4323 bytes .../inf/st/openapi/ast/EnumObj.class | Bin 4294 -> 4294 bytes .../inf/st/openapi/ast/ExampleObject.class | Bin 6399 -> 6399 bytes .../st/openapi/ast/ExampleObjectTuple.class | Bin 5390 -> 0 bytes .../openapi/ast/ExampleReferenceTuple.class | Bin 4940 -> 0 bytes .../inf/st/openapi/ast/ExampleTuple.class | Bin 0 -> 5131 bytes .../inf/st/openapi/ast/ExamplesTuple.class | Bin 1906 -> 0 bytes .../inf/st/openapi/ast/Expression.class | Bin 5126 -> 5072 bytes .../inf/st/openapi/ast/Extension.class | Bin 0 -> 4694 bytes .../st/openapi/ast/ExternalDocObject.class | Bin 0 -> 9275 bytes .../ast/ExternalDocumentationObject.class | Bin 5559 -> 0 bytes .../tudresden/inf/st/openapi/ast/Flows.class | Bin 4538 -> 0 bytes .../de/tudresden/inf/st/openapi/ast/Get.class | Bin 4522 -> 4522 bytes .../inf/st/openapi/ast/HTTPStatusCode.class | Bin 1910 -> 0 bytes .../openapi/ast/HTTPStatusCodeReference.class | Bin 4950 -> 0 bytes .../tudresden/inf/st/openapi/ast/Head.class | Bin 4526 -> 4526 bytes .../inf/st/openapi/ast/HeaderObject.class | Bin 17522 -> 18164 bytes .../st/openapi/ast/HeaderObjectTuple.class | Bin 5375 -> 0 bytes .../st/openapi/ast/HeaderReferenceTuple.class | Bin 4934 -> 0 bytes .../inf/st/openapi/ast/HeaderTuple.class | Bin 0 -> 5118 bytes .../inf/st/openapi/ast/HeadersTuple.class | Bin 1902 -> 0 bytes .../inf/st/openapi/ast/Implicit.class | Bin 4542 -> 4542 bytes .../inf/st/openapi/ast/InfoObject.class | Bin 10400 -> 10454 bytes .../inf/st/openapi/ast/ItemsSchema.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/JastAddList.class | Bin 5748 -> 5748 bytes .../inf/st/openapi/ast/LicenseObject.class | Bin 5381 -> 5419 bytes .../inf/st/openapi/ast/LinkObject.class | Bin 12538 -> 14828 bytes .../inf/st/openapi/ast/LinkObjectTuple.class | Bin 5345 -> 0 bytes .../st/openapi/ast/LinkParameterTuple.class | Bin 4805 -> 4805 bytes .../st/openapi/ast/LinkReferenceTuple.class | Bin 4922 -> 0 bytes .../inf/st/openapi/ast/LinkTuple.class | Bin 0 -> 5092 bytes .../inf/st/openapi/ast/LinksTuple.class | Bin 1894 -> 0 bytes .../inf/st/openapi/ast/MappingTuple.class | Bin 4677 -> 4677 bytes .../inf/st/openapi/ast/MediaTypeObject.class | Bin 15090 -> 14801 bytes .../inf/st/openapi/ast/NotSchema.class | Bin 4522 -> 4522 bytes .../inf/st/openapi/ast/OAuthFlowObject.class | Bin 9706 -> 10081 bytes .../inf/st/openapi/ast/OAuthFlowsObject.class | Bin 11462 -> 11462 bytes .../inf/st/openapi/ast/OneOfSchema.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/OpenAPIObject.class | Bin 24441 -> 25419 bytes .../inf/st/openapi/ast/OperationObject.class | Bin 30745 -> 30784 bytes .../de/tudresden/inf/st/openapi/ast/Opt.class | Bin 4048 -> 4048 bytes .../inf/st/openapi/ast/Options.class | Bin 4538 -> 4538 bytes .../inf/st/openapi/ast/ParameterObject.class | Bin 19610 -> 19282 bytes .../st/openapi/ast/ParameterObjectTuple.class | Bin 5418 -> 0 bytes .../openapi/ast/ParameterReferenceTuple.class | Bin 4950 -> 0 bytes .../inf/st/openapi/ast/ParameterTuple.class | Bin 1910 -> 5157 bytes .../inf/st/openapi/ast/Password.class | Bin 4542 -> 4542 bytes .../tudresden/inf/st/openapi/ast/Patch.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/PathItem.class | Bin 0 -> 24527 bytes .../inf/st/openapi/ast/PathItemObject.class | Bin 24532 -> 0 bytes .../inf/st/openapi/ast/PathsObject.class | Bin 5963 -> 5082 bytes .../tudresden/inf/st/openapi/ast/Post.class | Bin 4526 -> 4526 bytes .../inf/st/openapi/ast/PropertyItem.class | Bin 5116 -> 5116 bytes .../de/tudresden/inf/st/openapi/ast/Put.class | Bin 4522 -> 4522 bytes .../st/openapi/ast/RequestBodiesTuple.class | Bin 1926 -> 0 bytes .../st/openapi/ast/RequestBodyObject.class | Bin 10454 -> 10430 bytes .../openapi/ast/RequestBodyObjectTuple.class | Bin 5452 -> 0 bytes .../ast/RequestBodyReferenceTuple.class | Bin 4966 -> 0 bytes .../inf/st/openapi/ast/RequestBodyTuple.class | Bin 0 -> 5183 bytes .../inf/st/openapi/ast/RequiredField.class | Bin 4343 -> 4343 bytes .../inf/st/openapi/ast/ResponseObject.class | Bin 16438 -> 16147 bytes .../st/openapi/ast/ResponseObjectTuple.class | Bin 5405 -> 0 bytes .../openapi/ast/ResponseReferenceTuple.class | Bin 4946 -> 0 bytes .../inf/st/openapi/ast/ResponseTuple.class | Bin 0 -> 5144 bytes .../inf/st/openapi/ast/ResponsesObject.class | Bin 6627 -> 0 bytes .../inf/st/openapi/ast/ResponsesTuple.class | Bin 1910 -> 0 bytes .../inf/st/openapi/ast/SchemaObject.class | Bin 43363 -> 42278 bytes .../st/openapi/ast/SchemaObjectTuple.class | Bin 5375 -> 0 bytes .../st/openapi/ast/SchemaReferenceTuple.class | Bin 4934 -> 0 bytes .../inf/st/openapi/ast/SchemaTuple.class | Bin 0 -> 5118 bytes .../inf/st/openapi/ast/SchemasTuple.class | Bin 1902 -> 0 bytes .../inf/st/openapi/ast/ScopesTuple.class | Bin 4721 -> 4721 bytes .../ast/SecurityRequirementObject.class | Bin 9040 -> 9040 bytes .../ast/SecurityRequirementTuple.class | Bin 7603 -> 7603 bytes .../ast/SecurityRequirementValue.class | Bin 4387 -> 4387 bytes .../st/openapi/ast/SecuritySchemeObject.class | Bin 8926 -> 9083 bytes .../ast/SecuritySchemeObjectTuple.class | Bin 5495 -> 0 bytes .../ast/SecuritySchemeReferenceTuple.class | Bin 4982 -> 0 bytes .../st/openapi/ast/SecuritySchemeTuple.class | Bin 0 -> 5222 bytes .../st/openapi/ast/SecuritySchemesTuple.class | Bin 1934 -> 0 bytes .../inf/st/openapi/ast/ServerObject.class | Bin 9983 -> 10010 bytes .../st/openapi/ast/ServerVariableObject.class | Bin 8966 -> 8993 bytes .../st/openapi/ast/ServerVariablesTuple.class | Bin 5220 -> 5220 bytes .../de/tudresden/inf/st/openapi/ast/Tag.class | Bin 4295 -> 4295 bytes .../inf/st/openapi/ast/TagObject.class | Bin 7973 -> 7793 bytes .../tudresden/inf/st/openapi/ast/Trace.class | Bin 4530 -> 4530 bytes .../inf/st/openapi/ast/XmlObject.class | Bin 6814 -> 6805 bytes .../java/test/openapi/OpenAPIMain_test.class | Bin 4381 -> 3778 bytes .../classes/openapi.OpenAPIMain_test.html | 310 +++-- build/reports/tests/test/index.html | 44 +- .../reports/tests/test/packages/openapi.html | 32 +- .../test/TEST-openapi.OpenAPIMain_test.xml | 281 +++-- build/test-results/test/binary/output.bin | 178 ++- build/test-results/test/binary/output.bin.idx | Bin 36 -> 36 bytes build/test-results/test/binary/results.bin | Bin 10092 -> 81 bytes src/gen-res/BuildInfo.properties | 6 +- .../tudresden/inf/st/openapi/ast/ASTNode.java | 1 + .../inf/st/openapi/ast/ASTNodeAnnotation.java | 1 + .../inf/st/openapi/ast/ASTState.java | 1 + .../st/openapi/ast/AdditionalProperties.java | 3 +- .../inf/st/openapi/ast/AllOfSchema.java | 3 +- .../inf/st/openapi/ast/AnyOfSchema.java | 3 +- .../inf/st/openapi/ast/AttributeValue.java | 1 + .../inf/st/openapi/ast/AuthorizationCode.java | 3 +- .../inf/st/openapi/ast/CallbackObject.java | 184 ++- .../openapi/ast/CallbackReferenceTuple.java | 199 --- ...ackObjectTuple.java => CallbackTuple.java} | 57 +- .../inf/st/openapi/ast/CallbacksTuple.java | 100 -- .../inf/st/openapi/ast/ClientCredentials.java | 3 +- .../inf/st/openapi/ast/ComponentsObject.java | 1086 ++++++++--------- .../inf/st/openapi/ast/ContactObject.java | 13 +- .../st/openapi/ast/ContentObjectTuple.java | 206 ---- .../st/openapi/ast/ContentReferenceTuple.java | 199 --- .../inf/st/openapi/ast/ContentTuple.java | 139 ++- .../tudresden/inf/st/openapi/ast/Delete.java | 3 +- .../inf/st/openapi/ast/DeprecatedBoolean.java | 178 --- .../st/openapi/ast/DiscriminatorObject.java | 7 +- .../inf/st/openapi/ast/EncodingObject.java | 298 +++-- .../st/openapi/ast/EncodingObjectTuple.java | 206 ---- .../openapi/ast/EncodingReferenceTuple.java | 199 --- .../inf/st/openapi/ast/EncodingTuple.java | 139 ++- .../de/tudresden/inf/st/openapi/ast/Enum.java | 3 +- .../tudresden/inf/st/openapi/ast/EnumObj.java | 3 +- .../inf/st/openapi/ast/ExampleObject.java | 7 +- .../st/openapi/ast/ExampleReferenceTuple.java | 199 --- ...mpleObjectTuple.java => ExampleTuple.java} | 57 +- .../inf/st/openapi/ast/ExamplesTuple.java | 100 -- .../inf/st/openapi/ast/Expression.java | 37 +- ...LinkReferenceTuple.java => Extension.java} | 81 +- .../inf/st/openapi/ast/ExternalDocObject.java | 352 ++++++ .../ast/ExternalDocumentationObject.java | 225 ---- .../tudresden/inf/st/openapi/ast/Flows.java | 185 --- .../de/tudresden/inf/st/openapi/ast/Get.java | 3 +- .../inf/st/openapi/ast/HTTPStatusCode.java | 100 -- .../openapi/ast/HTTPStatusCodeReference.java | 199 --- .../de/tudresden/inf/st/openapi/ast/Head.java | 3 +- .../inf/st/openapi/ast/HeaderObject.java | 228 ++-- .../st/openapi/ast/HeaderReferenceTuple.java | 199 --- ...eaderObjectTuple.java => HeaderTuple.java} | 57 +- .../inf/st/openapi/ast/HeadersTuple.java | 100 -- .../inf/st/openapi/ast/Implicit.java | 3 +- .../inf/st/openapi/ast/InfoObject.java | 37 +- .../inf/st/openapi/ast/ItemsSchema.java | 3 +- .../inf/st/openapi/ast/JastAddList.java | 1 + .../inf/st/openapi/ast/LicenseObject.java | 11 +- .../inf/st/openapi/ast/LinkObject.java | 201 ++- .../st/openapi/ast/LinkParameterTuple.java | 3 +- .../{LinkObjectTuple.java => LinkTuple.java} | 57 +- .../inf/st/openapi/ast/LinksTuple.java | 100 -- .../inf/st/openapi/ast/MappingTuple.java | 3 +- .../inf/st/openapi/ast/MediaTypeObject.java | 149 ++- .../inf/st/openapi/ast/NotSchema.java | 3 +- .../inf/st/openapi/ast/OAuthFlowObject.java | 62 +- .../inf/st/openapi/ast/OAuthFlowsObject.java | 7 +- .../inf/st/openapi/ast/OneOfSchema.java | 3 +- .../inf/st/openapi/ast/OpenAPIObject.java | 228 ++-- .../inf/st/openapi/ast/OperationObject.java | 454 ++++--- .../de/tudresden/inf/st/openapi/ast/Opt.java | 1 + .../tudresden/inf/st/openapi/ast/Options.java | 3 +- .../inf/st/openapi/ast/ParameterObject.java | 193 ++- .../st/openapi/ast/ParameterObjectTuple.java | 206 ---- .../openapi/ast/ParameterReferenceTuple.java | 199 --- .../inf/st/openapi/ast/ParameterTuple.java | 139 ++- .../inf/st/openapi/ast/Password.java | 3 +- .../tudresden/inf/st/openapi/ast/Patch.java | 3 +- .../{PathItemObject.java => PathItem.java} | 121 +- .../inf/st/openapi/ast/PathsObject.java | 51 +- .../de/tudresden/inf/st/openapi/ast/Post.java | 3 +- .../inf/st/openapi/ast/PropertyItem.java | 3 +- .../de/tudresden/inf/st/openapi/ast/Put.java | 3 +- .../st/openapi/ast/RequestBodiesTuple.java | 100 -- .../inf/st/openapi/ast/RequestBodyObject.java | 21 +- .../ast/RequestBodyReferenceTuple.java | 199 --- ...ObjectTuple.java => RequestBodyTuple.java} | 57 +- .../inf/st/openapi/ast/RequiredField.java | 3 +- .../inf/st/openapi/ast/ResponseObject.java | 264 ++-- .../openapi/ast/ResponseReferenceTuple.java | 199 --- ...nseObjectTuple.java => ResponseTuple.java} | 57 +- .../inf/st/openapi/ast/ResponsesObject.java | 270 ---- .../inf/st/openapi/ast/ResponsesTuple.java | 100 -- .../inf/st/openapi/ast/SchemaObject.java | 492 ++++---- .../st/openapi/ast/SchemaReferenceTuple.java | 199 --- ...chemaObjectTuple.java => SchemaTuple.java} | 57 +- .../inf/st/openapi/ast/SchemasTuple.java | 100 -- .../inf/st/openapi/ast/ScopesTuple.java | 3 +- .../ast/SecurityRequirementObject.java | 7 +- .../openapi/ast/SecurityRequirementTuple.java | 3 +- .../openapi/ast/SecurityRequirementValue.java | 3 +- .../st/openapi/ast/SecuritySchemeObject.java | 92 +- .../ast/SecuritySchemeReferenceTuple.java | 199 --- ...ectTuple.java => SecuritySchemeTuple.java} | 57 +- .../st/openapi/ast/SecuritySchemesTuple.java | 100 -- .../inf/st/openapi/ast/ServerObject.java | 17 +- .../st/openapi/ast/ServerVariableObject.java | 19 +- .../st/openapi/ast/ServerVariablesTuple.java | 3 +- .../de/tudresden/inf/st/openapi/ast/Tag.java | 3 +- .../inf/st/openapi/ast/TagObject.java | 73 +- .../tudresden/inf/st/openapi/ast/Trace.java | 3 +- .../inf/st/openapi/ast/XmlObject.java | 37 +- src/main/jastadd/Composer.jadd | 521 ++++---- src/main/jastadd/OpenAPISpecification.ast | 113 +- src/main/jastadd/Parser.jrag | 424 +++---- .../tudresden/inf/st/openapi/OpenAPIMain.java | 9 +- src/test/java/openapi/OpenAPIMain_test.java | 8 +- 248 files changed, 4624 insertions(+), 7670 deletions(-) delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbacksTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExamplesTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/Flows.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeadersTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinksTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItem.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesObject.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemasTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.class create mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class delete mode 100644 build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.class delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{CallbackObjectTuple.java => CallbackTuple.java} (73%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/CallbacksTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{ExampleObjectTuple.java => ExampleTuple.java} (73%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ExamplesTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{LinkReferenceTuple.java => Extension.java} (63%) create mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/Flows.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{HeaderObjectTuple.java => HeaderTuple.java} (74%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/HeadersTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{LinkObjectTuple.java => LinkTuple.java} (74%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/LinksTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{PathItemObject.java => PathItem.java} (87%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{RequestBodyObjectTuple.java => RequestBodyTuple.java} (72%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{ResponseObjectTuple.java => ResponseTuple.java} (73%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesObject.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{SchemaObjectTuple.java => SchemaTuple.java} (74%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/SchemasTuple.java delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.java rename src/gen/java/de/tudresden/inf/st/openapi/ast/{SecuritySchemeObjectTuple.java => SecuritySchemeTuple.java} (72%) delete mode 100644 src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.java diff --git a/.gradle/6.8/executionHistory/executionHistory.bin b/.gradle/6.8/executionHistory/executionHistory.bin index 2f841d85f65380c32b2de70839d0e383d17321eb..5e4c87483b78bf61f4b2d2a62b806c99230af67a 100644 GIT binary patch delta 15271 zcmZo$Y|^&aWW$4VN{Qu01w|$4Wo2cF8EI+787Y-XIf+%}#ucRu5O88L)A^6VNymJB zZ1&#ST2&l>{lbI`+85eCtlpwOmyv~$fq~JQfzi&Gf#I|?1B3j31_p^Iv(2iE6U&oR zDl@B+63q)LvyDnBbIr;!Q!-2-hH^h;STX$}C!6Tx4;Pd-*InRe77V<^knbp>_h0#y zYF)*@755pZADqQ#I@w_d_vCw*i}|nBGqh(on=jG~SR(Hn*FHJn$_gR5%ilTe_NXrS zXd9<;%jx$k#tV}jf7?&4yCyg}>uLgqiI>2#_b#(dR=CC|h-TnRm|h_PbYnL!xYo*2 zfA{2$-G(x=SKJJG{@}wZIqwY(JsY;@@789V=$Mn^pB9{)k(!&Rmz7wS$RKdJSa?<N zzBFwkSv8%?7bOSwHiFd7)MA|Im{*CW)|oZ!`tRM#zdc*~b0*`eZng(7wY`qPA%6KO zsSq=z1)lttExa&if8#RWD8|4n@7`BmyEkmnKak2eefq{1Ok%DK0;d!cBb{WfD`r(3 zJ9VYSPkwSM$l5i+jD3#5A;BeyB~Y^jGTty6nZ7yL&Z+cYoXI_MOFLNM88yZ!(-V~$ zg=H87_*R^|x8>lH+Q{<SzmEIbnt!)|jGE8IIDN8UiI@z7z@y`as%BFh%`Bb@>2|!F zBL2J?q~MS?<CN(OLpg-K7zB#;?Tk_DoOknq#99eg9`5f~|AE}Qvw(53b7D?TQetv; zNNGV1%t^~QuNyO7<J+lu;p6GDSt)T_e}Po5Ghm!PJ@FkA$i|=x-z?VOb}Q{X5g5%n zlkdhEn2pmWZ>$ilXAt;(Xx{JH$1Y6eJew!&$YRrY;s?lx%Nv*(Cp+iol_VyY_$Oth zCYL}0R3P6?Xltwb`hTIh*@{lftz8#<2PyBiWt;?3otjsI>^$qpw^M^R{Lo4hTz0V_ z)1GtXUy$PU28=x}sX3`7sd@^KnE$P!c1R%Xh3WDg1!Ws=PTqIwH%Q%YO~#qi1Cux< zWEccah9~hWt<-zHTj;D&@0LRo`<g%j_a&Th%Jjf5Ov2I(0*Z3mQ~bE^a5Db#zk1*C z+K~m|fScRTIC<iIvDAh|C$Gd+>ol$U<<@B$`eSiBSazKOW0z}QX)e@nkDjrI8Cjj; zZZ<Sgl<e4bem*!TE~qp1f)x2DWkJ=s=<o|Fd^BFURO#T<*!-6Y$H9qui~3~ya52|u z2c6R&={`@GrM9`Fd7JryiT^=<x$4e1$+aRew;(4KIe?zOU6<v%hu@t|O?b`ywhPUx zeu5OY8%)0VK)Aj?<&*2>3oHCTf0%CD^XYQe8?c-E^cnkID@s!HiZk=`pbq*cp!Ql= z`kC*wt6m9gJWYF=!FKlRGEN7nEXqsFami0ciN^9zjUh%W&PMo&%@Ln8WzDp=e?S(u z#V~fdr$VE;ULdmn+M!0D_5SA`@7jIuN{mk<I9iTsGIn{SCZ<5`&gyF6{l{4`zklQF z-JjQnpK1o1bX}8i5=c>M5sI}lG=DIccUV@O$h&^hK+I|0MX*B;onT~~2vLm`IQ0UB z2l^ge=WKl2&DXUlP4!m8V{qs^&}Z!P%q_^tOwNS5RKV9sx-aC^Bv<vR2fJ3Ro4>IW zoX8hwF;4KzOUp-b!RggKGG<)A99CUWxbJp)Q{>NYAdf%JW1Q$&lA2qLR3J$)2w27* zu<&~{YhPeZf$gVvid!FnBYLLR<bcN_ZWG$WzFwXp@HytrVZ}$gJ_IcSn>0(4ak5Wl za%x_2DvG@wFZfnSxv0&vKHjP>eJ*?b4sgD?W;%Iel(6(0zAqaV=ad%QoV?bxY5(Em zRp4N`zlf1>#$?Bd;`Iyy%L_OQ?|tRuQU2MN7B_#Q*defrc}9%=KACwaMZ$C~Tb<U8 zEx%cRwK`<Vv{g?A7YUQ}87KKB78GRWr6UEgfX<H#lH#@JAAIfnaKzSHYxi<+wtB0} zIMp{bB{MOkvH;|Z>9I}R94-t3>i+lMzqrs9?-|HZu6V|7*9UNRe$>av*zcELf)sQN z0;~074HIt8d+eNcr)TSlMKwRcA@_B%+*3)3+_`6828P7czbsh0fF;6bMFY5$+?X}l z|EZ*SPReHXS&r*d&zt1U`d_jA_$RQ7UQVumDk^dMs;r3psz%R3w{`KMrnBt7feZav zT9fr-#3ZHNLIcGlyrSgUBiR}B7pmU^N5`garpa+J5~&8qGhDX(f3a`c+y@(rpD*V- z3{Iuf?lCcT`WL{Gk!@9#p`+l3#tO!;1wt~v9`6Gi(Id~;>t9fknV(k-P4ZzDxtr>W zo71MQ|7`I8Is5Y`;C#`mHJLG1Li*TT$uHCE%^Mz^u`ZuGM||!?a3D>;%Lu9_>bZsM z83gRM@OUh~r&gWtSVedHqMFqc!Rh*{0b^f4VsUYKei1BhsrZXO?)sV1=a_nq|M<sy zpBKW?b$38wNpc3%IqS=t-mRFW^;2DhZMn_CEQ#4*zrEB18CQ}4O4d+?79vahqeO&n z@M-aNbMMmd?t2MN8yluGO>T%2sSn_oaLMNaM{!;C;d&93s?X=ZvJ><fy8`lyVPP~! zpD)~Nj)%-9erLhv_g;yc!F~s2_kg1Og4CjtN+b)ndWUozeX6S@8F^&>Cntln3E&88 zF<|TrD1{j)wDj})O(9%AzX=vC5TDNYglh)a#G{&w(<d7)7OQ6v$oVg`?9)%)&rjzS zNSdvPjyebq(av<nX+f!lrK!awPWdU7$f-L0)i1XP%QtCe)^$!TG~r`A1P<TDhK!Rz z8ZwJgQ`|CBb6|mdLVD?gIW8}H7>{kOY*%7SUj}yMb`8cUL8-+B(~nMM=dWiFQ2+cS z>(?)_GmIKJ0wOQ2dF=uh##@#!f($J#$j>WADcHO3f7H*P$Qw};6}9jAY%c#_;HqSu z0plb{HbE&HCOCiE8oJ_9x}e5&(_5KkjnlxHrGGaI<3xz+0A%0U28V=-Y<VBoEaCCS zt2+PKW3bT=^g)XA3sQ@b)vnyByZfR0fe1&9{)rwAZ;hvev)WSq=?_2hh)!2n$jvRo zAmBJ5@^);9Xwk#g2@e}ht*5U8D_S4PIB)vHryP=#_b0JQ)!f<WZ6~(Zq}Moe!aVV# zd1t_CHU=`zn{GIPNo@LosT}Mw3<3gCHGZ5d<<IvvZtxO|bf5JYtgKUuan^LhS)7u7 z3<4R;kMEi>^GKstRg9|Nq0m#e!1;S}KI6>b)a25l%#up5mr(-Kw!3=)Uv#Rn_I}IK zMfFdA{sPD645P{W--t>bF^sXBnVu`#cFgs$sQDt1OW=a_bpqq8=?53EOG+^aJPpVZ z$oN%lcX5Nl>yVr!-p$|un-(=$@vUtAys07U7JL<bIeF(Ydok;V^)JEN_ZTsDh9ss# z^NrR&CmSx7skauluUvoW&&g@Gz!~hi8e@M*VmeApvY*T7%-qYGblG0@!`qOB$=|@m z^kr|x?vSFyWLT@Mp!cWDw~f&rf-i5>AMsOu%C;PA;7d)${)pTh6a(+886R;@R=s4} zS#JMev+?Eq;NZIN&CDQh<%jk5#r`?HA!`zK6~rgjF*69*<lN0Wnf0(}+UE0He`?8g zF*69PG;CF0e!zXz+-|%1<udzjGcyP*EN~A?C{Iqy+*&-vx&A}uZe|973kT$LE-Y&~ zB{?O*b<yHaYnT}XRJ+P=+}nPx;lQ{4g?1NKKV@bR*yE_(BX#$Yw#7N~)`=dh8K8cQ z#K+B?FReDI@2?@)e_{U2um;?J*<L@JF_=@JeU^Qyn#iBtwL)=eg-@PwOn<+WQDHjM zQbs?;^B=-D>2fzm$>wN2I2qgUazb%QVp2}3b53G$aY159#`WoiOBwU9ny^yf$UUb7 z=EraU+qG9uPl+=*HeK-<v(ohbNzAhZzAy=GylZaDu;uT2&%VXgYbGD;Qkt$G&dxJ^ zUJ^^I!0mt1i{{#2KKD~t+2nNHt`A^oxhc$o)3a7E)(N!q82!&L`xjcz_QoftU`o#P zkJDI`rVGqsW}hyb!qO(tRI%!M|4P@*#ZT5PR(+H_4@v&PO2$_HyB)v3yKg`K{>PHL z;U`=VPB#>0hG^eDcNL=rvw&UcUru4&UsGEG9QGZy7bxBSFoVU3MZjK)@$>a-bJ;o% zh6`Rl^Je#C!%0fh7tCQ^AYeG{>L0z}gvM3@qb<w-P1Xkcbn=5Dj_LY&EOP}kw$Eb; zxt?e)Ki4Nl+G^YO=?^nlRHr-Gva(O-*}^zg;DIxDio>D_clRs_l-zhea^LigTNpPB zoP1Dw^S9_;M!8AMCcCxfzn%VZ53|xVJJyK;QF|61I(vVkoC?F0UER}T%BL^1W8EWg zYlgw2w>Ce+wscs_nxrQ)ft{zI!YDL-!c`8|={DOLn+4iA6&^Bjc<r@nJuTv|T9h$; zqcfw@bb&M;{%JcHS*OP?W6qnt!I70+7E*d8gW{Q4py-c}<hADM2VZP8=;7YJw{Y^p zIZD$Ps4{X)&)>y3Q6NHje*V`@9?wPBZh!LQ>zfZ?i{oQBg{C`{v2+PM7F^_Cvc~I5 zkDx`wWYrYT>5Oq4O4If*&JYkyeihz$-r8ev`0i<|C2BRn=6=v(WSK6I#?3WdemOJi z^y@bnbEh|?akEc%Sjo&Qka)w#y>HD+zMzPVMJ{h=DNYZJ;!vCZAeoDE`g(WP27$W= z>{E4q{OfvcT`ryxbisJ~#VQuP>EG9|<W9Fg$S5r^eV+Bjr)<u@*B*NM#%A)Ab<;Pl zX5J@o?uwE|!hxU{51h7`cK;GQ0tuE2`8@p7H>_a>hfD7C2l|YB;?NLDoLD3-(!{;o zCVY3Q(dra;u*)yx^KeX;&*Wm8e&+~doj^CQi$>|1M!Dn%Hn&u=wl+@RxSn~1!0s!% zWwyt)%vWBsQts!(tzRIC&!Lf}U*LyWxZSE-m#>%{etEkxcJ^Vgp$+MrywmxbSlGZJ zF}a`#EpF~knETGWKX{Sg$!USVgWjB-eleR}b9&HW=8EYbT3CbxnvxgZXD|I^e9!S_ z)f0(xWz#R(GAd0!kjcqC-M*EDb$a@3##}{E_XN_Bf%$Ky+xL@g>~p`rWm{8!VVf@` z2NmS9v#@~FO@BC>xnw$DF*mm?w3vkIv%hII!)s}tN)FeZ`*VeZCmT#so?ej4&OP1l z6m#YDfHRET0^I9Y82|e&{(JkHwbJ7E_dS{(P|B?|z4r`blfa|*9{ZfRwhGT$_R}`w zx|Rtj#FQp0bg@kD+0NW9z?btVf_J^$rqfjc9=;!o8K*mTvuI3z5W>ncJtl`WcM3Bb zYO-zhQ92Vmul$|N!Kkk>|4wh4e6UMnI^%ifis=(7*f^*6_p-1HwD@#62A!0i_v-xI zOou$_7obeGp1-y8{+1(4X6!Zp6R9!T)nfVuTSn!{_j|dg-`&gHDzNSHnG=#L=V@k^ zu+3*(%)<dLoqVq_P84{x<lpQwVHt@Pk5vuVox7n1mJzthI9b3|{*@8?7w6x{-<B*@ zi(GXL9Je2;*!ZU3pTN>0Aent)&C{bBwzMgIFgxgbFm3w6DJ*J}1tzdhUoeq{b^6^s zjJeYT*qMc=f0)F=F0hNmZmrC59l1pp|5{c~$xxi`n8B(veSsq*%j5|Y`6nHN#OmaR z2`s1qvXe(FC*H+Lv+PBnplwgBJtS5^`lcUT!CW!jVJeG=!1Xy#1H?|Asky#~#jR$R z!97qYD^0)G$jv+b-Vx?bfmKUqoyk40Zfg%?oT7WJ2<vpl<IGCa{id-@7GSZ~3l?v^ zW4fVoi}_54e@j8;ZxxuHE?#P3qH??Q>=((Ytef_NH0%+mo<23US6J+WdsE`%bKiES zgG+_!?~gN26Zm#2R3U2hPgA}!{mbs3E=q$#vEUx#WC4>?zH*66S?4KlYW^#{d)^Ch zDEhlH@=dp&#nLGt`r@$oBteJB9^LN7BOb;LAe)q@|G&@JBfz=qa)DHajNV$GOQJ!G z{j4FWu0MsfRlp*{ZkpV=Ux{U9cX|%{OqYV>$bva6ywgvdW^NJCQE}m$*dm`EThPq; z=X{X@$W*222hvzYr@vXvoI8EPIc70|8jgKG)S~Abr7$<<<}ST0GJRqvxAyc0ZR~8* z4?JOP5=h84*1xj5lr`JULC1COzLlVKrZl~wmz#5X?Ni2jfozuGhfc4KY<xaJ;Lt|3 zl4H{ybr_YVi7>NGf3$_MXj%>{hlCz9kDX^<_U_u2sdra-Ej=zdP5BbUs0V%A9Mcyr zXDptU!^$!_Za&BK|BG4J1@2kY>RIx=WLi3l`|q{)sdC`3e9*_uGQB{QnPd8a=Ztj% zv(~9sn=E2V-Pvc(b>NwV3OL(MFL=S&EnwHrkyEsTePVjo_4M%k3nGxjp!<@sOJHa1 z>J8bqOwuQOO;{-HvYQhUq6Sx(Ij2|5V)dOa@S4$5Kxu8QVW;icD2~$xf}2`4ADq6i zfYoyP+vzO1(+yrTa-$|s8Owjo)`HfRQbAoQ9}a(WnqD}CTX*`#W|oTS2PUxdP3OJA z%r5XrC+x!BzK1V6!WbV1&tSHhesChE%5=FtPM+z!?-)A-DlN}*EpUo4&|4mteUPL1 z)%1gFSj<2bTkiA#S!NDY8%;FkPd01sVzy)zTy@Gb-40}!79=k;Ok?AL2f0JC!d3ok z*Shsx8jD|lRGu`waU+WfxX_v2FpUkZ*ok`96w}zreYhdc&3@9;=~t%<PGi@YZugb3 zTfqN9)4`=X{l7D++7<8Zjr0UbsZ4iJVdk3d_kek_!2f%eA^VOS@^{rf^}ZG=-8}u{ z1LpGr3Ac?(HKX6`&3c^wN2_XA@8rPsrqeIHWaFML@QArrK<0JY(n;dC53cccJeBvl zJ{>GQ;Sn?U^a=H>odU0R-&g-U^N8@@**oozEKs`)YMU5Lzc81LZF+nIE8BFRMa;R= z3+A%%p#}}F&dHg)DOV3?9laTDveaS6<bzvPrXQHc&I1mf$pTw=r%(99$S%-RUN0pj zd@4A=?DW3*zqfy%KCzi~uR#53*4@TG3blTfdj;<7+|&cIRAsurLU!Tl7fP8~r*HVn z*vao{;+)>D@w(%oPuu+y9xJ9BR<o*1Kd_veclv=B%q;@038j{D;`c0DT6rJV2z*=y zNnrZ_8QTS14|GM%yY-gGXJKT&?xs(ipn^tey8bKXP62ImDZ4dRXR;@(TUB^W`uvZn zjZCZg(?Zzd^URj3usX+VnzMT2<cBTF)8iPKx&>m*k35k)^yg`Tcgx4w#b0)U^1j@3 z{zXhY+x<FNCo*rJaGYf_<Mh6d%oDfYU}qAF6hLngPv4lx<T~9xkts<)$NKG+8Lx$B zq?I@+hHO3cfBVKnCUNe12`3Xqb_un=N0^$T+&P_E4=)FenQj(f?9VSPDJU(`OUlgC z%S@?Y5IFBKSLXufLg8ZNM7Gb7dba1lDpeSJic*V9b4rRqDj5Wd_H2LjDetu6jmOQG zw=aG+38E^HnL$8dz9Vm4<6^7Z8flkZR|vPVtS(9|nBKC0QF3~NGHdMgeYs4U+81Zs zYB76Ylwr~N=ZSCF-S}B6K+bt6&CDQhY|W>%9qCS9h1W{@l>e>YJw5LOtN3)yJSG9w zjgyux+cMoQk4b^`Aefn)$D|^0S9kmVe=}$BU5F@dSmVkmIumTxa^dOo^OzJ_8zzJF z9L-}gunVm-UFcw!^zH3DlN;Z+_k4p`x=MhVK|oP>TE*^Hrw_4reJs;*)qKs&An^O& z{*0XqC;VLyGJomXySHae4=iGuJb>ZIxG2Omc)D8wlY+VWex+B7{>k5d@j1D6N{Z5* zi{L2w#|!GHMIQe;L#{v~_{Kbs8v9MBLA|p5oh%Ft4Ey^hAG~Hi-QW$Y^mLwAtbWr~ zAFv9yw?#8;Z;NIYGE&`;GCQxlJS#UZGdU$M(Ih1$IWZ%#G_5SZA~6*@=ftpf`-ea5 zcbK-%oWN|!$aI=<y5n!g-03yT7-hD{PGVlkFL3Vn+bE8c(+sSwSE+ti&v1dXVF@+u zkMhjgkrHxg(b<XhYS)+6rGRTxc+-Bm`%>m}0@0^dz5Z?^8Rz@&jrzaNjVa)&8q|QF zet#LWE4W>X)I#6-{CwTHS3)OE`!1Ng*46us)<U1ovx?ac(IB6`a5eKefq4DtS0%-@ z%TBOJ?Oe^C%K~vbzV`PC_wZ<?mvw)4|5{=?n~e+XY}EGm_J!-2_c4N9huLaQ?cSDl zwj$2_Lz>6ASv?*z(Ob=@-DInrZI?2NcxOm`*&H82T&vklYL>f0?Ai_6RIY{wK2EQL z6iZlI&2p%%=9LjfS3m10_joRTaa_)8RRg#Kh1zW1zGxeBA)~;hLuKm)I~j^Bz6srW zezIE*R3GDO0`tYxnQL~~CeB_I7S3m4mW-tdy#3)G=CjNKDp&o@EMJ)9uQ9e$(+sO! zkGBOn-RTgs7r5(y*~q;4u9|V(>2nnvtba~yX{zUd1OjR!bNc)v%qIlcI@2O;((S*P z>c}53Z5NphX;^_;lGAmLF&`Bu3opEVj(>i}Ql%8P^v1qD+Zm5Ddol_1AG?w&`D+^Q z{giv!3e#T8g5%yF-Uz&^^Rz93*@tC$(~<SFeym;yG8NJY+<xg4a}}e&%fo-{^(VSM z{Ma{lS&xce1V{l!du~}m?bc|$oxZXcE&1ivM|PmK=cad_XZ}9@`4+}pl%`qD?#3P# z#~TbuyNvoIw*5YVw`u0oYZvaek~L$~Z<~ug953^*G|jfRUSi(Dh-gnupKz7g6Ib&| z;$J|@jq2KfgGa448ik7`Vrf2|7ihhb{VKO~!|5-@QVV8iRsY7@Jc^&iSt~hrQT>6N zH5Z>Wm#xCpJUX&QZ=!2f$f2AZ!+QpWEjoCcN2gf>eCvh09=@^Iu%klfwH&Ao1Zf^^ z7kI#&#w;M#$ELFGl~dahC7(qiz53puwgV9jmRBy^lTB9~Vt$h6w{QKb@(VZ`EZgrr zW0q$YxU<!|s8nlp`{_XS*!b+K<=|AhUH=uc3!^~mQr^}*R_B+wvDdY3Xg9kAmIJpJ zwi~=*ULPqSI%CzL+s%D73xz@-n_gOz399Jla!v0EU^yi8km<3EyT+A^H9FdB-fXKq z#yD^K$EA#t(<=j6JorCdidyQee)!=so!H8WRx77ZyvCL=-5`iX-41;WZd31?^;`50 z$ucttyiIFaG)X;inw+%gbA=t1Q<xbr8X?;^hO$^QGHocF{*jm6VtW59CgJV&eB6bM z?fdLm+V|PBw(qlNYu{(j-oDSCqkW$}XZt>TuI>BmxkJyWK4m62V92u(RQVXOY`@LT z?ZnBrX8J+__9B6+0*imm?39}&wd_Xnf#f+k+dnR3G8EpPpv$w#NZ>Bof`iEiw}OZM zM5oUV=B&V2V=(<;0?#r5^wk8@Cq{5B!dN;mT``Db1;%oL>5R!dD>2pvfZB6P(?7(q zwO}j?nEo)Hdp*WVfa!%1oa-@W|G`C!KpKzm^fwJ`Nz*?pWaf~8jF4p|mL)O^pwIt< z>OAG?4^$Z0rzgg9wFsck{)21K>G3g~{Q|$y=KUe1kwPqIw*dMaKgd**>FHWrmeUs` zvD*lsPwP)N%-~)mfIf*2>PhNO7qj88obHgprZxRT3cDo6JU(Oup&^UAA7cU^?Dq@# zFuy<0XA}`YpT-AOpUTq{QaS4c&?oO9t#*MlPR{8bdE5m8=#%!-1GBi62%yi_gACN1 z)Wi+(t->!R1C;PapRWfOofnK5*{6T1Wy=8#d~r|rH(_KGK%cvx4jw5!kjcqEJ*|u* zNx>Cm2A^2~eFh&=fP-pqro7_m2ZgvCrz`wo(w;6*%*_cK`hp|@^qG7}6oV@9Y3<y( zprJ38=?n7M*)V4Fr#H^$RGR)So3m5^eGVTKb_)d1C+op=_=6Bu_URlf%xP1Y*-(N8 zeX<_ha+$2q#WwwN4|fh|<cl9;o*t4*)|aq12%yi)Pd`}CvlL?j9&G4z-z$tf)6eB| zR0yEY!Gq*i2%yikgBmMJ(?3+PwF;omv_s<M!2xFO=@pucX`rz#NsP(%$%d2ECQq0s zJXyL%bb5mmqc5oOf#P}eNq0!}f!iJ*HJNij16;h*<4ZZ%FlOArDd=7!cPGZ|I=C%5 z`P^iY=@%+Fi}=xI)Te*g!>m00K|4>I0Q!77NaK0|^oev({??wJ(8<#vfIg2tJ+YO0 zg#h{lIwaKmT^YLs&}Yv<Hh`Np{L>Sf*a`&DC(a>BYp)w)g#h|o`E<h$ZoTR6dUz@X z&}Yg)O&zo8RuegsrcY>N7sZ$+pU&99woCwhP8^hm<_e(CfrE#Vrin0fO*iXcOPT)u z0yCR9cs7q&06YthGzkteKxO)eXN+vq4~j5X3ZPGegVL1JblA{Ur2zU2I4H9yO%7PV zIX$k6y;J~w&Kn%Tx-S`dr|)awC=h^8cSC2pAwiYU%E2++te3qCW3n66n6j9z11kMN z16L@i4t<_`dSe-@%JcwfX3pu3+3Y!>!7C8~^yzI#v>pgxWSOqe$JvT8u?=Z!E$HWD zn_RGr6;khj2Cz_UMxWk>7%DJ@onv~_4ECbw3;H>D1<<FpK@BeB={zjVN#MaN6a&#G zwIP9iA(D}8dcZW!IsuG{Y|w1NwCS9aFlMhO2d;ORuAs`?D1bg^J$<7p^8t)0>gkPY z%zH4Vr9q9jX|p+nraxHB%{u*!E@KjSs0!81Xw%Y=y3Ak^H^=l3@r-PskjR~`FqczE z0DX=c6cWnQmUH)F%uP=|xYb~Kfi`o8z&x~x>FJFrjLQYkr=mg0XN~~+wDa_ji`eD~ zAWbuaXPKuL&gGaVfIg!PDXQWanYgA0tmgI*SRi+Q`{St}O~hZyyq}ik!8m#0Ek{9& zncwM!OV|pqw8WOM-Q?YVZYNK^iUj&B?8_;j@t$kS)8}905EcD`HW52zTF-_p)6d`J zk`TT94|NiDF<8p*KDU@C`ULDNkeSmJFL8+3q0ha(21)5pW(P0h^vh34g$!de2$-SG z!oC41oW9{cw*_m<bdV$7-sd)9{SLO2_Xe94Ydcuf;5L`CDEb6#D_Cmo18xh}CNT5h z4K{Nq^WkkSQ`R=HXuv~m6V_%hv*0G1oGAK)ZU<PZ@d}5cDEf@<7qC0_-r-UfMW4-m z0hSWH#U?HK0Bs`oGg!*;7MrLj`fTo3u$2E@E@@Hp>D(@`GwSbh$%&)S>COU4=|7r& z;TD^uC;DXWaj@i^2*xSSC~H)~^9BqUv$!v3ffB+D4aOPM1D#pLB^fX#azD=osdzN~ z!fiHb35;pnIUvao8>T<J#vvhrK9#$5E=YEl?(}(g*u)&rXKiQC1j)|TVC;o1K!rLH zefD<w43N5Q%F`X5a?6UM&)v?P3Qi_Zc%&uJCvbOxEtrrw`N2N%6!gj3HDJjZ8jRhb z^`x-$h(29A7aTl~6&d?Lsz9qwp^ikK!QBUTM(;CjDL3>P-0xtU{u?q*Mp<+UH3)s` zwiT?pTVwjfdt4&*=o7a$z_EKlopA!9(F!#v5pA~iI4EuDUsGY60aA*(?i8v8ZKC$s zX^<!McY82)ffk-7=Oo$}7c*eY)&2#$VU;ptH)xqCEacFqZTEv>ZMxwLZpnP~DchG| zFMjD|ge^;j^rE1SLZ7g`2v+@1ov|Oj&=jf?ecE;sIJxbcY<Ni232pK={t#I1S|H;j z(2_XV(o(2F=ySQZLE$jH{tkzPDEegXGO(1uD{d)q^x52VU@KNncYMVyDuF(idkvh6 z-V{%t|B7428GY{dDOmQXD&qvi3R0-s(5Gt;ft5Z{pML%>hnOh(Jndyrq)(4~%`M}M zK1Dkp9F7-@87CmtheGW@pR#=e@}&MM<>?0=u}MmxPu;Es$NxjW=^r1lNr|FQ;WmRp zVY=)aZV3tWDctoS$LViUo@{?aTmpR-_by1E{^?_r^NvVaqtD^424}+q9~c?CKr2L{ z&PJckod$CD^owt}MI_Ltb2o!hqy8@C=?Cs}NJ^ql=KciBUYf=@`TbFedh}V`jo>nF zsRm;|d_^eK0qFC&E5Ux)r_9&`SrQ6WhCZ!(3T)jbWsrd-kTs!Dm7rN&5#(vz7vQiy zzkl+AV`A3m)3|TI*4<KP>;|t1g_?mrkvj`y+w|Y>xFv1TCvty)0!;spI%5}T2`E%Q z`jl=TNIxhs%ui*Ou1BBCy#S7xeSwVALCZN&)_+3HL!Zz+1rE;r;3b`frHBQfQ03@T zyDi{E^Ief~DtHCxmO^GBcl7Dq&EPySxel^Q6tVmhY9#su?_IE)XJ|}sc)}s(hCZ$P z7t{pNUv`QKwmcN2bV8rkT>|#aKlSN>RZOCy=u^A9K+!jS;ZqJZ3G`Xr?_ft<aGMTZ z{dwUf8?Pw(6mJX2Ths4-<WUtxpWdAZmI`>rq3DY~wfh0=qTg<ev#>4Vga!%v#O`&l zre_+{KJ$o)qtE8P0;hmk(;Z*4$xEP5>P`UrW1-vh_od8o^=PxXN1DO1Pc#_2Kr1+* zmZQ(<9t0~ouE;n6v4j(*6m5?82RO-pv|;Rltl@+zgU$Ey!X|vLft);@?+cHZHrljr z$!>6hnrh0-An@bY7x!t)0xKqbk7|==V_Y$PeHpW8J^FO;$4*fDW2po)gMi9mtN3)M zTldbt{(Cw0LYF=>gFsvKzvkm}A7%I4et(H6Xx0j527$*M1tRmpK3B1Ib)@@kz3#)z zAh7!D#J=S|mkw|-mcEvHFfE6fLBN5vzBeX)v)xfOzqE|f*b@vb`9<jrUHQ}9Zn8VE zzUu-tYkF_8>#!~cGxyzOH(+f9Ge4FyyRo)*gA~}^VpnHv12Z3d;Z|Us2xj(!L??rp zhF`fIS=WP^jJMg<SQkQ=uQ~Ks=YyH?x7qbrcY&D`Dw!pxH@xN$V7&n5AGpo#!}<cu z6uiT($od(~-1nYMgY^rT$@qgupY=JI$@iVxpLI$P$V~^|aA>p605d<n;ZSE^3}Wg( znSSvDoAC75yX*q2n?WMe`G4{lu<i#lWq)vcv7Q4n9h;aGruY2d7GUiIdv@UuZe7*~ zU}o$+b_3SSV5a^r9t+k>VCMOI?6$1Oz)ZpW?0T$M!OVxhc=TBxftl}qa;LC91RMVF zKD!O;eGqe67PA%WJrHYp;sbVL)(2pw!WTB#={mo;1y~<}`HsK26{dIm;Spf{58_XI z$gaiu7{r>c|Bzju1<XpQXSQUW(F^kVf`{xDtjoa6yARnlS@(dMjeodRS#R}$6kL46 zrOx`PAH+<2#IC}+Z~}-a_>E1Abs|`S!#6fv)<a-s;$LnR);nMmHvZ$$WSs*Rz5kC# zne`l)`QR_NBI{bP2@@W(tFZ0|Gxh&*E3)1JTOs(7U5)i5*o2AS+0<C4f)!kR$ED8N z1!g8bVOM262WB$<=T>9=4mOvulSyp)zmMz!tj%C!9zJ2$Vtoo$CGeD8k>fc?mHujn z>57jyM5i}=Vi#cD22wbUkyn-V2#7U(|0i~3)>e?Z>46`(3|TLLM5iY5XtVwUvnKK= zv(5vtraxfh)n;7{W)`+EE3n=I+av#rO@Va<SpWOa?2^-qnRqQ&KZ2z;F!5@!woC+t z+kGZpJJ#u7rs5|q1J=i2rsHomUDlsqX5w#7W7c0_=0Rp&bCyXUT@$~u8?Y_~3mUTU z8bbsfnR#?rmxARl{@~DJ-3n$dWaiOjJpyL-e`D8Ty#!_^{^ZbSeE?=2c*(BGIuUG^ z!gqFk)-Pbu{j9uttPPVvmVNxfrOVn2X7c@Glb<fb$|Jx!3(PlU<<Vzd24*V$VAo>Z z0%ivMU{_&12xgx9$EG;_9!SF_Fn|3Ic0JZ7VCII`>^iK!!OVxR*)3T+Ky}viz@O|U z>{CEY{gcxl{%4b#F7Ta8fOP>#Wcq(L9uwBpVCI1?W=+=JVCIK6?AokbARc(juE}}~ zEZXpk-I4V=Sk#b{SB>==nECM+yB6z7FjL_-yX15aUS3N9jO8v9d3miEnHio6Y?t}S HlcfLvi6&C^ delta 12262 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 XANqd*mOZ96edY&lwe98~dHfXsmJE73 diff --git a/.gradle/6.8/executionHistory/executionHistory.lock b/.gradle/6.8/executionHistory/executionHistory.lock index c60adf4b9af703eab0fa33948911253c246c6733..5101f8b2b20eafcd65518d8436a987f00c6dad44 100644 GIT binary patch literal 17 VcmZQp+O{L7ZHdZl1~6bh2LLnW1pWX3 literal 17 VcmZQp+O{L7ZHdZl1~6dF0RS_91eyQ< diff --git a/.gradle/6.8/fileHashes/fileHashes.bin b/.gradle/6.8/fileHashes/fileHashes.bin index 985b9d71bd8e359751a68c3f96efa11aeee0d4bc..dcafc9c4add743b292f458b9d7d2b2cab9b388a2 100644 GIT binary patch delta 12048 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 delta 10954 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 diff --git a/.gradle/6.8/fileHashes/fileHashes.lock b/.gradle/6.8/fileHashes/fileHashes.lock index 0503f4e965032c410d9cabd31a3c4904046f953d..be86b867bd9a62029c9b991af1c853d1d1e4c26a 100644 GIT binary patch literal 17 WcmZP;t>XHyYn^sA0|+oCx&r_#wFE=} literal 17 VcmZP;t>XHyYn^sA0~q{E0RS!u1pNR2 diff --git a/.gradle/6.8/fileHashes/resourceHashesCache.bin b/.gradle/6.8/fileHashes/resourceHashesCache.bin index 99d01c570c17aaf2b7fc5d3885aa4248c0cc9d69..b232f305eb5d4b6733dbd4dbbba1e7013c2f12c4 100644 GIT binary patch delta 5483 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 delta 598 zcmcaPkLBbq<_#tif-Vi#$yZodw{BqogEZI4u@VZCr%FuN94dK|akH6pI^*Q6G9M=I zm6e$MR(8VVqjCw8ZRHI&x5;NPPG(b_FnOKgfyr%35|g(nt(;u0EIxUe@`}l6DixEz zsfbTjRW+QPr>Z}BtLntfacUNflh>)2Z?@I2WZc}R8NoDJOs8V<G98J@*K{UKuG6iU z%%|5s`K+GdWHJ5n$xHPOCd(R3*nHF=fN^rHk>}=pMgfeQ)l3AKCa0N|Pv$i@m>g;@ zIl0YTV)8a~kI8x#6DD7?sF<8)DKUASWyNGWD~ZW%Rv$L^S+g_p{D%St2D!q?vd3&E z7ajAMeCe3`WW(c?letbvOtv}^Kl$VdiOD}tNKV!|DKR<fq`~AxC-o;Yo-&x6cxu9A z#nXwCPn|BGTzJM{^2IYNCa*l}IhpHR{N$PE3@86OH(~QVn??1ER+Ag|7*2k)r($x^ z-Vc+j_LWcO+@CnPY5(%cjt2}TFFdefa^gYB$&(K1Pri9@;^d}736p;vIxzXt;e^dz zM+BHQ7ag-;oXmA%IUa|soUC-Z0`8EVXAVFeascFr$@gq-OkQ<i#pI@o6_c0Q=}&gN zWH`C&(t*uMm)RL7+d8b+TzHj}aq_Bb2PT_2=}+ExJ#q3nr})jCH$Z|n%O?lkIyhPD zw#VeI+Y=_&xf)DPx^sQ9ty|*cM|TY-Yuyu{eAdli^1^!_lSSPnCrjNonC#~6F?rSf SpG>li8x<!AZSH-uM*si`Zy6c@ diff --git a/.gradle/6.8/javaCompile/classAnalysis.bin b/.gradle/6.8/javaCompile/classAnalysis.bin index af3ae55031a743718cf52c27361d2b7d356dc982..a1a3f39838c29e4e07d9da37af545bcf03190386 100644 GIT binary patch delta 6506 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 delta 874 zcmccn*LCwtrwt|&j9QaTB@8FmNqpGcCfUKXSxrWRX>*#~3C7KC3K~qC+msTRH~&*@ zV4S>8y<)SS#skL9W?DO#HnZt|V4lopczyC;L&?c{MiP_bj662)Gjd>>EM|I=NrrKH z)IVO8>C^u4ew;r4Kd<{%F+NVl?dFVp7L3j3%-heIGq#^IXWD+woH<0DQDeJuJo84z z>2DI44@^Ij$h=~EOA@mJ<Mutt%rBUx?@41$m~N8J{9$@X2D8ETIT_3qY}<A6nKv*_ z|5CtQF}<abIbr*sLgpEa+t(B`Pvl^dzBv6sD6i^t*)U#%>8WA7<<q}}@vfM@C7jo= zeM${;`;;1%_9->2?Ne&lwoj>HU#r9@GTmuD`-kmb3)puGZkOJ~zJPW6<?ZYX8JQ$M zZvXAXf0c3i3m5(s+gI;qS2@inv;9IFhb7~7#SRV*#_5io93Imbc5--ZXYAtm!MI(p zhhqcd_M5#N0W8xUCxPT9aU@KaoXjDyJ#jKe0n_xCQ#m}Qdrsq!*j_n}!+?4F!I>Nz z7^ip6=7`@eF^40NaeL!jjt7j}E9Y|vFl}GBkmDjFo76@Iz6SB>Rc!p0(@(SUCv10S z=jULYp3K4TvHdUy{{^OY%ViwxmdiNXEthe%TQ1|?Zn=y{YBi(w_K-l{jVz#m*uVWt z81GER=}RMc%eR|E@<uXEUmDFTvHfZ^uLIL|-8kL=#_3bzc~@)?P2kmFn%>jGtiSz8 z67NK|?Jix+3M|w2=JGydl9Ak~_(OPmLL=|f3P#24ZohaJvTpzXpLYV=<UZ@l?F#IC z*O@n`*#|IgFX!RwVBIb*#8<#HS<L;z^yQ*_29xDH#HY)N@hNRDk>h_SvOP?T@AnNx z;psul{5Q8dv+!rIfIK6?JUw$6$ARgadH8Q^f4Q6^opC!CKmSjb>5S_*4ov?n!e6<) zMU;O%<MxFcI4l^a&z9hi->$HU!;xwGY-#=zjMIN^<?xt(SeAbyljO~fiWXwi6B>D0 zwkH|$*YGk5Y`^cozmWwLj|wc)A9(U7Y>)8bFJRi9eTY4Sak_^ezr^+mKmKy&=~Bnp zCr+Oc#9uL;`viN!^p0TugzcM8uyZhOw+Q8DXWSkh#;?gVeMSVo!S=;x*f%h4KM=() Z$jBr)aid}b#LD*f1^nCJ7YH121^}_XL+Stk diff --git a/.gradle/6.8/javaCompile/jarAnalysis.bin b/.gradle/6.8/javaCompile/jarAnalysis.bin index d5fb54d354d44c6561e1cb62a23ed9eff2d2b8b2..bd86926f9c03211ad939e27b5039d86f382a65de 100644 GIT binary patch delta 47171 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 VYNPW*qw_<f^Ft$Zeuyb$9ssY!y<Y$T delta 79 zcmbQVQvJ(vnGGfqf`VOzKhibM<UeEp0all@lVc?sCV!RqFgaFAiHULLM#UfE8x0D? injJmb9X%M^9X*)Z9X*)a9X(ju9X(jLJ9@BfJ`Dh+gd9@< diff --git a/.gradle/6.8/javaCompile/javaCompile.lock b/.gradle/6.8/javaCompile/javaCompile.lock index 108b9d17505101b5a55ecde24c49e662c5e9199a..9de86fce88d9f2a7e783855f59854e8652932d98 100644 GIT binary patch literal 17 UcmZS9_jn)L_pnKx0StIU0WZ7+F#rGn literal 17 VcmZS9_jn)L_pnKx0SvhB0RS*T1h@bI diff --git a/.gradle/6.8/javaCompile/taskHistory.bin b/.gradle/6.8/javaCompile/taskHistory.bin index 98657de2e6a81e9d55cc6f1f8b1f6b7093ffd113..873c50e4717bca313c3a3853122e6b52972c4fa6 100644 GIT binary patch delta 31 ocmezQi1Ftm#trM!1Vm@7I&{0auV$f8=ws7MYce<QPus->02DY7vH$=8 delta 31 ncmezQi1Ftm#trM!1S-v3+N=zdQg_cO5D1jH8?bqQ+Ab~t@&*n@ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 4be743b2d39869740dc895af51e42633e476bf43..15a2fff203622287d6f185195e8796dd2d1f8977 100644 GIT binary patch literal 17 UcmZRMRkTpz>bjrL00!Kz0U*%>v;Y7A literal 17 UcmZRMRkTpz>bjrL00tZ}03bXAA^-pY diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 61a9130c..001ab83a 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="jastadd-openapi" /> + </profile> + </annotationProcessing> <bytecodeTargetLevel target="1.8" /> </component> </project> \ No newline at end of file diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class b/build/classes/java/main/de/tudresden/inf/st/openapi/OpenAPIMain.class index ce7cf9e659fc6a86a3e5d83c9e2b360214c45b70..935127c238b8964ca08444c965ddc6e250a779ac 100644 GIT binary patch delta 989 zcmaDPw^XA3)W2Q(7#J8#7-n)YC^LAnGk9?^Ffn*?FnF^w_;4}!GWc;Z_%j5sGX!!m z*fRuiF>o*hvonOSGlX(6@PO2Xf#`4$5y8d44U&xHVh{qE6vf3L!r%$wL~}C4FvM~& z#Bnghb1@_^Byur0FeHHpg=8*<6oym~k;cK0&c)!!kio@}$&kgxkj;?8&XBwDMh)ZS z5+-*wJ$8mXc7}X*h5~kmLPiEI*NWuSf|AVqykd5SB6fyic7_smhSJFonUvU67*rV< z^d~bi=})#`7GqSOtiY(Q$<9#5!%)sp!Ol?0!%)Rg&B(x$l~|UjpP8@kmYI{v!%)Le z%fq0;P&fH8a|CxiLjw;(BSS4CgYx7=9?{9sENa|M49)BeEj$dZ3~iHpSkz_Pc^Env z>UbDB8M=5Fx*2-d8G3mb`WX6o7$z`Gocx?cQFs!=WOjxrJPcDArm-_j=V6$^P`f#h z)rN8MQnuBTd)Xv52e7YTnmm!~R6SpMYKebAYEdG{N1iDRiVUm_$_yaD#K6d)!l25) z$e_l+z@X2-$iT?Jz`&}toq=&90|NsSgE|8P0~=USnn8nsfq@6iW@XT1&|+X<;AGHd z&|zQ#X=Xgjz{0@6z`$^MHv?1Tb_QlYAr>nZA=YgSZ1s{X+ZfobSQ)L@Bw3F!i0o$I zh?HdA#=yCqfy;_*IRhV9fCbExWIN6vzng(OayJ7{<aP#LA--)4{2=}O+ZY74GYIbA z%^(!Hok3WVbvJ`Z<aP#8mTe4TR_vP?#9<mFU>bxZw=sZpZL4RHl4Re(Anl{QgF(i3 z2ZOB6HU>FANp>OmZ43(A7!<cLC>>)E+r%J_BD9S`N^9Rd1`aJ|BP$kAU@(IN!;e9j zfq_AhfrCMrfrmkjL4rY@0TeU}44Mpv4B8Af47v=C40;T)42BHF3`Pu-7)<IJW-ypB z%w@1(Sju3<u$94@;RJ&t!&wF=hD!{t;7|>MgdBq|gB}9|!wd#%27Lwt21bUt3}y_5 z3`Pu03>*xn8H^cB7?>G&7>+ZTGMF*2Fi0@$W-w>4U|?mCX4t`C$za96#!$?Vz+lZ_ z#K6vA!@$5`!@&BV!7z}4ot?p!fq|WYiJifYoxz?RWF42ne}*gu4t54xb_NG_21jIB gb_PdK<T^1hFmN%jFgP=~Ft{?fF)%W?gA;`Z0L*c$SO5S3 delta 1647 zcmZ1~@kp-z)W2Q(7#J8#7*2697%)VzGemMRFfl}MFhsF4L~}62a51nl#IiHQaWTX* zByce#G9<AxBy%zNF{E%YaD!x0*%{Kf82CY2(m`|vh{)t(-~&l!aWRO349(_Z5NC)0 zadJ2ravAbC81gw73b+^wBN>Xg82lNEK|~1`Ln%WUh$siSp@NH{kfD-`A%LNZi=mpK zhJ&FN#Hr(AsAp*4U})rGXkuvQU})iDXk}>QVrXaR;9}@x=mHVl><m2{=hraGlow@| zq!uwUi1=hBmL=+E=Igs<=A?#$MJJ0hd8=8oGxV}E^szJavolO!WZ-hGNKP#%$;{6y zW@nhl&M=9cVKO_zl*t`TN^FJ<MvM&llO0(#CVyaLpM0N5%u5K<R7M6JJ^l35Jl({C zOx@H9{p7@)oTS9$Y~9p~#N2|M)cEw&ywsw^lGGHvtm6DU9tJ~(sf-NjljpO@==&F> z<~as<`X*-Pu`^8LVVKS^gPma}55p{m*^CT4$ae8C%wd>2*^N1Zdmh7l9)<-Ba~T<w zCnvItPTt3?#=VeX5j(?T9)=|hODDf)RySG3!?2uTDi6a7hLt=Fs~A?ZGpylZSj(`E zhhaU#1|Eiu44Xg-HuErSVc5#fu#JadJHw92#w?1SI~jJdGwkMJ*u$`wk%8IBz<`}$ z9}mNRh69WY0*M6$Iho0cps>;h`GlR}AP>VKhQsU(M|c>HG8|)PIL^axg5eks!%2p@ zo6}ir7#T$;7qE#ihD~0`x^{CK+X|-o%;K=boXiwP24)S-C`JYrjVR49Mh3Q$e82pZ zR7M7E4Nafq{9OIC#Nv|FqKe!c{j9{~?Be`9{glL##H7r;6n(Ga{5+6iYeoijB9$^S zu%#B3Cgv0~iZh66KoUkyVqUtwe^ORza*4HO)MReXv;5rYsU<<F#Rd6!#i@)8Hj@k3 zL?`QV%JIO&tQi^9CMUAXDZ&I88HCeQOPurbN>cMmd{a|06GJKsQW+U+VOn|Nf*{v| z^h&@*7#TRzQ%i!AGg5OC85uMtH*zX+L3q}T3@RYC^$;#217CV-iDyY_ZZS-N4eZi1 z21N!A1_K5VU}9ioFk~=dU}P|6U|`T^U}RuqU|?X?+RnhZk%57MiNS<{fq@MyD9vEX zz`(!*X0tMwF_<$jFmN(hFjz7$fiyE|F|aUjGB7ZT)bD0sirmh?>?g!x#j=}$HByLe zI|I8Fs}RRF22M$qZ46viY>Zayl5EEqM0PW9M@q77W8m4&z-z_6oPiH4zyjt;vL9!V z-_5`mxtoDMayx^7kl;23A&`EdZ4AQO8ASH)W)O|s&LAeqwwpmbayx?r%Qgl{D~?U| z3{o&1(l8xDGTRtH+O{#sN^<OAkn_>r!65IugF!)O8-t?XCI%_pZ464=7?d|LNJ(;R zV^GoA#-Or|L3JC0vLuI)+BOFDZ44Shn%fw(gtWIY=xk%qJ;tC0R*OZlo<VmTgWfg< z{cQ}gTKncPaA+|bS+RhElNlVGQ4C@X4B$9WX5e8^VGw6fV^C&LXHa9%V9;jJWUyh- zW^iZFW$<CpW5{4IWT;~>VwlTd!myaZj9~?X1;YjgD~4SR)(mGDY#E+0*fDZ4xG?fD zxH1Yecz~m*J_ZsG3|0)*3=9m5844L}7;G6B8CEdlFxWBJGcYl5F!C@sFgP+WGw?8S zFgP(dGq5m-GyG+6VQ^(&Wl(1L$l%7{&cMc?#_*28gTa%5ouQ6l8iN;uJp%`WHv<EM z69emi1{($rb_O2?26hG}b_QQ|23B?kKXwLg1_uT%h5rl-7&zG(eApTM*%<=RRIoDy efRaui0|NsW0}DeCLoh=KLns3yLl`*8g#!RmC2_0( diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode$1.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode$1.class index 68fdbd88408d5d3f7cf185cb1c4b0ad036a2f1a4..b968065ddbc8fea7cfce5c67a1b7f8b2552316c9 100644 GIT binary patch delta 41 xcmdnQy@`9n8D`d422O^!$rqW^8IvYkvJ^3<PhP{4#+Wl%nAMLlc5)JH000m#3{?OC delta 41 xcmdnQy@`9n8D`cP22O_9$rqW^851X4vJ^3<O<u#2#+W@>nAMLlW^xj1000lU3{L<6 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode$2.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode$2.class index fbb2bf11f42111ef54239d0da0b8bb2bf42ac856..ac491b3299d722b5af5166e1d5b6e945f0a6a403 100644 GIT binary patch delta 19 bcmbQtKAC;PJtoGI$@iI}8OtYIGe-abM;QjH delta 19 bcmbQtKAC;PJtoHD$@iI}8OtVHGe-abM+pX~ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNode.class index 4edf67b4e0c04d985cbade7c7ca29ed7031ba75b..64f3bfb2de435915272d34b604714cd70e28f59a 100644 GIT binary patch delta 807 zcmccYa@l1ABQLKQ0}F!&11Ezx122QbWIkRmM#afzq|_%j@W!d?GO#e{F|aWhFz_-M zG6*pkGpI0_Fz7OvG8i$KF_<tIGgvWLPG;sSX7rz2&KJrUI{7T09%Jm}Mk&?Fiu|UG zC16$!e}H5?0~<pFgCIjAgBU{-gET`kg91YfgAzmg<fr`Yti24J41JRe1<HA+GO#mD zW8h?%!63jebMjY#TE@kb1%=cn&k|H;Tsc`#NOkgaK~2VulLdu#7;a}^XV}4@#;}t? zpJ5k+8N+S{SB5<dUJUyf0vYx*L^2#;NMJa`kiu}7A(P<<LmtDi&A)^U7+p^@urr)t zP-ZyGpv!Qc!GhregEPZL26u)_3;_(68Il>UFyu2_Whi5~#!%02g`t(<7DE@q9fm0k zcNu0d++&!_aGzlj!^6$_B07w=&luPlo-^<<ykHPwc*!8n@QOi(;XQ*E!v_W@hK~&X z44)Vx8NM(iGkj&pVfe;S%<!F|g5e88Bg1co4u*e|Z-}-tGJ}2BE~dfC$-v6UHF=9z z1fv32%tTzBQ4P#$7FTD~0kbZNt1}vbS&9<6oE8kMjFt>sj8>DwB{Dee8CV$|7`PZ6 zC!dgrXLO%@TS0xYzht1KF9Qps9|Jd|KZ6)!0E0YZAcF>@KZ71)=;WP}8LUwZER4}$ z6Mdz$ITILI7!w&d7?UP9N_jD+Pd+2%#h3$54R+E7oP`V=j71DQjK!17r8h`cF|aaL zGjK81FbFc%GRQO5Gbl1PFeouLPIi!KW$XjT)oYnz#Tg8&j58T{7-unvGtOp^W1PdF z#5k8hopBz6F5@f)W5z|3>t(kou4Q0lT*tt}xSm0raRY-a<3<KW#!U=rjGGyB7}qlx zF>aq6CO4aRKLZ!z0R|z){R|R}hbI4%tKmG(z{PliL4@(-<YxIjn&%m~880yKGG1bk zV7$yA#dwuLh4C7L8RK;Z3&xuaUW~UGd>F4X1To&7oS{&}_;B)V1#iZu;E?iD)M0!+ VxmwYWQ4s9%_llN`UXwMIv;f*C&0PQh delta 807 zcmccYa@l1ABQLKg0}F#X11EzR122R4WIkRmMuo{|q|_%j@W!d?Ft9M_GO#h|Gw?DP zFbFXiF{m&YGw3pyFc>kIf=Md|i^<G<#f*NF%lSeXLnfc)(_@U8+$g0wS&`qAu^7y% z;SZ3kV_;*bXAop)U=U+yWRPZPVo+dcW>8{ioBWi&owbL7lc9HVp+GtB6b5#NsSKP9 z(-{O9W=#GnP|LVzvY?Rq<XM91j4LJ!3aL(hE~v@4VX~mm4#RB>><rr()EIU!=rinO zFk{%o;L5O@!HZ!pLm<OGhDe6}3<(Se8B!PyF=R3vX2@eWy7`xo0i)|F26l$i49W~= z7<3uVF<3C1XK-e?z~Ihsks*NL5<@b>Wrlo)D-2}}R~hOVE;F<;++^rtxXmzy;SR$L zhPw=N8SXJGVtBAQUqpw|_9+89!!rgxhUW}I3@;eO8D28TFuY^XVtCKs#PET^pW!1z zB*SNhWQH#cISgMJiW$B!R4{yIXk_@s(82I`@(s~;MkcWD+Ql?jIT%<OIVW!si(r%o zi<yY4Gpd4F&Eo2e+F;ftadk#RFiTNFm(!eqmC=HMi_vm&xI_l09Rn+)Jp&h`!{ieZ z@r-VhZ!4%z_LmHl^kHCO^kv{?^kWcX^k<M~3}Db;^kdLt44J%BGJ`defrT*&Y@)A} zHfKBo3u6KU2V>&oMkz1Gw8>|rycn~=sliU#fU|&sgRzi-hp}jKx%39fN(NTODh4jb zY6d~Z8U}gBItE3?dIlxNhRF^xt&F|kxOy#9tT>&4m2n0G593S*amHB;a*VSXlo;nQ zs58!G&}E#-V9dC1a=q*}#Wf79jB6Qq7}qg~Gp=WlW!%7^$heU~jd2r$4&yooBgSo$ z!{lc3?qlF$+|MAyxQ{`C@!;ftay6XC7`PaZGl(#rnA|MCNAny5H{*E*UdD?I5{#D^ zq!_O-s4!k-Fk`&NV8M8U!He-GgAd~sh9Jf}lQR^G7#~c&t>Df01RPR+iaLzXCRZ!^ SF$#cP{$A0N(Q~q<k`@5k{>-}o diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Kind.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation$Kind.class index 56113fda49a7801347e3c8c408fea42e2a0a3b84..b55a4eb5a17ccd04d946aab5ce5c26bc4490a5ee 100644 GIT binary patch delta 31 ncmey%`ImFUD`rOf$*-C98SN)av)D1(PmW?~V6>lnn?(r#xoiqg delta 31 ncmey%`ImFUD`rN!$*-C98SN%Zv)D1(O^#w|V6>Zjn?(r#xikt( diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.class index b0cca9d1d01aa0ca656cad17f4783b50772ac8f6..124668562639e0962c99069f49d69e7051b53bcf 100644 GIT binary patch delta 13 Ucmey${*`^h1ZGD5$rG7V04E*<*8l(j delta 13 Ucmey${*`^h1ZGCQ$rG7V04Es))&Kwi diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircleState.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircleState.class index 4a38929560bd69a8e8c8f30e4fcee491045d2991..88de9ad021c67492090b4ed1089d2001949d11c4 100644 GIT binary patch delta 37 scmX@Xc7kogM<z*k1{MYz22KWh20jKy24Myl1}O#)26+b0$z05K0GQYYb^rhX delta 37 scmX@Xc7kogM<z)(1{MZu22KV$20jJ{24Mzg1}O%226+aL$z05K0GMG0ZvX%Q diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircularValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$CircularValue.class index 6c7db03237774cfe76e9697dffb5c92136dc7994..65ff060dfecf66bf3c6d8a77e1c4c7777f791b9d 100644 GIT binary patch delta 13 Ucmcb|a*t($CKIFhWGyBW03bF4s{jB1 delta 13 Ucmcb|a*t($CKIFBWGyBW03a~~ssI20 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$Cycle.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState$Cycle.class index 25f6feb1f44a92aa1c22e46e874d001da722ea36..5e5599d81a1b43c1aaf9bff79f189e4abeaca846 100644 GIT binary patch delta 13 UcmbQmJd1flE+eDr<UB?l036{1tpET3 delta 13 UcmbQmJd1flE+eDL<UB?l036%{tN;K2 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ASTState.class index 0c0bedb4f3121cbd0463152f012de8b0d66727b9..20858b28c5edb93f459310472412af3d76300a07 100644 GIT binary patch delta 223 zcmbOxJxzK;4m)Gq<OA#qlY7~X7*i)7U=Lu;Vc=!RogB|0I$4XufVG%`m!V{GJclP| z6$1}LHG?2S&E$<7m7M(y>I@SY%orw4Hs;J?oz1|>FlX{2PG{C-4BQOMC%@wKWnIg_ z&9H8=4VNe976uN6tqcMT+a_=15T3k{%ZzdF<QrTzj7KJmayzh|Vc=jmJ2{Hmlk+kI z2g4Nx0fwt!b^E!^81GE}#%<5|c(NIf1M4dW4u;p0t9kr*-!rf<L@;nOv@(b>e3*QV a$DZ{I13Sal$x^(&tojUG3;~mKc(njaWj`hW delta 223 zcmbOxJxzK;4m)G)<OA#qlY7~X7*i%6U=Lu;X5eMWnH<j{I$4XufVGH$m!WuaJclP| zB?Avb6@wr{_2i8lm7IMH>J0r1W(*T18*^r{&SKzXm_2zBr!(tP25yFBlV5TAvaVs^ zW>`DfhRc(4GXn?176t)^t&=x$2v1(fWyZK?@(nH<#>10ExgA(fGjK4RnH<IK$$5!^ zgW)oR0K*lqy8YZ{jJGF$<F;pfG}(;Df%PQ=2g9q$)jWQ@?-*DZ!Wp<3S{TF_-cP>9 aW6%1Tft}&YWGP->Ry_tT2LH)9yjlP{xjy~? diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AdditionalProperties.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AdditionalProperties.class index f749cf56842c4c745a95b18df01e88c565950ff0..645f4a449a8b172cfcf8259721747cc0e229d7c2 100644 GIT binary patch delta 291 zcmcbnd`)@7F-}%-1{Ma1$@Sc#lOJ$uvnn!hFeptH;Bw;BW?*5^Vc=rWogB@T&S*6G zFqb8x<>bFyHmvpxEDR1{9l_k{tgZ|!3~rO_xgA-(88{exCLiUVCK=4Y$`Hc9#SqFM z$PmUL&k(_&$Pme(#1J*PgeRLZeewgII>kZ;R)!)59)@BDafT8GIfhaOC5AEvb%t^V zU4~)?V}|O<^}KTw+Zb3G+8KBlIvB(mIvHdcx)>B0x*60MdKh#VIv9)?CQP>B%VV52 zc{QI0>pTWFhWV3!@Od#VpX|&Z$hcv$0GH_GRs8CVTfnY;&ac9_V=|9`4WrOxPcYdA dCJzgEFbYlP5d?`(5R{pmDyYRMG<kxc8vtBfLe2mH delta 291 zcmcbnd`)@7F-}%71{MbK$@Sc#lOJ$uvnnufFepwI;Bw;BVqjs=X5eDbnH<fP&S*IK zFqb8x#pJ(SHmr6GEDZKw9l_k{tS$^J46c*wxgA-(7&sWbCm-dWCK<%Q$`H)J#Sp?E z$PmgP&k)X_$PmGx#1J{TgeRLZZSn)2I>iD8R)#_b9)=<YafV_BIffDjC5BQ4b%rtq zU4|kCV}`29^}KTwTNzjx+8B5k+8M+dIv8XbIvErhx){_Lx*2pB+8K-(`X}4)<uOj3 zyqeF0buI%N!@S8q_`DdGO?KuFWL!U4fJ=1pDt>jw&0yC)=T~9eKAA_rhEZ^`Czxyl dlZOR77zHQu2!g~X2+B-O71UxBoIF9$4FEjiLYM#m diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AllOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AllOfSchema.class index 34d0699e281d56e4150d7cdfec5f684de7c8ff93..04b5139c7b1a6d62ee79a0ae30adb1542e466966 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AnyOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AnyOfSchema.class index 93c522c35782c0bfbfcc209a5b30c57e00bc886f..a14a0fed35ac6c148e8923f3ba24eabacbecd28d 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AttributeValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AttributeValue.class index c2e4934a7f1d40a4cf8cdeac25ee6292f5197b51..c658fe54a7d65610f44ee9dc2afb24ac961027b2 100644 GIT binary patch delta 69 zcmX@heU^Iz6APyt0}F#Z11E#RWNwxgPE`gD1~mp@293!xSY~kQGjK2%FbFdkO}1oh V6c%G(V&G<AU|?cUW>5jsssM;q2@3!K delta 69 zcmX@heU^Iz6APy-0}F#311E$0WNwxgP89|Y22}=O2KC7^SY~kQF>o;GGYB&nPPSxi V6c%M*V&G<AU|?cUW>5jsssM(-2>}2A diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AuthorizationCode.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/AuthorizationCode.class index eab3cc049d86a2f2e90b11c391f1581aed3deebb..22825c330b18a3c435592e3ce134cf0dbae6bd49 100644 GIT binary patch delta 287 zcmaE){78AjB~Dgx1{Ma1$=5j@SQQyK7?dV2<QJW6$fe7v&A`H-!@$L$J2{;zozZCW zc`i#v%gN`tL?_E}tFziOurN4G_Tsi-b!A{-aGTuC?a1oQz`@`%`6Bl;$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#I6JlTxtli%>vDHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMFR=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_Bb z9^<sh+xa|L=P|G`%%9A{@5Q)$@<M*$$w~Znj2k8|<hNnmGWj0ACF73C5&|}iLX$(m f<Rmb8UciG<XtIPLNPLc<%;Z8rEk>cqa|GQ0UnW8K delta 287 zcmaE){78AjB~Df`1{MbK$=5j@SQQvJ7!)Tj<QJW6$fe7v#lXU#&A`Q=GdZ0rozZae zc`i#vi^=D?L?_E}tFziMurSz9_Tsi-bzxv(aGl)E?a1oIz`@`>`6Bl;$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDecJlTwCli%>vDHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM9P=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKiPvX zk8$ec?R*}ra~aqe=1ped_hMW&c_F{><RpGO#`TjI^4l<Oo_vqrl5zWF2>}~M!O5Xu fauS$4FW|u_I9WmvBtAz_W^$pR7Ng+gIf8BgKx{$5 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObject.class index 8c485518ba28caf23e34b93adb5556d3669cdf37..60a3985475ccd04bee05080bd8ba039be7dd1068 100644 GIT binary patch literal 11292 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 JQHEMIP5{lXLr4Gs literal 8440 zcmX^0Z`VEs1_l#G5q5?pTnvm1OSu>X7?!a!EazfifpAuEF~~Bk<YowESOp?hvooyW zV&Gy}3nJEWF|23Uz|9cCuo0wr6Fb9Zkp870&K8jHR&IuE3@h0gwu3}=fK=}U>DvWT zwVR7UnqetB!yZls0fxQo4EsP9f$iT9k~sh(4uXh7Ak~LKs*Z3m9A!Ah&TyQa;RHLw zNp^-)Tnw5FOF0-$gXl9{3}+e6aWR|+IZl(|0vCe@!$pwZOCaJh$fzqI)>RPe8i=?K z;@$w+dlSUE1!CO>5m!OP9T2e}ByktSx(m{A55&C>A|9|aJY;0xPtMOR$S+QHPRz+k zN=(jXWQfx6NlDc&DNQL#Elx?z)6dLH(=RU3&o4;LODxFLPb@Cchbi_?%1TWxvDWm- zFG`0gFv-#{NGvK&Ez-};Pf5+uFEfTKw`OEuan4UkWn|#@$;?ajE6q(xEec6Y%1LEp z5c0`SPRt2QEXoA&p@NL5j0`#iUE^9&P?TC+oSC0z&B(x7kXVvY46-3Bu`E%)v?Mb} z-#4+qnvsDo8R|uds~H%3!MPeuj~m>G-=8pL~A4ApOy1*uT~x%;3v(gwoKNz6;v z4=yRn%uBZ>U`aq?NrttZH6sIWa7kivwr^qq*kpEwN9+ub85wxNF#+=hIBJQEDNWMD zhB-U65)_YMFCqJZk%7%7GcU8mj*)>`Lo<w#fu$rPvzU>A7bK|SoROK6Qk0s<$Y4M? z;dvz%mpG=R_+%EBSc6PrDllMV&?V?rWNnNL(WI!iA*dKB`GI1BGdMFnFR`SwD3y^R zjwBzEXcfr+l0l_;C7HRYVVT95Nja&Gd3pIIi6xo&dByAuPZ=4wo%8dGONvU9OY(~t z8F)PN@=}YOa}tY-Q;QiH><RkJF*w98KLyED6(sXOnK>^pH<gir3lRdKxUDQmWn>UX z3UV8Syd5J0OLk^n3L^sxC=MAJxbsSL5h;LKL(`LyfiE|)(j&1fH7K>bD6=FLoNA&N z8Tit2N{cfbOG=8I6O%Ji85u;t0?zq4IjPAYKSPCClXLR(QW+VHG{{KAEP3GaiOaPj zIkf;}XfY!LOLBfeB_o3xQtosHS>cyo5?oqPkY7}ingUmE&B(x!R+^LJ4A#Ttl3Gxd znw(gYn!?B+hGYOj+?tU=xTGjG6{Nv0KcpxzuQ)BgD3_6eH5rsM7#Rrr0vb=&j0}vK zj0}vPpjaqMO=V=@fEmolz>!(3;#ydmn8V1RLpW8!Ow^2GWDqP)EkVQ}B-&VVGK)(X z83fW(OZ-Z65weU7(&$1ce&S6>Hj9x#U&E8I_YlT|3c8HMVuS!A18-tV3Nl}xu;&oU z!DWa9iV3LBMe#aOB@~k3o}e5mh~i^N=;;%YGLiC+H6ueTX*x(ON!S^lF*0z1+y>5y zj10D96b*3g){G1?7@kH6RtXeo6e&IwsbWS3NmKz8#hgWu5+Wp@kwKe?5Q3#@Mh33r z#5{QMBBG&*lrtf%18YWxOkx9paA?CUwzEdE2waAM8avjE3|ztarA5i9ZkeE_kT9&m zhB!qJRG~65s1a9l^Dsm)MDs9oG88Z}2!eD%nm`_j#TmYd1w0J18K&?sJZE^p!|;-! zh=<`7!vaPIEkf-*M55+lc+K#Jhv6;5J9dWmJPaQgKJqYpV))F%@P*+kBZD3xgHV0O z!|;vaI}gJThM(*VzZe+=z|KW#Iq)$2X86Oy@R#8q$XEY)82T9c85z_GSpp4h9!3U+ z<BSa2gp?!YG#*AqMkXGHVo(T{fQV9tc{~iI3}rlw%nS|e497tnP=FC`LO>m1&B&mF z@D@1Au~r+54EzXXu0=(l`dS<z0%;98m1gFoq!uwU$b(f_DS&G_g}nR{g<@Dmq>z?h zq`<?-!pO?b$i~CS&d9;e$jQUV1&XyOMs6O4I)*YHhDs1o$1snFk%y6&hoJ@J%~pms z9)`&bQ+OEp7z%h8W`bD!3<W%l0*rz@j6xuFb3y7_Kzgeg$`~1h5e@|V43wA|8F;~> zu!c7ygAju6S&~|mSdw4F&M3^tU`r@sph1Xe)F3xM7#XZd*AFkFK=mQiEsP9eu>22p zGt7<Fj124<iN$`Y6(x)eEO}sx9aOo2+dQac1|)i{85uyOJ*Z9YS(2Iy$-Tt2Ls0ct z6Oofpbucn;L;G<caYlwP!nGhsA;Osi`*0xT){G3y1*Ij73>F$l<ru`D$R!(81Z$}( zP@Gx<D+NGi7BezfLQMk)Kd7%pLVps}0zorQ5G6W6<}os`Wv5mKr<O1>ph^a(mVlZR zhy)5&!=H}oL^S_GBb$&TL7uZ_WZ(pM!9W~vtl%%iLCUNNH;6#WkfM%}!4(>UNM)xr z!P*PW6i{P@1Ki{Ucg8qC@dRmr>Jm;&(5z|=Zt}1dBo?LSl`t}}B^DH<f*Sj}Slox4 zIv_y`E#9nAY63`FVr1X|MGC0v!pI;Di(s&K!TlL)l=2fS1Zw@}LkwnQ5XI(zFsP{z zU+NIk6ovVdk%1dj6hQkfj0|E(Jd`F1M`B6}v{6M$vpbBDK^Wv=kke4iGbFjtV^Cxe zV31~DWN>C+U{GP;WN=|{Wng4*V_;yo$H2_M%D})7w3~r3aytW)kJdH@=9vsGyBSy_ zw==N%YHed++s44|r@NDZgOOn-gR1UM22MtX0}NbNEIN`b+Zeb(1kVlz-kl75%naen z|KHHo*~Y*huDyYQfq{j=oq>Ttj)9$lfkB*sgF%vkpFxU2oI#qwm_dfYi$RtlfI)%5 zgMooTi-Co~m_dZWlfjFDg+ZLblEIt7hk*&?G6r7;KL!Q{4hAm<e}(`CMutEJ1_mAm zMyRSF1}27J1_lNZ2IhYZ^6U(Z><l67457amw0<$LGH^14F@!_?x`u&`frWvA!D}~z zK;(7?L6BdCjxpG1ZDSDH$so+gu#-WAk-=97>QxmTs8>b(w0ARbMe1tlZetMJ!63e! zL1G(&<nsSF!G2^0`%w%Wis}p;44Mr53|b6^4B8AH40>R{DKIcI7&3@3L@-1$FoWy| z`vc@7C$Qfb!S3f{VEW4-$Ic)CcDyD7Bd8Szb-6JEBLgD?0|Tqpb_S`93=9lRU`x5c z0c66!!e9!v2oxv`46F<>-~eM}h-HX|8sN^r3^qVii)Al^^i~ELt=$Z=k=q&Mn71*= zBMjsNyU&h+gTbCbguwyHP*J#{Q4Dbm%;2;G@(n14xIwPc(uNrY2@r@;o(wDuUJP6e z-e9A|!0zRS8pXiC%@EI!fE1w+kwgYYh9s~blNnOL$%m04gMpbLGn#?1m?4WH8%*ag z<bvru1{Q{Vh61QRb)W&o#Igo#0x0>hfqfnTb^#BV%>;D;BSRrW5xP!hbe-W?br!?J z7CCYh5Mc?4oLB}HhBzbx5Rp@Y)c{3w1Ckk77*enrP|8rozyyv6Ck94v$Z~0IXHYu8 zAm9T|n8;})lYxUF3v3D`4!EEpz`?-8P|o1Tz{pSm&aR9M>I{sarXe&`_As!3O?KAW z#-Qw@&A638MQaO#%rOQ*Z4kYULG=KG+ExY`?F~M=88jkyGiXL`XV4PT-o~J#wT(e{ z8-w092AypT`r8={_Jf07fkBZ$odJ?WAmu_K11m!j0~bRvgCIi*gFHhSgCavYgAzjp z*twv*!^$87b)*u5B7-MG71$(as24zaUzCCA4=C>o{0GH9JA(kI6ae|8nxPDuSoJ|N z;4HL_!4On7L4pU8I9kDWK@tZnhH4l<0F(ehYHAr67#KkfXK27|U|<H9C8k>27>s;C zVR4K>i`iBN#M-xrK^{cQ82RZQW8l->#$fEHtt+#QLB55Farysy;Mjo#ff@rR0|P@p z11rM>1|Eiq4B`xv7~~ixGbk}kVNhq7%Am_Ik-?Z@CfIqPB2tclpP`<ifq|KUk3p58 zk)a73JEqW}U}Z31Xa>h7C{TDAnEx{Hu`>uT%7IEkMurxKGN|j<LtSrz<a$kn>*cg$ zwlSE%9B+#3`1=@+U&6r3u#|y^VHtxs!*T{$h7}Bo3@aJb7*;XpFf3y*Vps=vyeyLA zRp5>{fjeFwtK(%sj%Q(LWoUys-im<<>}xhH?d=R^=(%+Z*g8lmXM-Bez`({(&d>l( z0qqQN&|DM9zzjBr9lhv+<lH?BYz%vm3}c5I#?H`zR&0Spkc%xwQ0E)!TqCfx3=AAv z+ZfEZF<78G_z2hzNZR9o+QG=s1uxQ&^;>RZutL{=7OVblh90Q>4$$D@0ogCTjluc= z0~dPwzXmn~5@<Y7H-PF`Pyz$hJiYK@64Y)0)kFdy)3z~K%w%9^S<b)$E;J!Y8kAc= z?Fvw>4)K)$)I?CCWMyFDa{w9H$IuUTU>yS!xZ07_+QOi6oPkSg8-wL?26m7IzB=05 z7;HdABBUh&sZ^dZ2s1oqkYIQLb~UJkU|^7h+5uvfGk7sDG6*xUf#Zn@-d=!+BtqK@ z><mnN&g=}b42%pD;BHBVx`i9$2!!nrpFwPY!@$b$mVt}m9g^+HRT{*0Rt(!AA|Trt z874AJf_gp=niIjX<EN`FvyH(P<X>bPzcH{fd}rWh_yM*NR1ARP22#m`SP&aQEKqzg zF|aa#(qjSxGu-D8kwkDKU^2rLXptBSO&Q!;%-a}D4lu|<>J5n1;7q{Cz`)7K2(}iI zIA9*-WMBdZE}}685kX{vso=Vsn}LyG1_L8QCaB^DwI8QIGoLX76Sx%T1letOfI${5 zNiuSQZG|KtPH5ypS_M-X7#U_^P2QH$+ZgOIlQ*Lv*er+-uqE%=3@~RQ*AnLFPLc#0 z191{7hLh%CHN+C#5GA~Z%w?DdO&AE5Y-eylH$)AKA&d<3;kgvv3<Bp%q?(RV3rQ!m z86@Bc8vMbqb{m5unzam&a6}0J0Y`>9EN;e9$70u9%`gv|A`l+l#^6MR&EWI}Dr{;Q z7z7*{DzUo4hzNrO92rWnx<Z)<&4_jr*q8-aJVTl>49w8R??Q$};3n*1hI9r71|bF} VhE#?p3~6ed4AU5%FicnD1OPW@#Y6xA diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.class deleted file mode 100644 index 7af956f7b8cd1dfd3392c252d06865b6027d2b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5405 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.class deleted file mode 100644 index e3df775605bba0d019eccf6637bf2ae1282a2b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4946 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbackTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..066bc0eee555ec16b393320f0bdd8ee4104f88b5 GIT binary patch literal 5144 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 FCjgvHHzxo9 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbacksTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/CallbacksTuple.class deleted file mode 100644 index 05f465674a9c7f3a398d1263dd57b958f43c066b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21_PgzRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3x5#GIU@#N_Pa zkkW#jRBJ{CUXZOS&Ka3GDMhJyj11g)rMU<mvxcT8BLiP<Vx>o7S!z&fc~NFbD%gop zj0}8fIi<xJjwK~U&WXtxsf-LFU;*d+oSf9;lFa-(s4#1CPJUi0BZHBKCh6{D$peQ2 zmup3GY5~a5Vs-{AMh1?w(wrRU{DMkG1}>M>f}+&q#FEq$Mh3~C(!7$)+|;nl;>@I+ zRL8u${E|elHbw?9pRB~PME#t^ymWnp9&1Jh;gX`%RFGkQ`5{G#dBth@MY)U&957Kv z2F@ag&qMMV8MKM;g=27tUw#TGc)5}j^WecIqM?c81plP0)Z`LtMh4E{%=Em(lG377 zMutp+Ap|wshFFExcGgIiI)kDDlyIyW8MuP;ON)|I-7-PRN*Fa|=z)TYhk=)YkB31L zL`Z=MX$Eyh20hZ!7!QLQgE|j`DuWCUg9?aH01?s*GK>uBgiM0^m61Uh<Qz!M!F|BU zpn@jqmtPWGT2PQ*RFawkPcJNr46F>?42%ps3=9l{42&Q@F)%XlGcYh1GcYnRGB7Z( zYHep=+{nPdz{DWHz`(%8z{J47AjZJLAkHAjz`(!*QN$p`Ak4tPz{nuNzy~!z8_Z`w z*31T0tbnAE5vq}eL6kuZs!<1OGZXU~xU~?Ssz^GSpgI{D#2F+A>eRuiQxfi2WZyEO z`__nog~1rf09LrwQdkXOMmNBMfrY^ms{zssG7L=M@OENg1P3jb)^-M#0}QM_+8f}$ zhXlGE0|$dW*c35{N~kk97?>Dj8H5=a8RQrk7+4q>8RS_Q85F=KD>8t95(5JRC<K)m z7+4rV2@OoEGRT0VNR2@q8h-lFkO##%8^U^!RtAPRu+==^C`5#S1`&augrpN1Z32!A zs#vVu#=wqltss(SsI>x)3@TVPa}cLlfk7P_=m-yQW8fr0GXqjc3OF)IV>O727=z$Z Z1vW+#i+e~jhJlGe3!GlG8Faw3E&y=9KR*Bf diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ClientCredentials.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ClientCredentials.class index bbe86395e862ccc1632fe1b430bd8641b3481c41..58ccfc7bdc3091fa862f031a80d887e452ba4c9d 100644 GIT binary patch delta 287 zcmaE){78AjB~Dgx1{Ma1$=5j@SQQyK7?dV2<QJW6$fe7v&A`H-!@$L$J2{;zozZCW zc`i#v%gN`tL?_E}tFziOurN4G_Tsi-b!A{-aGTuC?a1oQz`@`%`6Bl;$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#I6JlTxtli%>vDHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMFR=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_Bb z9^<sh+xa|L=P|G`%%9A{@5Q)$@<M*$$w~Znj2k8|<hNnmGWj0ACF73C5&|}iLX$(m f<Rmb8UciG<XtIPLNPLc<%;Z8rEk>cqa|GQ0UnW8K delta 287 zcmaE){78AjB~Df`1{MbK$=5j@SQQvJ7!)Tj<QJW6$fe7v#lXU#&A`Q=GdZ0rozZae zc`i#vi^=D?L?_E}tFziMurSz9_Tsi-bzxv(aGl)E?a1oIz`@`>`6Bl;$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDecJlTwCli%>vDHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM9P=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKiPvX zk8$ec?R*}ra~aqe=1ped_hMW&c_F{><RpGO#`TjI^4l<Oo_vqrl5zWF2>}~M!O5Xu fauS$4FW|u_I9WmvBtAz_W^$pR7Ng+gIf8BgKx{$5 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ComponentsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ComponentsObject.class index 1fe023a026df6d29f387753aa3081364af802f04..a6520e6d002a14c5c3af0643efd5ab1cf2e99754 100644 GIT binary patch literal 39024 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 UTbWfE+tfH2Pco}Ao>Jok0B(7iBLDyZ literal 41161 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContactObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContactObject.class index 74ebd3084508f46c10ce6bd3a0d99c7c1293efba..0592de773c095e777240c71d9a99673f4cdfb7e0 100644 GIT binary patch literal 5818 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 C1HOL% literal 5789 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.class deleted file mode 100644 index 7aed78a2eaeb3aad080200a21b49d080ede3dfe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5406 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 O#>tSuFpI%ajS~Q%u}!Q1 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.class deleted file mode 100644 index fb1f369a56db8a66ea40837c3fbb47d11cf76cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4938 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ContentTuple.class index b8e6f5a7b06f0a10c8eb18d46f50d851a126de4e..454dae64825d4695ee21a9c84465fc85689ca675 100644 GIT binary patch literal 5149 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 DdGtDg literal 1902 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$220fpYRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3x5{JfIXypoX8 zf}B)qMh0Gxohr^5nK>y%sd<bH+<B$B2p+SBrY9o<Uv6ThM`BrOP-=NmW=Sg8fl-VM zd}%qQ#TkwzB}LAO$r-7P3?g6w=lq<U)Z~)P{5+^IYjRG0UMeGlfrciju4BmqhXI#s zMRIBZ$jD-L1}jDej<nL89OwLkN=61Qm(+ry)a1mH)D%Vr$)M7_lFZ!Hu*~Ajq?}a8 zyuAF9M6fnS1~H$k#Ii*FoW#6zeS{usMh4-MqSRE7VSf1`MTvREY57IDj0_wwQAP&N zB8b03@);SliSUDCaEM=i3Mg>7k`wdbfhMA%iR1+Tq^#8B5^F{V&fv`Syu^~yqEtqP zOoHJ9HQR<*h1Pb~NR~Q-A_A0XtQi@&g7Zs@l2hF>K}kvwIaTO^0*Z%$mw}ImK@vnr zfe2{^bw&mqQc@QWgBpW64}&U$3=e|}h)@6#(hM?;4C;i;f%=n?K^Wv1NUXtK&&Z&H zChC`85?oqPkY7}ingUNNEQ$=Q4BQNi3_J`B41x@dARjR>GVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^hSEHv diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Delete.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Delete.class index 31727b3cee6d09fdc25da0dea7817deb94a28434..b7bd953f5d8d21698afbb487654d1e3adee05a28 100644 GIT binary patch delta 291 zcmdm{yiIw-GEP=;1{Ma1$?@ExlMirevnn!hFepv_!0E)P&A`H-!@$L$JK35mozZCW zVlGQY%gJ}SY*_6XSQs3@I*hs1SzQ@e7~Ceub33wnGjK5YOkT=8O){8)l_7+Iiy@Rj zkRgmgo*{xkks*>ni6Lro2v0U+`s4#Vb&7=ytPDjAJPgGQ;tVAWatx&mN(^NT>I~%! zx(vk(#thYy<9X*OwlT0Wv@`H9bTEiBbTY^?bTKG0bTg<i^f2f!bTAk(OqeXgm&Z75 zayOp`>pTWFhWV3k@Od#VpRCLu$hcwh2Tsw+UHs~dTfnY8&ac9_WAYn*8%CkYngSp) d4NNW;@L&|0{07V}5R{qhDyYRMG`T>~4FIrhLdpOD delta 291 zcmdm{yiIw-GEP=81{MbK$?@ExlMirevnnufFepy`!0E)P#lXU#&A`Q=GufIeozZae zVlGQYi^+GnY*_6WSQzZVI*hs1SzQ=d7+fdEb33wnF>o+=PhQGBO)`jql_8jciy?$T zkRg;oo*|q;ks*RXi6L@w2v0U++T;T~b&3THtPF(=JPbt);ta(MattL5N(`k8>I`KJ zx(r1O#tc=H<9X*Owlc6Xv@!57v@?h^bTG&=bTTM1bTOzgbTjBMv@;kn^iP)I%VV56 zxtq^}buI%N!@S8i_`DdGO;+X)WL!V_1E=WZE`D{!&0yCa=T~9eKKTv54Wr;>O#u*@ d1|}B^crXf1egkF~2+B-$71UxBoLnI21^|%rLX-di diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.class deleted file mode 100644 index 8fb72e74d33057cdf39d038e9840cc86fade4c1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4406 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 T0Ye*up&BPc1VbBxr5Yyy6iIz& diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.class index b45d7681e3e814e7432ef60ecb9c8b4d562e2179..d96c2dac34f799d3c223a13841d435b5c32336f3 100644 GIT binary patch delta 487 zcmaFh_P}k!VG%_M1`Y-(1|bG%25ANv1|<er1}z3T1~&$IhA0LFh6D!X$xlSyYicoY zFz7JwGw3piGw3nMG3Ya>F&Hp-G8i)WGZ-->G8i+YF_<u9GMG>PBU-|0%fP~5H#uKI zbaI!NIj1`V2ZINL2!rS3Q)2GCK@2Pm!3>-XAq@Nsp_Aprr!YoM-Yjm(m^k^ZxD9JM z0}De2Sf{guI%_Ti3q#)Id<jR^Vg?R|lF3^orb$*aurkyza52;}2r|?$$TKuBC^9rM zC^0lmPLa%J?4Nu=vQBX(11rNU1|Ejl4B`xP7~~k{GAJ?3V^C+9&!EdNo57f2@#K7| zIg0BTSQ*wc@Gxv(5NFuPAj`0cL6KoIgBrsY1|5bC3`Pt)ChJJIFz%bYQ96kA7y~QA z@yQ%AL5!CsN6W;p-eO>5xIKA~Ofuu6$qKUejISpr$T~BAnY=_cknzvtZ?e&xEDXYo ztPB#2Y?GtpN;$b0SQ)t)xEOgR-;m4X6k%Xx6lLIM6r1cNU&JcMz{w~-`Jj9$qsC-& z1#d?E$;}FGjOLU16=f$sS5Rkkn9Q%}!sr4Hl}tqyMvuvTiZ+ZwlTU+54kZxVRmp=< UXmTHzeOk#4B&#GdSx?yr08^)MF8}}l delta 487 zcmaFh_P}k!VG%`f1`Y;E1|bG125AOq1|<d=1}z3z1~&#dhA0Mkh6Dzs$xlSyYicrZ zFlaOIGw3jgGw3qNG3YU<G3YaRG8i!UGZ-=?G8i$WF&HysGMG*NBU-|0!@$B|J2_uM zbaI!NIj0)~2ZK9<2!qGuQ)2GCfeb7RK@6M>!3_KiA(Q3Ar!YoN-Yjm(m@xURxD9I> z0}DesSf{guI%^IC3q$VYd<jR^A_fkI;>lYjrb$*YurgFLa52;{2r|?%$TQS4C^9rK zC^0lnPLa%J?3;W+vQBXZ11rN!1|Ei44B`y48RQt|Feow1Wl(3B$DqqFi@}&-(d2xo zIf`o;SQ*wa@Gz`r5NFuHAj`0kL6Kn-gBrtT1|5d=3`PvwC+kSJFz%haQ96kAC<80Q zvB?}VL5vqCN6W;p-eh27xHWl?Ofuuc$qKUejISmq$T~BAp1edhkn#8AZ?e&x%nZVe zEDREitdpbUN;x?hSQ)t(xEQ%7-;m4X6lP#$6k*_I6rJoPU&JcQz{w~#`Jj9$qxxiX z1#d>Z$;}FGjAoPh6=f$sS5RlPpUki5!srYRl}tqyM)%2miZ+ablTU+54kZxVRmp=< UaB?4*eOk#4B&#GdSx?yr0P_@Y&j0`b diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObject.class index acd9483a6d41b8d73b97eaea2d4ab8f2f8f06e57..18853296d332d0982eb839e919a991f3c374a52e 100644 GIT binary patch literal 13456 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 literal 10846 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.class deleted file mode 100644 index 903904cb2617404ae30427ebcd36bf5909754096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5403 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 D2SiLh diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.class deleted file mode 100644 index 39ac44a40755885cdd655eabac27f3c55c51c255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4944 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EncodingTuple.class index 1f500c899878641d39b09161f1c836e75d7da1e6..1c786885ff80d894c72a87fea996b95f49ecada5 100644 GIT binary patch literal 5144 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 F0stcpIC%g7 literal 1906 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$227RBDRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3w=yyX0p%)IoF z(t?~+YeoiMkfkcl8JRgLMX7m=4BUC8xd<M!hNdSY17B`prAJ~}YEWu<QD#Xh*o9Gy z418%hrNtSJB_&19iOCtMj0_@R0q6XjoYdr!%=|p4Fl%y7eqJgggQ12d$<AZR1BU{a zYejNu0m#f^b_Od(29C7SoE+!;f=WgPE|=7TqSWNXlGGGN2Fak(ypqh^)UeFr%%q%D z$Gp7!l0>jJMg}pTti-ZJ{hY+SbbW*#Yeoj)lA_d9kYRrLAw`LK#cBCPxr_`PFi}PZ z&LW7%L-H9Jw2AP9V{nLHehMgbxsns};Grg>p^4-K|D>$c<PvK}2F~Ej^t{B9(xOyG zhD?G11U1`+ScTSh)<~8*gJJ@dY^)g>xPtRbi;`2_GQo)oC0*!&LW+lhmw}ImK@vnr zfe2{^bw&nVk`fpXgBpW64}&U$3=e|}h)@6#(hM?;4C;gog8Gz^K^Wv3NW8(_&&Z&H zChC`85?oqPkY7}ingUNPEQ$=Q4BQNi3_J`B41x@dATKd6GVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^YQ8<! diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Enum.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Enum.class index bc22f35fd7ad649df849320fe5c924e2ad1bcf3e..dc3b080ed4840502d72cc2a87b56df2edf796068 100644 GIT binary patch delta 293 zcmaE?_*ikn8xB@+1{Ma1$sai^7!@aLaXNBpF|aUbGjKBKOfKO}XEdCAhtrbLVzL;Q z4XYgk3xoaSj~t?tbGX!5T^LvxT*17xTso{?3>*yJlkag&lMG^DWe8^AVhCXnWC&%D zX9#CdWQbr;Vu+mF%bm@bHu)om@MIpIY{dcwR)#_b9)=<YafV_BIffDjC5BQ4b%rtq zU4|kCV}`29GkE4Gwlc6Xv@!57v@?h^bTG&=bTTM1bTOzgbTjBMv@;kn^iK}uZDE`` z`4(>w>s$s_hIx|>`GOc%PHy3gVq6P$-4{L;#*LFD`E3}5CWnE^$zT%Xj>r6_j6#zo Y1we8j{ssZg$wdNMj6z^nZV)gA0D1#P^8f$< delta 293 zcmaE?_*ikn8xB@61{MbK$sai^7!@XKaXNBpGO#dcF>o?yPcGq1XEd06htrbLe6kpq z4XZ5!3xnO{j~t?tbGX!5of%jdT)@1wTso|t3>*wzlkag&lMG~FWe8&6VhCmsWC&r9 zX9#0ZWC&+aVu+aB%bm@bI{71q@MIpIY{h&AR)zuw9)>~&afTuWIfh~eC593Pb%s&~ zU4}viV}{DfGkE4GwlJ_Vv@-B8v@wV?v@^&ubTB9~bTX(hbTQ~Kv@sYl^i2-sZDE`; z`4(>w>l_AFhPjgs`GOc%Om5+eVq61u-4{L;#toAt`E3{lCx?N_$zT%Xj>r6_jDnLT Y1we8j{ssZg$wdNMjDlcSZV)gA09v<3zW@LL diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EnumObj.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/EnumObj.class index a870653eb46cb321dfd810b9ee72e917e2f2c170..a364610e1b595427c577410081e8af30df376e79 100644 GIT binary patch delta 265 zcmX@6cuaA_3l3Is1{Ma1$!|F<7!@b0aXNBpF|aUbGjKBKOfKL|XEdCAgVU1HVzLmI z4XYgk3xoaSU@jY07X}sv*U3}399g{>I2gPq-{P7k8N|TK5X`{E5W*nH5XvCW5YC{; z5W%3t5IMP%JDV|W@>lLU#R3LahC&7&h9U-WhGGUeh7txPhEfJ~hB5|Sh9U-IhN{U^ zc;+a!GO#kVG4L?7Gl(;EFvv1=GAJ^1F{m+gGw3k1GZ-=SPY&d5VVpYo8gCHmTn1K# zd6RYd+!$9*F5&ZKTs!#?pC#kQ$$$847=<QV@`K1SFu9rEgHdSmA27Q?KxT5NfEJ_B I<OTsZ0MX_=?EnA( delta 265 zcmX@6cuaA_3l3H>1{MbK$!|F<7!@X~aXNBpGO#dcF>o?yPcGn0XEd06gVU1He6kRi z4XZ5!3xnO{U@jY0X9gAqm&sGO99caXI2gPp-{P7k8OXrO5X8X65X>OR5W*nO5XPX$ z5YC{)5HY!vJDV|e@>lLU#e4=<h5`m2hC&8$h9U+zhGGUKh7tyKhEfJyhC&8ohRVrP zc;+a!Ft9STGVn08F^Ds?GsrS@Feox~GN>_hG3YR~F&HuQO%CL3VVpAg8gCHm90pc~ zxs!GI+!$9(F5&ZKTr>F)pC#jl$$$847zHO=@`K1SFu9rEgHdquA27Q?KxT5NfEJ_R I<OTsZ0JdH{xc~qF diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObject.class index 8bfc4202532af93206925fc097b218c1e091d832..812c2ad612d661581c94db26591e2d085df21bbd 100644 GIT binary patch delta 430 zcmexw_}_4YAFrwe0|$c?gAju>gEWH-gDQh8gC2t%gDHbNgB^ncg9n2mLm-3l<YL|# zs#**j3_1+_47v>BU^V&-Y77Ppx(tR4rVK_5HVnoLE)1rV4fw)Ytr=JtY$o^cSunaz zKFSv;>c_ys;LpIx5Wv945Xd0R5X2zK5Ik9%e*t5}<TL!1jPaA%1Z-GS8CV$7Cc6vR zux2x`Fyu_`5O8EIWZ+;ZntV=Rnq(ydD?=3n7eh6JAVUp<JVPCWB11ic5<|n}TET3_ z-pMZo>lCLmurkbG;9;1_AkHw0L5^WIgA&6W26cwH47v<68H^bgPVNwzqqv5Fm0>Ld z55qbJafbB_vJ4v-6d5)$s4;9}&|z4|V8pO(va9eq#yyk22#2s9VPIuAI!RQ1a*l{G z<Auo!M50-5Ft9S*oFp2=_+;_|5&g+cqB^W^7+4wJP7;-zd`484@yFy}qP}d53=FJ{ zj9{H&#*93Z7l=hM3QYbjX2~cr*;L$yQE2jdanZ@`;_6@)i2p|11I!kk>?Hvb-6<h6 OxlcliQE2i`2{!<&_+q{Q delta 430 zcmexw_}_4YAFrx70|$d7gAjuhgEWIQgDQgzgC2t{gDHa?gB^oBg9n2GLm-3F<YL|# zs+tTO4B8C*3_1+r47v<*40;S|4EhYZ3<eCQ42BFg3`Ptt3?`Ee_`+GO7+4srC-?AK zFuF`W$`>f=%fQ0m$H2+p&%nnJz#z;J$RNoOG+CQ}0b}^&GyIl}ag*5uY*<qmSQt_# zy9?N`W-+iZWKZr8aAYlD;9w}6d`@7RWCa5&LnQ+jLluJ{Lp6guLoI_MLmh(>L;d7h z!EDB!$u9-#6sIw;GE8USVVJ=n&M=cfj$syq62oi;b%r?%x(qWIj2RY8?hu-zxSD~L zVGRQh!&(M$hII_G4C@&b88$GeF>GYeVOYyx#ISX;tMEF;-IKovhp--IU}ZQmNmPDv zj)*bi`N<1JqFJvqurl13BpSr{c=7@f{mD(DI;^i5SQ*|-5|x~MMpT#a`{ZAuzHAKt z8CV$^z&gc@8M!Af5Q}2upZr_Ql2LfFskjZJ;N<n<qLbUj)xj(f|Bbi@m@PWlO9CXi RQ$l8PpM(~p;N+bWZUC+tV`%^Y diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.class deleted file mode 100644 index 411469cf49ace4bd992e8c4ee7013a41a79ce836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5390 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.class deleted file mode 100644 index 613e627a582057d05a9f098ac65d0ffce85df00b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4940 zcmX^0Z`VEs1_l#`Wn2s@4B1=^><l>|A{WHX0}=TkqJW*D5F}j0$-vG~3?fRn7)lw+ z*cr;%87kNrD%lyTxES~uvN;&4L39llLoGuc7ehTm1Blzm#lXkV1Tvr*M6_@*v@*1T zSnVL91H|nFS<?kFxf?|Ea4__OMEXDq`a#45c7}=U43iic1WNL=Q}cpLiZb)k<NXqI zQyCeAe6kYD67_Qu^V0Pp64s0i{K)EpQqve2*laTMGE3|j8JIOR!x$M@obyvs85#I} zGV@aXN^_G^i$W5Ua=^yrCnx5FB^G6Z_)tNXl8nq^Mh0`AlvMqa(v+gq;*``p{mi^H z{o)e+{DRcH#DYxy#NrZt*NVj4f}GT#)U?#1)V$=>kkW#jRBJ{CUXbM~&Ka3GDMhJy zj11};n6AbY0XdYZz<`l~slbqtK{BW`uOu@!H7v6@Gbtz4F)uH_B(WqjKd+dbVG1Jy zw{w18aY<2Wa!Gy>BLk0TUS4XEb53G$acVImgFQi)I|hgN<)<K-s)A&mH6sH{9yqjF zAc4*d4pWwr%7Roz1~y2rGcvGbXXd3aGO&h#B8icKJFhes;bmqGO;1J!zTCu0kHoUn zpw#lB%#u`abVM;S@TKLH7H2q?loUB9CTFBFGKhc$obz*XQj<Y`gbK4J=j7+5GBQ|d zXcF`huDD>y14liVYejNu0m$rPMh2GT{DMkG2F6rI1~sI3a0c1tmtPWGT2PQ*RFawk z*8_^v;F84TY~REJXd>ZAE6vGq2Ajj>l3Gxdnw(gYn!?B+hGZZ@+?tU=xTGjG6{Nv0 zKcpxzuQ)BgD3_6eH5rsj7#RqA5E^CHj0}vKj0}vPj0`Lw6B!veKorPeMh1?|ViniI z(!?A_1|1E8K?XBXGm4Rcy*RZ564|0y5-TWavX&+0l%_H=u&2XRifCvec@~l^tl1f+ zvNKF$WUwUGdPK@r0jDHuMh3Rx)Dm!#V@roJIEx@DC?ubeL7Rxw0P`9n16Oil9z6LO z5}_5EkcwfM8P%8mNm;4MCDx1#T*3LJMaijdnV@1s3aSaUB+vsDRXhxu3|c%4Q4G;M z3`rou1;lj)5pE3Wj0~n^6*4>wZVc``4AU8cc^GDZO6GEqNCqQ=Ry48UZq3M`0&*av zEXAGn85#Hy%3O<zK;?}%LIe`+PNkVSDXB$_4Dw(VRtn&ptB{vpqEHOWO$urGMG8C& zGZ|*FGtA~;n8PraonamiLo7oa55s&Ap$Q6}K#;$@7~I(z7Vt0xGNke_EM!>3!?2iP z2@gX!h#SEW$-|(=pw7df!Jy8_z`(<h0ul}f>GNZ7XJpVNGDIOU%*Y^&@C-N<Ks5n7 z!%{{DTS5jwQyEeUMk+-a83YgpLqds>!JKp>!I^@Qfvq61C^fHyk%0qTVu0%vw#0&h zR8SeLi!IM$<V|QKS);fNlAswGIMP!~z!eB1gD^_I1`ArFqyn%IsNl(m`AeNhe=#y} z6sMMes|iL1UE+%<Pf!U2b|R#>)Y0%HrNlHO(s_uOWKd*aXHa2aWKd;bVqgKKHwFd< z7EqF7U|^7CU<BoA21W*L1_lOW21W)(1_lOJt?dkq8yOfFm>6^z7#O%1m>3us#28o@ z#2IuMK<N~$h(V7*pMimak->mL3u*w!5Re>_W;U>i3P>6m;Tkm=3>lcfHb*irF)%YQ zFz|zH*3#a_z@(+Kje!~A1|bF(1_lOA1{MY_22KWT20jKIu#pN7ZBQc_82A~C7}UX5 z@-rASs53Azm@qJaMJyPY87!k2n2H&!iW#gKY`{$0Vg_3VJ22C}n8BWbg~5Tr5$YKo zXlO7ouYm^z#5aaut9iiIFhQ+mWN>0|CaBW_t4<eq03yc#3&Qu17_ehtVX#LsfE8}F zD^>$o(G756U}12@YJeMqJ2WPo7#P9P&84-Sf$abTyN~t;xbGp(@M7R#@CKVA22lxh z1_uKZg9n2?10#bcIE67X@G>wmcrmy`LuC&G3s}9g);0zXA8p3144hh97`Tox2x^1q zZ4BH87<jfaaA|Mw+0DQgxtoDMayx^7kl;23A+2o;!rK@`wlN58V-VfWAhsVI^a>1$ z47?1?;4~`7z|O$H5X8XB5X`{E5W*nH5XvCW5YC{;5W%3t5D9iJD6OzE$Uq&b#GuIF z&ENwz$r<VeUj_ySQ3j?z4D##@?EgXW&(6Tkz{n2vi64VI12Z_ag8T?d=B!%V7{n35 z14$fdV7nlR0~SO63?KkXi6Aur;9L_3510)M%;3~*s<n+l!Uq%<#~8GjZDl~LeTx|6 zL9~pKpYAaRKHY5$l78B{GTRuWT9_D@|Gx*09Y_$UF>o?4FcdJbG88iKFcdL}GZZt( zF_bVUF_bc>Gn6stG88cwGgN_{r^Ud+AjiPZ5X2D7z|6qMpvn-!5DJbRQ)p1IG8iy~ zfnyUCD7*~Je;N4L8Q2-+elf5zFfxS0UB4dcdJ`nqYa(1PrzNwEK^o?G8Dz)b$8dZr z11m!t0}n$xgE&J6gDgWQgCav0gBn9OgAPMGgAqeN-0`wVj#q&@-URM=eXNd`1v#FD zA%Y<inkF+Dn83c)($e0}AUl&mS!)Y}ob~|*_ALx@%NRtpwlK&;c=F2_*jbh{uz<?~ zNO*&yl7V3=*h!F_par#_fkBJGgCUrKkpUETtPD&V4xoZHiXj?mtsT@_HZAR~407n% zbS?uc!#pHo+2F>qF~oq&GDc8a1DatyK*^MWfk6=D^kWQMAZj@StB?XHVIsS9CD=$v z!W4uW334Ah0~4PkJ3~CUq~vB`WJqLSWUwq|uwq~Ywezq!SsvZV8yQ#`Hi6BDgakGx zCo{xhak4zb$?{m8yccXF@lLj8U<9?HpiV|))9nn3pwNI+XOMV1h-5S@n=&$_5mAO8 zMbZf^{RJEu!Wq&rtlh?-gl?@Ml4hv20*(xUST$o5E!Z{tF{DGo72)A+49Y~<432S7 za0D<g2skphVKs<@7=z#?J~$*&DG3Q|nu!jHRO*C;7Xvm|NDvVc;9$h&3X+4-jUfYz oXGk-Kfr%j#Tzh9Rm@_ai2r)1*m@-UeFjM1XNMM-EV6Vmr0GG(GsQ>@~ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExampleTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..f6af1d612b8215c4685498393f9bae6d833bb3fa GIT binary patch literal 5131 zcmX^0Z`VEs1_l#`bzBTg3`Oh=#heVB3?*C)oD8KPq6{Ql4k9W*L?t^z6-c-mq^gFC zp_ZYJouQtcp@E&Dk)5H5i$Q>)h=ZXSM7MA;v@*1DF|;#ufViDp4EzjTAidonq6cJJ zFNoC#V)cWF2_Qo!axhF{XP69<nF11=3SvzI5!2ZjW-v1Fm*i)s<^`7&W#*;Fd#6@1 zG6?x(C6*=X=OpH(>qEq?85!7YGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR9 z5|eULL7MZE6LZ26i!wocs31#8MrJW1gPu=Hs(wjnN>OTYN@|{dW?q_pafyC@L26!N zL8g9Uaf!ZbMPhD2PHISLK~AbQBLgqUP8H{j%$$^>)I3H87Y$6O5o@M@QdVkmi8aXa zOa%sv3`_-vj12lD>Skn+3@Xhl$;?d+%Ph`J%1L$1%gZlGEXmBzD`sby#mK<zoS#=* zQdF8;l3&Egz~h;hms;eUlUQ7wTFl5`PtZ2U;1Iw36eLqskj%4YWMIil%uQuvU<St% zFEq3uK4WBHDXA<-Wn^H3#2F(4OLk^n3L^t+2q=OX8Cb#L$jHE*SDFiEf`gP<L(`Ly zfiE|)(j&1fH7K>bD6<4)gN9}lBLiPrPHAz5V@XMob7FEvDkFmkSim_yCnq%-<Y}ld zYjRG0UMeGlfrchQFG3v+i(-~Ma6;m8tw>HS02x`#$iR}EUr@=&z?jO&poSFT&LB(t z@=JnC3kvd!N>WqcdO%4fxFj(-+c&WQn&ddrN^^3Y!RBzeq!tvVCMTAprZ6&yAsL7e zw`ODzE-6Y)1!?fh4=GB_D^ANV%4K9=O$H@CMh3$Ef<~P+BLib5BLkx+C_ai(QyCdJ zU<NZXaAX#%xE7Ws<}fnoXb=o3n2Dg6U@J~70Y|zhmMj2D)2wBQIi;Z3PlqZL(a=Ql zDkM!<vop+QXPCptU`edyi1e)jPDa*@3<AZeCD2HOr930To<Y$8&V>T$80HufpMD@# zTeCCFCC@kD9AM4JAdT({l<4Oyf@Fx0d`1RsA{+;cGDZfj<itF9ZbFR<sM8r4ID<3O z^Abx+i&7aGGKq~58)6k&+gT$e0C46370K3&3|ztarA5i9ZkeD0TM!yE;0&n;D*1UB zG#E4)8Po|C)=<y#FwA49=V6Fuh~Z(F&#-`p!IeRihrta*xHDukGUyO82iXBU4DJjb zJPZpNLfAoux-;Z5GH68;?PW#=6_5`gbr;ynSj!7W27ZJx*P<d&SuKtbfn*k^(#)Kc z)FMU(d9VsA1#ls!ke6SgPz)=96w>mG6nGdGF)U_hSi-}wlwlb=!*U*m6%6q_3@br| z1}Id5Kwk0&5kU;uJPfNCR`W1KfLM_XQ9KN44C;&w42%rAM1~V2`S38T0U478GA06K zv_FFfBZDx)6JXziBAlIJEhB?1A;Y1OiIm@wY92-g0ffPj&|zdSC*4SJ5ki(uaCT*6 z-~boL;EIc*IJE>Ss!O=|fqKu{6I52R6(km==9Mrquq750q=M>5U2LT)QtpBH8JZ$M zWgsFrAko3dz>%I>0<P&98H7=aUa+7wN|FN$F*2~Hr<VAED|C*Me25iLb0C$Dj)o^G z^^P#e1t6U$MVKMU(Zrz0z{$YGz{sG=z{tP?N}mi23{nh?pkjf6kwJ@rfx(!8k%5tc zfq_+PI|JiJ1_lNu25klg22lHwfkB*sg+YQrhk=2C2cn2UmqCvKl*IKJG@%BVgDqfS z;M8K-%fPgiff?NpMFtKAB_u;Q;f8217%(t_T@l5=%)rdRz#sr}g_ia<1{N(H=4}kD z2(yG3SQr=>v>8|!bQnM;@H6Ov%~XKsgPO^}Ai!YApbmDd0D}>OF#{8W2?GOI#DamD z!7`eGshGj4n8BLC2F$btG3~%i`(g$M1{MZK1}CV`bf7`Q#Ign+E^J_<jlot!!h{KG zH6w#FgA2M&W^|oaSarI>LlZeV*bu&lL<huq*rLM?s{!oj2DmY>Ft{VRfEDg`cLon= zRDgWX1WEx~+Zi|xFmU>4Z-DzA;tU@K4hCPaDPjy@l~7YS7?>D58T1$!8N3)67+4q> z8Tc3&8N3-hprNvdfd#DIS!){umyb5%Rt9dZEey=Z7zDLJ^fm^b0}Q-d8JM*<`0Qrj zkKD~55V@T}P)KMSgRs^%29a$HqT3jRw=sxqXAs{Hjs^t=MFu_wW^jU)V_;`sU<hGg zWe8>9VhCdpWC&-FXNY7_WQbx=Vu%Ji7nD|58DyZ2RANwM@L});o8%1jf*%6|gD3;j z9|n1L2G0MW_-AL}WME_m`^2BYgMk^GT=hXR;7qfPK>`sxki?MzwhNLtU;!M!00N+t z2vQRW&O$-(fZ4#n3{KsqTH6>TeL!Jxj6sXpRtCh{w}?R=M9UcY=^kU?)7{1(<)^JH zvyFkZg^6+b|9jxrfdqjX11AFmLlFZjLoovnLkWX8Ln(tCLm7h-Lpg&wLj{8_LkWX1 zLk-w@S_~`<at!<o!3-e`%nW=CstlnFVc^&?g$4yHg8@T0I5t6n!pp$?mw}I+fs;}0 z7XvE;BSQq-_3NRoH$if}Cc^b{S~A-hq+yPiL3aFo49B-KurhQo@Gx{Th%<CC$TD;@ zC^Gags4?_1=rD9L7%@zQJ6;ya@hWh~o4_5fkJa(AAjh*XL^4D{(_}OQ6WG@>TH4zg zWM?vnYHeYV(>}n!xrIS)83Q}Zat0P~9)^T4DDoH>rh^>;N&7NT3mL%4DujWN0Tf!S z3`|lEpmH^uAqHxZ9n>N=E$yuga_AXzJ_9Sm0wiPE;Ks5s#DYsNMus?scxV;{WhhXY zEeLY#F$OLWwVZ)fNFJ0FkzKkPY$PNp3POzpxsRQJiO-RpApu-Aax*Y8Brz~DSQax_ zF)%VDGo(PBY|p?94jXnYZPc<DQVeWnU}M+<wg3_o>`)6B7}yy+q4i2CLmJf0ppqEm zW=<{UZ4A-}7!*Kmh14~WP~8JI3gT8!0S~HYKp6()ybOr*tQi;?G8xjK&O<R#5sQgO zv6#rnkj0P<H2{%|w=*cAJLe>lW>_v}WXK_+h(C*@6IwY4I5I?Fv347SGP<=wNSdM6 z3OF(ZVbzRL@?h8O&yWp`1B8dSF{lt>GdOvGVkeM+LBNs08>=fMi7-gOk-;6SE4YZz zjHpe(#^hr03~9zNFf-(VtF(NE0x(_3U=D5<F*BGl%w#ZA<77x=n8{$T#>tS*Fq6SS GjS~R)2s6z9 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExamplesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExamplesTuple.class deleted file mode 100644 index eacae60d0dc41db557e7394c036e2bc25d751eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1906 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$227RBDRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3w=ip1Q4oYdlw z(t?~+YeoiMkfkcl8JRgLMX7m=4BUC8xd<M!hNdSY17B`prAJ~}YEWu<QD#Xh*o9Gy z418%hrNtSJB_&19iOCtMj0_@R0q6XjoYdr!%=|p4Fl%y7eqJgggQ12d$<AZR1BU{a zYejNu0m#f^b_Od(29C7SoE+!;f=WgPE|=7TqSWNXlGGGN2Fak(ypqh^)UeFr%%q%D z$Gp7!l0>jJMg}pTti-ZJ{hY+SbbW*#Yeoj)lA_d9kYRrLAw`LK#cBCPxr_`PFi}PZ z&LW7%L-H9Jw2AP9V{nLHehMgbxsns};Grg>p^4-K|D>$c<PvK}2F~Ej^t{B9(xOyG zhD?G11U1`+ScTSh)<~8*gJJ@dY^)g>xPtRbi;`2_GQo)oC0*!&LW+lhmw}ImK@vnr zfe2{^bw&nVk`fpXgBpW64}&U$3=e|}h)@6#(hM?;4C;gog8Gz^K^Wv3NW8(_&&Z&H zChC`85?oqPkY7}ingUNPEQ$=Q4BQNi3_J`B41x@dATKd6GVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^dgwkk diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Expression.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Expression.class index 4d362a8efad17455eea3eb3f81bd97e30b9ab714..9ba5670788b159d85736c3a01c6ed924c01233c3 100644 GIT binary patch delta 480 zcmZqExS+lvhLO>Jax9~bfVE~ABLh=`0f;bUWYC)I$fh{?0wc%ddyM^@907?X8J;Dn zxtnX4GMNOpi&INrB8&{W8ZfmYU_-dmk!5uzGcqfK3}UxtXPC>#U^&^5O=I#BR$(47 zBz2olvX(M2YD_L<)YzQMF_DQ?oPmWwVsfFd@MJM=T~<W~4hE&k9^CG{+6*iVIt-i) zx(xgbdXwjHS1}q-4&)J?tiz+iXf-*I$A;B`frY^ltaB-kCaW6*3xhkD_l!r6)rWzD z!FRGG?=;B}23Cep1}=s$20?~!26=`^21SM_1|^2*$tQTT88g5--1)K<ix^lLiWztq zN*Kf$N*UxB${3Uw${ExdDj0MbN*Ih8Y9?Rio1@syz{=3Uz{AkVAkNUmAj{Crpvcg} zpvKV4pu^C~V8k$S@&x`C#_5wq1%g=TGq5r&n4BXJ#JGC$et{U)%?xY|TP7<AdNJ;q zoGlp0cy#h!K^w-CU>EQTsWG0NY$9aCC^WecN{UWCETj(N3ky&FCu9m@35ibj6o!bo Nf%w8QldlLH0RT4Ybh7{e delta 493 zcmcbh-lnl3hLO>Aav+QF<N`)bG5@5j)Z`Lt%`ip=rUC;HVaUi}F!>{s;$(de4mODN z<V%eG{Cok4B^jP2sksob%~?#DOk#q?sU@i5j10yaFzpHurC`$q(=k;VO;%vlhS}lG z>LetCp=k3=)>0-$y~%})8c>Cs%{eAAv5GOUFo;h+%jLkTz`((vI9Z6>omY#2g+ZHv zlR<}ppFwwW8g~_=(d38RmW-B@A99OMHsDcbwP#>qaF`s!W5epoz{21*c`lD5t2YA& zgU{s0JkunD8CV%Y7`PZh83Y-^7~~lu7!(;I8I%~JCQstcW=x;_kGD>-kb#w<h=GTp zm_eMOgh7s>ltGE1j6t2DoI#hNn8BE#dh%SpIf`uztPJf8JPaKS;tZV(vJ71eiVWQh zY79LLIt(2QMhp`sNAb5XPMdt6KZtc611rP)$z}pUjH@Ph3dFE(Vqjy~Jo%M?7vt{9 zrh<WtM<%xm+AyA&d_>Ta@yz6Zf;NnTldXk7WCfVqD&)Z^IQbu#Z7u8uk`<PjJWtpN E0IE8Hf&c&j diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Extension.class new file mode 100644 index 0000000000000000000000000000000000000000..52bcba061155fba26afe2e1d3c246374c3daa8b6 GIT binary patch literal 4694 zcmX^0Z`VEs1_l#`m0S!e4EbCP><k4Uq7cL_0ujX^qJ*8H6eL{6$-vG~4k9YJ7%Ca6 z*cqzX8EV)WYS|g;xES~u@;MmlL39HbLnA{I7eg~c3y9mw#lXkV1~Q->M09|R>;$p8 zKtwl)+XEtcK_>Tsh<*-+2_TV)AO({^#AJ4cDeMeW85#IX^0QO(f=h}r^U~wJQ!5!6 zgnY6R%M$f-67$maA>!7I41!=~{z+M>$tCe&i8-aIs0tx6){G2nHko;uC3cJq%o>_u zj0`N!`6;Q44E#Qsd8vM-xk;%-A&E&jV9oi-i8*13MVTNzRFI`4BeR&1LE9%KRllS( zr6{#HB{fe!GcQfQxI{m{AT=+sAX7iFxJ2Kzq9ir1I5R)bnvsDQWTA?4MrKY*QEDC| zgSrN$2arUdE(JM`slb4dfvLcdkwG%3G_NExH#ID?I5R0H)iEzGza+6FGe57Gonbm7 z1GjU2UU5lLX>v(^5hDYSXI@@vk#kOBadB!fBZECb*E$A=_~oY{nW}<ho;4!_OI~7b zDkB3kIQUtiq03TIS&+)ezy^r|Mg}&B!x<S^vNQ8i7#UbYKoQ5tz@1l`i|{<NhNdSY z17B`prAJ~}YEWu<QDzCqXbsIMMh3pLoYLY9$C8pF=fvcUR7M67uz+)ZPEKkv$hS~o z*5sW0yi`U8T@6iwenXB4mOOA|bGcR|rxt+BD`sS1NzN~*WMp7WWn@r8iUnto4SxA0 z!KDQS`9&qEDR4cY7!58-OwRUAEPy5pj<nL89A~gOTrQ~vMXAY&C8;Tl3}Q$IBE+p3 z8H7uUQd2=1{PIJJ67!1F@{4jA8Ca7+X@rr1u&1CAX3faJn90b%=*h^y0y2@2fdfQ= z3}$5D$ShWIEi6sUVPw$JAQ((A6G73yR-9S_j%raXDHW71S<4_9j4d6iP((u$$*YhQ zVa?7kgPma}BZDQemLpQN3OMapGcs@#r<Op|8;WBfY0Vns7>;zf5>#hE)i5$}7D19( zNIoNjHW5h%78Z;QT*--f@HEO9oSB}NSW;S)%E*vOte<R%RcLKzjTD67<OeEvtQi@& zg7Zs@l2hF>LB$duJU#1yN<kh5Ee35Kh8Tue9)=W#R2~L55Z4_<crau#GH4QAQ1LK$ zFnIDX%wh=TVVDgn=c_>?>5L3o(L{TJkwFFIC`i!^_5#)%#K^#pQ07`x1S+${5h9S} z<5ZfNlagA*$RH0^VWj}h^9p(SB?`r`JgJbDU!=gpFo$6-JHtF4hWQK&*cle`Ff3w7 z;9*z{BD6r^5)AT}4~Ph6$mC&I!myNwVHv}69)?H|H;N&ehe3@&orgh#L6ebzfrlXj zBpeA+AHd+r$e>Or2%*V^kwF;Y2e9Ws@yE`vf|0?NNF$Ik08#<W$RL0)7!o*)4CbU8 z3C>fD3~U97MX7luj0_y$;s#tLu_YE1q=E`<U2HiXDP2OWhsKRHipwC`jgbMAAHj7G zBZDwXu>cmdMu~i|5F-P7dTNOuxQgK@$%j}0$@<`W160lvodi8$MFLc-j)o^G#i=35 z!OEb>z|Nq;z{sG=z{J1;N=Xb13@o6;#K6EH$-oH8pbU%*It&a9#te)Mj0_A6tXkU{ z7&kI7FfcLbGB7Z3F)%SOFo-j-Fi0@yF@RDaSP_Fhg8>5r10#bWgErIvZ7`n!Su-2h zL`5WxjBt%w3`Pu0V4EWum>8HD7#R3LHfw2bV_?$K*~Y+(aDxy73j+g#76S`|HUlSv z4g(*9F4#x~h&HH^3=I4X#tiCUEBP5r7&IA}7)%)$z#^6m%nVl13{1rg*2N4q47OmV zT`_|_g9Di9Sj^zaz{23f;0*PQ4m32FnAgCA0^%DZu+=<ZYnY%`Gcvd^xDwQ9iB+c? zJOGhnfCb@uNDSCBurN3v8Ndp++8wI_tmp=~GO#eXVKu;m!4n!2P7I9T=;qSe&cJqn zf!#-Y1KjrzXLvJkF!+E?5re3NI)j6OiNTA(fPs<08=S%z8F(2O8GIN#p`o&efd#DI zS!){uhmSVnRt8S3Eeu@87zDLJ^fm_W0}MP{8Mw4J`0Qrji`>n?AGw`DKuB;KgOJuX z2H|ZCBHI{*wlRoqXAs*D4tfO!MFw65W^fvnV_;`sU<hVlWe8#5VhCjrWC&xBXNX`> zWQb%?Vu%7e7nD|58DyZ2RANwM@MZ7=o8%1jf<FTTgD3;j9|n1L2KN7;_-AKeXJBLp z`y_zDlYtqWTJ=FP;C!-;K^zf0ki?M=whNLtU@;WP00N+t2vQRS&LzR{fZ4#n3{Ksq zTH6>Td_ZAwj6sXpRtCh{w}?R=M9UcY=^kU?)7{1(>8GtLvyDNjg^6+b|9jxrfdqjX z11AFmLm>kzLlFZHLotImLkWW%Ln(t2Lm7iQLpg&kLotIfLp9iWpo}EPz|RoE5X!*J zz{jA<5XKM=jvZ5IP_Qx>Fhqc36BH=C49tHS_}CfP8RdR4ure?*M8aLa9_o4%B-d*q zTra03vyDL-=6D%o$KS_rd>aERLpuWxLkEL6LnnhQLl=W0LpOsOLl1)vLkEKq!vwhF zWsw}O0(ZO#-0}KY9WM)VJPSh<Lo_r^W->5=eXXUXy`4dJCWErp76v)(0}Sk2803~Q zh-z(NkcaT(moc!jEN5T=mj#gU21O+U!!)pyAUQz`YCWi+@?r>OU}OM=9V-Kqh6AWz zjbVs|T5AWjmQ720D}x+*Hl4@7$}k_vST?w^Yz%SWvW$@-o*@C6VLhOUQ4r+xV+>p% zYB>X|kOC-SBD-`I*homi6oeWHavwVb6Q3hHLn64O<Yr)GNM>MUuqtM-W?%$0*|0fT z9^J{C7+4uLgUyG81geuY!A?wLNQXKZk$<)@$b*~-sb?Sox({p&#F?=C1Ijr_F0)}^ z1T})7E<>2Mok0=Zv_n`-V`Ru8qNqNGq!U`m3pj$BWEj?NV^Bi3RtQNm)Dr@Z48aVU zSTtjlAlNkrFn|&(sG3H2cpHN<5jKM(78JNa3=9H}3_e(0Awh&e0*(wGSY5$Egl0so z05%3QEo@^T%@_t|hHP-vl*5n<rt=sq7#J9Y7?>E$7^X3pt8p?UF-&7{RO18yD1D{? literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocObject.class new file mode 100644 index 0000000000000000000000000000000000000000..4d849dbc2b772bcdbc6e84d1a59a24ec5ea0e656 GIT binary patch literal 9275 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.class deleted file mode 100644 index e78987cc9b68c4d5303e1b214e763669857dd8fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5559 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 Bs~rFU diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Flows.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Flows.class deleted file mode 100644 index 89d4d64993ee0f2ae8d3e79852625285a881c820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4538 zcmX^0Z`VEs1_l#`nOqD^3<>NEiJS}^3`txJ91O`IkrWV-3L?_j8PY+*86X9jTnt$Z z+3XBC><qc=40-Gf`CJVA3<(?z1t7YRi=l|2n2Vu=p%la|<6_`rC<p1S01=fS)2cwM zY7naiMAWh~)PY3mL7WB<s}V#ru`@I?GO*cX=4F=HF)}b~XofK|usG+Zq%tz_`();& z`jzG;r51%GCgr3uG6?zPCnx5FB^G6Z_)tNXl8nq^Mh11ClvMqa(v+gq;*``p{mi^H z{o)e+{DRcH#DYxy#NrZtx19X)VrxbQUXW!f&Ka3GDMhJyj0~n41hx7*mX>6I_4_Af zr6!kHgPh4!V8F;=M7mx^2Fak(ypqh^)UeFr%%q%D$Gp7!lEjkC{JdgzhE_%fZs+{G z;*z4$<dXa%Mg|_wyu8#R=bXgi;?!bB277`QItGXM<)<K-s)A&mH6sH{USe)4BZC0C zrx+PnN-7Id85vlzGxJgy8CbzV#K^#%SDFiEf<ud0L(`LyfiE|)(j&1fH7K>bD6=FL z9CJ~O418%hrNtSJB_&19iOCtMj0_@R0q6XjoYZ8H2cg2O$vOFXsf-Mo8kz*X0}ghu zv%#r?%e5jowE$#RF(U&@a(+Q2BLib9BZHbxR$^JAeokUuy1p~Wbie$P;L?JE{GyW7 z6u2Hx^aqzDCTII57C_SvM_Or4jx*RCE|=7TqSWNXlGGGN1~DW95#rX248kQvsi`0h ze)%CqiFw6o`9-;m46MnZ1jWce*hA3xv1Vjo%w%L>^aO=_QEDn90|(4tMh1?|ViniI z(!?A_1|7o56K0}j6eELhacT)>%nGMt6Ez_s_|eU>W@l()WUwR{ZBREM(l#W=Su--o zVQ~veP;wSQQdLMkBZD>(PJ~)z&B(x&oR|ksk|G+KNKpvQxQq;(!I|lKi6x~)sf-Mn z#CpSqScTSh)<~9u6C$Xr0=X?XzqBYh)h!cLl5v4kwH_$R@-Qefs4z096Dq!-zT{zO zXUO4U=wRsNVX$FP;bE`^5q1obj0~!Ti~w88!(hi?&%@Bg;LQ#)$c`bJkwGh(X#X)X zsDNBeD5Ehl@FSGD78QX?GI4}Ra7j^SUb<6hW==|K5hH^<ScR1WxL8og%P&zVhGkua zwEQ9k9)@m)9(IOa9)>=Kes+clJPZ>VCh;`)~(Q+OCWL0)nK5uOZ@JPcDArtvWN zgIEC!fs70WgaQUVk@GN22bmDT5D7BIo`=DW!Jd&p7~y_+#IiHYU}Uf*WIi<RkTU~v z5pPb0en@G<0WNjG1v5u+Y6-ZQW@OMMzR2(d)nsf1iAAY-C5#Mgi3J6zpt4_A11S|l zBFh>%H$jA;@n_A*Ab<!ONJe91;7Cs`0oPiL48kZm5iDqpl0d*hj127QsU?2k$_X{^ zLTs}Jm5})mHY0;5HW!9Lt%U@Rj)o^Gr7@_C1P35WVPr^h+%PCIa4;}2Ffu4HFfd3k zFoN<o10#bf0|SFG10w??0|NuA)^-NQjSLJ7Oblua3=E()5d(u50}F#VgE|8P0}n(I zg9d{p0|NsigBF7d)Btm^!3+$XS}c1Rn6@%7qZ^{Yz`>x1WC$nR5M>5!1}3m8+!>e| zm>3usxIwPa(q`Vqz=AM_kAazifkBIbg+ZHvi$Mo$lo&)g)F=i9ZU!9&T?R%5Jq88_ zIR-`sBL-#$<7fuPVg?fiQz&f)rp*~x7%Uhpp|00~dY_494czZ+V80rI?Sc5432F}` zgB61{x=v<vofcSi+Q35$ImlTN-h>3X9Rmx4J(2;eaI0;x8o-8bfC~c)gDX}8>=^8! z!R^Gr2o66kt?dl#2N*bfv^T(g4{?SU0|$dQ*c3=eb3vT}N=6P0nhcB#jtmS8EDVec zybO#CP7L<YP}#%40yf!MYa0Wnk2d301}?2F49v$E1hql*HU{nk3_M#In6)?f>}KGL z+|9rrxt&2kNN^j2kk&Q^;cW~e+ZcqlF^Fzw5Ze!q1_cI123`hcaH5oBU}s=p2x4Gm z2xj172w@Op2xX9G2xm}ah+t4+hy*)Vfq|KUl|hC9;z%V1MFwXE7qCgrP%pSLFffQR zF#TbWXJ_E}4~l<w1`Y;BcCb&}80;CC!AVjdBm>SE+Ze<V!2?MgX<)k`i31ix?hGIR zN`N3W9^h=^2@jYJ49pBH3=9mWTH6>Td_ZAwj6sXpRtCh{w}?R=M9UcY=^kU?)7{1( z>8GtLvyFkJg^6+b|9jxrfdqjX11AFmLjeOTLm>kXLlJ{GLotIKLkWWtLn(tgLm7iE zLlJ{9LlxM0pd2H|z|Y{t;LX6yz{jA<;KSexjvZ5IP_Qx>F!+IE6BH=C49tHS_}CdZ z80CI3ure?*_`_Yl9_o4%B-d*qTra03vyDLt=6Gpj$KS_rd@BPhLmLCA(IC#y!63`f z$)L#4#h}K}&7i~3&S1pQ4|lvQlH*n2jyHijULULDWkHT-VF+Ldgr-R=1}3nt*|fB` zGsvLl)~R6YAgP=UYBU1_8-oLbH#h|ZF=#{00i_I3A;pefKyiVMpUc3;Fb~NvcDP~e z3=ZJJiIE|gAq1KQjp4;6^EL*l0}Qh0No*O|C`b~66`7#K#m&IT5XQjBU<@kS7#YGD zLZHq=F;NbSiR-bL$jA`E5D7H^k>a;A$fG-FGm>Ulif3eqBBD6lj-(S>kP0}0nnD=X zZevhDw^k5IGt^oEM+Q$UZpM;Jv1@i?h=j%g!o%Ab6p64IT)RLsw}2yq6ING95Mhvj zBZD1QS8x)c8By|rjfuwM8PbelU}lH`7yq#gabP;0!H|K0L5P8gL7$<8!9b0ZA(Wwo I!CZ|K0Gkt`E&u=k diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Get.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Get.class index 76a129d2d40d5848383420b37f2526c820fc1720..1d26075072f6ef5ca160d4c43b0b75cbab714861 100644 GIT binary patch delta 299 zcmZ3byh?e)EKXK&1{Ma1$@4iKSQQyK7?dVI;dJ8EW?*5^Vc=rWovhE5&S*6GBA4jo zHC!r;mXj}X*|6F(urN4Gp3f;dS)E&*)s=yT!41sI;MQUFX5e7(nLLwwnq)8oD?<na z7egq6AVU~~JVOM7B10sD5<}Ev51wqs^vPRz>J$qZSQ&~Kco>Qq#2HE$<QPgBlo-kw z)EUYdbQy{nj2WsY2lLKRY-3<$XlLMI=wJ|M=wy&(=weW0=w?u3=wZ-d=wL8nm@rv@ zFOPBB<a$02)_DwU4D%<S;qzi#K3SYUka5H0Onw{2EnxTU=2v0dG5G<%4WrQH2Lhs# gjRe%8tb8zQx_}3m50aM^bYm2nEGsB8xj|4103FOk{{R30 delta 299 zcmZ3byh?e)EKXK21{MbK$@4iKSQQvJ7!)Tz;dJ8EVqjs=X5eDbnXJ#1&S*IKBA4jo zHC!r;7LzY>*|6F%urSz9p3f;dS)E&*)rEnD!4=HQ;MQUFV&Gu#o;;I#nq&|ID?=~? z7efexAVVmFJVQ8xB0~g&5<}!<51wqsw8>j|>J$qYSQ!c#co>Qp#2Jbi<QPgAlo(1G z)EUYcbQy{mj2WsX2lLKRY-M0&Xk*}EXlD>-=wOg#=wwi2=weV~=w{GiXlF2D=$|aW zm&Z7Day_31>s$slhIy0E@Od#Vn=H;B$hdxTCch2iX0ZEq^Q$m!pZtK|hEZ_x0|C*= gMgr<kRz8?DUBCm(2g%C{x-kk)mKBtl+#sk00R10C$p8QV diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.class deleted file mode 100644 index d2011f6f7784c66ebbb9c41fbdfe2e2712eb1d6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21_PgzRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3w2kdT1jlEjkI zVvzaPj10UWTUDGhGILUjQu7!YxbsSL5j<uMO;1J!zTCu0kHoUnpw#lB%#u{F6QdXz z_|kGpi!&TcN{XBllQU8o8AQMW&iOexsmUdo`FT)b*5sW0yi`U8BMnW`-N%v#4hJsR zisaM+kfFuw3|5Q`9BHLFInMb7m5dBrE~y1YsmX~YsVR&Ml0l_;C7HRYVVT95Nja&G zd3pIIiC}Gv3}QZ6iDilUIf;4c`UpMNj10mhMX9ME!~F6?iW2jR)AEaQ85uZWqKpij zMG&8d<TEm86X6TT;1Iw3lvHa*2Cn49Jb18)XlNoi!9OW0HMzu^k%2QfGd(Y{q_ilN zks*^{2tm!ZAy%Qaoi&oB&Y-9OB^;33g7Zs@l2hF>LCH!OHD&05f{KTMmw}ImK@vnr zfe2{^bw&m~($W|YgBpW64}&U$3=e|}h)@6#(hM?;4C;hTg8G$_K^Wv5NX)@~z{sG2 zChC`85?oqPkY7}ingUNREQ$=Q4BQNi3_J`B41x@dAU`oMGVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^{DeLe diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.class deleted file mode 100644 index 0eede4c77b9d58d38c0e3c6a8c73f0226e042519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4950 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Head.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Head.class index e53f0de3ec6af87f86c8c5f38c7024e62aeaea07..f3111f1a5dcde74401d571d6d41e55caca1aeace 100644 GIT binary patch delta 307 zcmZ3dyiR$;JWf_|1{Ma1$%=x)lecl|vMMrgFepua!Rf@Q&A`H-!@$L$JK2~kozZCW zY%WVi%gI-{Y*_6XSQs3@IyAX8SzQ@e7~H_TEN(qkZw3wqpUHE%r%47gurh=&a5023 z2r`5*$TLJRC^AGcC^1A$_TkB9Ob6>Y&6BNI$iT`_#K6N)%plHC!XU>`%Amwh#-Pqn z&Y;Us%wWt=Jvp3rj$#`FD?>X24?_ooI726cEJGKAB11QW8bc3*4nqfn5yOPZB7Av_ z(<V3bd9co7U}Km+`2wF8<MPSU{DF)cCg<|oFm3_cxR+mzamVB*{5Fh2lNALZr0C>g f0d){xP<Zk>0aFl5Ky>m?sF)jwFDNs)MNkU>h^j-5 delta 307 zcmZ3dyiR$;JWf_I1{MbK$%=x)lecl|vMMleFepxb!Rf@Q#lXU#&A`Q=GufCcozZae zY%WVii^*5HY*_6WSQzZVIyAX8SzQ=d7+k@;EN(qkF9r?<@5ytyr%47eurdTQa5021 z2r`5+$TNg9C^AGaC^1A%_TkB9OatpU&6BNIz`)8-$iTx;#30U4%pk{5!l1-Z%An3r z#-Phk#9+)&H94Gjj$$hVD?=Lt4?{bHI70`6EJG)QB10F08bddO4nsSG5kvoE5xzXe zsgs-eJXq&4urbV=e1Xr4aoJ>P{y@g{lXLlP7&n7$+{>@VxP9^yej7%?$%+CHQgm{$ ffI5gTC_H(cfGLP2AUgRcRLl*;7nGUYBB%ubX7EE; diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObject.class index ace8f44ef893bf342c6161123c38fd6b07bc2253..d9e22a51d38646e83b0cb1f8c08c2fea3b41d8db 100644 GIT binary patch literal 18164 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 VC!-YOSw?9!PDW$Kvy3KcoB+q)&P4zK literal 17522 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.class deleted file mode 100644 index e81c7b4dca699cc28de55a1d272a26183c301557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5375 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.class deleted file mode 100644 index 94c5d5f5d6b076e9c8e4db817155a41fc5ebed5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4934 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeaderTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..39ef9a29e70f715720af71c8962f023c12ef9fad GIT binary patch literal 5118 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 F0sxI-Eg1j+ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeadersTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/HeadersTuple.class deleted file mode 100644 index efbd70089794c522cd2530bdf89ec81416874e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1902 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$220fpYRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3w2)Wnq3qT-O! zf}B)qMh0Gxohr^5nK>y%sd<bH+<B$B2p+SBrY9o<Uv6ThM`BrOP-=NmW=Sg8fl-VM zd}%qQ#TkwzB}LAO$r-7P3?g6w=lq<U)Z~)P{5+^IYjRG0UMeGlfrciju4BmqhXI#s zMRIBZ$jD-L1}jDej<nL89OwLkN=61Qm(+ry)a1mH)D%Vr$)M7_lFZ!Hu*~Ajq?}a8 zyuAF9M6fnS1~H$k#Ii*FoW#6zeS{usMh4-MqSRE7VSf1`MTvREY57IDj0_wwQAP&N zB8b03@);SliSUDCaEM=i3Mg>7k`wdbfhMA%iR1+Tq^#8B5^F{V&fv`Syu^~yqEtqP zOoHJ9HQR<*h1Pb~NR~Q-A_A0XtQi@&g7Zs@l2hF>K}kvwIaTO^0*Z%$mw}ImK@vnr zfe2{^bw&mqQc@QWgBpW64}&U$3=e|}h)@6#(hM?;4C;i;f%=n?K^Wv1NUXtK&&Z&H zChC`85?oqPkY7}ingUNNEQ$=Q4BQNi3_J`B41x@dARjR>GVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^-2*%) diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Implicit.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Implicit.class index dd4ffc57b1029e2958c9616c6c737b97fb793a9a..cc543e3eae8a81bc4f5e31b3918f7ae4a9f7381f 100644 GIT binary patch delta 307 zcmdm|yia+<I!;z`1{Ma1$%cZ$laF!gvMMrgFepv_!Rf@Q&A`H-!@$L$JK32lozZCW zYA#Dg%gIl<Y*_6XSQs3@IxM+0SzQ@e7~H_TDsDYiZw3wqpUG>vr%47gurh=&a5023 z2r`5*$TLJRC^AGcC^1A$j^W8>Ob6?@&6BNI$iT`_#K6N)%plHC!XU>`%Amwh#-Pqn z&Y;Us%wWt=Jvp6sj$#`FD?>X24?_ooI726cEJGKAB11QW8bc3*4nqfn5yOPZDtvj2 z(<V>m^I)CFz{W6t@&i6E#^sZ>`2!g@Os?g(VcY_?@hra@<BrK+_-z=4CL0PsNYTm7 g0_q^Xpz!2<0;V9AfaqjSL5P?eh%YEJd5WMG0KHp8&j0`b delta 307 zcmdm|yia+<I!;zG1{MbK$%cZ$laF!gvMMleFepy`!Rf@Q#lXU#&A`Q=GufFdozZae zYA#Dgi^)&9Y*_6WSQzZVIxM+0SzQ=d7+k@;DsDYiF9r?<@5yVqr%47eurdTQa5021 z2r`5+$TNg9C^AGaC^1A%j^W8>Oatq<&6BNIz`)8-$iTx;#30U4%pk{5!l1-Z%An3r z#-Phk#9+)&H94Jkj$$hVD?=Lt4?{bHI70`6EJG)QB10F08bddO4nsSG5kvoE6}~*i zsgo!3d9co9U}Km!`2n97<Fd)x{DF+?C)e`ZFm49hc$Qy{ar@*i{5Fh&lMMwRr0C>k g0d){xP<Zk_0aFl5Ky)&vAVka!#21vAJVj6o0GpvinE(I) diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/InfoObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/InfoObject.class index 4748c7e61b3ed1e1a1df48c54927b7d4a4fda7ab..a4be59e7efec7aeb59b853b3e07c2327b862f70f 100644 GIT binary patch delta 950 zcmZ1wcr9>(r07zHD_jhW3|F}rL>R7tSl782L?-I_b6*3AJOhc`*x2!aPn}VLp^JxM z0iz-h!%2oEJPap5td$_v3J_~Gh_#AQadSU^0y77DX0dB-K}qH0w?ej){|a+#wh^vl z3H;8$#K6SBz)-WBfiZGB1Cx)|HU{Qx3@o!4c(fr*)^M$D3~UG?wrvdTAR!Kf5XUwK zPLL4SHU^f--^Fd~tr++i7#JiNI2fcDgczh5q#0xwR2gI$^cdtAEEwb&92pcCycrZ3 zLKu`7q8XGK(iv13@)%SZsu<K6q8S(%#2{{Bh+&9jU|`^2C}D_Wh-YAANMK-K;ALR@ z!ywJhz$gR)44e#!3`q=(43P{B3{Rn+k<Z%AAQHKqK@{X0v11I}Ag_pRV-VNc#vpNw zfqU{UiO_V28}%4C7z`Nr84MZ38H^a@7>pUz7)%&+8B7^W8O#`L7|a=57%UjP87vvX z7_1m#8LSyH7;KT;m<4tj$c;&0*CM%5oSi|0k8g60q%Ny70}F%8<av@2yuJ(^41NqE z4E_uX3;~mwrQ&5H8CV#i7&sZC8Tc4t7=#&O8KfBE7!(=e8PpjPCf7^7VoaT!C2h%= zGkJ-$4Qmkt3q$ebr_wg86$~s4m6O$E99ioaI2h_D=g3TxY-3<$XlLMJ=wJ|J=wy&* z=w?u4=wVP|=$$Mro6R_Da=UDu;t~c{hNTQV49ghA8J081F|1%vVpz$b&ajF>mth%$ zF~hpaYI1WFcQUXt>|)?y*v%l$u!ljGVK0Ls!#)NzhW!jW47(YO7!FT<EVqvF<m5^6 zA*>e}SQ#!&4pfw%%%xz=cz5zg1^vmn3OcM$8CV&ffyMVK7&CsH{81sA^(O->!>`GK zib0I5V0D)jby@is*ckaIe^b_;Y@lStD#pOcC_XtsMRIb7k_DsO<bz6njB1k^RYfPO zDr+<9PYzU$WVDzZs4PACn6fsjBLf?w)8uc;sjQw1oQz(R6I22j11BF;QkZ;6MUOFZ zGNY;kW76b6Wy#6Wst%0VVAfVu9oAw7R>l&r+gR0%8SBAr$xzc~Y@R$t&62Tw@;Nmd iMxn{v>LAhsOtz|fFbYjR2WE3?xPfFfWG3fn7y$sHNzqdP delta 938 zcmcZ>xFB$Xq$nf96)px5hO1l*j11R6tm|A1ODF32b6*8<o`Hm~Z|r!$r_Qi|QGtiy zB*PLOh7%yxN`@sojEW3hJPa#9+|?k7Rg4Oo`}q@?nJhFW3$h4L<`Y)qV9zXe%`GUY z+-xM=!D4%pfr){Mfq@}oHv?njb_OONZLMt#%-a}P!a)qyZ47MTTH6@dw=r<cV&DM@ zv2SDG1PO6%W8j#~En!=4#K6PAz#z`R!63;X$RNca#UR6=!XV3_%OJ;K&LGd=z@Wh3 z&Y;K;%%H>&#h}cP#-Pd&&A`AQ2C<hRh9Q=Lfq{b|fgz3|o`I1efq{X6n}OvIgDyJ* zqmYmg11CcwLlOfcLnH$O!&#_vV|Fu$L~dsg_0eY6+QuNZjX`|!Gl|d?h+A|RI2iO8 z1Q_%gBp3`C<Qa?@)ESH!^cYMS%ot1=Y#GcLJQ&Ow{2445q8O}@+!6zJ0mv;OU{@iz zMV*~NgilbAfsrA3vZ0LV<b9HYtPTt;433i>HH0TWmvrUzV&Gu#W)NZUVNhW3oop!; zFB`_d!Vu2D$q>Q7#}LUN%n-#O#SqP)$PmMz&Ja6!tJEvTq{$1UEg3T>FOU|U{9am} zHJ^cnp#W^6o{T1IDFX{b8JL$ZqsLm!z`;;6d6CRC$z}#th86}chE@hahBgLyh7JZr zhE4`0hOWthve}H&!8$I;W-BgaU}aduz{9YZL7ZU;gB-(B1|^1N4C)Na8FU#IGZ-_h zo*W}LM{yeiE5mjM9)=wZ;tV?(WEplbC^GD3P-ED`pu@0(!HD6&WJ&pTjK?OQkPl%! z$H2;PezKxM5aX@M`D*%;7c1znK4M^HcsyBAL4NXQ1!Kl{VDT_T9oBCQtPJ15;>#3` z8JWQ1oJzW^+zf1tJd<@)v?r%2S+NQ;a59QaUaAzxC_VXwio#@ZWj#ja$!^LHj5?Da zDoamZq-@7%I{Bfp8><}y8>9VX9hFp8HwI2d_sP>#0vY`#zfkdG44Z7O>cAL3`JuAp z<cX>dj2U3oYgHZA0tQybLa-aG)r=WyCg-a~F*bn1=dPL>W6NX~bsI*($&OG`bn;|% fbr4@ec=9=QQxHpCbh4xdM9dAu*N~aKM8gOG3q#Bf diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ItemsSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ItemsSchema.class index eb5a93070c75a1190ec913fe6803e086d6564f97..952cb1b5c75805368620d59d3e23779349f1f255 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/JastAddList.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/JastAddList.class index c3e48fa356026b4fb542c6d95e3ef3626e4d8294..8a94500fc0e849acde60737c1672151e44dfad53 100644 GIT binary patch delta 394 zcmeyO^F?RFMJ`q`1{MbK$%dk;lYeumGAc|~<jxmWVPIiUW#DB{V~}7_XOL%5V^C$# zoV=8~pH+{6l|g^9B~K@>DT5S)8G}57IfD{|#pLrm6M5|z*cj{?^cff!6d0H%JMxH5 zZsK)gbzxv-aGg9~SaI?@UN2TJ237{|$@7K9Cx`GkG6sO{-OZ=T7!GD}@#`_hO}6Cs zV@+XTVMqmwZRFQv&0=6-$OiLR1oT)77&sUTCz}gwkgQ-}WvFD}VyI#eWT<A4XQ*XR zWT<0MVyK@a*vi-g*05TzSaBKyE5mdK9)=kV;tVqx<QQf#C^5`tP-mFKpvy3W!I)ve zWP71)imMq|8P+iHFsx+|XIRG|%dnn7kzoUa8pB2g9fq|GMhsggiwSoy?w&kfID&CM z*lbx5HO9k}E%{X@XNYJq3Qjf@RhhgU&SDdVh($qVHbD8Rlf;a{LaLL*I438G2>}2b C-&dXh delta 394 zcmeyO^F?RFMJ`rR1{Maf$%dk;lYeumGRjX@<jxmWW?*4ZVc=y@WsqP{V~}T1Wl&|% zn7ov`pH-KEl|gT^B~K@>34;`aDT6$N8G{mo`Q-CF6M1bJ*cj{>^cff!6d0H%JMxH5 zZsK)gb!K2?aG5+`SaI?@UN2Tp237{I$@7K9Cx`GkGWt&j*}I!hlQ9g;;^Nn1jGb)B z@5h?Vz`~FM7Td_L$(qT)!jJ{#u?Xm~<}+|G6ihZ3*dSTXz{*g;z{OC>AjnX~AkR?4 zpvX|mpu|u&NwAf%8?0fqV6oy<23Ce?3_J|e8N?Z8Fvu~?WKd$5#h}hGn?aXhI)gF8 z{K@u0+Z0zZurjP>;9*$9AkMIsL6%`1gCfIv1~rBa3_1*J7>pRUOcoRFVB9r%zHkKN zKCs!cB5I6>CR_5WOwJI|VicHcD5^4fJDkNP3K5Hf%4~r0RVRrVgN0NliE&O&5)%Rd D=sj0m diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LicenseObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LicenseObject.class index ee31e5a57996345b0b168cca2a6164a8af6f5da9..1d53a56a8c7d2143f6056275298f321bc499864b 100644 GIT binary patch literal 5419 zcmX^0Z`VEs1_l#`z3dFNTnvm1bzBS_4E0<L1q=-!ZX<}>1Y$L_Gqiv>bs$bXh}8;W zHGx=dTnu_3oq7!IAXW#6=mbf0aWZf)bc2W<E{0x)K6ZwFc7_S;3=`QICUG%HGSqP} zOa{?YxEQ7~Oygph4zgO3VFnk21j9^_0kc5FY>;_#K&-hSVjhS)A4DtwnY<80EaG5T z3=&xaQm_<6EMsR_&d#uckwKs&KRY!qxTGjEFFoEbF*lWwLC7a7u`E$PCowNwA0lDR z$iR=RF0?3zk%2EcKer&iIMpXJIW@01m60Jr!zU$Gzoay!D782xHBUb?FHOI=L_fbE zH7~IsQ$Mk|L?5cwKPf9Uxx`x2C%-5iCU26ZUyxW-oLZ!xo1c=JqhDqWQ*F)2z~Y>r zlFG=y?~|FA>Q|bZlv)&$n3Mx{YkqQKPFP}5CWsFe<jsLN31ST+gFcDwVq{>4n!w1Q zPP7|&gG&;Vvwaf_pswHndk5-caOe={TTPN(%Vv|Amsw)R$iS?j8OF%KQj(Eb%*enC z5>#={$jnJ8O3h<rP}jhWS4<I*0Zau3j0{W#hKvl7L8W;mnYpQ9nZ=n&IjN3$dHE%Y zC7Jno#q12L7#X;o^Ye;Jib|79@{1T5cs%p+Qj45(5{rvdiy0a03Hrk^IK(eM1<6zu zB=bPAo(E2kERbZ$3{G_{C6xuKj0|j$gvrRjlAW2C!pOiH0!qe=4BUC8xd<;aYiN2h zGVtXlR(d3sr3R&z7iE^Df`ciFk%2EQr?fc3v81HPIWajSm61UNEa04<larbZ@*`B3 zH903gFO`wOP=oZCVaWrhTQ1j%<kSL?nZ=9@EXnx=m5dCGsf-M2Na61cvc)gIB)GJo zAit<2H3hE6nvsDctu!ac8LW@XCAFX^H94^)HHDEu49Nh5xHTh#a7j^WDoBH0en?Sb zUU6D}Q7$6`YceP`FftJK2sCP}85tNe85tNoL8+=JHI<Qp17<KI14m}DifdtMVh$sN z4&kg1Gf^{&k%7H9wFDBWqF53oC<(HbCFYc-GBU8I!&HiBXd-zQ68+Zf46E50)-W<y zl9ATHDaM+Sfvq^T1e~<k(xD8_B1lRJ$!BEHCL-2hUSnk7N>0p!Co@zRLkc5nMh4E{ z%=Em(lG377Mutpc-EBjxLTfu~q+kLkDp1L2&B(wNoL^d$oa&YdDL0XeNIg)2&&Z%k zQ~|}qV9(&d!;r_2&%>~mA(V$9n_(RfLkWmm%&?A;L6@XT0Hi&KhoP7uhle2yWNtW! zh+rt=VTfRe<Y8FPkix^T0aP*egG4GA8MLB_4hu#G6_C#$RT(%eux2nu27ZJx*P<d& zVJ40cfuuF3(#)Kc)FMU(d9VsA1#q#Tke6SgPz=km3TgR83Oo!O88)#qZ02Fu!myQ{ zVH*#_c2L;ZgM63-@=^?lNCNqA2g6PthFuK1c^EQ4+)Rcn9tHyjLmmbr217;$1|Eh| zkZ=Y_eLO=XBZE4jpoOMHMh0Po^TGZGr2%$^J&X*tL>hr8>X8d&Mg{?d!H{raWH2Y) zNO0a`WMI!McFip)sbplZ##RmxUG=gRBo?LSl`t}JfD1Tqb;p)iP>>3$8g#K5jqVL- z^jf3%5RzvZ8935YOThISBZDwXF$5O0MoB+lAy7G)4+|fT;?xpwoy5qXOME%$2`UD` z7DLKx9Su)Xifu!ZBZWbcfrCMhfssL<fr){I!GOV#fq{VqloS~l7^E3E8H^cB7#JB$ z85kJa8JHND7#J7~b~7+WZf9Wf(b~qqyp4fn76XqqgvlDNwT*!dA;h+gfjwM%0|NsC zGlLle1A`O;8v_G_1Oo?y6oU|hG=nsQ41+3zEQ20{JcBs{1A`dEd<F{!O9lo84h9Vd zD+X%@Mg|)O1_n+BrauhQ><o-T44e$M40cdQ)k7Vnv73P-aytVj$WdI!7`Q<$;@ZZ* zt+kDT2g>Ey#=wi=7&Wjp{0y25;tX00atzuGY7Dwaj)6D<<QN68vydDk&d$KW$G`|G z7@>|aW?*DsWME)m)!NR$w~>K?feGwwF0i+Z8CV!hz$WuR6fro0y~)Vn#NYrmK%0R9 zEXRn@%mx;)MbgL!*J#h+%)kVWn@9#G24)5Z27ZvuTG}9w>uh7-MHnN*z{0@5;Ksnh z;LgCw;K9Jh;0ZQT0iq3RBm)CKgA0Qp*h+o|R|Z1{CI&YK1_pHoMg}hiW(MzQ2Bu;L zpJE1I20t*<znH<FAppz_EM^E~U||Si2!?t_2O1ho%xmC50r8C=*lI{HFhQ+mWC&ph zC8#qLtIjZZ03yc#Kf?Er7>H(IVTeI8fE8|aI93A$&<#jrU|~qYYCr@7C<Z{e#EF3s z9Nk=6+ZhB8FmU*QlN@qFNN3<+$N-xHN$*@xXK*kuF+?#~GB7ekgYzIGgE#{tLkvSC zG*tF5uz*c=*4oA(<fF~Fl|fi*3xmip20?8Qy^TTi0E5_81`+KIKD!wtB6l-LMs8=2 z5|ZA=AfvU7L3SI1+%^W8Z4C0;85H(|V_1PfkwF}qHRTxC85kJy8CV$#7`PY;83Y-M z7~~mB7!(;w8I%~xz|IAw6;=irs3Vma6d7U};=m?3L%jgXsG^{ZD$mZq@gEfb><k<X zjO<{a#4|)PFoRR8K1c?fPqr~Af{F)7@IVqrGuSRj;(*0a0s{zuQX)uAA~=^M!2@Ok z12Z^vn`&)iQ1StV#W4mgW?LB$Yu_RUc@QmQ<fnU#flqfEgR-BtuFN(Dl@=z(<^S)2 zV+T??sWEUeFfjBourl;9@G$f<h%-!JkYkw0pu{kVL7ibTgDyiqgE7N&u=BJSSQz9O z_!*KJQW%&S_!v|fQW?^~v11Ai3RVUKhIDXjf&zt?f%z{3A3FmFquehBRt83f47lsp zLtSrz<a$kn>*cg$wlS!}9IuA#`1=@+U&O%5u$X~|VF`mc!%_xWhGh(j49gkR7*;Uo zFf3s(Vps!ryeyLARp5>{fjeFwtK(%sj%Q)WWXOW1$xLYRtEHvAok4vjgR<5Z1`X{4 z3>;e+G?p=lYHeZAgzz+%F|e~NXJ7%B1(5ItMI{5nCa{wrIYA3*Jp+RlLli>_wB%=H zVA5~^6|C6|IZ$iupw_Z!X>VoFK+mST7+4v0BN@vEH<pbd7hJkAf*P{WqSFJK7zII2 zKgPfXqLwqT3Tc57CbCP9fsKSDOhKrTptxmcVB&LRXD9%dl-vxA3`Go#4Bo{IJ`9YY z7A`g?Yoa^(90M!Ed9eAAkih2T5{7&%PS%7tSre<1Z-I>@-pRfUjG)#h)X9i!x}5=> z)R433JtU)H*_4r?oQN{~5t2@5=`Y|2Y71jnyNy8y6bZ=I3L$BRS}Wklki<}iMKeax zf?abwLm4z&5gy*gpi6|!;1~xb<3t7q0Y`=ytgcWZ!XN=hh6t>#5F$b|qPhSZQ-Q@Z rq#47&%uorgv8x!W!E_CSCj$e65Cao~JHtu_4>eAPLWY$Lfohxp?8j@0 literal 5381 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObject.class index dd891caf675714fe9f53f6f71ad536d07145978d..d92db5e1b7b6b7e2321afed01e0e09d306dd2ecc 100644 GIT binary patch literal 14828 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 literal 12538 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.class deleted file mode 100644 index df28b59c0283b076216a667a6d9605f18b618031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5345 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.class index 75a6134edafd8fa4f852764c35192fb79e9913e1..f306f45e83b823bdd0834c33d992baa04cec94b7 100644 GIT binary patch delta 321 zcmX@AdQ^48M^0981{Ma1$p-~QCv$TtGb&Ej=W^rKVqjs=X5eJdVc=uXo!rD##b`A7 zFP9~w<z#bi8&-P;76u2fj$UqcR#yfV1~)M89JdauHv<QQ&*cBy(<Fl#SQ$bXxEMki z1R25@<QXCu6d58Jlo+BWuj9#POrLyEKzOn)Z?<9~11m!j0}n$ngE&J8gB(LCgAzj- zgE~VwgDyicgE2$(<ej{86x$eB8QK|m7&;il89Etc8M+u08M+zN7<w3V7&;h?7$!_E z<D0}dZ89f+5bHb!R)+bL6ZnG|S4~b6(4YK>Ux#%Q11rPk$qD@OlZ^z78TU<26Nq9w zH2I)_CF8NlzXfa<g(h1Fg2+-Z33A&}K~qMd$-m)zZy{qwA+W2xg*YeA7SaL$!x2sI delta 321 zcmX@AdQ^48M^08T1{MbK$p-~QCv$TtGb&8h=W^rKWME;?V&G)ZX5eGcncT!x#b`MB zFP9~w#bk4C8&*3876yB;j$UqcRu={q23Iie9Jdau7Xt@__vHWF(<Fl!SQ&yDxEMkh z1Q|jZ<Qc*l6d58Ilo%o>uj9#POq+aAKzOn)Z?<9q11m!z0}n$HgE&JmgB(K%gAzk2 zgE~VQgDyi6gE2$Z<ej{86k8cs8QK_l7}^=c89Eqb89Esh8M+wM7`hpB7}^<(82Trd z@l9f!I+>F{h;=RlE5p3W3H(8fD<`K3=udvcufw{Lft6v?<OF{C$wmUkjC&`i2}Cg- zoP1EglJV%|-vTy_f|D%-L1ZbI1i9^~pedu^<lk_<w~#TTAlTL3LY$Ll3uyrWo;6Lk diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.class deleted file mode 100644 index b6eb4ee231454469fae72380a0e7dce396768be0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4922 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinkTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..c13eb0114ed154226a0629c1539ceb2cb55fcd5e GIT binary patch literal 5092 zcmX^0Z`VEs1_l#`bzBTg3`Oh=#heVB3?*C)oD8KPq6{Ql4k9W*L?t^z6-c-mq^gFC zp_ZYJouQtcp@E&Dk)5H5i$Q>)h=ZXSM7MA;v@*1DF|;#ufViDp4EzjTAidonq6cJJ zFNoC#V)cWF2_Qo!axhF{XP69<nF11=3SvzI5!2ZjW-v1Fm*i)s<^`7&W#*;Fd#6@1 zG6?x(C6*=X=OpH(>qEq?85!7YGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR9 z5|eULL7MZE6LZ26i!wocs31#8MrJW1gSJmfs(wjnN>OTYN@|{dW?q_pafyC@L26!N zL8g9Uaf!Z9W?ptkX+ch^H6sHr$U+t8jLe*rqSQP_21gA{cM)Zve^ORza)~v_*-Qln zj0{W#hKvk4q-bSikPIr#E6L1F4a+RfOv*`h%*)F!Ni50C&nsqUn8nDz?VO)iTvAk; zT#{eJ$iU;7mzP@PoRe5woLbDtU{BC0$KVjZ{1hZpRglcHW@KQ=OUzAWWMBqI4;Ltq zAbw(GU@56ANM&STgTxaf150*hUJ4@vYX~S(85vl?!N<tJomZL*W`aYKSwqv4k%2Ea zvC<>4EHx;#yeP8-WW0uE6e9y)T25(khGR)dk#k~lMk*tN2w1>5KPM+O8RTQAFl%y7 zeqJgggRX`qLH~hV42xElJaEe4a;->CEdZHU%*eo!oL^AM$iSG&$e@N4$<81f{PIhJ zOA89}i%L>c;CevGBe*0nIomg}0Gh@)(n@o3oWbUBxug~pr6wnqq^2-3h#?t>5VvMz z5H2Z7O$BN2%MU3^%qvdIFUn<PU`+-kI7SA-o`Oc2H6sIKCL;r*Cnz$CQd1cjIA8`d zGH_%TtGE`HCgw0Q=x7iOCYXt!XkaT&EdfWjD3)XoO3JKdi8-a9s85F~6w%N`@+u@j zShF+CW@nhg$Y4pV<%pE60!~AqkS<Ow0mUFJ&FK^N2|_tI+wrEOnxIEynt|A8&CW2F zJRg9Qyfq_(1d9DA@y%HTN&X@Ej11aDI13g>j0{}KiFxq6gBtiycQZ0@24|+{C6<&H zr7|*P5*r0J#45D5vqp+>aBcw=y4H*gT*3LJMaijdnV=$>4-^~V?577R*m)Q<7&I9f z)CrZvP@nQJ%wwqMVTfjk;bEB1uz-ibl|hq-!3{*XGh{O|Xc969ZaWWyJA(%g!$O7- zc94ng47rR9TG2#%mXSdP<a|iI1okY}qJfctAEC^(s0dUbiz7rJ`NF9*Gbbgrh><}a ztinnGT$m~3<(DWF!wMUPwEQ9k9)?8>i`f~L@GvZ8SjNt<oQGirLp%?|N)Vv|3X&j@ zm%Kql5JNT(!zzZ=JPZ*aRwP3d4}%(mIwJ!EBZC$(fdol4JPd0<W@LfPhya=E&)~tx zAdK(<*z2HpW@lK-$Y4vzWN0)Z<!hw6g^@u3VK5|U7#Yk-HxgV_kfjrxMHv}5z{M`O zcH$^bErE*a5-w?=-m~@um5FQxiAAY-C5#Mgi3J6zpo&lzTj`0EX&`=vCI@Sj;DAI2 zBLhczY6-Y5XJimYDPqBb)+p%>EX2sbo}OCb2d=U?O7bCAK+S<vE;<^Xq|`6MAQymi zqLf^QBu5j2A_FG_69XfIDgz?}3n+0iFfd3lFoFsMP$FeuU@&H2WME`qU|`kS&cL{l zfq{XEL7Rbr0n~70U=U|uVUS?ZVPIh3fhc0oWzb^)rEh%(O{f9pU<()+IJH>zGB9mr zU`97Yk%5Cj3CR#nxFH%01`JFLS_}*fQ4Gus%nS?+0w7mtX>Vg-(b8ew#=wd&ONfDm zfq_ArfrUYb0b~L{gC5vS1&BVVnG6g942BHqV8;qD7%><#Ffo`gFn~oY7?>F>qZycr z8LWyKtQl;;Oj{7s4$QPKW^iC&VQ^${g8EDc8Z=BSYvAF+1~%FlY&9fIn4nfOGB`81 zpzCBt*J*`Srz<=(k)wkR;d@AQK%9pyI^3`tz>aQ!8v_f2JCX}n;cj<l@PI}I$oEX3 z6ri=8f#U!Jr;qjqxbGp(@L}L!@CBP9#sF3cHHCwLiNTXWkAacFi-CcGg@KWQkAacF zo52GbDtj1M!0Mf~wlQ$|XftkQ;MUs0z<i8BP#Z*VW8gW!z`K=!S$l)eZU+9y-3$Ve z+ZhCfgtjpVYi(l?*~TEcjX`)DgV=Tk@%`XvP+(AG;A3D0Cs;WKb_NE95C&F;PzElB zFa|+}a0YpXNCriQC<Y~lXs~lZX@!+R2I@#921N!R24ApA&QLG-F)%QQGBEvNkY{J$ z{11wMb_PxcMs~1I{24qLn8C?aA0z|LG}{;?5WxdU92sD{Ac+GOzyS;(07{7<HG$wP z6a){L4GhfS)NQJ@jX}}}6c)!Aw3uyWK&*X>800~;jFF%2F$O-}Z46R=+PX5^7+71F z7?=OQ2aX*`5U4S5GB7X{F|aZeGw?8!Fo-jhGRQHMF(@&VGpI9EFz7OrFc>q`fSsqs zz``KMz|RoO5W>LBz{jA<5Xuk+jvZ5IP_Qx>Foc6+6BH=C49tHS_}CdZ8RdR4ure?* zM8I9Y9_o4%B-d*qTra03vyDL-=6D%o$KS_rd^-axLk9y7LnnhcLl=WALpOsWLl1)* zLob64Lnng~!$i2_Wsw}O0(ZO#-0}KY9WM)VJPSi4LliVkMl&#heJ!J<y`4dJCWENf z76v)(0}Py7803~Qu(K>@U;*c0NC<->kAY!2*b$JlF9WrZ0i3Kt7#JBqp~cF;B;^1q zSECtXpcdIdEn?Hs-pU|{o-yY$ure$_GL{W)EE_{Cxb$LVh+~L{W>HXv0+rc<AjckK z-~v(08CZqnK}iwWrK`b4LXx5&)JTx~*cq7k9N8HXz-1#h10zEc10#cFF@qHYBSSJn z3e?H=49wuLVb{_|EsG(=z-9(EhAm(VAVI+nwSa+voxu}YucR`hLEQ{0i9v4W)MDPo zAbo&A0pwOlT>}Z#Jz%3CZUq(apn3+BVL;ByfH=>ZfsrATAr0z06cZJ(n0OS6iHr<c z4B1cv5V?3egA%%PP9kZB<zhyL93qPNvq(Cjm4kpILj)FUw=pQATPuX58EUP7BSR2Y z%@`#QcFq0_+0ZyZcz7Fw3K2GglLshv0vQ+t92vZ^x<Zl&g9IEI+_AcXiwMn#+5~J& zE*8&_W()%}Lms$F%V#J6(}fJ?;C2x+gDJyI1~WBIhD3&$4EAcA4CxFr864C&0hK-@ AfB*mh literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinksTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/LinksTuple.class deleted file mode 100644 index 29405c08da4c5ba3fc4f06ca07eed5e4e659d4a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1894 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21|6T2RQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u3wI%)IR4kkW#j zRBJ{CUXYC{&Ka3GDMhJyj11g)rMU<mvxcT8BLiP<Vx>o7S!z&fc~NFbD%g2Zj0}8f zIi<xJjwK~U&WXtxsf-LFU;*d+oSf9;lFa-(s4#1CPJUi0BZHoXCTVVC$pibJ%e5jo zwE$#bF*}15BLhcTX-<xFenBN81D8u`K~ZXQVo7QWBZFj6X<kWYZfaO&ab{9Zs$*VW zen}!&8zY05PgY`CqJB<dUb;R)k2NEMa7j^WD#$Ru{E(u=yyCR{qFhD>4wxt-17{J$ z*CF|g4BABaz%e+)FFyqov|P!FdGH_;(a=P4f`3w0YI2D+BLin}W_n&?Noi3kBSR*^ z(1Dt5L##q;J8L9Mok7t6N-)-p3|ztarA5i9ZkeFu1WI7g6rl$SCLRV}20k7JNf03g zBBUAA85y*QPggt)Y7FW;45|z=JPaxzLIFfbGsrM9s1q^;>PJQfVUSZGF$Q-zBZCT> zs9%0baA`q7eo;wk3Ot>#C^E1za5FG6@Gvki2r@8&{KLS=z|X+IV9dbCz{tSBz^b*K zfpH@P0|OI-00RR97XuRm1A`a?3xha=AOiyf4@41z5Q8uS0|O(22m>F~0Btaz0a-H} zSg`_<Mn<Sc76wrUF{nlzsLf2wYv9&GbgClhWP<8sWDsYNAgEIZt4>L{W08H!gzj4- z1{MZmBm-FCR!d<ufEnEY3kDVjORNS+GsrM7fy3L0fe{?ETw2>1SPn3-`e<)}`yLYL zb_^U0_Fz-QAS$8G;9y{4kYx~NU}TVEU|?WjU}TVIVPsGMo2<wH0!j=F44@EHW?*1p z1SK>ut;!$+jv_S%b!hnMLqi@E=WGb;L0TCY;=oq(fTIu*0vbdFeiD*SXtW79GN@v) zb{hjby0wBxnxWPTI5MbU)yzShW(5XyXrLoJyp4gA2+a&gAt~U<AdS@^E@BLVM-|u@ WO)Tyq%@_tI1}$)U(Pq#A)4BjCBRMkw diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MappingTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MappingTuple.class index a7c0748e4a8eca9b36aeabb6779f512d9070f65b..30200f8143a82fb4c0ae99bd227e255900350579 100644 GIT binary patch delta 321 zcmX@Aa#UqQAt$Ri0}F%1WJdwf$=#gFjEa-jbGq?rF|aUbGjKBKFz_+xPG;h&Vl<ju z%Vo)EIe9ym4XZr^3xfk#2QRlet1ANwgBzIV$F0Na&A`FnGr697nq)8oD?<na7egq6 zAVU~~JVOM7B10sD5<}EvJ)UgF^vR9_!jsqXWGfajurd@e@GulJh%=Nh$T5^MC^3{V zs56u^=rR;D7&BB)w&b0o*v7!h(9Xca(7_<i(8(an(8Zw0(9NL6(8Hj^(7|BDFk$jH z-bswpCU^1$vCd;)Wtczt0bdZ~s>#pz^(QCs>#%NOU}e}m`2nB&<W2m>jQb`(<BwuI zG}%$WlJVH&Y5^NYp~*YI<X12Wa+|B5DWlNjYC(`3h<{qpm{ADq>eGUplcj~U0M_tI A-T(jq delta 321 zcmX@Aa#UqQAt$RC0}F%rWJdwf$=#gFj0%(2bGq?rGO#dcF>o?yGw?C!OlIP$Vl<pw z%Vo)EF?l<e4XYgk3xhpa2QRles|y1QgDaTl$F0Na#lXSfJ-MEHnq&|ID?=~?7efex zAVVmFJVQ8xB0~g&5<}!<J)UgFw8@SF!jsqXWGfahurd@f@GulHh%*#3$T5^KC^3{W zs56u?=rR;B7&BB&w&b0o*vi1l(8j>S(9R&v(7_<f(8-|4(8Zv}(9NL3(9U4Q&_DSb z?<B^llRNo>Sm!dZGR&L&fG>z~<>Y7l`jeCRbyznturh3#{D4n>@+N*`#=VoD@kcQp zoa`uI$#`^fwSWzy;N%@(@++7Gxy@D3lu>YUwIE0i#6K-)%qR$U^=U!Q$<jhv0J0QH ArT_o{ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MediaTypeObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/MediaTypeObject.class index 13525fe04774133586b8a972adba233dd83edc2c..c28f601bdc5fbdf4441431983ba1ba3fda0167b5 100644 GIT binary patch literal 14801 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 literal 15090 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�(ojD1A~Ag!xpTr2q3~B0Y`=n zSY6>rgl5DD1jraH?dWX`q#47&3~A#svNLjk27?$m8D=psFeovwFw9`gV3?`K$#9-A agW-Z2C&LZK42BhIoD8oSGZ@~eaRLBDQvUk@ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/NotSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/NotSchema.class index 1aa6b202c576bb00446c3ca9f705493f896ed78e..f143974599b06b91b46bac8afbc61cf48e7d9ff8 100644 GIT binary patch delta 299 zcmZ3byh?e)EKXK&1{Ma1$@4iKSQQyK7?dVI;dJ8EW?*5^Vc=rWovhE5&S*6GBA4jo zHC!r;mXj}X*|6F(urN4Gp3f;dS)E&*)s=yT!41sI;MQUFX5e7(nLLwwnq)8oD?<na z7egq6AVU~~JVOM7B10sD5<}Ev51wqs^vPRz>J$qZSQ&~Kco>Qq#2HE$<QPgBlo-kw z)EUYdbQy{nj2WsY2lLKRY-3<$XlLMI=wJ|M=wy&(=weW0=w?u3=wZ-d=wL8nm@rv@ zFOPBB<a$02)_DwU4D%<S;qzi#K3SYUka5H0Onw{2EnxTU=2v0dG5G<%4WrQH2Lhs# gjRe%8tb8zQx_}3m50aM^bYm2nEGsB8xj|4103FOk{{R30 delta 299 zcmZ3byh?e)EKXK21{MbK$@4iKSQQvJ7!)Tz;dJ8EVqjs=X5eDbnXJ#1&S*IKBA4jo zHC!r;7LzY>*|6F%urSz9p3f;dS)E&*)rEnD!4=HQ;MQUFV&Gu#o;;I#nq&|ID?=~? z7efexAVVmFJVQ8xB0~g&5<}!<51wqsw8>j|>J$qYSQ!c#co>Qp#2Jbi<QPgAlo(1G z)EUYcbQy{mj2WsX2lLKRY-M0&Xk*}EXlD>-=wOg#=wwi2=weV~=w{GiXlF2D=$|aW zm&Z7Day_31>s$slhIy0E@Od#Vn=H;B$hdxTCch2iX0ZEq^Q$m!pZtK|hEZ_x0|C*= gMgr<kRz8?DUBCm(2g%C{x-kk)mKBtl+#sk00R10C$p8QV diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.class index 076d9adb77f2b675851fa13a2ad5b2f281a391d8..96ba8a8b6fecf07899a8ac3f547f946fae105fba 100644 GIT binary patch literal 10081 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 literal 9706 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.class index 7468ee59f4b54fcaecbd2ebb3f1900dbe5375a50..a0f4cbe3bbc587df9c52b36625e33b13b2df0452 100644 GIT binary patch delta 653 zcmX>Wc`R~+hP0{#0|$c?13!Z_gB*hlgDQh8g9(EigEfOZgBODWLm-19Ljr^HWMAof zu38Kn4B89=3_1)F47v=840;S&3<eB_42BFg3`Pvj48{z83?>Yr45kc;3}y@&4CV|a z43-R)3|0(v4Au-S3^oj140e+XWG1n?Ft9MVPG*-a5cOl=VDM)UVF&=*rNa=!V8IYP zxkolsG=_nNA(nxQA&x<SA)Y~uA%Q`bA#w6I*&B>$lh4apGUiS`FDE)#PF|h0n1O|% zWU`mM4QnL>3q#f9Zh1%6dIk=LhRGM@r%ARmurhQoa4~c;2r_gr$TRdXC^GaiC^7U+ zZcxZ(oIUxCLY?AL23Ce;3_J|W8N?Y@Fvu~iWKd#Q#h}ixnn9OgIfF67`pMmja};+m zurlms;9=OqAkMItL6%`3gCfIz1~rBQ3_1*Z7>pQ>O!iR9V>~r^yOIa%Wd=5eE0eEl zXiwHxwqm`_z{zlDvZJQt<aT8X#>bO4swzx=psdIEdh$ng(a9<*+KgW&JE}=e&Qx(= z{0n9sR?%f;V_;)s2b-awYQ@UOz{$uDHlsq-f>CVpMpZvXIk0|FHEl-q$&PA~j0Te( z)ubnHQ`2U(WME^o0_zo2w_<f<;AC_H>&;ZRVDtpre@I=AF>vxnbqB^Mu#Mgt4vfiQ z)=~{!)*J>l#@xx*HBwni7&sYACp&5eGS-0gZPwIdYysQ*T~nK}7p%iZ%Yktkm^DpH xn{n3ULt2)M^Cth%vSAdOY^e<*%fRGjZ4XAF$$!A?1|6Bnp*mWOLX#VG+yED5qObq} delta 655 zcmX>Wc`R~+hP0|U0|$d713!ZlgB*i2gDQgzg9(EygEfO3gBOE5Lm-0!Ljr@+WMAof zu9^%S3|b5V4B8A53_1*o47v<j4EhX)3<eA~42BHO3`Puo48{zh3?>YT45kbj3}y@^ z3>FNP43-Ra3|0&+4Au-?47QUCWG1mXGq5nYOlFrY5cOr?VDMuQVen^AU<hE)VF+Zf zU<jJrBO59j&A`GC!@$K5%OJoI#~{WK&mhZ?F!`J84aU^T=jALJb0(jc6P+w4ug+S; zz`{^G*-PGrwSs|#p>lG!yd!HJ0|!I><csptB-<ER8QK}R7&;gP89Eu{8M+x18G0C$ z7<wl+C}dAQs3kJ_ze2X+5(ZX=r3^d_%NWENmNUpPtYA=LSjnKyu!=#KVHtxl!@9}c zigOfqGO#l2V&Gxe%^=ROhe4KMFM}e(J_a?0{R}z`yBUla4o~(_%40k^dApJa>m>#@ zhRc($YiLi_SGHok#lXpMd$OaZ<m7f`3&uy2H>xU3exR(!_-gV;b<xQxD%y;nCp)T1 zPR>+uVEhAS9ahn0Wo2MvWCNR_plZd+%fQLV2R5TZ)q+uU@<vrZMp>|aQ8jHwwaJcZ zk&OD29o3{KZ&TA|wP0Xlv;^xFRJUSvVBlnQ1nbRIw_x-D+kZ%1k1=5KM|B6rNU)9G z8V-y}VAfI%UDj*{HpZOE*ELdEiy1f>OC~#N1~OKI^=;PFV{8W7`(0C;u?MWfM$3V5 zDws7*OPg`#<U?APjB_Xd(XwF_oNTELBFn(!W^E5f!O4HX>;@f~$)P%0jDnLJbld<< C6{9i$ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OneOfSchema.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OneOfSchema.class index 59d5b003575f543990d51a6544a937a5ca537782..5266faedf4f3cedde2f54b8482a236904ac3dd16 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OpenAPIObject.class index 93089e9d9e1ffc0cc925c6fe7aa4c3153d101ab5..1106621f3887f22b1c48f0cef38fa8478bd04968 100644 GIT binary patch literal 25419 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 literal 24441 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 FP5^YZ^$7p~ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/OperationObject.class index 9994a9112cb2c68fb8868f104d82166244b17173..d8a8ac3cae4486407943685fdcffc3726ac3fbf8 100644 GIT binary patch literal 30784 zcmX^0Z`VEs1_l$R5A2M0xEL52?{YCXFx~?Z_qiAf86R*nTw#0&A|A0bKIUTJV0;2n z^%SJw85e^a<8u)A1&I3+#Cio{y#^6)xEK~Pz6FWB199JjSRX*Fk09a`JL6|A1_{P5 zAmOhdk#8X4I~T)J#vdTDpCIlpcE;aa3<?lO{b6VP%f+C~_zy(<=VD@DV&rDH%EZLQ zz{teR#o)li0wP%1nb^1(w3*nsm^hd?*_pVw81z8;^_aN17_=GxfrNQLT6jUK`9Lgw z5K90=2(mK?aWPmh34?@1Kq8_bLX4eBoQuJhNdhD+$<8DNa@$=HM;at817gW?Gs!VN zU}usCh0$Fu1`Z|#kenjOFV8?MB@pW+h@}itufoN!kVzH9RReL=K`adrOOu^Ri;F>m zNgE`h0}|2YVpz(g2jc33xCS6!8*(!lF+KosjX@z{!o{G>WC~JZ1`;y|5f&h?T7tsD z3M63-60>1vvITk24kTg^5^-Q>as>I!2_)jo#gNZ<mz~Lllfi+>m7U2AlmtL2g2|no z$%Bib1Qe1EOrBf}`Al9Q!W%^RfVBF8wD@r``7;HuGX=6U1+g;)vonQoF*GpV<zNcs zVrXCr<6;VDir`|3WQqcDqq!LBnPNbCV?jh5$f$S_D*?nx1QAIfLz6*73W!Jr5osVI z9i%RUi=mJy6U52_v9du#0*J@~5$+&~To5algDDTh$>(AyVR8o%nIIy8ov8pMTnHkH zKtwS+QwfMJ1rcQ+q8vn2fQU*EQ3WEZK|~G6d9@%`9f+uBXKG+%5H88jPR$E0Day=C zj}I=*%}p$-WMmNX$x19s)Xz!GOV@|USu-+-BP(@DElw`VEGWs$&qI^(FGwv)1c`gP zFfz!2^*H6{=cFd)#k-^y6s0C7mZYXYMHm@`k!*qrS~D_;qG$_BEiBC}N=;#85J=9? zEyyoUh1<c%5ToIflB!=)no^WnoRXTSpP84YUtFS}Uyz!YSdgioSX`nHSM8sam6}{) zt?83rlnzs2lBHjeSX7)^q@SCglA5DmW{gm8&B(ywoS%})$iVNDnV0HUnwykb6q1;f zlL`u={N%)(u*9NF5FaYYSi;DlO3*zaiRspi42%Vg42A^N1|$|G=BAdU7D3(4$e>S9 zPf%)cL4ICwYDj58PO3E{19uTrz&Eh~<P~t-mX>7Z==&xXSTizkBq!$NBqb(iGcsrp z2pVUoN^4@=0aFZf2Pe#)VnznWVnzmQf<6gOO)f3UEUAR1fZWu)5_mZ15uv-N3@PCF z^I<6yVg@n6kDhcG893plFfx#mki>jY(o1DQDm2Y_LvjEtK5QUd<g7;^PGHe(ZD-BM zK(T4CNCTV38(fl@ob8)f0Cp=oQzJW56C(p3IK#k$2Al_p%~6^JV-0RDB$lih8JJ5F z(+LMQJg0zkWT#d#G8hvGI4r5lnvp?`pe|6VvSwspv&qcMEU{x`VAjwKV`N|{$;d2b zWZ(q}syJt4=A;y*<}osECtN;xB^H-Brlj~}7MECKiG6T(MM)2Y3p}g_5z>a@4nm6k z3rYy*Uy@8jQH=03tX3eHa8UFUaz2V;Ov^wK%2Z&$$e>G-wTui*1%@EP2t*hYQyGB5 z5v14zM3{mIGZ0}8A}m0JB_jiKfuRAIGz61Ij0_>9ILn5hVo;3)Dm|hIs`M`?A#9v$ zMM-K=USf_*elj!@gA7j~XgE@&5Vi!K-;u1KlKVl`O=@w8Q+`S%lHqaGbw8}whSZLr z0HU%5u#y~MK^Ap=fTjFI3a(gcTLvn2k<8}|&P>lsEGaEYWn}gusgNa{wjlX|T4ga| z`><sgEVh$Ss1ddkGyf2bFrqR)w#-A&WRh||dd{J)>FC)8DIUnFiU>ypzHCHYuLY-~ z<RL6R1J!$yL8W;mnYpQ9nZ=n&IjN3$dHE&a4qY)jQwt*lw{w18aY<2Wa!Gy>BLk0T zUS4XEb53G$acVImgFQh9I|hgN<)<K-s)A%5sKb?)n48MTz#IZ<^RdHwq}(VSPC<+e z!^pr5Z#aTFp8ROZn~^~fBVjT!@S-FoMh0G#$Y*2_#L{Dx#2H_V3_Qpo%*en2vJ%pB zWhtpFNM&RYKu+i(iRpHX3~Z1NHY0-=D0^Xe%#M*k23ZrDzwDs;KsKRNS$2#JQpoyH ze2OlK;%z%d26kvlXJk-AHUp>6?HCy(Q57N*njIqpOLk^n3L^sxsD;bOz#0M?a$sa& z_Ae-5WZ=##&4ss?K}~5-Mh3pz#7d9Evecl|@}kTVP-@W7jACTqOUo%O&TuR#DRNFs z&PZis5CID~=jY_4CWA&Cpu()lIr(|1j10ya<n%UJ^1wZQF4v0WRPgvlF(U&@a(+Q2 zBLib9sC$5DEjokj@yjm>E-fg?FDgk*f$IVFs?$nya-6~XxDd&RkwFY8+abiQK|?V` zsi`0he)%CqiFw6o`9-;m46MnZt^}z2L#XtJ<}A?ALM9^vqbI0KQk0s?$iPtoHJFis zBePh=wXifXhmk>taGeP=5fu1b#i=DBiRq9iG$5=ODLGh!N)?uz%;FM8hH#Q}5-vO; zH8scr&h*q0ztUWAxgi2)ql6_}I@k}43>q4qgp&ryXhsIMjKpHFnQVzEDPV>MVK0ER zg4`qs(Szy;NI)_&XcA|RC&(Z!h|3|NuTMm}Mh<>PhA`4}5F705Os$LzoFGSmb1)-= zEg8i>Tsvso58+LeFcXA`qlmFX#EKaigrF=GX;6BF*B+u8NSO{&-hvY)YguAWX(}TF zD0tzDMKm-qRkJg-F)~<^;XQC+XU)jKSDadcQit)SqX~!?r<Pz8|KKu`h!h9vMuHLw zb3Uk0jU}A4K$Q(a?_fB`+729UBG{bD$Y4g;T1*o`t~MsaC5#Lr8HvRh<}osWGCvk! zQzG&JhBnZ!cRH?UQ76JgP`rQ!$OsoVWJd@)Q#&IAhkro{G!qiez0h(U(Xvy4>9%HM zP{QF~l-vbM%_!|HP-;dI5GzhCL2IjkaylbJGT}smRCp2g44Ng-6e<d-0nj8F85FRJ zqxcO}oM7lPA*RMa(`C)bAe50<j3&y+Ae5Mrf+1)^I9Sm1fODcOrdg<-!Hfn*22;}Q z0@p%f={VvviHMv)VWcuLC}OuA#k;bYYEa~bG3ARH8RW2tqG$sZ%@{3gaM4Vyk`}{s zXgUU!v>0+km9!YT!0Cl>NsFluQqp3GLrPjK!o-xc7}}sEErvKalw*iUUqqFk7{-IA zIY31ohKzqf2}&A(#01jJ8l*T&B%GH>O8F@LG-x6KrCPtzTofrtsznz?aj`&pY6+Si zBVvj%6g}3A3<4R6#VBHo3<8NMDQH4QgaZOa2RJ!Oqnm^3fnp2~7?WxXxZnac2~aGD z#9aar$%>-LV`Pv=j{}g+D4vu?SAil6YWbqLyqJ+e23<!niWX2pMd{FktYl=Mc0xt5 z0yUwcNWl{-iYSVUK?xN_mXU#|go>gEnov>1APE&sh=_!Wq63~#QAANaP@GzVA`2RP zAlRlw(P0fws3^jaxTAVPMX>{127(eQiYUlt6i<Q@DvAmeSx`bnk%cByR527SpoEGT z0f7%Wi6M8^prYV70OevV>P1odYcLIr3<|}mB{)Z{K)z#S$R%8wkd*&%S_jP^pg{I3 z&BdvVkwFX6KE<g5B>+JM0Zx^S40gm6_Bi!hGcw3zBo^b8XJn8`Oi95bZAUn8aq0%g zw>m!aQ3C>BR5LQzQ{obEz65m}a5@%}mU5_Fnc%b!oL{xm38Ze608+=N8bu|j1&!0@ zVnzlHd?uk*M8e=$L5u`L!YP4pWRRHW5H>)w8K?&b&SnT1Mh1|_&;(ID&JXq&vJOMy z@()6bH6sH*ILjb}7#aA%sTf(rkZ=ef&m(~If)tu5s7^-<Xi)V@u=YW*0-VS}%}iub zNPNXpKV2gN1DupW-7j=|QT!)`7Bwi6pvD8T?qWs;P)&s*grb2P+^U2vDdYw>reHkI zBFL0ONIoNjHW40&j-*&KGH@j)=E3JHP=^qqlh%w3nFJ#RY98TH52!+GJLDBZ;Q0v9 zazv1Og7Zs@l2hF>L5med;6pPIx9EZ9Fc=xsiCneC!*G}39uK1xqZ|*T52Gs&QwLKg z4^tPT0uNI+;|)dzWkOREA&Kccj5drxJdE~CJv@woj6pn1y^IPxjD8?)7)T-%#EJun z#WN=GF!eF@^Ds?dn#jYL2~s=>B%1@Wzlzb7kwKr3g=j-1JWP|BrtmOLWtzsr*a)(t ziLsf7X*$yk9;TU0vv?Rg8RZxm1VMqK4_=4okyxDJn^?fZI2~l0E+N}c8t6Psvq3JN z!!(zjX&w*Le5M6FObeM7@h~lBTEfFP8{~(TM45`xa^hiH%CwA~X*mzm3dSHt1~vRK z2h+;Kw35-EhiMhlY96LFAnVsMuH#`^%e0P%aU;kf`#}z|B;-Au)d3IFdZrCLOdFXt z@h~0+nRgLno(^I25Cs4a(`KeEJWN}ewh<AlXsMWoX*=UO9>&#-Yj_xan0Bx;?PO#S z07oLyYB?T8Cq{oBMtepF9!5V9D-;wWyO?(KFzsR5%flGW7{kM~50nBkKoa|zb`Z=L z@WjQ#bb#p~4`U%?5f9TLro%i;N0^TCFxD~F^DrG_I?ls%g6SkX(<vUN(@bZ0n9eet z<6*eVbe@N?kFlSJ=>kZ>MW#zUOqZFifF!Q+FfL$R$is9E<N`zd@rxx!c$ls;-QZ!| z#<-n_=_bes6+%XUB7ukL7SnAW#uJPu85z_G#T&HD;bFSN6v)V+O-MOXEzZMqm+2l6 z<%EAh2@m6CP<$$a3LGU6q0D%Vhf$ePg@@@rqdq%RAc%8=kwGh(*uvDBkwFEKD!^qV z);U{727ZJx*P<fO@&<8)2xQvGsWdYuCAEl=K_0BaN&!6AtdN&qqEHN*1y)GQFH+!P zdcgFMo#_z|(_^M5>`YI2n4W=(h3AYxJPdb1=}?zZg@;icMCdYJ<6(Ni^pc0s801$I zMpGV!O$?iP7`A|jtsr6>!*(8q9Sqxf7+pZ+?<-Jd^8&G6Gs^KWy<vLG!}N~nB_jg^ z4`U)@5+j2lp~%6Q>EK~3V|3+VtN;-$L>YlGV#dQb8KiqEh*%0DmV=1hAYw0wI13`q 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 XJ=8cEgPEEcrPVkYQ<$0=Q`I;D=0!_j literal 30745 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 WHBQDNrXI#(HBQEvOg)TRYMcN@Xxi`q diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Opt.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Opt.class index bd896557bfdc283449b6053e2e03c31394e6ed32..1ffd2232c527646b1d648cdc04d6911d3ad47f9f 100644 GIT binary patch delta 283 zcmca0e?fjj13Rl20}F%r<O%$$lUK2;GAc~Iz#hV>!ob3y%D}~-Hd&V=ol$4<0$!EL zJ2|vijTl%MjKOMoIW<`=7+4rA!Mp@cJytsg4hH+llQ}m?x-qaaxHE7ucrXYucrwT{ zcrz$6_%J9j_)d=DYGsT9>tN?DR!m`FWk_Y<VMt>TXGmv|W5{4oV#s7rXUJmEWk_Q% zX2_d7n|qsLB?Bu%6$1}LHG?=q4TCI0ErTLM9fKM}J%bKIHG>gD^W-9)4#v*Ozj-1U xd%<Q`@~SaToV<Y7k5O>)1b&st!hBj#RuYt@I(ZYHDO8MyA0n$aITgxs005gEKP&(M delta 283 zcmca0e?fjj13RlI0}F%L<O%$$lUK2;GRjZBz#hV>%)r8+!obC#I$4(^ol$%80$!EL zJ2|vi4H;M%jKFGnIW<|$8CV!Bz`O)bJyu%=4hFl)lQ}m?x-zgbxG``sxHAYccreH_ zcrhq4crz$5_)L!BYGsTB>tN?DR!nAKWk_M*VMt{VXGmj^V@PLEV#r`nXUJsGWk_W( zX2_j9n|qsL1p_NXB?Avb6@xfKHG?ce4TB;>ErS|E9fJ--6@w8&)8rza4#tkjzj-1U xd%$K_@~SaTn7n}3k5ORq1b&st!hBj#RuYt@I(ZYHDO8MyA0n$aITgxs004iZKKuXx diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Options.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Options.class index 8b45105dc6507644b7b7d82da125b0341769c5e1..fce0df650b219c398cb3653ca4c0cdd60dc9731a 100644 GIT binary patch delta 299 zcmdm`yi0k*Do$2$1{Ma1$?G{CSQQyK7?dV|;dJ8EW?*5^Vc=rWoovsQ&S*6GA(!an zJzOe`mXjZH*|6F(urN4GUe75y*_>OQ)s=yT!41r-;MQUFX5e7(nY@yFnq)8oD?<na z7egq6AVU~~JVOM7B10sD5<}GF2%c=l^vOqf>J$qZSQ&~Kco>Qq#2HE$<QPgBlo-kw z)EUYdbQy{nj2WsYC-crxY-3<$XlLMI=wJ|M=wy&(=weW0=w?u3=wZ-d=wL8nm@rv^ zFOPBB<bFO6)_DwU4D%=7;qzi#K3SbVka5H0N`4#0EnxSZ=2v0dG5G_(4WrQH4+5f- godndOta>nOxqt_l50cjvbYm2ntScxpd4ix808Fb#9{>OV delta 299 zcmdm`yi0k*Do$201{MbK$?G{CSQQvJ7!)Ue;dJ8EVqjs=X5eDbnQYIM&S*IKA(!an zJzOe`7Ly-x*|6F%urSz9Ue75y*_>OQ)rEnD!4=G_;MQUFV&Gu#p1hKKnq&|ID?=~? z7efexAVVmFJVQ8xB0~g&5<}$V2%c=lw8=+!>J$qYSQ!c#co>Qp#2Jbi<QPgAlo(1G z)EUYcbQy{mj2WsXC-crxY-M0&Xk*}EXlD>-=wOg#=wwi2=weV~=w{GiXlF2D=%1{> zm&Z7DazCF3>s$slhIy0k@Od#Vo2<?s$hdxTCBF^hX0ZEC^Q$m!pZtN}hEZ_x2LaK^ gP6FysRy~-tT)+d&2g&OSx-kk)))kbQJV8(k04xng=>Px# diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObject.class index fb8992824f04cae53df46822e75443eb8c5349a3..055dc9f70958036a9dc4cc2bfcc4a14fbc272aba 100644 GIT binary patch literal 19282 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 H{nR)C3b4wz literal 19610 zcmX^0Z`VEs1_l!*A9luaE(S)%3N8i{#!3*Y3dE`gv1&l9S`e!a#H#0F2xe>maT`J0 zCJ?I`#A*Stz(gyE+XmvcgIFCPRwszn#m?Bx#UKW<#+|VTB+?7w_JI`igSZnwtcf7j zBzDHhTnzFcr6!D1xEPWdr*bnKWSj;frn587U}v1k#h?aqs~Y1hF2>o6bGR7}FwO<( zp9j)EA4Du*XI#k6xQL5EAEZ#9aWNO;62_$<HOtr;mxEMPfH;*P)(Q}-8pK)&V%2gn zu3}sb;;sR4>p`rwAl5n%YdwhA0OEFlSQ|mCHV|tQh_#uWaSIoNJIL+sj9WoI+y)|g zL1KL%Rog+TCV*HwK&+i0r|;rs+|4+ZopBFHWG~1^`#>Jt4^njiBz6!)90K{^Fvvqk zKoUo}7~&W!*cp#;GMF$PXJ<UY#gG89)`amSJL4%(sDWejG)Qe9NbMOAaTY|J1Bsmn z>AS$ic#-iEJL6?`#w+ZMSJ@e_aWNDyR&X$02hlgU7;iG(;$plF3c>=$J6sI;jCVnL z?}3Q>Afq0DSPwz0M<C)c$j~Ps;wgxD1|pt=h!-H@C5U(hB3^@tHz49Ih<L}r_#R}? z2aq35f{2eG;vq=v6NvZ>^3O*Q>kEkW6+}D)5#K<>Ne}^6_Z_6<2goHqL9AaO;x{|v zA4Ud&lKkw{yx@|e%)In?zr@^BMg}3Dti-ZJ{hY+SbbW|~H6sHbvO3Q^Mh0<Y0hiR` z<f6=ilFa-(Mg~!^j8lGoPHJLad{Am(X=YJs3L}FslDSY>Yeoh+6xA-N1x2aJi6yBi zP!)^}GAIfhb8_;_U2_XcD#H?UN>dpb1i{h}cg6>oROX~IGKhf1peDq-Rutsqr=&76 zNTCRWO$tgaPAw_}yACYrpOlrFToUhEk(gTmG6^{>Aad4>4E$iFP%DE{(-;{9lJj#5 z@{3ag5{nXZQ%h2d7#U(Td{R>NOG;CUQj1ek^Yk<G()5c<^z#c+^AZa(^%ILr^x>+Z zCTsfS7p22gm}Kb}Bo-B?7U}2ar=;fSml-3}TQf4SID@^!?~|FA>Q|bZlv)&$m;`Zg zesW??SYlBohz}KHD^AWx%}r!vP$OVPFj$>6BLiazBZEFcA3(#YIHa^7C)Jvffg=?X zaK(%a{E*l#Ey>K$_f0IYW@OMKXq<C?UP)?R3EZ?~2p?ox0W4%8Va3Q`NYFI&;ALds zgqy<1KuTbX`JjYpWkD)5T)j{|X#?RR=Ntmz4GlnRJ8MP;ABb*Ph>>oXZ)!?rVn}5{ zD%d#Q;F84TY~REJuv^&~|FSdwV`Sh1Cn|W*fYT|lsZNuOASWE@kR%6*R%=EE=Iqo; zMg}&U%)HDJJ4Oa(4b3n{29}bH%wk3cUXY-Qb4F%PN>OSaBcrbdB*;(#9Ha2Us|H#~ zSR*MSP6(3yiPcA_DDW>RK{g5+8U(}JE3vr5F(t((v$({XG{qR91PW%R0s}?{rUF9{ zVFV(KL4*m2Fa;52Ai^9(SbzviMg~=awt{@d$iQ4+XaFV+85wj5>OuAvSeFr)G-hN7 zC8*cGpu~otB9t@-%6oAHwII2Pu=&tz4J{Wz7Q|B50+f;xWIktbW_n&?Noi3kBjdf{ zlr0DcHd<sN<zzCl5n=1l<Cdloi{u$-fdk5?l0l_;C7HRYVVT95Nja&Gd3pIIiJ-<; zF*_3jBLlZ{eqM1&QE75Xei0)Bk7r(9YLRnJVsUY5F(ZRLLH9Zahxp~EAepLyWFDyL zkq2%jvOrpkOrXXfH%bGL1JULa#L}SS2e-VC+i<MVb{jjqsm2RdgJ_-cAV)GI13NSl z7#Vn>EJ#*kWZ*&08H^0f;N}@iNo7GQBLf>G2pJjJp+!6+gCMB5KsMWsk%0}8Y#14& zkn=o>J$8%?lE{+CmfA5guw-ZEr7$wEhJf1Ej10{F1tp9OETB@Fk%2p}G#6fjfvPu8 zMh3pz#7d9Evecl|@}kU=RB){q#mK;ymQz}s;aE~q<eZqC0czKR1)TG9a#E8)(G3-5 zP0q>BOJ!s*)*z>bX2}D$B)MEGl2gGg_+mx|mgM|`N=638R8Wf%QB^pD?D5Ml2`()t z$S*2MO@ZqHwf)jcb8?))`nV9W&d4B!l!g)F){G3oB}J*JAPs)`Aw`LK#cBCPxr_{~ z$)M^T)IK9rXF}5{sIi*K$iV0cY9<t=rZO^czzk+&;K(diaV;!O%wc5EA>1H`nW!1X z$iQBlS^`PoqF9PkP%dOGgY-by(_tz_G&GSs3rTI(>`aV|43=c%I&kW-W@KP3PAvgt zGS+km%~zaSf|B3(($NICi&IMwc~A`5{m_(e4e|hYI<hiR6vxBVF*1mNt;6V+iGVG| z5Ed#<Edl3U<oqp^jzy58IJE?t?>W-pOs?Y85_l=Vm5#&_fSHUa6$D`BB7{KpBj;yu z*3%#y^`K@7C`_31L3uTTC=G<`3S^g9+kpd}ALMOtFAG-87!tM&#T<|``7;uWkp&qU z_(5TaVy*!Z#R0Mz){G3Gh(Z<uhn_kS=755aks+Kol_ZB7I};Nl1BZV>3Ao^7WFTw+ zG$$i!MirQDYeoiHw4m}YC_yQLAZZXf0)UeHAyEd7M@ZU)DniZpP*squgHmrmssIDR z5sp;3fNf*R$t*5mWJn}QC*fd1aU3*(3WJKX(p(fNMg}=7q9}m|%8O`vj5It6S4b#& ztQi>uG7^hX#26U_5>rypgp3FW1d0xDAWEZ~gX#fr$pem1SYyJNR9iejc@tDJqF4@z zb$uc-2XeGCG9-|ugY@WTXJTe#-~>4jnz3xjsHWiBtr;2Q!38!_7=k2GLRlJJ1&XX7 zx@<8cgA9fkiWcGG)Dq<87sy6X&=K?rQdkoXIb<84`2<u}`jzG)%Rq`2G(i;Cf=X#r z9frhY5@apbj0~XCA6bZzfj==N1yzKIS_N4HID<%`nS$zcw18%0AR-f@SOLx*pyCBt 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 Pof;=&7~_A&a5YW<nzJu8 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.class deleted file mode 100644 index 0a555035f97a5bccbee763ecf01fc9261ebd4c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5418 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 E02AR;a{vGU diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.class deleted file mode 100644 index a604680d38c2a79d6626bcad727a8ea553749a69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4950 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ParameterTuple.class index 52d4a8e01fcceb6f7a6e032aac761b45dc569aeb..1df1c7d69e2e641bac75d2fcd97063c12b9164f5 100644 GIT binary patch literal 5157 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 G#t8rpTt2t} literal 1910 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21_PgzRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u8IU#G=I9)RNSq zkkW#jRBJ{CUXZOS&Ka3GDMhJyj11g)rMU<mvxcT8BLiP<Vx>o7S!z&fc~NFbD%gop zj0}8fIi<xJjwK~U&WXtxsf-LFU;*d+oSf9;lFa-(s4#1CPJUi0BZHBKCh6{D$peQ2 zmup3GY5~a5Vs-{AMh1?w(wrRU{DMkG1}>M>f}+&q#FEq$Mh3~C(!7$)+|;nl;>@I+ zRL8u${E|elHbw?9pRB~PME#t^ymWnp9&1Jh;gX`%RFGkQ`5{G#dBth@MY)U&957Kv z2F@ag&qMMV8MKM;g=27tUw#TGc)5}j^WecIqM?c81plP0)Z`LtMh4E{%=Em(lG377 zMutp+Ap|wshFFExcGgIiI)kDDlyIyW8MuP;ON)|I-7-PRN*Fa|=z)TYhk=)YkB31L zL`Z=MX$Eyh20hZ!7!QLQgE|j`DuWCUg9?aH01?s*GK>uBgiM0^m61Uh<Qz!M!F|BU zpn@jqmtPWGT2PQ*RFawkPcJNr46F>?42%ps3=9l{42&Q@F)%XlGcYh1GcYnRGB7Z( zYHep=+{nPdz{DWHz`(%8z{J47AjZJLAkHAjz`(!*QN$p`Ak4tPz{nuNzy~!z8_Z`w z*31T0tbnAE5vq}eL6kuZs!<1OGZXU~xU~?Ssz^GSpgI{D#2F+A>eRuiQxfi2WZyEO z`__nog~1rf09LrwQdkXOMmNBMfrY^ms{zssG7L=M@OENg1P3jb)^-M#0}QM_+8f}$ zhXlGE0|$dW*c35{N~kk97?>Dj8H5=a8RQrk7+4q>8RS_Q85F=KD>8t95(5JRC<K)m z7+4rV2@OoEGRT0VNR2@q8h-lFkO##%8^U^!RtAPRu+==^C`5#S1`&augrpN1Z32!A zs#vVu#=wqltss(SsI>x)3@TVPa}cLlfk7P_=m-yQW8fr0GXqjc3OF)IV>O727=z$Z Z1vW+#i+e~jhJlGe3!GlG8Faw3E&xc%Kf?e3 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Password.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Password.class index efc4a9a04e0cc6e57160460c8bacea5986515604..a7f0e3d0a3c62fb1fc4eaa6ab97f4b8690061278 100644 GIT binary patch delta 307 zcmdm|yia+<I!;z`1{Ma1$%cZ$laF!gvMMrgFepv_!Rf@Q&A`H-!@$L$JK32lozZCW zYA#Dg%gIl<Y*_6XSQs3@IxM+0SzQ@e7~H_TDsDYiZw3wqpUG>vr%47gurh=&a5023 z2r`5*$TLJRC^AGcC^1A$j^W8>Ob6?@&6BNI$iT`_#K6N)%plHC!XU>`%Amwh#-Pqn z&Y;Us%wWt=Jvp6sj$#`FD?>X24?_ooI726cEJGKAB11QW8bc3*4nqfn5yOPZDtvj2 z(<V>m^I)CFz{W6t@&i6E#^sZ>`2!g@Os?g(VcY_?@hra@<BrK+_-z=4CL0PsNYTm7 g0_q^Xpz!2<0;V9AfaqjSL5P?eh%YEJd5WMG0KHp8&j0`b delta 307 zcmdm|yia+<I!;zG1{MbK$%cZ$laF!gvMMleFepy`!Rf@Q#lXU#&A`Q=GufFdozZae zYA#Dgi^)&9Y*_6WSQzZVIxM+0SzQ=d7+k@;DsDYiF9r?<@5yVqr%47eurdTQa5021 z2r`5+$TNg9C^AGaC^1A%j^W8>Oatq<&6BNIz`)8-$iTx;#30U4%pk{5!l1-Z%An3r z#-Phk#9+)&H94Jkj$$hVD?=Lt4?{bHI70`6EJG)QB10F08bddO4nsSG5kvoE6}~*i zsgo!3d9co9U}Km!`2n97<Fd)x{DF+?C)e`ZFm49hc$Qy{ar@*i{5Fh&lMMwRr0C>k g0d){xP<Zk_0aFl5Ky)&vAVka!#21vAJVj6o0GpvinE(I) diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Patch.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Patch.class index 7d0523941edb18631eeadd1c136d93434cb89e66..cc37bc69fad49a337dfd597f8984b813c7e5f2fa 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItem.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItem.class new file mode 100644 index 0000000000000000000000000000000000000000..fac5dd7f4ba341871a2a8b3bfb058fcf0e67b9a5 GIT binary patch literal 24527 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathItemObject.class deleted file mode 100644 index 96d657be08d4837581eebba2a8da6ffb40cc9350..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24532 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathsObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PathsObject.class index 9db7e941aa0431afb37c213932b2f0923be8c84b..b3c2fbb458f326ad380b1e7faa16e40e3a1aa532 100644 GIT binary patch literal 5082 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 literal 5963 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Post.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Post.class index 8b1f48105f9de634516ceb8fe9a5234db660d28c..eba631474aa356de4a15c5e2fbbb12cb4378776e 100644 GIT binary patch delta 307 zcmZ3dyiR$;JWf_|1{Ma1$%=x)lecl|vMMrgFepua!Rf@Q&A`H-!@$L$JK2~kozZCW zY%WVi%gI-{Y*_6XSQs3@IyAX8SzQ@e7~H_TEN(qkZw3wqpUHE%r%47gurh=&a5023 z2r`5*$TLJRC^AGcC^1A$_TkB9Ob6>Y&6BNI$iT`_#K6N)%plHC!XU>`%Amwh#-Pqn z&Y;Us%wWt=Jvp3rj$#`FD?>X24?_ooI726cEJGKAB11QW8bc3*4nqfn5yOPZB7Av_ z(<V3bd9co7U}Km+`2wF8<MPSU{DF)cCg<|oFm3_cxR+mzamVB*{5Fh2lNALZr0C>g f0d){xP<Zk>0aFl5Ky>m?sF)jwFDNs)MNkU>h^j-5 delta 307 zcmZ3dyiR$;JWf_I1{MbK$%=x)lecl|vMMleFepxb!Rf@Q#lXU#&A`Q=GufCcozZae zY%WVii^*5HY*_6WSQzZVIyAX8SzQ=d7+k@;EN(qkF9r?<@5ytyr%47eurdTQa5021 z2r`5+$TNg9C^AGaC^1A%_TkB9OatpU&6BNIz`)8-$iTx;#30U4%pk{5!l1-Z%An3r z#-Phk#9+)&H94Gjj$$hVD?=Lt4?{bHI70`6EJG)QB10F08bddO4nsSG5kvoE5xzXe zsgs-eJXq&4urbV=e1Xr4aoJ>P{y@g{lXLlP7&n7$+{>@VxP9^yej7%?$%+CHQgm{$ ffI5gTC_H(cfGLP2AUgRcRLl*;7nGUYBB%ubX7EE; diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PropertyItem.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/PropertyItem.class index 0c4852e3038b65d4a5524f7979d39c47babd2848..0ddb4484856f321aeb38d7d3ab94ea683ef5de46 100644 GIT binary patch delta 327 zcmeyP{zrYo7cN$D1{Ma1$q$8uC-ZRYvMMrgFept<6cnBu$Zf)_&A`H-!@$X)%fQc| zH+d3w6{GQFULH$EtI6&>HmnW|EDVldowIo~S=|^|7~H|UJ3M-<J`5ZTzLWWRr%8q| zurh=)a50222r`5-$TLJTC^AGbC^1A&-p8BGm;u&d%a^TK#K6i>%)rA?!XVC2${@#3 z#-PMd&Y;dv!Jx}f!eGo$Gx;Rn9L079R)!7+9)?Z^afU7iS%z)~MTQ;*HHKaW9fnQ@ zBZi5S+xS};r%&b<2x6Vjz{;>-a*{w0<Lb#<1!7n?Gq5pinJgyg#kgm3qF^B7QLsOc z32HK)1iOM+NR9FAWGx{ZMxn{+U~&nVd?@6>C^T717$gn~rz&A%Mj^0{gTmGTupUk; delta 327 zcmeyP{zrYo7cN#Y1{MbK$q$8uC-ZRYvMMleFepw=6cnBu$Zf)_#lXU#&A`c^!@$p= zJ9!d!6{FE)ULH$E%gOFMHmvpxEDR1{owIo~SzQ@e7~H_TJ3M-<-V7WJK9l)*r%47g zurh=&a50232r`5*$TLJRC^AGcC^1A$-p8BGm=4xq%a^TK$iT`_#K6N)%plHC!XU>` z%Amwh#-Pqn&Y;Us%wWt=J^3Wx9K|*UR)%&49)=DEafVI?S%xkKMTTw$HHIDr9fl4D zBZdi++xS};r%mP-2x6Vbz{)Uxa*{w0<EqJ91!7n?F|aXgo-8Kl#khNNqF^B75wJgx z32HK)0K0-&NR9E#WGx{ZM#0JHU~&nVd?@6>C^%V57$gn~rz&A%MnSNSgTmGTia1U2 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Put.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Put.class index 0f608f175b8923b47c0f146476285293949845d9..a58e5031f448e55ac01ccf732e458b2d7d88620c 100644 GIT binary patch delta 299 zcmZ3byh?e)EKXK&1{Ma1$@4iKSQQyK7?dVI;dJ8EW?*5^Vc=rWovhE5&S*6GBA4jo zHC!r;mXj}X*|6F(urN4Gp3f;dS)E&*)s=yT!41sI;MQUFX5e7(nLLwwnq)8oD?<na z7egq6AVU~~JVOM7B10sD5<}Ev51wqs^vPRz>J$qZSQ&~Kco>Qq#2HE$<QPgBlo-kw z)EUYdbQy{nj2WsY2lLKRY-3<$XlLMI=wJ|M=wy&(=weW0=w?u3=wZ-d=wL8nm@rv@ zFOPBB<a$02)_DwU4D%<S;qzi#K3SYUka5H0Onw{2EnxTU=2v0dG5G<%4WrQH2Lhs# gjRe%8tb8zQx_}3m50aM^bYm2nEGsB8xj|4103FOk{{R30 delta 299 zcmZ3byh?e)EKXK21{MbK$@4iKSQQvJ7!)Tz;dJ8EVqjs=X5eDbnXJ#1&S*IKBA4jo zHC!r;7LzY>*|6F%urSz9p3f;dS)E&*)rEnD!4=HQ;MQUFV&Gu#o;;I#nq&|ID?=~? z7efexAVVmFJVQ8xB0~g&5<}!<51wqsw8>j|>J$qYSQ!c#co>Qp#2Jbi<QPgAlo(1G z)EUYcbQy{mj2WsX2lLKRY-M0&Xk*}EXlD>-=wOg#=wwi2=weV~=w{GiXlF2D=$|aW zm&Z7Day_31>s$slhIy0E@Od#Vn=H;B$hdxTCch2iX0ZEq^Q$m!pZtK|hEZ_x0|C*= gMgr<kRz8?DUBCm(2g%C{x-kk)mKBtl+#sk00R10C$p8QV diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.class deleted file mode 100644 index 3fc0611e206c7c8ce26b59f287f5f374ccf70029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1926 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21{0r@RQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u8I!)WXu#;u5F) zl+4uPkkW#jRBJ{CUXaZy&Ka3GDMhJyj11g)rMU<mvxcT8BLiP<Vx>o7S!z&fc~NFb zD%hD(j0}8fIi<xJjwK~U&WXtxsf-LFU;*d+oSf9;lFa-(s4#1CPJUi0BZHZSCV6gT z$peQ6mup3GY5~aLVs-{AMh1?w(wrRU{DMkG1}>M>f}+&q#FEq$Mh3~C(!7$)+|;nl z;>@I+RL8u${E|elHbw?9pRB~PME#t^ymWnp9&1Jh;gX`%RFGkQ`5{G#dBth@MY)U& z957Kv2F@ag??dt#8MKM;iDPhxUw#TGh`Evz^WZ@zqM?c81plP0)Z`LtMh4E{%=Em( zlG377Mutp+p#(MChFFExcGgIiI)kDElz^-m8MuP;ON)|I-7-PROB^$W=z)TZhk=)Y zkB31LL`Z=MX$Eyh1|!nb8xMmTgE|j`DuWCUg9?aH01?s*GK>uBgiM3_nUO&l<RnN8 z!hOQXpn@jqmtPWGT2PQ*RFawkPd6-z46F>?42%ps3=9l{42&RuF)%XlGcYh1GcYnR zGB7Z(YHep=+{nPdz{DWHz`(%8z{J47AjZJLAkHAjz`(!*QN$p`Ak4tPz{nuNzy~!z z8_Z`w*31T0tbnAE5vq}eL6kuZs!<1OGZXU~xU~?Ssz^GSpgI{D#2F+A>eRuiQxfi2 zWZyEO`__nog~1rf09LrwQdkXOMmNBMfrY^ms{zssG7L=M@OENg1P3jb)^-M#0}QM_ z+8f}$hXlGE0|$dW*c35{N~kk97?>Dj8H5=a8RQrk7+4q>8RS_Q85F=KD>8t95(5JR zC<K)m7+4rV2@OoEGRT0VNR2@q8h-lFkO##%8^U^!RtAPRu+==^C`5#S1`&augrpN1 zZ32!As#vVu#=wqltss(SsI>x)3@TVPa}cLlfk7P_=m-yQW8fr0GXqjc3OF)IV>O72 d7=z$Z1vW+#i+e~jhJlGe3!GlG8Faw3E&!;dMoRzy diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObject.class index 9d8053b89b05695d78db55a2947ea568c6e5dabd..93a067e1becd79ada62cb13f8c4cbe1648583ae0 100644 GIT binary patch delta 2045 zcmcZ>xG&J~)W2Q(7#J8#7{k~ZE^{$3GF;(e5NEi`&Tx&3fd#_3&c&e3aD$s6hv6nS zL(W9~aK;-G+b7pEa&j@4Gjee;m@#s5F^DtrfCyeL22Dmj5Q`tg5&#i`oDAZOLLfpI zM2K)Oih>k~aWQB!ii21ZAeJPE;0F;>Ap3rRB&0!HX^<H*Ag(NkkYi_*XJimB**ufc zgK=^?v+U%DOl^}}m@8Nm*clZ!v6L_|DsL`jd&<P3!pLAbc_WkJ=6cR`OpL0V^?0nA zSa}#WG4xN)<df!BV^rs1)L@v%!>BpApU=>ghf#}RH4mdUqYgWxE)Sy~qdpI#0iz)g zqY<Mq55p>uoC(839){(NraTNM7*6sq9Ah+_ti|u(V$Nv6!)VE9#m;EW$RLoFSeB@t zlbDyTA6!zDnU~JPXv1jB!)V87&%;o_=)l9UonZ$L!*YfdJPgMej`J`&GE8J-P@mk$ zsxY~plbwTy(TS0PkwF_Q@SdAnhKJFa(S?U$5<?*m!(<RKh2bm@!xV<8JdCcBRRq=< zx-q)5GkWkadNO*kGkWtd`hcA3%dnb<p#WsbJcg+}3^PE)JchG8jDC#%lm7`Qiw7|D z^DrD@*vrEh$k5Nj7{nON!x+NoKiNXihb5Ge!4_<PJ*Uv*U4pyV+0s)>yi+ST*9e8M zaImMRmiQ&+rfxnbrpy?u$H2_M%D}+TzMFwDaytW)kJdH@=9vsGyBSy_w==N%YHed+ z+s44|r@NDZgOOn-gR1UM22MtX0}NbNEIN`b+Zeb(1kVlz-kl75%naen|KFJGEa6sf z#=y(Kz#zfE!63!J&mhep&LG2J%pl9)#URHJz@Weo#h}QL%%H@O#h}bk%%H+h%b?28 z%An2=&%nT-#lXT~%pk&$z>vtm!XVCI$&kd5%)kV4B|{2BDgy%p2SYtW8bdk*BSQuQ z0|O5OBUDu;0~13Q0|SG&C<EI+26=V{Ms|j5c7~i^3|hY!ScN8wNm_D&y`iGBlYw(` zq-3<F9s>u10RumSA%h`<5rYSV34=d_DML7e8ABX{IYSzQ1w$@_B||BL_2j#f;=CYB zLDuJk95R_v%30KrfrY^d>}-%T7#LU?iWpKSM@rd9dNXh^_%Mht_#(-Qf@Rl9IjM#* zurP!(a56+N@H0d*h%iJkNHIi%Rhob!L>jD8RC<+Q0$3DcIuls*g0!Z1I=UzW0|O(& zq{)FYqLWo+1VwWhSQzq<)Ii+jEu$k^%)r7>f+5o*V<=zAz`;-jmJtI7Hy6k@aBwp* zOk+r$d`G56vyp+7p^1Tup_xIDp@l)7p^ZV2p`AgAp#!W>0i2v<z^WT%g&9*PPnC5S zoC=nM_yFRLx3YPP^BGtf7BKKIEMyR8Si~U5u$V!KVF`me!%_xahJ_5q3@azs$SHG! zqMMb$fMGF1>f}{&d5T*YSQ)l5@Gxv+5NFuVAj`0WL6Ko6gBrsw1|5cN3`Pw5CR@tG zbm@b2rOOuy9s#=m;wuY~uO`2ecM?6rz{+qINrnw9<EY>ycmpg7aj_s+v|deq@@55H z(FY7{3=hGw5YyPfvR@T~1z&(gA$mB#qLGUFf*&zNXDTWwacy8=U|?d1V_;xlV_;-p zVE6@A1~HNctog2@gAgMVSQuia09aUG$y<_(L70)7L4uJ7EDH*A1_nv6>|~`>NdX2{ zMnMKHMj<3wZm_JNa-^gb11qC612>}#SQeDkKp6;>W}B6hL{%6#8CAhD5T`)&{ZdX9 z)B}q`T*3)9tw2Q!!yk;MU}X@^5P$4ZF%z@}i$XL*5&*NRiJ%*XsE4Yls2>9>qd!;% zVhSWuCaIbUMuA0<O}VLRCz`~-%9sq6K~}G$<|K%m{9%#kC0GPji)_j*HBG@XBvD8v z6H(U@gaje7+CZ$LeON_Lt6N|(K|}+qxf*6z)Xvb*6jfrVSL0+@!>Gj2qsGawpHYe7 HfEp(NZw67p delta 2056 zcmdlNcr8%>)W2Q(7#J8#7(>_@E^{$3GF)M2xXQ)A%y5N^L7d?l7lSs#b#8_nh8rN_ zCi_IgaK`HsJ15sO+~Hy{XXNB!Fk|H6Vi0HK1`#}544RC*AQm5p#SbC`I2ptl1wn)m zh!Eyr6ags^<zmog6a%ruK`aRn!3QEFL00|%Nl1aXQXn&=L0lOSA<NDv$H*XFvUxV6 z2je8>w#ko~WGA;VSFp&lGb(ImVku!_RN7q5_LPZ5nUTSAG9#Pf<OCj}&67FjFfpoZ zHsG;lnq0sqEuhM%#>1%2Fp-B*gW)_QgU;kcPKC(=+&s*T3`S5kyMupHR%&udNNGV% zDi5P3!)hKzEk<p2MjakTT}C|~Mtw#D9!5h(BOZoTAUR`(i98I;8BKT?PB5J0VK~NU zI{6QugNqrXIS-=+qa{0|6(fT{R$^JAeokUux_)p;QD$B`52H1s4G*I&qa6=J0i!(+ z!*+%pJPgYjR`4(!V>r&k=)f?MkwJZOBBweB52GU^10#d><cr+etUQcPjLwtq^NTUM zO#a5dPREtejh)e*htY%4lbz9vhtZp1H4j4p$e4KyQ+XI>fQWevXL%TX7=0&S6;KxU zW9a8$IK;4*htZ#*pNBDkF_4Ebh|za4zn~9GFe8KQ<U~%R$*0)3C(jXF&%vIaTH=?O zo4PqjD1>G61~Em(AT<VN237_JhPK@djFH<Jn0$6KFh_1@VDZ)3#=yFbfz3~MCj&bp z!%PNk-JJ{^j0^`DIIUQ8Bv}qHaBXAYhSEGc7<hLw@G&!lFaLjOvWkRTy%7Ts0|SFN z0|$cyg8+jRgARi<gC~OwgFk~TLnMP7LlT2LLnea)LlJ`_Lk)uxLkoinLp%cmgBAk| zgARifLjpr00}IGm3`q>h3=9k$40Q}C45<u^3<3;g3~3DM3``6e3=9lBaFI*~CWb5q z1_luZ)_)9q66_3&><roL3^~6T3?wH1ld$9h`$9!$Cj-Z1N6BbkZ3YeoT?T#zJqAMt zeFhH(Lk52aBZhDWV}>{e6NWSfQ-)jyGlo(I3$VKs7?>Fh8AKTJ8NwNu85kJK!L9+h zD<9;-$uA|HMeP_^80^8SL9Sw8U}Y#`NS^E{Wh3dqz`@|jAj05<Br6J*ohId^8qC1L z5W>L85X!*M5XK<F5Y8aQ5CK+c0*)GKu*$zus{~`gq7c)Wz@j^(H3d^JL_bOEh-NXc zFk~aiKwM)iqa#|tz`{_7AyXn_C|}0F!B7sC5o2ItU|`?^*#QoHCWdJY$&-)B)Y#TB zurky$a4|G62r@J>$TKuEC^ED#C^58x^?|~Pl|crint_o)i9wNJCc`WSMg|53XOLNw zYh~R9CxKN$d;xLQRoOhnISi}}a~XIT<}rvf%x92eSiqpfu#iEWVG)Ba!#oCKhGmme z<dnHVX@Ql&fMGF1^5jW!d5RkuSQ$1k@Gxv<5NFuJAj`0oL6Kn_gBrtj1|5dY3`PvQ zCo9Usbm@b2`O6mx9t67p;ztXxyDrH)iJoL&WjKW-!v>boRB#f!3KoU9SP(2)qu?WY zmw}Dp9#{rq5<6Jtu0pWjQ?MvRJqK9SQBhy;9foM5qLLEl1_lNOCWbf$1_m~8Kz#=* z69Y#84_Nb2MF$~<|6pN=nF3&8aV2j_b_QWa4h9KEPOvN}^cff=!Lrp#sgk@5tc-jN zT#WokvfN<VpGuLE;tZ^e5)9mol3-a-&I9EqP@2tFP7+mQ;AB(+%Rrn0(f3F>RZtr& z3ULW1*t7^0EewA!8iAETG(-HcM8!<d3M>lI42k^LDkg%?7@`KMrlQ^qtc*Tj8Hg#6 z2&qyv6ATB7BAaqh)lM{?ft4`<EQ73GM9oPMIU~R#P=0conznd8SUr+S3=9m64Cf~A zlU5R9EJl)q<hMU+I)Z{oq7W}ws$&x^!z#L2-2#gVf3T{x)G))Mwn0NvRFR=xjgw&w Sqas6(8YjbkMn#4LYMcP@Y*QKl diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.class deleted file mode 100644 index 5dd2c1803455c4f6628e3264d3af17e31331fe9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5452 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 M3>gfw7#!6&0rop#uK)l5 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.class deleted file mode 100644 index b238d08002d504f0fdaf541583f8cdbc36369c47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4966 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..b9638a6a29fb4a99712c283f0db0a8adec613b1c GIT binary patch literal 5183 zcmX^0Z`VEs1_l#`bzBTg3`Oh=#heVB3?*C)oD8KPq6{Ql4k9W*L?t^z6-c-mq^gFC zp_ZYJouQtcp@E&Dk)5H5i$Q>)h=ZXSM7MA;v@*1DF|;#ufViDp4EzjTAidonq6cJJ zFNoC#V)cWF2_Qo!axhF{XP69<nF11=3SvzI5!2ZjW-v1Fm*i)s<^`7&W#*;Fd#6@1 zG6?x(C6*=X=OpH(>qEq?85!7YGV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR9 z5|eULL7MZE6LZ26i!wocs31#8MrJW1gON{4s(wjnN>OTYN@|{dW?q_pafyC@L26!N zL8g9UafyCVYGG+=afwrYN@YlCK~AbQBLgqUUKQtz%$$^>)I3H84-HJ`kz%fYQdVkm zi8aU*Oa%sv3`_-vj10zPn83&&8C05Al9`(tmRX#cl#}Y1mzQ6XSdy8aSIo{Zi;;ob zIX|zsq^LBxB)^D}fyXm1FSW=yC$YFVwV08?o}i76!6AP6DM+TOAem>)$iR}9n48MT zzzmKvL8Op__>hr-rKGYTm63rB5{HZoEZLcPDU1xPA)p9nWMBn{DI)`SUTH3v2@YOn z4NXr*2EN?HN{_^{)S%SzqRbMIEgG6pj0}8fIi<xJjwK~U&WXtxsf-LFU;*d+oSf8T zkjJ6ItjRg~d8v#HCK{Rqy@}*-Sd_EmffE;(YejNu0m#^5Mh2GT{DMkG2F6rI1~sGv z;0&_JFTW(Xw4flrs3bK7t_PHKf=d#Uvwaf_pvjOUtu!ac8Eg)hOKL$;YI0&pY6>HR z7?Obqacf2f;gX`%RFDS0{E(u=yyCR{qFhD>)?`p(WMm-hH)s@EGcqt{GBPlFg5sno zHI<Qp17<KI14m}DifdtMVh$sNjt0Tdf|&@44YuOc5^&^;V#yMq^vzn9m{ST$0qIbM zA{v@VUWKF!Yj%d&><n`l87zsl9Ffjdz)8uPkwK(5wFD_5VJXmzu!k^ofpexvI#%;c zNlQ-<XIQf{%q7ov;9OzN$RLl+H7H4fvj~z=Lh>0Iw25#eEE*XZxRMj|;JFMnexS~0 zWZ(?WOwUU!DJ@E6WXL2omTZVsXl-YWlqkR%3RHAkGcs@m=a&{Gr@Cc=3U*PXm;z^1 zJy0#d!=S;S$;hBis9=YBn1^8=Lp={eG(!vz!+eGXJPfW3nmi0{Ai|v?n~}kQkU8j% z;9+oQ@Ze!s$PmH~GT5CVmytm$nrN>xGN^!j0jcZ2UdLLNFf#BXl(`lafy#4nga{-f zIhAJSq@)%xGRT8fSSf%DL4~~h5`|(|>7<aBU!=gpu!vzXJHrwlhNTS4*cq1dFsxvR z=V4e0A~ZlD69n>-H;4#g$mU^K#ju)(Ap*pTWQgKnP-9SMWME)qFeD+YAW4abVGYQr zERazVAmjZRJQx{-5gq}D04Va=8P+l~*b=e;8mUO-0a6Xc$RL0)7!pE^4CbU82`*yD z(h1JKj0_y$;u>7JaTKSPKt**47fn#_S$l%YQnrG`qSU++Mh3RTf`U{~J*tbX)J4ik z5I;jxg*8fWK%#?@fg?S&1l%HEWDrIvn!$qBD9H{i#K^#&o?7AuuJ}1h@*!40&4E-( zIvSp&)Jwu37l3r46lVmJ7BpxOG0&jLz{$YGz{sG=z{tP?N}~)63{nh?pyGjnkwJ@r zfx(!8k%5tcfq_+PI|JiJ1_lNu25klg22h)nfkB*sg+YQrhk=2C2cn2UmqCvKl+5)R zG@%BVgDqfS;M8K-%fPgiff?NpMFtKAB_u;Q;f8217%(t_T@l5=%)rdRz#sr}g_ia< z1{N(H=4}kD2(yG3SQr=>v>8|!bQnM;@H6Ov%~XKsgPO^}Ai!YApbmDd0D}>OF#{8W z2?GOI#DamD!7`eGshGj4n8BLC2F$btG3~%i`(g$M1{MZK1}CV`bf7`Q#Ign+E^J_< zjlot!!h{KGH6w#FgA2M&W^|oaSarI>LlZeV*bu&lL<huq*rLM?s{!oj2DmY>Ft{VR zfEDg`cLon=RDgWX1WEx~+Zi|xFmU>4Z-DzA;tU@K4hCPaDPjy@l~7YS7?>D58T1$! z8N3)67+4q>8Tc3&8N3-hprNvdfd#DIS!){umyb5%Rt9dZEey=Z7zDLJ^fm^b0}Q-d z8JM*<`0QrjkKD~55V@T}P)KMSgRs^%29a$HqT3jRw=sxqXAs{Hjs^t=MFu_wW^jU) zV_;`sU<hGgWe8>9VhCdpWC&-FXNY7_WQbx=Vu%Ji7nD|58DyZ2RANwM@L});o8%1j zf*%6|gD3;j9|n1L2G0MW_-AL}WME_m`^2BYgMk^GT=hXR;7qfPK>`sxki?MzwhNLt zU;!M!00N+t2vQRW&O$-(fZ4#n3{KsqTH6>TeL!Jxj6sXpRtCh{w}?R=M9UcY=^kU? z)7{1(<)^JHvyFkZg^6+b|9jxrfdqjX11AFmLlFZjLoovnLkWX8Ln(tCLm7h-Lpg&w zLj{8_LkWX1Lk-w@S_~`<at!<o!3-e`%nW=CstlnFVc^&?g$4yHg8@T0I5t6n!pp$? zmw}I+fs;}07XvE;BSQq-_3NRoH$if}Cc^b{S~A-hq+yPiL3aFo49B-KurhQo@Gx{T zh%<CC$TD;@C^Gags4?_1=rD9L7%@zQJ6;ya@hWh~o4_5fkJa(AAjh*XL^4D{(_}OQ z6WG@>TH4zgWM?vnYHeYV(>}n!xrIS)83Q}Zat0P~9)^T4DDoH>rh^>;N&7NT3mL%4 zDujWN0Tf!S3`|lEpmH^uAqHxZ9n>N=E$yuga_AXzJ_9Sm0wiPE;Ks5s#DYsNMus?s zcxV;{WhhXYEeLY#F$OLWwVZ)fNFJ0FkzKkPY$PNp3POzpxsRQJiO-RpApu-Aax*Y8 zBrz~DSQax_F)%VDGo(PBY|p?94jXnYZPc<DQVeWnU}M+<wg3_o>`)6B7}yy+q4i2C zLmJf0ppqEmW=<{UZ4A-}7!*Kmh14~WP~8JI3gT8!0S~HYKp6()ybOr*tQi;?G8xjK z&O<R#5sQgOv6#rnkj0P<H2{%|w=*cAJLe>lW>_v}WXK_+h(C*@6IwY4I5I?Fv347S zGP<=wNSdM63OF(ZVbzRL@?h8O&yWp`1B8dSF{lt>GdOvGVkeM+LBNs08>=fMi7-gO zk-;6SE4YZzjHpe(#^hr03~9zNFf-(VtF(NE0x(_3U=D5<F*BGl%w#ZA<77x=n8{$T O#>tS*Fq6SSjS~P8P)V== literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequiredField.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/RequiredField.class index 611f0d5e4482741c541b39008ebc5ed950f8502e..b74dbd934fb482b52ff47712465e0ea1906fc448 100644 GIT binary patch delta 292 zcmeya_+4=UC#yIE3xmYujRL}xB{)?X6(`$qI&x|;urO#da5Csj?%+&kG@Sf_(~{9* z@&``Q$@X08tac164EA6hbzGXPE(|OTu3+ANE<IK+1`Y=A$)C8UNd_^nG6XYlF@!J( zGK4b7GlVlJGDI*aF+@&Y$eqoY2G*g#ldV|5z{*g_z{60)AkI+CAjeR`pu|whpw3Xn zpvzFiV9Zc8c@57T#a0GZhBgKshIR&Vh7JZ<hE4`WhAsv*hHeHOhIR%chW^Q!ye*7V zC%@wjVx7yt$}n%TD_;=f%E>eMq8QhL?PB9sW864dm*0j_XmS>qTn;8dKL5^d$|y8h VR{$ipQ9x#Ln}8Oh(BzE*ZUCkUM6Lh; delta 292 zcmeya_+4=UC#x6(3xoLNjRL}xB{)?X6(-wpI&x|<urO#ba5895?%+&kG?@H>(~{AA z@&``Q$@X08thNj+40d20bzGXP&I~LJE@0k%E<ILH1`Y<V$)C8UNd_{oG6XSjF$6OR zGK4V5GlVfHGK4cIF+@yW$eqoY3f7^(ldYJ~z{*g-z{60;AkI+4AjeS5pu|wZpw3Xr zpvzFmV9ZcCc@57T#TEuuhE@h1hBgLqhIR&7h7JZrhE4`GhAsvjhBgKxhQ7&}ye*7V zCconiVx7al$}o4bD_;=fipewhq8QhJ?PB9sW85%Vm*0j_aB>!yTn;8dKL5^d$|yKl VR{$ipQ9x#Ln}8Oh;N*=0ZUBfeM0x-K diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObject.class index 844c0d93a6700a3f2f8d965ad450641d6d78f643..e818c6fd0060c123061ce0c17fff91616e4f8e70 100644 GIT binary patch literal 16147 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 D*%ON) literal 16438 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.class deleted file mode 100644 index beace77ab6b29d2cd71b8d5edb7e3a19092af4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5405 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.class deleted file mode 100644 index 6ed1f50e9c497514b3d7f83968634dfed371be61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4946 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponseTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..0734256018b32bfa9a133dcff927886c7fef99a3 GIT binary patch literal 5144 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 F0sy$2I)MNH literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesObject.class deleted file mode 100644 index 902eec462f664dbc0a08a126c9379c68a5c03b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6627 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ResponsesTuple.class deleted file mode 100644 index b8cc2d5a2804c70ec73befe38b5650e7f37d3bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21_PgzRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u8I!)Z&8tyyDd2 zkkW#jRBJ{CUXZOS&Ka3GDMhJyj11g)rMU<mvxcT8BLiP<Vx>o7S!z&fc~NFbD%gop zj0}8fIi<xJjwK~U&WXtxsf-LFU;*d+oSf9;lFa-(s4#1CPJUi0BZHBKCh6{D$peQ2 zmup3GY5~a5Vs-{AMh1?w(wrRU{DMkG1}>M>f}+&q#FEq$Mh3~C(!7$)+|;nl;>@I+ zRL8u${E|elHbw?9pRB~PME#t^ymWnp9&1Jh;gX`%RFGkQ`5{G#dBth@MY)U&957Kv z2F@ag&qMMV8MKM;g=27tUw#TGc)5}j^WecIqM?c81plP0)Z`LtMh4E{%=Em(lG377 zMutp+Ap|wshFFExcGgIiI)kDDlyIyW8MuP;ON)|I-7-PRN*Fa|=z)TYhk=)YkB31L zL`Z=MX$Eyh20hZ!7!QLQgE|j`DuWCUg9?aH01?s*GK>uBgiM0^m61Uh<Qz!M!F|BU zpn@jqmtPWGT2PQ*RFawkPcJNr46F>?42%ps3=9l{42&Q@F)%XlGcYh1GcYnRGB7Z( zYHep=+{nPdz{DWHz`(%8z{J47AjZJLAkHAjz`(!*QN$p`Ak4tPz{nuNzy~!z8_Z`w z*31T0tbnAE5vq}eL6kuZs!<1OGZXU~xU~?Ssz^GSpgI{D#2F+A>eRuiQxfi2WZyEO z`__nog~1rf09LrwQdkXOMmNBMfrY^ms{zssG7L=M@OENg1P3jb)^-M#0}QM_+8f}$ zhXlGE0|$dW*c35{N~kk97?>Dj8H5=a8RQrk7+4q>8RS_Q85F=KD>8t95(5JRC<K)m z7+4rV2@OoEGRT0VNR2@q8h-lFkO##%8^U^!RtAPRu+==^C`5#S1`&augrpN1Z32!A zs#vVu#=wqltss(SsI>x)3@TVPa}cLlfk7P_=m-yQW8fr0GXqjc3OF)IV>O727=z$Z Z1vW+#i+e~jhJlGe3!GlG8Faw3E&w2@Kt})o diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObject.class index 976027ba7fd1c2a1cd32e0e2c5fab17b951f84f2..7a51057a39a4ffe0b4f362389dd396681b88ca1b 100644 GIT binary patch literal 42278 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 H?rNL>Fo`3j literal 43363 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 OHBKf^76~RVHBJD@TbwKa diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.class deleted file mode 100644 index 8ffc648a272f27f1f5c68807786c74a96b7ae070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5375 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.class deleted file mode 100644 index 0368f990af94032df9ef4c27e6f582522030ef92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4934 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemaTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..6392c29b3a8ec8ef0ae4d472e2a9a168adde9681 GIT binary patch literal 5118 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 F0s!0EEr9?4 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemasTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SchemasTuple.class deleted file mode 100644 index 1ce0b352604269f587c9c03022365587a216ab97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1902 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$220fpYRQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u8Jf<c!qZ#Nv?B zf}B)qMh0Gxohr^5nK>y%sd<bH+<B$B2p+SBrY9o<Uv6ThM`BrOP-=NmW=Sg8fl-VM zd}%qQ#TkwzB}LAO$r-7P3?g6w=lq<U)Z~)P{5+^IYjRG0UMeGlfrciju4BmqhXI#s zMRIBZ$jD-L1}jDej<nL89OwLkN=61Qm(+ry)a1mH)D%Vr$)M7_lFZ!Hu*~Ajq?}a8 zyuAF9M6fnS1~H$k#Ii*FoW#6zeS{usMh4-MqSRE7VSf1`MTvREY57IDj0_wwQAP&N zB8b03@);SliSUDCaEM=i3Mg>7k`wdbfhMA%iR1+Tq^#8B5^F{V&fv`Syu^~yqEtqP zOoHJ9HQR<*h1Pb~NR~Q-A_A0XtQi@&g7Zs@l2hF>K}kvwIaTO^0*Z%$mw}ImK@vnr zfe2{^bw&mqQc@QWgBpW64}&U$3=e|}h)@6#(hM?;4C;i;f%=n?K^Wv1NUXtK&&Z&H zChC`85?oqPkY7}ingUNNEQ$=Q4BQNi3_J`B41x@dARjR>GVn7nFc>p1GB7eQFtBQE zXJFjOz`(%7Ai%)Dz{SACz`!8Jz``KTAjrVLzyndlAjBZdz`(%BAi}^0H9#B8XF%4> z23D+qq>&M-k%d8&K@6%<2Wm4D^BTCd5S^+>I+>t485zVGBnax%!Kzad?pS2sGNJp{ zh=GN{7|8%uxYbfv4PZt$z=DB=!4j(h(hM>TOyKZ#VqgRZEtl4I29^U1tUlTs;J$|h zx*Y=tgFV<3F^Ed2GdLKS7-SiQ85kMl7#J8>7#JDkSr{1<z$Pm)fPfMM0|O`ol^GaV z7(odQOsg`;fTKu_K^+=?`p}RE#W@?odXQEIhB&a*Jm4rqgn$MSfuDq=6B=y-jtr_; ztlh@Ij&7|Wl4hv20*(wSST%DHr&)nP9UABe4{u}OBtkO-Qb-CoGDu@Jh>IA5;86uO XMiYyBNHd0ki9rjTUbGo>z_cy^joLg% diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ScopesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ScopesTuple.class index be7e04719a10db0371b3f8381049243247be0b67..9d1d82a7c6adf4f223858f1168a796fdbf49c2b5 100644 GIT binary patch delta 300 zcmeyU@=;~OTuxST1{Ma1$%{BG7!@bq=5*uLVqjs=X5eJdVc=uXovg=I#b`8nC6^_m z<>bd)HmvpxEDR2lRk&?fT^U#y+$N`TJF<E+a4`5xUd=sCGMIstA%ua8A(TOoA&fzu zA%a1XA(BCfA!>3IPc~!v<YPQ_iiHfU3`Gn)48;uM3?&S545bW83}p=J4CM^E48;t_ z4AqlUdFLp$F|abUGw?8UFo-jBGRQJ?F(@*0GpI52Fz7IJFc>jRn5@J%iE-NGt$abO z^B7ne=1<<wFF#qE-<WaL<aqvQ)=dno44WtK=MQ4sH#wePf3l;1HshhmxdN7q$0jcq ruwfLMtSBft`KN$7m<8g;33`CpqLcRsf<(22WF`q|F$zuA7IFgsNP<Lc delta 300 zcmeyU@=;~OTuxRo1{MbK$%{BG7!@Yp=5*uLWME;?V&G)ZX5eGcnXJcE#b`KrC6^_m z#pK6aHmr6GEDZLORk&?fT^LvxTqmb;JF<E)a4>jJUd=sCGKhhdA((-SA%sDYA(TO$ zA)G;xA%a1PA#!pQPc~!P<YPQ_iUka;4229l3`Gp$48;s`3?&Ro45bX}3}p<u3`Gpa z3{{g;dFLp$GO#kVG4L?7Gl(;EFvv1=GAJ^1F{m+gGw3k1GZ-=SPgdfa#5i^GR=yzC zxeTlf^Cs`-m!GW7Z_K!Iay)-D>qZ7vhE0?A^9M2RogB}vKiN@0oAKb}TmehQqm!2l r*f0uCRumMS{8K<3%mVS_1U<lP(aC!RL8971GLwX~7zHP53%LORC6Pol diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.class index 855dc57a8a5b5c176aaa603a2b120b74c94eb44a..4203184f4170b41b88c8c3634485777d52d96004 100644 GIT binary patch delta 470 zcmccMcEN2!l&Gcz0|$c?13!Z_gE)f>gE50FgAIcmLkxpFLk@!iLluJ}LoI_6Lo<Ww z=4Mf8MnxS44hB62eg=I8Lk0r|D+WV`7zQJTR0d;)3<gt%YzB+T`^9Fm+A**&*iViX z_u=$l;9&4%5Ml6|yh+@NGnj#eA%ua8A$0Oz@kYj|$@LPJjER%$B}6BmlTc?(XJBE- znEXq^hBcRgg&}XUwWK3!F#`uf$>c`KX_D0ptPC{_Tnx1gf(&&G@(c|OiVTemN(@bt z4WzOe`zOzls#BcFz{)U-frnu>gE+$+204bg3`z|17}Oc&Gw3qRW-w-0JlR@$j^a87 zR)+NqJPaEc#2Gd+$TDnVP-NK5pvJI;L5E=jgAv1y$v>p?823$1m+@dd#=ypKeDW5V zWX5xoC1mXxuTPGUb!L1pd5&x#<BQ4fWTQDhFbFezWRPI^G&xAFl=B+{E5mmNE`}eI zFUVzZF)}c)GBPr7Gcrwfk}qQAV&G)tp1f1Olu=}|zJfQS^yE3R@{?yNs52^0W>=J* zd|yGGQD-u{q6?$JWFJLKMw7{HiZ+Zwlaxd!-%wNsF>DxxCfh1`fS96_XDg{Q3Qgux NmYIBCNej$!0{}yvZaDw| delta 470 zcmccMcEN2!l&GdS0|$d713!ZlgE)gUgE4~)gAIc$Lkxo)Lk@#HLluJpLoI_MLo<WQ z=4Mf8Mn!D~4hCHYeg-`TLk4{YD+U9G7zRUzR0bo43<eX1YzFhm`^9Fm+A^>(*iDWV z_u+JB;9&4z5Ml6~yh+@NGl+qOA((-SA!PDj@kYkT$@LPJj0uzLB}6BmlTc?(V_;!O zpZrV0hBb$Qg&}vcwWK3!5d#N9@#IFyX_8e8tPIr*Tnse~f(*3`@(lG1iVO`5N(_yY z4WzOe`zFtks#Bc7z{)U_frnuhgE+%%204Z~3`z`h8Ppl(G3YYPVlZY{G}&5uj^bJd zR)%#9JPhj@#2Gd)$TDnXP-NJ|pvJJ7L5E>IgAv2_$v>p?823(2m+@dd%D~2OZ1NVF zWX7|TC1mXxuT74Sb!NOjd5&x#<MYYyWTQFXGYB($V31(=I5|kJl=CYCE5kPiE{5-u zFUVzZG5lv>Wn^IBW@Mb~BwxhJ$-v3THF>9eDWmXYeFbkusmXI><tNWlP-j${%&sUq z`M!cWqxNKWMHfc>$v%pfjK-7O6m1v<Cn<?ezM-fNV%RVWPPSF@05L@;&sI`r6r9YZ NEHnAOk`|cd1^`&&ZrlI> diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.class index 60a3e57d1d412c2fc9baa242950a62ad00e03c20..9d406836d09916eac41629657c9ca656e6d664b2 100644 GIT binary patch delta 439 zcmdmNz1e!hVF6Zg1{Ma1$&EsylkW<cb1E`$FeovIFep!!6?Es-VPIj<W#DAcW8i1d zpIj(7h0$cPgOKQCX(1Ix>&Xs6Hmr^eEDTPQ8-;9G-5FRIJiz8$7t&$%W#C}&o6I3R zO)`{$l_89Qiy@prkRgIWo*{}sks+Evi6Lh4cHwNs%*l;H!jsKJvK5ONSQ$zfco<3< z#2LyM<QU2slo%=))EO!nbQww+j2UVt9}=0P*ulWc(8<8V(8VCm(9Iyr(8Hj}(9594 z(8r*|(8XZHFllnVXba<v$t+?)tP2=e85T~C77JorGkKj@4C@vKHioT}`NfkN_e?Gp zw`V*$d9%1P<GIP-#RD0yP4<+C=Df!s%y6GUg5kmBwGySAPZ(Gko-%MTJe#a7naTN% zftBGs12@Bm$#W%(Sbs2ZGW?t@B2~)BG`UO4n~`(!cX9d2U!~L;1;IWtkTztLg0i?K z*GsE2%7MdXkF*M-(&UHIHjF}(AIgYMHkMI`vI@W~P-v`{F$If()PVSgvc`-;V6!S@ FtpQw*ZfyVn delta 439 zcmdmNz1e!hVF6Y#1{MbK$&EsylkW<cb1E=!FeoyJFepuy6?Es-W?*5^Vc=xYW#DJf zn_MV3h0%DjgOKQCX(1IxtH};RHmnW|EDVm58-;9G-56LH+`;Bt7t&$%Vc=l!oy;LT zO)`Xml_8XYiy@3bkRhBwo*|M!ks*pfi6MIOcHwNsjLD5c!jsKJvK5OMSQ&~Lco<3; z#2HE%<QU2rlo-kx)EO!mbQww*j2UVs9}=0P*v`Pp(80jN(8(aq(8VCj(9NL8(8Hj{ z(9591(8*xLFmZCdXba=?$t+?)tn(RI85T^A77JorJ$ap24C`hFHij*e`NfkNcTX-B zw`V*ud9%1P<JrmI#RD0yPWF_D=Df=w%y5rEg5mz;wGySAj~Q4Qo-lARJe{m9naTN< zftBGM12@C_$#W%(SiduHGW?h<B2~)BIJry8n~`JkcX9d2U!~L;1;9QskTztLgtE9M z*GsE2%7VjYkF*M-;^c?YHjILkAIgYMHkMI`vI@W~P-v`{F$If()PVSgvc`;pV6!S@ FtpOGxZXo~w diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.class index 4063274fe8e77edd54b6e9eb1cb5d7aa5174d488..3e9bbd74241ad81d7491eb8b6ed613d2f3c1a723 100644 GIT binary patch delta 293 zcmZ3iv{-3_4kxQP0}F%1WJ691M#afloQ|AY3@i-V44e!)leciDGa62o;j(13m>kAs z!)nLC!eBqykW+N>8ZLEK7X}svS1|7_mkz5J0|$fmWI66>l0git48aUs3?U4H451A2 z4B-rl3=s@U43U%1a%VH9O*Z5dp6tVutysXo%23F_!%)N^&QQ!C$56tc#8Aqh&QQjn z%TUB%%uqG?2G1PDRt8pvHU=Jsb_Q{V4hC6<P6kDWE(SG*ZU!BOb_OGc{>f8$TNtNK zmf{Oyoy)+=FmG}pUl8NU$w&C27}tVbXTq<-xN&kMzYU|%<Y{2?GMEIpLs`I-QD}0c X07wqR{~*9Qd6R$^qY&7Y9|Vj6MRY)e delta 293 zcmZ3iv{-3_4kxP^0}F%rWJ691Muo{)oQ|BD3@i*<44e$wleciDGa5{m;j&~jpB%<z z!)nXG!eBSqkW+N>8ZLEKX9gAq7clQFmkz5Z0|$fGWI66>l7S4Y3_%QB48aV73?U5i z3}Fn44B-q)3=xyha%VH9PB!Eep6tVut(eci%22?-!%)Z|&QQc4$570m#8ASZ&QQvr z%TUN*%uqS`2G1PD76w*^Rt6r1HU@Eqb_Q974hBVrP6joGE(RTjHU=YxzR6R0TNtNI zmf{Oyox{M&Fn4kxUl8Mp$w&C27}tPZXTq<-xM6Z6zYU|{<Y{2?GMEIpLs`I-QE+mk X07wqR{~*9Qd6R$^qafIo9|Vj6CMZBp diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.class index 0047fd2543e6830d9c2ae6861a3280ab78410dd8..bebe50521c6be7ec0e7ce9d7e05d0bcc90357a8e 100644 GIT binary patch literal 9083 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 AWB>pF delta 4010 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.class deleted file mode 100644 index 3d382cce86c11bcad65f3a8daff37c5742f128ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5495 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 F2>_$1b6NlZ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.class deleted file mode 100644 index dc8c4c62983af17bcb26f3ca81a6290871f3361b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4982 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 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.class new file mode 100644 index 0000000000000000000000000000000000000000..090e44d6741244d40f0c944f3018d4cd3845ea66 GIT binary patch literal 5222 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 OjgujrVJ3rv8YckgF<F%W literal 0 HcmV?d00001 diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.class deleted file mode 100644 index a6518d8b9d2c6b350e9de90d63e3df26759a7593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1934 zcmX^0Z`VEs1_l!bYc2+E20aj=4<ZaegdsbF5r{VCVqj%30THGk!VE;1volz*GgvY* zu-RnhWtP}6GB9gshA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9? zP(hZGjLc$21~Z?ORQ;0Dl%mw)l+--^%)B)H;u8J*g4Ddkf=vCy;u8Jf)a25l%#zCB z<c!qZ)Z&oRf}B)qMh0Gx-73x*nK>y%sd<bH+<B$B2p+SBrY9o<Uv6ThM`BrOP-=Nm zW=Sg8p;3$sd}%qQ#TkwzB}LAO$r-7P3?g6w=lq<U)Z~)P{5+^IYjRG0UMeGlg@z`% zu4KsrhY6Q!MRIBZ$mn8r1}jDej<nL89OwLkN=61Qm(+ry)a1mH)D%Vr$)M7_lFZ!H zu*~Ajq?}a8yuAF9M6fnS1~H$k#Ii*FoW#6zeS{usMh4-MqSRE7VSf1`MTvREY57ID zj0_wwQAP&NB8dM(@);SliSUbKaEM=i3Mi1dk`wdbfhVG&iR1+Tq^#8B5^F{V&fv`S zyu^~yqEtqPOoHJAHQR<*h1Pb~NR~Q-A_SC(tQi@&g7Zs@l2hF>K}k#!TPo251sD$l zF9RPBgCvNM0uj;->WmB~<fJ+t1~mqC9tKqg86E}|5TO7fq#0xw8Po}x2lY22gD}WZ zkXVHKhLJ%9P1G;HB)GJoAit<2H3gn_SQHsp8Mql38F&~N7z7y@K|W((WZ-9DU@&H2 zWME`qU|`kS&cL{lfq{XEL4bjQfs28Ofq_AcfrUYwL6Cugfd`_9L5M+^fq{XML4<)1 zYJfJF&w#9%4XjuJNh2dvBMXBlgBVn!4%B8Q<~49@Av#r&bTUD8GBSuWND$PigH@*_ z+_A{MWkUC@5d#Z@F_HnSaI2-T8o-QhfCU2!gC$l2q#0xwn84xf#J~s+S}v{a3@is2 zSbelNz<m!1bUOwP279n6Vi1*3XK*kuF~~9qGcYp9F)%Q&FfcO6voJC!fK66p00AWi z1_n?FDl;&!FoF^qm{w(w0Y{M<gE}<)^r0aSigPxE^&qVb3~^wqdB9PK2muWu0zU~! zCp6jw92r!xSi6mZ9o<?%B+XE31soYvuxjQYPO}1oIyBG`9^S^lNrYwwq>vPFWRS*c f5En59!J`Unj3yTMkY)@66N45wy=XJ&fN5O-4#Y{< diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerObject.class index 9128d1d51c0a23ea07fbb0569c484dfa5751953d..250c8ecefbdf603a88982173f6abc7193a2fd53b 100644 GIT binary patch delta 842 zcmezGJIil^B)1&HaV`c%h7(*2q7zl37*B4jpTjH6D8$gl!!U<Yn1^8r!vY?L#f-w6 z_4sO-x!E&|U2_XcDj6B9CQlF*oqRx0ee*{_T~=cW24)6U1_p+T-3*M8+ZmXAw6-xY zZ)0GY#lWKtVX}s6ZDU|V2(e9e7Z0!3W8h|BV31(oV31-EVvuH#W{_b}WsqgiV~}Go zWsqmEWl&&<WKd)%U{GQxV^C!XXJBB^Vqjs2WDsG9V2EU3VX$SeWQbyjW?%x@&Je>8 z%fP_E!BD^u#}LoJ$dJImz`(=62vwEHz{HRQwvY7>gETt>Bcsq{NeLN=dkkz0EDQ_` z8M_%oBeye%fm|<sjDdTyn?zEK8UrT-1A`6&2ZJ61KZ8DlID-L$9D^Z)8iNsoE`u?H zKZ6NF8iP65X$lO?4E_uv4CxGk49p+{!Oj3VC;{v=MzHll3@m>b#Mv1{`6mCDFlM!7 zU}3PEyirYfvX`VKr#k}&g9n2MgXiQPNgu%=1{Q{322O?$20n&R1`&p^$uA|BGe%FI zC}qi*G<l+w=;Q}d>Z}<IEDV`o6Xc~eS@RfJ81liq1Zh3i5(W;2(#eyhr%Bc@urky# za52;|2r|?&$TKuDC^9rLC^0loc9O|voB-BwP$pY(76U88Yz7{NISk?qa~b3q<}oNS z%x6$%SiqpmFo(gIVaa4)**S{q8CV%MFz_&JWDsZA#30MCnL&|Z3xgWNRt6o0jSNN% zJ129=O=8?Xd9GX#>v0BFh7*&Q%gav|mN#a+Jo%Tr{^T-w9oE|ntPFQ1FP9Hud_MV? zd<^S*1~!HdlcN=q8NW~7uVBZ-$T0c8f-@uMWM{=dM#0Hb6{9&N8H5?77$g{_C;wC| z<&<Y&WmI6`VpN=5u9V5C$-v5}#lX#|J^7_l5vwr+C!@*a1m#jj+sW6Iy%}95E2+3K z`hdMzqhiPy3T1IkKCPn87zyUFsj4x?PS#bmVHBF21tyn+Nl@f`S2bl6nyjk^lG~^z PGr3Joi&1FuMm0YGgz~ij delta 788 zcmbQ`_uqGdBsU|&aV`c?h7(*2auZde7*A}hpTjH6Fo#iyhhYiB0v<+ThBh9C#f(Cm z_4sO-8LcKy5EY$lEuzA0&B(x>S?royP*S=1y`Vm;CMN?k11kdqL*8x%#>njqOg`FL z+ZdR)F|dSdZDU~F#=tg<fd?eSIyq20yk3iei-CbboPmQul0lF`nn9XDhCzivmO-0A zj=`8gp243%fgz1Sks*gcg&~}QfkBIbg~6Xegdu_<l7WT6n8A`EiXobT31lBb3_~mf z0|N&`8bcgIJOd*`0s{jB4+A4qRU!iuLlW37mOl(C><o;58N}Ep>qtllUSeQlU}0cj zNZidJ8o8Z8%x7|pL{hjC0|x^GgEj*PgD!&rgFb^eg8_p)gCT<&gAs!VgE2!qgBjRG z3JlB)9t<K3=?sAk%pg<1wu9Ue33d@9*j7OX=06Pb><prlr6i46Z5UV>Y$pdv`f$22 za4@(th%k6eUM}e)7|6iF5X8XA5X`{G5W*nB5IUJfYB^)n<TX;3jER$<N!hTbGq5mZ zOjeh+Va;V=VaS`DA??Uo%)r4=GI^c!G|6fPR)!h|E{0kLL54a8d4>iCMTSNOC5EQS zu`=0={gY41)G5wnU}c!az{4<`L7ZU@gB-(L1|^1h4C)N?8FU$DGZ-^0o}3{&M{ykk zE5mvQ9)=AJ;tU%ZWEnOwC^BqjP-ED_pu@0%!H8kUWL3FIjQb|<kPBix#=y#Od@{d$ z5aXrEq6+$xC(7%v-eO>7xILL)UVidJd1J<BlSLI`Sl=<QF}$B#rjX3|ZSpMzJ0^zz zlcf}$8964$DF!kMOx~av%_+ek%qYnq!6-FZM5&Zhj)9d?o`H)|Ve%xUOim33Rz^(* zZbq%iEXqZ!Mhu*c#*?d+OBrn@e^mBnbe<fiC_gzyMV--m@<|oh$qQA~8AB$YRB>U9 vn9QeY$rv-)L)C^+aB?e{JOn2Ht9mdBPWDg(iJwuEnY>U<i&1d$88truY&fDD diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariableObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariableObject.class index 6b2abebb426d92bc55875cb06d857c76854b8b34..58e6c5ccd4f5d0ed76240295e00e266c5e1e7096 100644 GIT binary patch delta 838 zcmZp3Tj(}Hl3SYL02c!z!$B?v;fX2%jE6RshVlqAvM@C8Fsx-{<zd*$u#tyh3nT01 zyF3xh9PF9JuDJyzm6MGH+&8xfY-2JOU|?ckWnf?^*v-Hgxt)Q@M{64c^EL*SSqwbd z5GHH5);0z<gb>^0WMTh$JqB(D1_lWR4hAU(AqHs%X$BbvRR&oGJq9@jQwDhkTLuM& zNCriQ3<f2JJO)*UAO;2oEd~~bNCqB;V1^I|76w}eLxxa>Fa{=&?F``z5ey6r91Ix@ zkql7`j118X3=BLBj8IiE3``8MVEb7AFi5jAFfs~F))kSFxX8f5z{0@55WSm0IC49K z2*~xK#~8RLM~Q^Ss4;LdFfiyaa4_gG@H6N$h%*>4$T1i)s4*BZ=rR~HcrlnTL^7Cz zou<IR%-{ufnhygr$Uv|&Kn@B9JB<-+y$}P-9|m!D24TL*Y@)`jwhSx`c9RR0geM1z zT5`HGa4>i<h%k6go-FDk7{tKB5X`{E5W>LE5XvCJ5H|UP=yJyB$uq<(8IvYo60>2= zU|?a$1nX84*JRCOU}4Ay^U}rjSW6f<7)mG45}zhn!@$Z=%fQ7@#~{d1&mhmx$e_s3 z#Gu5`JlRtsn{fhI#|epS#aRrj46_+{80IjDGt6a>W0=RF#4w*honZlkF2fuKV}>P@ zLnP-Yu4iCn*ucQUu#rKWVH1Na!)69WhAj+g3|kp=7&bB(G3=ZyC^d<3|Kuf7!K}v_ z*ceVs{v(ylcz$w%v_0dE$qS^N86Qr5A|1&1a<Z9BH0MVKVTMl(5)7Xw&yp$S{LaA2 z@PmPi;pb!t*-TDG23AHU25v^?$z8HVtlSKoj69PW<w_YvCzs24Gs;XpEa%3k0(QNu zydk45l*KhUM_z-~l!2AeY_gAn{Nx?-#*B`W=PT$>mR8VV^<-dW^qTCW5X2ZddA>pv zV<cD?uc8`b>|_%~8%CkYg-}v-@?k}F5MN1n@;^mW5KB>XvZoS6%nig>l9_x($p`=h C|E_%i delta 798 zcmZ4J*5)=rlADp?02hNW!$B?v>4_=<j0ZQChVlqAtYu{3Vc5#Bk%y6$p@D~C3nR<s zyF3xhlkEjuIoLCcU2_XcDmOO?>|oMlWME=oWnf@P+s(ijxt)Q@M_X$f1M@ZpmT;|Y z46NH2*k&>CfP`2l=L-ARYcX&!FffQSa4<+R2r@`BNHfSVs4&PfXfwz$7&FK-_%kRl z#4#u`q%f#31Tio$Xfd!b_%rY@1T%y%urL@i7&3%1gfTFI>|+RLh+tq~;9!Vjh-8Rj zU}T79U|`^3V1%lQVPIm21>42)he3s%f$=Yc82e-g5edPg3@i*R3=9k*yBUNdw=;<N zOfC=!4Oe2|U|?X-X5e7ZWe{M{XAoyFV321pWKd%;VsK_KW(Z<11G`9pftkS>>>?iq zW{@dh+d=N|0lSD1Y^xvx^B)Fzb_U_eilWA>HViBbwv+S4MJMNpnsd4_a4@(th%k6e zUMK1!7|6iF5X8X65X`{O5W*nB5IUJ#Y&m1p<jrE1jER%qirKKHGq5mZfOR{ItFz`Z zurTCJ&KGxNEoR_gD4D!fe41o611m!f0~bRrgCIj4gFHh6gCavCgAzm2<P?c)#{S6{ zB<d7rGO#ktV&Gwz%^=P&he3{EE`t)oJO*`!`3$-Yvl)yT7EjKXoTIpoft6uB0}sOn z262Xs46+QH7!(;cGpI3aVbEdNz+l9%W3rCaB*uM{_e%w{9%Eo*I6hfiI+^j@<Z5Yq z#_N-JOFJ_@nEYQlknzRjK$&RH4-CQ#9~mSVK26>#Q_A^`ftBGq0~f=O$;PsooD2-C zjEoH2j7*c4$`-M5F>o?+PnMA@WfYk_NzR*5dh&m1`N@Cf)ESj0XUWS>c9K_T)R~+m z@5*Yzz{+SkIbA`1@@08rMu*9}6!a&XDd@0zFt9RuPEJ<{VhowQOCgFe0vuvmiYkmT rll>KK7zHQ$D~V2CsHhHQ-2=1Olsv$EkbIAl8>8Ul9wnK{@0E-ID1D~$ diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.class index 03a36323a7d3befcae71a284a2189920caba40f5..57fd67daa43006bd2fb5ab48f27258dd0d3c467e 100644 GIT binary patch delta 327 zcmaE&@kC=o3^%Jd0}F%1<V0=<Rz(I52Bpc%xZQcR8CV!}7&sYp8Tc9WCja8DVl<w- zo=0?Y7mo^~)#UX&HmnW|EDVm56S+kvv+}C5x-qaYxKB3Zb!7En;9&5bT+Ta9GK7JZ zA(VlOA&fzgA)G;;A(BCnA&NnXA$qbJUp8aL<V0@a$xHdN6^j^H8HyQr7)lt#8A=)C z7|Ixw7|I#c87dfb8A=$88EPgQ^3PFhXJBRMVBlfsWDsZQVvuF%W>944VNhe}Wzb>h zWH4fwIQboa3*+?3#R5UB^BGtf7EC@R5X888vaDbX>t+TvhAorp1icvdOg<?X$ar+J zw2%$sNwDj4g;W^NPM#!W!zeWQJd_ljtSGF`C<Jz4jIb$KMs)IWxY#3MW2mgAh&2Eo CB20w< delta 327 zcmaE&@kC=o3^%J70}F%r<V0=<Rs{wQ2F1zCxZQcR7+4sz88{hq82A}<C;#HEVl<k( zo=0?Y7mo^~<>d7|HmvpxEDR2l6S+kvv+}C5x-zgZxJ@?Xb!7Es;9&5XT+Ta9GMIst zA%ua8A(TOoA&fzuA%a1XA(BCfA!@Q3Up8a<<V0@a$xHdN6$=?y8HyNq7>XIh8A=%B z7)lwG7|Iyb8Oj-S8HyQ<8LB56^3PFhV_;=yXW(JzU=U~MWRPX(Vo+r0W>913VbEdd zU@&5sF!>#S3*)rO#R5UB^B7ne=1)E)5X87@vaDbX>m~*^hRu`f1ict{Pd+Ia$arM3 zw2%$s39##Pg;W^NOr9iU!zeiUJd_ljtSGF`C<u08jIb$KMs)IWxY#3MW2mgAh&2HB CjZ8}b diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Tag.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Tag.class index 8e9baefdcf6ef8d6339b8ce13c2c7c2b6a5ad86c..89c4d48998592535c40cc900f785917dece43dd5 100644 GIT binary patch delta 293 zcmX@EcwBMA1rAnm1{Ma1$&CWSlV5PCGAd5y<8<WIVqjs=X5eJdnH<5H&S*IK0H-CR z#pDB=qLcZ#)LHEqSQzZVI{dgaSzQ=d7+k@;el9&$F9r?<@5zU_rbz}durdTQa5021 z2r`5+$TNg9C^AGaC^1A%F67Q;Oatrqz@4pFz`)8-$iTx;#30U4%pk{5!l1-Z%An3r z#-Phk#9+)&HMxdoj$$hVD?=Lt4?{bHI70`6EJG)QB10F08bddO4nsSG5kvoEOWqd7 zsgw8d2C>d%U}cy$S(Gn`apmL;z9`1EV7spIsWEPx{Fl#$QE0LiKZq;`lOUfT=Qm{( Un*0~amzf+Upv5ROxlzCk09SQHSO5S3 delta 293 zcmX@EcwBMA1rAm*1{MbK$&CWSlV5PCGAc~w<8<WIWME;?V&G)Zo*coM&S)_C0H-CR z`Q!tfqLcZ#)LCsASQzZUI{dgaS)CbJ7+k=-el9&$PX-PKugQnFrbz}eurdTOa4`fk z2r`5)$TNg7C^CdIC^1A#F67Q;Oa<%sz@4p_&%nx1z`(;$$RN&8#308|%%H?j!l2Gj z%Am_o$Y9J+Ik|>sj$#V~D?=*-4?`P+I72&wEJFu_B10#G8bcR@4nrG*5kuc(OWqd7 zDU<i{2C>dzU}cy)S(Gn`amC~ez9_~uV7spIsWEPt{Fl#$QE;*qKZq;`lOUfT=Qm{( UoctHcmzf+Upv5RSxlzCk06CpRBme*a diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/TagObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/TagObject.class index f12797e38935d0666487aa3f179e367d4c6710b2..291505eb6ff1d9c3acc317bc1e5608415cc47543 100644 GIT binary patch delta 796 zcmZ2#_t9p<WM;;w$qShjC);ruOn%QS&e%BFkzIJQ6if2tc9!KPg02-MsYQ8-IWGCh z{z+M>$t8>oEG3l%sf-M4!6ikRdFhM{V*UjsHc09=m$BwE@rxIymLLgE{>N^^6srNV zN)2L|wVkzQ7$buSs#=H~BZHa7<Ukf39tan#&=@3O0Tp0m5Xnd^MzRAU&d4B=j$$=T z*mUwoPUXo9__-w@BG!xy;;1SoKjk!KjG6qAQ*Ckpi|*tKt_Xf5R27?Fa<MWq8cuHD z*WRqc7s<$!2zKM-`Hbq5<pg*qzvSP~m^k?#zy9PK0@|B-1>Z4BN-%IRNHGX9$S_DV z$TFxf$T4U$$TOHTC{7j;ZkE(w;9$^V5Ma<@5NFV3kY~_iP-D<%Fk~>Cyg@jW)trHa z!D4cwxbS3I5lc=-1`Y-%1`!75$?+mSf<6o^489DU41NrJ4E_uv3;~n(h%9Feotz?S z$rv+vo~R9L5(5iEGFbN~QBBqi1{Q`)Fwa;_k2Q~hgCT!%n%FeSG6q(Lat1Dj3I;)j zN(Om`Y6eAy8U`hX+R38g*^FJ28^!Asr!cTGOl9C<n8qN^Fr7h;VFrT|!%PNshFJ`{ z4AU5l8Rkt^keH*ml7W?B6$1~$Y6fwJH4L&0YZ(+7)-k9ttY^?+Sj}L>uzB)biAjt* zCl^Qtu^wb#WjHjsN=kn6Gf88{vy;zC=}-2Q(qX;Iz{+rKa+OpN<HN~krD9lLF|aYb zo~$RG%KC|cli~B^8Pb7_zb3zu_G4t4Y$@Zw$UV7ACX!KPa+Qqq<o7a~j1piU>d2}w s%1jQHwP6&RJON6IPJSe-&L{+ymz6UG%ZN_Skb{XWmNSORzLK*B0D|${+yDRo delta 968 zcmexpv(#?GWM;;c$%ULMllOD#DwXD@=9MItWaj7jCuOB3mss0bGcs@nXQt;RmXsEy zGBR{e{>xm(g-|xRm}R+#v};94YEfQdj!S+rLJDF6BLhoGWkD(<16y!OQD$B`BZGo} zL5U4k9h?1F^O+<Si&IOmN>4t+Zo`zW0duS+x>eS8)|z3A405>i!yM!=xq(Ah3_~|a zukGYU4xI=LDMkjljKpHBj)EB~myW~LFa`D+njph<uo$k0OYh`lPE*FT$@!dWpx8kU z_BWgnk~+AwZ4TyQWoERVe2`NcNzdjM-bhBqY>?-XL?_Q@RG%y_z&qKVe?MdP<p2Cp zNRpc)1>P}AiZgI9NHPdANHa(?$S|ld$TDa%$T65RC`?WeYL--I;9$^X5Ma<|5NFU~ zkY~_kP-D<zFk~>8{6{F1)r^6K!F+O<un(sL0|$d6g9wAu<kiAHg5C@)3_c8;489C} z41NqE4E~cjM3ys#Ox_@3$rwF(gNW$l|03$Fi3}_ZNt3ljZCKM8SQs)U=ZHG8<}z?F z<W1frI!&^aft8_*fs3J>L6D(>L7t(CL6M=FL5ZPea-vu^W9Q_vVs(m>8CV&nFz_%; zWe{hW#vsQqok59V27@}oOa@(ssSL&pb0_DB&rw{#z{;?afrnuggE+%#23dwR42leE z8PpioG3YR?VlZOZG+9$(6621^dnAHb4=}JY9GrYiQhu_Lq%q@}$&ym~lc!4RuwG$c zWw<)|m}C&+gUOOoF|02c*ce_-u98Y+{m8({@M-cBsX)e`lg*_47#SzGN;@!eO;(VR zp8QbSj!}5Bf{Y8J_~cX>OGfF*^JQ!p1t-s!6`lN1Mjgu1lLfKDWIe!qko+B4H%7t9 McVuNI+shdN0N3FsyZ`_I diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Trace.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/Trace.class index c60484019da953c386b7762467defce915205a2c..9a8e096381d20e3776c14d7fc8cace764765e965 100644 GIT binary patch delta 287 zcmdm_yh(Y(B2HFu1{Ma1$;&w%SQQyK7?dU#@{3Mp<kIETW?*5^Vc=rWoovpP&S*4w zK9?n<<>dKXqLbfosk7QMurN4Gmg2Tyb!A{-aGM;>?a1oQz`@`%c_H^S$zTRnh7blW zhEN7UhA;+sh6n~lhDZh_hN#H_JlTxtllSn{DHbxYG88fJFcdS0Gn6pMF_bbWF_bZ= zGn6yvG88iyGgMEG=AEP1#=y$Z&cMUa!644i$so(n#h}R0&7j86!=S^^!C=HNVX_2Y z9^<sh?R*}r^BC9|=1;!D=f${uav{I)WFvk%#toAT`E3}tOkT%t$+%<k3w|3$p~<QO fATkL|&KK}t6q@`3%+3*%nd~U2#V9m6N6-xboFYIY delta 287 zcmdm_yh(Y(B2HE@1{MbK$;&w%SQQvJ7!)TL@{3Mp<kIETVqjs=X5eDbnQYFL&S*G! zK9?n<#pL;1qLbfosk7QKurSz9mg2Tybzxv(aGe~@?a1oIz`@`>c_H^S$sh(+hF}IR zh7blphEN81hHwT&h6n~FhRDeQJlTwCllSn{DHbrWG88iKFcdL}GZZt(F_bVUF_bc> zGn6stG88cwGgM8E=AEP1%D~Fd#=yhS&LGav!63`f$)L#4#h}K}&7i~3&S1pQKUsn= zk8$ecc0Lc*xeRO!^Cn;6^I}{!xsYFYvJt-><NC>k{5Fi6C$HnTWZXXa1-}iW;AB++ f5Sauf=L>i+3Qm3jX6FdXOm-C1VicU5Bj^SIeP}=J diff --git a/build/classes/java/main/de/tudresden/inf/st/openapi/ast/XmlObject.class b/build/classes/java/main/de/tudresden/inf/st/openapi/ast/XmlObject.class index 88d2db343f081119d564a86d7f593d82f550d392..b7aa0ddd4766e7c29c436cf283385d4e2a29a47e 100644 GIT binary patch literal 6805 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 A2mk;8 literal 6814 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 D!A!UK diff --git a/build/classes/java/test/openapi/OpenAPIMain_test.class b/build/classes/java/test/openapi/OpenAPIMain_test.class index b75eda80f274e24ffc35036c0c64c7f36a853f3b..515157f38012eb253d09896e647d651685b049e9 100644 GIT binary patch delta 998 zcmbQMbV#=T)W2Q(7#J8#81`{7XfTAaGlX+7FoEa@4u(iB1{Q`W5D^U`Vz?O`8Dc?1 z95;hALp+E`U}s2VXGr2=NM=akVn}63V`oU`Vi05q0}&aV44DjB><rml45AES91J-i zI+ueX4@Bp4F%&QqT5~ZJF%*M{5-x^PhB7XOa)t^n20n&LE`}<GYA%Lgh8hr2%fV0w z(pAsF(7?se$k4>j(7f@AD&u5xrYeONc7|4VhBih9F4v0W)Pj=C{JdgzhIV#_4t9o4 zc80Fa7nxKT8M`NcV^(L@WYC(dz+$JU$<V{Y(96)r!_dz#frnut!z3Pt$qZ9?7^X5z z<6)T2Fk^B(ivizE9)?*Av)LKu@G#6}m^XPZiw5_6h6U^l3wan8F)W_^fyJhN3ByuG z1}1eq9)@KM6WAG+^DwMn=wWAA$-}UUVKooK8iuv(4C{Cp)-!BiXV}QYu!&(a4}&*@ z4?Dva9)_(9+jtnZGwk4D*vT+~k%7xA*x#>MAuYd1frnuU!!AY!0foe(RE3nxw6xTs z)VvZaE_R09JPdmn_A)XEWF?j*>gR0cVvA#8RGWN&MRfCiZhj^~4F(WkW?*E{WYA(@ zWYC^`pI6LShk=2Cje(JYfkBQzmw|zS2h3(=&|}bNU|?WmFksMPU}n%}U|`(Jz{<eI zz`$^FvIbumW69)tz6dofoox(qlAIudop~<<?+ym}Z43&_|95O;U|?Wj02yw@z&F{A zU%%d);V44@!wH5!ur)CZoD7BxybOj6Mhu(``3zwU#tbG591N`t4h*IYW(=GR$qY#h zh79Hm><p_I<QOa%EEyOX)-y;lSTUF}FoB!_bs{Ij0S0RZ8wM5z5r(Y{whTrLtPFNg zk3i(?8CVz`>KPaq)EHR)Gbl4~vNP~8Ffgz)II=UauroL@GBPmyU{LtOz`@So{EMNA z!G(c=0hF#?8Qd7$89W#~p<(0&_LMh+4+9e@L>QJcurRPPFfdqa>+E1qv|^ED*~XwW zlR-~s8-ud;HU{P045E?S8N`HCwlPT5>uzIE6;j*AAOTXPyp2I(8-vsi26a$CF@pn2 zh=GNHfgyx}ogspOpCOXLiXj>tR3;ERpx$L*ux9XO@B_z^HG@BcA2=|q83Gsr8JHQ^ s8B7?082msUW?*38U|{^iV8zZ5%;3Tx2#OCz23H0~h7bk@1}2730H9Q@8~^|S delta 1421 zcmX>kJ6Eax)W2Q(7#J8#7_M<K=rP2xGsJT-FoEa<4u(W71{Q`S5RnWbQn(pB8B#$+ z8aIPCLpq4aU}wl=XUO7W$Y#jlV#sC4V`s?cVi07A0}%zB4229u><q<R45AEi91JBO zx|D;V3`Cc6F;p;AhH^1fF;s(y8ZL%fhB^>Y&%w~Z#n8ym1X9+_!O+6R(8|!p#n8^s z!NtJG(8<Nn#n8>g5Y5m7B6>L(`alZ%IT$8zF-&Bb#Lh5z<1ST39`>Tt;?kUwVnzl- zpUDqdH8_GGeCx?~8EX`#uro|$XPCywz~x$zoLW$lnV(n8&M=*wVFo+HOm>D@n=6@A z7#U|zp2w`ttj}OD`2@3_qCUeM9)`IL^LQBMGc4d?Sje!5hhZ_p5*~)749j>JmNTrF ztj=P<w~~ip6~k(FhBZ74YZ=x}PG!;HUeB<Bona#n!zPB!lV`Bl)Nf(f%E-W^uE)c$ zjbQ;h!*(8q9Sn2W8Fun8>|)r>!?1^8FFV6N9)|r42Y46`G8|%Lkn=27D9K1wD9$e} zN={YCPs&P7E>S2;%*jl#SFloGXE@Bma0KLtEeuB)85E(a(^K<OixNvxQ_wV6gLE9@ zVK~lkf}P<c55p;j(>x5p3?b|cXLuOSGMwXKIL~l_hv6c_0!9WduV8<_VuiH)A_X3X zEew|?>$8foUFKo9!f<u77i&68y-9vix_*8^YF=VNrb(85L1IyHYLPzJX^Egv)h{#F z_b*7zb1cX-4g)zju_V8Uk%1#Kuec;JFFBQw!9qjRha5w!85uarxFANRGBQL@j$zbf z(gepfH!Q9h8T3JMF9zi^GO%YBgI&SMAfpjA*^^sl^F~fprYJoI5MX9tWYA|YU|?i0 zWME*>XJBMtWME)m)!NR$xRHT@fr-J0fq{VyEGWld%)r3F17@=_m@t?!FfcGOm@ybI zFoQHRNieW7a4|423QacP31i$lxt%AXeg}h`B<D5;dB05zBD)zxBeye%2`Ox2kkH-6 zpty}eX&ZyoHU{Y(401YXYLwB{Xz6TYPyrdGBFWCYmw|T&gX%U0wdMcqL9S#0yV8q6 zh=GAYm4TB%ok4^_lfjTdYqBV>e7!5f4hA=dD-7-ocNjbvelU15@-YN33Ni$O{gcMP z#bC(5%V5r6!NAFo&oH0ClEI3BgQ1n7lfjz7hJlkInPD}9IfE?&JHsl5bOt*Hdj>{^ z^$bZ24h%L7Obk01A{iVRoEVrvK8J=1CnG0=GlL5Q3xf#5zj_8&1`7sO1~+KnK_uN7 zSQtDQ7#P$TSpG98GjOsq@G&qjurqkFGqA8Tcrh|EF#KRp_`|@#&fxuv;V^>_0|Nu7 zMDk_uWAJAPU<iapOArGC0}Ci6GcbW7fnhlV3j-?y1B11;&JG53D;7x>i){=VGa2-B zwlQdGZ)4De#ex<jgtdiqwlPRZvTS3}+{PfWjX`P$gDxmYnHh{G2k?nUgQDC7Vj|RY z3=Gx`p$uW*WMIt@&Jf1H1hS7If+3QDnSq_bgdvI{4C*@$2F5=OR_qMXVE3~yFf#Zu LFfzn|6ILt$D48!8 diff --git a/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html b/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html index b1cdc28d..2fa5c062 100644 --- a/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html +++ b/build/reports/tests/test/classes/openapi.OpenAPIMain_test.html @@ -29,7 +29,7 @@ </td> <td> <div class="infoBox" id="failures"> -<div class="counter">1</div> +<div class="counter">0</div> <p>failures</p> </div> </td> @@ -41,7 +41,7 @@ </td> <td> <div class="infoBox" id="duration"> -<div class="counter">0.542s</div> +<div class="counter">0.346s</div> <p>duration</p> </div> </td> @@ -50,8 +50,8 @@ </div> </td> <td> -<div class="infoBox failures" id="successRate"> -<div class="percent">0%</div> +<div class="infoBox success" id="successRate"> +<div class="percent">100%</div> <p>successful</p> </div> </td> @@ -61,123 +61,13 @@ <div id="tabs"> <ul class="tabLinks"> <li> -<a href="#tab0">Failed tests</a> -</li> -<li> -<a href="#tab1">Tests</a> +<a href="#tab0">Tests</a> </li> <li> -<a href="#tab2">Standard output</a> +<a href="#tab1">Standard output</a> </li> </ul> <div id="tab0" class="tab"> -<h2>Failed tests</h2> -<div class="test"> -<a name="test()"></a> -<h3 class="failures">test()</h3> -<span class="code"> -<pre>OpenApi3 validation failure -Validation error(s) : -components.schemas.Error.required.required: Duplicated values in 'required'. (code: 101) -From: components.schemas.Error.required.required - - at org.openapi4j.parser.validation.v3.OpenApi3Validator.validate(OpenApi3Validator.java:28) - at openapi.OpenAPIMain_test.test(OpenAPIMain_test.java:71) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) - at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) - at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) - at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) - at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) - at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) - at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) - at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) - at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) - at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) - at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) - at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) - at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75) - at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) - at com.sun.proxy.$Proxy2.stop(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:133) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) - at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) - at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) - at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414) - at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) - at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) - at java.base/java.lang.Thread.run(Thread.java:829) -</pre> -</span> -</div> -</div> -<div id="tab1" class="tab"> <h2>Tests</h2> <table> <thead> @@ -188,17 +78,191 @@ From: components.schemas.Error.required.required </tr> </thead> <tr> -<td class="failures">test()</td> -<td class="failures">0.542s</td> -<td class="failures">failed</td> +<td class="success">test()</td> +<td class="success">0.346s</td> +<td class="success">passed</td> </tr> </table> </div> -<div id="tab2" class="tab"> +<div id="tab1" class="tab"> <h2>Standard output</h2> <span class="code"> -<pre>Loading expression DSL file 'petstore-expanded.json'. -Is the source object valid? : true +<pre>Loading expression DSL file 'api-with-examples.json'. +Loading expression DSL file 'callback-example.json'. +null +null +null +null +null +null +Loading expression DSL file 'link-example.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'petstore-expanded.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'petstore.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'uspto.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +false +null +null +null +null +null +null +null +null </pre> </span> </div> @@ -210,7 +274,7 @@ Is the source object valid? : true <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> </label> </div>Generated by -<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 13. 오후 3:52:46</p> +<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 15. ì˜¤ì „ 3:53:32</p> </div> </div> </body> diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html index 14e205cb..2e5a1cbb 100644 --- a/build/reports/tests/test/index.html +++ b/build/reports/tests/test/index.html @@ -26,7 +26,7 @@ </td> <td> <div class="infoBox" id="failures"> -<div class="counter">1</div> +<div class="counter">0</div> <p>failures</p> </div> </td> @@ -38,7 +38,7 @@ </td> <td> <div class="infoBox" id="duration"> -<div class="counter">0.542s</div> +<div class="counter">0.346s</div> <p>duration</p> </div> </td> @@ -47,8 +47,8 @@ </div> </td> <td> -<div class="infoBox failures" id="successRate"> -<div class="percent">0%</div> +<div class="infoBox success" id="successRate"> +<div class="percent">100%</div> <p>successful</p> </div> </td> @@ -58,25 +58,13 @@ <div id="tabs"> <ul class="tabLinks"> <li> -<a href="#tab0">Failed tests</a> -</li> -<li> -<a href="#tab1">Packages</a> +<a href="#tab0">Packages</a> </li> <li> -<a href="#tab2">Classes</a> +<a href="#tab1">Classes</a> </li> </ul> <div id="tab0" class="tab"> -<h2>Failed tests</h2> -<ul class="linkList"> -<li> -<a href="classes/openapi.OpenAPIMain_test.html">OpenAPIMain_test</a>. -<a href="classes/openapi.OpenAPIMain_test.html#test()">test()</a> -</li> -</ul> -</div> -<div id="tab1" class="tab"> <h2>Packages</h2> <table> <thead> @@ -91,19 +79,19 @@ </thead> <tbody> <tr> -<td class="failures"> +<td class="success"> <a href="packages/openapi.html">openapi</a> </td> <td>1</td> -<td>1</td> <td>0</td> -<td>0.542s</td> -<td class="failures">0%</td> +<td>0</td> +<td>0.346s</td> +<td class="success">100%</td> </tr> </tbody> </table> </div> -<div id="tab2" class="tab"> +<div id="tab1" class="tab"> <h2>Classes</h2> <table> <thead> @@ -118,14 +106,14 @@ </thead> <tbody> <tr> -<td class="failures"> +<td class="success"> <a href="classes/openapi.OpenAPIMain_test.html">openapi.OpenAPIMain_test</a> </td> <td>1</td> -<td>1</td> <td>0</td> -<td>0.542s</td> -<td class="failures">0%</td> +<td>0</td> +<td>0.346s</td> +<td class="success">100%</td> </tr> </tbody> </table> @@ -138,7 +126,7 @@ <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> </label> </div>Generated by -<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 13. 오후 3:52:46</p> +<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 15. ì˜¤ì „ 3:53:32</p> </div> </div> </body> diff --git a/build/reports/tests/test/packages/openapi.html b/build/reports/tests/test/packages/openapi.html index dc6ae7ba..12e44539 100644 --- a/build/reports/tests/test/packages/openapi.html +++ b/build/reports/tests/test/packages/openapi.html @@ -28,7 +28,7 @@ </td> <td> <div class="infoBox" id="failures"> -<div class="counter">1</div> +<div class="counter">0</div> <p>failures</p> </div> </td> @@ -40,7 +40,7 @@ </td> <td> <div class="infoBox" id="duration"> -<div class="counter">0.542s</div> +<div class="counter">0.346s</div> <p>duration</p> </div> </td> @@ -49,8 +49,8 @@ </div> </td> <td> -<div class="infoBox failures" id="successRate"> -<div class="percent">0%</div> +<div class="infoBox success" id="successRate"> +<div class="percent">100%</div> <p>successful</p> </div> </td> @@ -60,22 +60,10 @@ <div id="tabs"> <ul class="tabLinks"> <li> -<a href="#tab0">Failed tests</a> -</li> -<li> -<a href="#tab1">Classes</a> +<a href="#tab0">Classes</a> </li> </ul> <div id="tab0" class="tab"> -<h2>Failed tests</h2> -<ul class="linkList"> -<li> -<a href="../classes/openapi.OpenAPIMain_test.html">OpenAPIMain_test</a>. -<a href="../classes/openapi.OpenAPIMain_test.html#test()">test()</a> -</li> -</ul> -</div> -<div id="tab1" class="tab"> <h2>Classes</h2> <table> <thread> @@ -89,14 +77,14 @@ </tr> </thread> <tr> -<td class="failures"> +<td class="success"> <a href="../classes/openapi.OpenAPIMain_test.html">OpenAPIMain_test</a> </td> <td>1</td> -<td>1</td> <td>0</td> -<td>0.542s</td> -<td class="failures">0%</td> +<td>0</td> +<td>0.346s</td> +<td class="success">100%</td> </tr> </table> </div> @@ -108,7 +96,7 @@ <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> </label> </div>Generated by -<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 13. 오후 3:52:46</p> +<a href="http://www.gradle.org">Gradle 6.8</a> at 2021. 8. 15. ì˜¤ì „ 3:53:32</p> </div> </div> </body> diff --git a/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml b/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml index fafedc7e..e5d08902 100644 --- a/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml +++ b/build/test-results/test/TEST-openapi.OpenAPIMain_test.xml @@ -1,108 +1,183 @@ <?xml version="1.0" encoding="UTF-8"?> -<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="1" errors="0" timestamp="2021-08-13T06:52:45" hostname="MacBook-Air-von-Jueun.local" time="0.542"> +<testsuite name="openapi.OpenAPIMain_test" tests="1" skipped="0" failures="0" errors="0" timestamp="2021-08-14T18:53:31" hostname="DESKTOP-RAH69DT" time="0.346"> <properties/> - <testcase name="test()" classname="openapi.OpenAPIMain_test" time="0.542"> - <failure message="OpenApi3 validation failure Validation error(s) : components.schemas.Error.required.required: Duplicated values in 'required'. (code: 101) From: components.schemas.Error.required.required " type="org.openapi4j.core.validation.ValidationException">OpenApi3 validation failure -Validation error(s) : -components.schemas.Error.required.required: Duplicated values in 'required'. (code: 101) -From: components.schemas.Error.required.required - - at org.openapi4j.parser.validation.v3.OpenApi3Validator.validate(OpenApi3Validator.java:28) - at openapi.OpenAPIMain_test.test(OpenAPIMain_test.java:71) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) - at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) - at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) - at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) - at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) - at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) - at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) - at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) - at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) - at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) - at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) - at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) - at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) - at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) - at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) - at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) - at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) - at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) - at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) - at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79) - at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75) - at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) - at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) - at com.sun.proxy.$Proxy2.stop(Unknown Source) - at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:133) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) - at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) - at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) - at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) - at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414) - at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) - at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) - at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) - at java.base/java.lang.Thread.run(Thread.java:829) -</failure> - </testcase> - <system-out><![CDATA[Loading expression DSL file 'petstore-expanded.json'. -Is the source object valid? : true + <testcase name="test()" classname="openapi.OpenAPIMain_test" time="0.346"/> + <system-out><![CDATA[Loading expression DSL file 'api-with-examples.json'. +Loading expression DSL file 'callback-example.json'. +null +null +null +null +null +null +Loading expression DSL file 'link-example.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'petstore-expanded.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'petstore.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +Loading expression DSL file 'uspto.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +false +null +null +null +null +null +null +null +null ]]></system-out> <system-err><![CDATA[]]></system-err> </testsuite> diff --git a/build/test-results/test/binary/output.bin b/build/test-results/test/binary/output.bin index 9acd6132..1c868c9b 100644 --- a/build/test-results/test/binary/output.bin +++ b/build/test-results/test/binary/output.bin @@ -1,2 +1,176 @@ -6Loading expression DSL file 'petstore-expanded.json'. -#Is the source object valid? : true +7Loading expression DSL file 'api-with-examples.json'. +6Loading expression DSL file 'callback-example.json'. +null +null +null +null +null +null +2Loading expression DSL file 'link-example.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +7Loading expression DSL file 'petstore-expanded.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +.Loading expression DSL file 'petstore.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +MLoading expression DSL file 'richard_mueller4-MatchinitAPI-1-swagger.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null ++Loading expression DSL file 'uspto.json'. +null +null +null +null +null +null +null +null +null +null +null +null +null +false +null +null +null +null +null +null +null +null diff --git a/build/test-results/test/binary/output.bin.idx b/build/test-results/test/binary/output.bin.idx index 3b74af40044d56dbdf3be83209f4dd408d6c17a9..a01fd0b76e466e36969df8b32967cc6ae401d58f 100644 GIT binary patch literal 36 ScmZQ%Vq|1M0UVnD(EtF8k`N~V literal 36 RcmZQ%Vq|1M1y=vj004|55HJ7$ diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin index ccc815bf05f7ea625c60663d4e61923acc15b624..3ffa010b60fe742209c1707cd978064d91c37ad9 100644 GIT binary patch delta 38 ocmaFk7dXLC!HrqShmo<pB(=CiLla6d++t#2V61jy7GA~x0ORfopa1{> literal 10092 zcmZQ(WSW^@keZiRkg4ZikecTh;OU!~nHOJ@T3j*_U4VgsvD(h#Dib4PJ4jwb6G}18 zV}VFrS76+fUzDx~HPIwXFFC&`Rj({DCo?6nBr`uxFAUCftw>HS0Ezu&0^3uNX{>-y zsF0SJnNwPn%7xINkXlrfU!+m2sbIyGoS$2epO>0fQmj{;oRONFSghv?lGQ6pEiBC} zN=<<?tQ1^I3vx1(6H8K4K<1aG7As`tDX7B~s_Q9eB<H83S}7PB7;19473JqzDG+Zw z*UK4<L)rOUoQWk0s8LpsSX7)^gdAyQ#*nm8kZBB!j(oU$ss_ya2&t^ZvP3H*3r&dO zI8v7$I0=C@Bc(Y#uwHXRh+Ys!FDbD&RX-~wTQ4)OB(*3nF-NZ`H7zGKxkS$|u_UuB z)i<>yBR|D4IXShsIKRj<w;)F^Gp{T^JJmn~qCf$nf*M9bO@tVTVkO9_R%S*-S>lqK zlbW7bl9`u|#UO~=HSnqdTV`U6VOe5XqFzp7UOGI4Am&5ELj%eK>ozqrgJ=guepYE- zW{F-wPGU(~eo?Moa(-@ZeqOO&X-Q^|UJxX(GxPI8OEPncp=Lph(m<C48*OF*i~6E; zJ&4g+r3INKsYQCJdFh#Xsd}jusmZ0Fysrl_$1|@iKN(U$6cptrr>3Sr-HIduG1>s# z(Kt;;X!Qi88&F}BU*w#Tn3<;nO{tlA=?F!7FpCjF==vaO)6f{2I1vGd;f9jbykbyk z7m}HqnqOMtS^*OPCt;9NG%%#V{xdYOB<MkySr{h34G&2zE=f$vf#wXHRuK+M;;e$i zAr5OSObB`imKI#WsRHD1P#k2Z7OB9JS6M1@TqNe?=;b8lCZ!~*<fnz@XQn_Lpkknb zVFEPD3{A;*1k5T(zQkjR0r8fA{0B+z$o>MSO}Id63PKg}iPHchS7RhjSa2hZhuaCw zAVgbdMttPru`L<oamPHcf3s6H@Tdgm5ff^JGqe~ZXqmA&1t|xTWN@ZR1L8vuGhyR5 z+mcWToRV6cT$EW*l3%0;DlH&62*h$hNI>%##3qm&M3st}27&`(A!z|ekdYxq$pWuh zpcO!IX+c4LQHfqgW@=GlQF2CRa$=5NNJde9IVk%(=jVXx_xvJgMUkq3MG9<{IkXPM zSr!xHPjn9w@*crFMvSG9DlnCRU4$ze>e*$6k*|n~HNX6nR8T4iNi5EWm6cG>1*ImJ z78PffrRG$sm};OX1jnACF-C1il$BUg1Jp(m5(-f^p|}~EAD~ttd(Ir2=Zwhn9LP$& z#G?GtycDph&?*eGAfl!REWlR5qY)B2Mi^xuQC1F6>|jO<RzG3Xk3{(i6e;k~f!c({ zcvxcx6n@Zt3#dsBZbv&76(v^sWEPj`rR5j7CMIWSAVfgwtqe^~Fj|&GIW9OcH#H=q zC^a#~1F1L#ITuoG<QD~}7L{ctr$Q?|$DAAu;`M;tW{gpv5alwIV8fk#u$B$5?hT@7 zC(6nJN`1IJH(EAOyNV|&9iSvVXpTiHvaw`dL!;5MA$7EDfVVxt1s`Sull0U#S~d_B zW&>1m52mt##JZ07O1!u<DL1o(<XRs(oJpdyaJ53<y*Zo;z*)|eyk;kcp~ypxsTw$> zAvWS}cjY9O<|SvO7C|O5T)}2ST2-0(dHzMo8L7o3MTwwpG&CJ);8O#(&CmdMV~PgW zVGhQ^b0hJ#p%!7FK`=Za0rsUS#^44S)|O|MWWWcfQd5FUic%AEiwOs@8SW%Ryq}4V zP*dF51l2Z|)U?FXoDv^cnu6JYE)EVrOWdsy3QRRe>g1;vC8p%0>Vc;Iz(dENsg;t% z;_PDZ)J$d`bnqS?Z(gB!nI!?xNdi#!!Z|0gxHtebU=NykQGpKIIOgQQB~yzbnI*pn zGNxEuj4G=^z)VQz*Al5GO<zYRf@hUf3=9m2bE!G)T&h=Gl3zfiD@cmu;L^+z@CXiS zbVBUIB?(TVX3%mI#DR8qN2lqKrXfM$Vg>8Rf;iAX0*wifGff9g`|!+~l384kSdyH9 zG)LzG6N1ShP0_*SKu)nTMk-&ZYOoPf$&b@u=lr~q)QS>tlJm(=Oi3+*yAJMhJZd05 zKpOnTX;DB?enlnBY{!(uf|ArC6&N372GAohFC{0n2s%ijflVW{ID&dGIX_pgxHJz` zvQ<>-sem;YL9$I~UUpu7d7eUWerZv1Dq;!&>P$REZh3xDb}D30J{-aX=X+3z3gv_S zZfFekJctKPR-<`uH19!^CaA>@O>6Mdq9`>tzXUV}2wg>yQJSRZn_66)n4aoUn&gz2 zoSmBDpOlrFT;iOcmzSChnxBW~l<=a&f`Zf{J$U9Mq!W@=3@wn_MuWmZ$WxZ2IY<Ro zKophcX&}50@u-O*o{&$@&r2>XDoV{O(StRI0`hY*lPgu6LB+RYUP@4Ea(+>Y8)VH> zv0i>2L|rO$?l8Xyq8?%wJ})3y<(rt7n4X#fF$uCTM#WGM?08HWh{-0<o(WQ+0;;RP z<JU+gLk61z^7C_GhJ%cS6i=WTnAF4+6iJYAR)&VK6+s{_w8$dPbQOrvAWLu>Zw50R zThhmHyIW#%Nq$i!Xt9tAG@Kxw3M$RZ15H69*@dJQ5=y4fniI_*;2Irb3X*P!77Ng1 F5C9DOp>hBK diff --git a/src/gen-res/BuildInfo.properties b/src/gen-res/BuildInfo.properties index 7eba7ae7..bd0d29dd 100644 --- a/src/gen-res/BuildInfo.properties +++ b/src/gen-res/BuildInfo.properties @@ -1,7 +1,7 @@ -#Fri, 13 Aug 2021 15:51:12 +0900 +#Sun, 15 Aug 2021 01:26:00 +0900 moduleId=openapispecification moduleName=null moduleVariant=null -timestamp=2021-08-13T15\:51Z -build.date=2021-08-13 +timestamp=2021-08-15T01\:26Z +build.date=2021-08-15 diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java index b3e543d1..d542bcc3 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNode.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java index 0a3a84a7..83be9eae 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTNodeAnnotation.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java index 3e225df7..8f5303f8 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ASTState.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java index 91ae3481..1cbe9133 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AdditionalProperties.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:130 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:92 * @astdecl AdditionalProperties : ASTNode ::= SchemaObject; * @production AdditionalProperties : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java index ccc61fd5..95cb513a 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AllOfSchema.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:136 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:98 * @astdecl AllOfSchema : ASTNode ::= SchemaObject; * @production AllOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java index f1e44a42..811a19ba 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AnyOfSchema.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:137 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:99 * @astdecl AnyOfSchema : ASTNode ::= SchemaObject; * @production AnyOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java index b230aee6..6640eeac 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AttributeValue.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java index 4cc0bc0f..4ad07720 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/AuthorizationCode.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:156 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:117 * @astdecl AuthorizationCode : ASTNode ::= OAuthFlowObject; * @production AuthorizationCode : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java index 55750d65..426c3c54 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:112 - * @astdecl CallbackObject : ASTNode ::= Expression*; - * @production CallbackObject : {@link ASTNode} ::= <span class="component">{@link Expression}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:73 + * @astdecl CallbackObject : ASTNode ::= Expression* Extension* <Ref:String>; + * @production CallbackObject : {@link ASTNode} ::= <span class="component">{@link Expression}*</span> <span class="component">{@link Extension}*</span> <span class="component"><Ref:String></span>; */ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:471 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:494 */ public static Callback composeCallback (CallbackObject callbackObject){ Callback callback = new Callback(); @@ -25,7 +26,7 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { if( callbackObject.getNumExpression() != 0 ){ Map<String, Path> paths = new HashMap<>(); for( Expression e : callbackObject.getExpressions() ) - paths.put( e.getName(), PathItemObject.composePath( e.getPathItemObject() )); + paths.put( e.getName(), PathItem.composePath( e.getPathItem() )); callback.setCallbackPaths(paths); } @@ -33,14 +34,14 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:531 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:509 */ public static CallbackObject parseCallback(Callback callback){ CallbackObject callbackObject = new CallbackObject(); if( callback.getCallbackPaths() != null ){ for( String key : callback.getCallbackPaths().keySet() ) - callbackObject.addExpression(new Expression(key, PathItemObject.parsePath(callback.getCallbackPath(key)))); + callbackObject.addExpression(new Expression(key, PathItem.parsePath(callback.getCallbackPath(key)))); } return callbackObject; @@ -59,54 +60,57 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:10 */ public void init$Children() { - children = new ASTNode[1]; + children = new ASTNode[2]; setChild(new JastAddList(), 0); + setChild(new JastAddList(), 1); } /** - * @declaredat ASTNode:14 + * @declaredat ASTNode:15 */ @ASTNodeAnnotation.Constructor( - name = {"Expression"}, - type = {"JastAddList<Expression>"}, - kind = {"List"} + name = {"Expression", "Extension", "Ref"}, + type = {"JastAddList<Expression>", "JastAddList<Extension>", "String"}, + kind = {"List", "List", "Token"} ) - public CallbackObject(JastAddList<Expression> p0) { + public CallbackObject(JastAddList<Expression> p0, JastAddList<Extension> p1, String p2) { setChild(p0, 0); + setChild(p1, 1); + setRef(p2); } /** @apilevel low-level - * @declaredat ASTNode:23 + * @declaredat ASTNode:26 */ protected int numChildren() { - return 1; + return 2; } /** * @apilevel internal - * @declaredat ASTNode:29 + * @declaredat ASTNode:32 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:33 + * @declaredat ASTNode:36 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:37 + * @declaredat ASTNode:40 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:41 + * @declaredat ASTNode:44 */ public CallbackObject clone() throws CloneNotSupportedException { CallbackObject node = (CallbackObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:46 + * @declaredat ASTNode:49 */ public CallbackObject copy() { try { @@ -126,7 +130,7 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:65 + * @declaredat ASTNode:68 */ @Deprecated public CallbackObject fullCopy() { @@ -137,7 +141,7 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:75 + * @declaredat ASTNode:78 */ public CallbackObject treeCopyNoTransform() { CallbackObject tree = (CallbackObject) copy(); @@ -158,7 +162,7 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:95 + * @declaredat ASTNode:98 */ public CallbackObject treeCopy() { CallbackObject tree = (CallbackObject) copy(); @@ -174,10 +178,10 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:109 + * @declaredat ASTNode:112 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node); + return super.is$Equal(node) && (tokenString_Ref == ((CallbackObject) node).tokenString_Ref); } /** * Replaces the Expression list. @@ -289,6 +293,136 @@ public class CallbackObject extends ASTNode<ASTNode> implements Cloneable { public JastAddList<Expression> getExpressionsNoTransform() { return getExpressionListNoTransform(); } + /** + * Replaces the Extension list. + * @param list The new list node to be used as the Extension list. + * @apilevel high-level + */ + public void setExtensionList(JastAddList<Extension> list) { + setChild(list, 1); + } + /** + * Retrieves the number of children in the Extension list. + * @return Number of children in the Extension list. + * @apilevel high-level + */ + public int getNumExtension() { + return getExtensionList().getNumChild(); + } + /** + * Retrieves the number of children in the Extension list. + * Calling this method will not trigger rewrites. + * @return Number of children in the Extension list. + * @apilevel low-level + */ + public int getNumExtensionNoTransform() { + return getExtensionListNoTransform().getNumChildNoTransform(); + } + /** + * Retrieves the element at index {@code i} in the Extension list. + * @param i Index of the element to return. + * @return The element at position {@code i} in the Extension list. + * @apilevel high-level + */ + public Extension getExtension(int i) { + return (Extension) getExtensionList().getChild(i); + } + /** + * Check whether the Extension list has any children. + * @return {@code true} if it has at least one child, {@code false} otherwise. + * @apilevel high-level + */ + public boolean hasExtension() { + return getExtensionList().getNumChild() != 0; + } + /** + * Append an element to the Extension list. + * @param node The element to append to the Extension list. + * @apilevel high-level + */ + public void addExtension(Extension node) { + JastAddList<Extension> list = (parent == null) ? getExtensionListNoTransform() : getExtensionList(); + list.addChild(node); + } + /** @apilevel low-level + */ + public void addExtensionNoTransform(Extension node) { + JastAddList<Extension> list = getExtensionListNoTransform(); + list.addChild(node); + } + /** + * Replaces the Extension list element at index {@code i} with the new node {@code node}. + * @param node The new node to replace the old list element. + * @param i The list index of the node to be replaced. + * @apilevel high-level + */ + public void setExtension(Extension node, int i) { + JastAddList<Extension> list = getExtensionList(); + list.setChild(node, i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + @ASTNodeAnnotation.ListChild(name="Extension") + public JastAddList<Extension> getExtensionList() { + JastAddList<Extension> list = (JastAddList<Extension>) getChild(1); + return list; + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionListNoTransform() { + return (JastAddList<Extension>) getChildNoTransform(1); + } + /** + * @return the element at index {@code i} in the Extension list without + * triggering rewrites. + */ + public Extension getExtensionNoTransform(int i) { + return (Extension) getExtensionListNoTransform().getChildNoTransform(i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + public JastAddList<Extension> getExtensions() { + return getExtensionList(); + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionsNoTransform() { + return getExtensionListNoTransform(); + } + /** + * Replaces the lexeme Ref. + * @param value The new value for the lexeme Ref. + * @apilevel high-level + */ + public void setRef(String value) { + tokenString_Ref = value; + } + /** @apilevel internal + */ + protected String tokenString_Ref; + /** + * Retrieves the value for the lexeme Ref. + * @return The value for the lexeme Ref. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Ref") + public String getRef() { + return tokenString_Ref != null ? tokenString_Ref : ""; + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.java deleted file mode 100644 index 767a9e4f..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:56 - * @astdecl CallbackReferenceTuple : CallbacksTuple ::= <Name:String> <Ref:String>; - * @production CallbackReferenceTuple : {@link CallbacksTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class CallbackReferenceTuple extends CallbacksTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public CallbackReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public CallbackReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public CallbackReferenceTuple clone() throws CloneNotSupportedException { - CallbackReferenceTuple node = (CallbackReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public CallbackReferenceTuple copy() { - try { - CallbackReferenceTuple node = (CallbackReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public CallbackReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public CallbackReferenceTuple treeCopyNoTransform() { - CallbackReferenceTuple tree = (CallbackReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public CallbackReferenceTuple treeCopy() { - CallbackReferenceTuple tree = (CallbackReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((CallbackReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((CallbackReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java similarity index 73% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java index fa4dee46..9e0c1131 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbackTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:55 - * @astdecl CallbackObjectTuple : CallbacksTuple ::= <Name:String> CallbackObject; - * @production CallbackObjectTuple : {@link CallbacksTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link CallbackObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:31 + * @astdecl CallbackTuple : ASTNode ::= <Key:String> CallbackObject; + * @production CallbackTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link CallbackObject}</span>; */ -public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { +public class CallbackTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public CallbackObjectTuple() { + public CallbackTuple() { super(); } /** @@ -35,12 +36,12 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "CallbackObject"}, + name = {"Key", "CallbackObject"}, type = {"String", "CallbackObject"}, kind = {"Token", "Child"} ) - public CallbackObjectTuple(String p0, CallbackObject p1) { - setName(p0); + public CallbackTuple(String p0, CallbackObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public CallbackObjectTuple clone() throws CloneNotSupportedException { - CallbackObjectTuple node = (CallbackObjectTuple) super.clone(); + public CallbackTuple clone() throws CloneNotSupportedException { + CallbackTuple node = (CallbackTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public CallbackObjectTuple copy() { + public CallbackTuple copy() { try { - CallbackObjectTuple node = (CallbackObjectTuple) clone(); + CallbackTuple node = (CallbackTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public CallbackObjectTuple fullCopy() { + public CallbackTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public CallbackObjectTuple treeCopyNoTransform() { - CallbackObjectTuple tree = (CallbackObjectTuple) copy(); + public CallbackTuple treeCopyNoTransform() { + CallbackTuple tree = (CallbackTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public CallbackObjectTuple treeCopy() { - CallbackObjectTuple tree = (CallbackObjectTuple) copy(); + public CallbackTuple treeCopy() { + CallbackTuple tree = (CallbackTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class CallbackObjectTuple extends CallbacksTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((CallbackObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((CallbackTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the CallbackObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbacksTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbacksTuple.java deleted file mode 100644 index 4165cb3c..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/CallbacksTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:54 - * @astdecl CallbacksTuple : ASTNode; - * @production CallbacksTuple : {@link ASTNode}; - - */ -public abstract class CallbacksTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public CallbacksTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public CallbacksTuple clone() throws CloneNotSupportedException { - CallbacksTuple node = (CallbacksTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract CallbacksTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract CallbacksTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract CallbacksTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java index 8a6f8c5b..cc534861 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ClientCredentials.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:155 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:116 * @astdecl ClientCredentials : ASTNode ::= OAuthFlowObject; * @production ClientCredentials : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java index 46ac3770..241f0eee 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ComponentsObject.java @@ -4,297 +4,289 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:5 - * @astdecl ComponentsObject : ASTNode ::= SchemasTuple* ResponsesTuple* ParameterTuple* ExamplesTuple* RequestBodiesTuple* HeadersTuple* SecuritySchemesTuple* LinksTuple* CallbacksTuple*; - * @production ComponentsObject : {@link ASTNode} ::= <span class="component">{@link SchemasTuple}*</span> <span class="component">{@link ResponsesTuple}*</span> <span class="component">{@link ParameterTuple}*</span> <span class="component">{@link ExamplesTuple}*</span> <span class="component">{@link RequestBodiesTuple}*</span> <span class="component">{@link HeadersTuple}*</span> <span class="component">{@link SecuritySchemesTuple}*</span> <span class="component">{@link LinksTuple}*</span> <span class="component">{@link CallbacksTuple}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:22 + * @astdecl ComponentsObject : ASTNode ::= SchemaTuple* ResponseTuple* ParameterTuple* ExampleTuple* RequestBodyTuple* HeaderTuple* SecuritySchemeTuple* LinkTuple* CallbackTuple*; + * @production ComponentsObject : {@link ASTNode} ::= <span class="component">{@link SchemaTuple}*</span> <span class="component">{@link ResponseTuple}*</span> <span class="component">{@link ParameterTuple}*</span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link RequestBodyTuple}*</span> <span class="component">{@link HeaderTuple}*</span> <span class="component">{@link SecuritySchemeTuple}*</span> <span class="component">{@link LinkTuple}*</span> <span class="component">{@link CallbackTuple}*</span>; */ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:126 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:131 */ public static Components composeComponents (ComponentsObject componentsObject){ Components components = new Components(); - if( componentsObject.getNumSchemasTuple() != 0 ){ - Map<String, org.openapi4j.parser.model.v3.Schema> schemas = new HashMap<>(); - for( SchemasTuple t : componentsObject.getSchemasTuples() ){ - if( t instanceof SchemaReferenceTuple ){ - org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema(); - schema.setRef(((SchemaReferenceTuple) t).getRef()); - schemas.put(((SchemaReferenceTuple) t).getName(), schema); + if( componentsObject.getNumSchemaTuple() != 0 ){ + Map<String, org.openapi4j.parser.model.v3.Schema> schemaMap = new HashMap<>(); + for( SchemaTuple t : componentsObject.getSchemaTuples() ){ + if(!t.getSchemaObject().getRef().isEmpty()){ + org.openapi4j.parser.model.v3.Schema schema=new org.openapi4j.parser.model.v3.Schema(); + schema.setRef(t.getSchemaObject().getRef()); + schemaMap.put(t.getKey(),schema); } else - schemas.put(((SchemaObjectTuple)t).getName(), SchemaObject.composeSchema(((SchemaObjectTuple)t).getSchemaObject())); + schemaMap.put(t.getKey(),SchemaObject.composeSchema(t.getSchemaObject())); } - components.setSchemas(schemas); + components.setSchemas(schemaMap); } - if( componentsObject.getNumResponsesTuple() != 0 ){ - Map<String, Response> responses = new HashMap<>(); - for( ResponsesTuple t : componentsObject.getResponsesTuples() ){ - if( t instanceof ResponseReferenceTuple ){ + if( componentsObject.getNumResponseTuple() != 0 ){ + Map<String, Response> responseMap = new HashMap<>(); + for( ResponseTuple t : componentsObject.getResponseTuples() ){ + if( !t.getResponseObject().getRef().isEmpty() ){ Response response = new Response(); - response.setRef(((ResponseReferenceTuple) t).getRef()); - responses.put(((ResponseReferenceTuple) t).getName(), response); + response.setRef(t.getResponseObject().getRef()); + responseMap.put(t.getKey(), response); } else - responses.put(((ResponseObjectTuple)t).getName(), ResponseObject.composeResponse(((ResponseObjectTuple)t).getResponseObject())); + responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject())); } - components.setResponses(responses); + components.setResponses(responseMap); } if( componentsObject.getNumParameterTuple() != 0 ){ - Map<String, Parameter> parameters = new HashMap<>(); + Map<String, Parameter> parameterMap = new HashMap<>(); for( ParameterTuple t : componentsObject.getParameterTuples() ){ - if( t instanceof ParameterReferenceTuple ){ + if( !t.getParameterObject().getRef().isEmpty() ){ Parameter parameter = new Parameter(); - parameter.setRef(((ParameterReferenceTuple) t).getRef()); - parameters.put(((ParameterReferenceTuple) t).getName(), parameter); + parameter.setRef(t.getParameterObject().getRef()); + parameterMap.put(t.getKey(), parameter); } else - parameters.put(((ParameterObjectTuple)t).getName(), ParameterObject.composeParameter(((ParameterObjectTuple)t).getParameterObject())); + parameterMap.put(t.getKey(), ParameterObject.composeParameter(t.getParameterObject())); } - components.setParameters(parameters); + components.setParameters(parameterMap); } - if( componentsObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : componentsObject.getExamplesTuples() ) - examples.put(((ExampleObjectTuple)t).getName(), ExampleObject.composeExample(((ExampleObjectTuple)t).getExampleObject())); - components.setExamples(examples); + if( componentsObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : componentsObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + components.setExamples(exampleMap); } - if( componentsObject.getNumRequestBodiesTuple() != 0 ){ - Map<String, org.openapi4j.parser.model.v3.RequestBody> requestBodies = new HashMap<>(); - for( RequestBodiesTuple t : componentsObject.getRequestBodiesTuples() ){ - if( t instanceof RequestBodyReferenceTuple ){ - org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody(); - requestBody.setRef(((RequestBodyReferenceTuple) t).getRef()); - requestBodies.put(((RequestBodyReferenceTuple) t).getName(), requestBody); + if( componentsObject.getNumRequestBodyTuple() != 0 ){ + Map<String, RequestBody> requestBodyMap = new HashMap<>(); + for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() ){ + if( !t.getRequestBodyObject().getRef().isEmpty() ){ + RequestBody requestBody = new RequestBody(); + requestBody.setRef(t.getRequestBodyObject().getRef()); + requestBodyMap.put(t.getKey(), requestBody); } else - requestBodies.put(((RequestBodyObjectTuple)t).getName(), RequestBodyObject.composeRequestBody(((RequestBodyObjectTuple)t).getRequestBodyObject())); + requestBodyMap.put(t.getKey(), RequestBodyObject.composeRequestBody(t.getRequestBodyObject())); } - components.setRequestBodies(requestBodies); + components.setRequestBodies(requestBodyMap); } - if( componentsObject.getNumHeadersTuple() != 0 ){ - Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : componentsObject.getHeadersTuples() ){ - if( t instanceof HeaderReferenceTuple ){ + if( componentsObject.getNumHeaderTuple() != 0 ){ + Map<String, Header> headerMap = new HashMap<>(); + for( HeaderTuple t : componentsObject.getHeaderTuples() ){ + if( !t.getHeaderObject().getRef().isEmpty() ){ Header header = new Header(); - header.setRef(((HeaderReferenceTuple) t).getRef()); - headers.put(((HeaderReferenceTuple) t).getName(), header); + header.setRef(t.getHeaderObject().getRef()); + headerMap.put(t.getKey(), header); } else - headers.put(((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader(((HeaderObjectTuple)t).getHeaderObject())); + headerMap.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); } - components.setHeaders(headers); + components.setHeaders(headerMap); } - if( componentsObject.getNumSecuritySchemesTuple() != 0 ){ - Map<String, SecurityScheme> securitySchemes = new HashMap<>(); - for( SecuritySchemesTuple t : componentsObject.getSecuritySchemesTuples() ){ - if( t instanceof SecuritySchemeReferenceTuple ){ + if( componentsObject.getNumSecuritySchemeTuple() != 0 ){ + Map<String, SecurityScheme> securitySchemeMap = new HashMap<>(); + for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() ){ + if( !t.getSecuritySchemeObject().getRef().isEmpty() ){ SecurityScheme securityScheme = new SecurityScheme(); - securityScheme.setRef(((SecuritySchemeReferenceTuple) t).getRef()); - securitySchemes.put(((SecuritySchemeReferenceTuple) t).getName(), securityScheme); + securityScheme.setRef(t.getSecuritySchemeObject().getRef()); + securitySchemeMap.put(t.getKey(), securityScheme); } else - securitySchemes.put(((SecuritySchemeObjectTuple)t).getName(), SecuritySchemeObject.composeSecurityScheme(((SecuritySchemeObjectTuple)t).getSecuritySchemeObject())); + securitySchemeMap.put(t.getKey(), SecuritySchemeObject.composeSecurityScheme(t.getSecuritySchemeObject())); } - components.setSecuritySchemes(securitySchemes); + components.setSecuritySchemes(securitySchemeMap); } - if( componentsObject.getNumLinksTuple() != 0 ){ - Map<String, Link> links = new HashMap<>(); - for( LinksTuple t : componentsObject.getLinksTuples() ){ - if( t instanceof LinkReferenceTuple ){ + if( componentsObject.getNumLinkTuple() != 0 ){ + Map<String, Link> linkMap = new HashMap<>(); + for( LinkTuple t : componentsObject.getLinkTuples() ){ + if( !t.getLinkObject().getRef().isEmpty() ){ Link link = new Link(); - link.setRef(((LinkReferenceTuple) t).getRef()); - links.put(((LinkReferenceTuple) t).getName(), link); + link.setRef(t.getLinkObject().getRef()); + linkMap.put(t.getKey(), link); } else - links.put(((LinkObjectTuple)t).getName(), LinkObject.composeLink(((LinkObjectTuple)t).getLinkObject())); + linkMap.put(t.getKey(), LinkObject.composeLink(t.getLinkObject())); } - components.setLinks(links); + components.setLinks(linkMap); } - if( componentsObject.getNumCallbacksTuple() != 0 ){ - Map<String, Callback> callbacks = new HashMap<>(); - for( CallbacksTuple t : componentsObject.getCallbacksTuples() ){ - if( t instanceof CallbackReferenceTuple ){ + if( componentsObject.getNumCallbackTuple() != 0 ){ + Map<String, Callback> callbackMap = new HashMap<>(); + for( CallbackTuple t : componentsObject.getCallbackTuples() ){ + if( !t.getCallbackObject().getRef().isEmpty() ){ Callback callback = new Callback(); - callback.setRef(((CallbackReferenceTuple) t).getRef()); - callbacks.put(((CallbackReferenceTuple) t).getName(), callback); + callback.setRef(t.getCallbackObject().getRef()); + callbackMap.put(t.getKey(), callback); } else - callbacks.put(((CallbackObjectTuple)t).getName(), CallbackObject.composeCallback(((CallbackObjectTuple)t).getCallbackObject())); + callbackMap.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject())); } - components.setCallbacks(callbacks); + components.setCallbacks(callbackMap); } return components; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:103 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:109 */ public static ComponentsObject parseComponents(Components components){ ComponentsObject componentsObject = new ComponentsObject(); if( components.getSchemas() != null ){ - JastAddList<SchemasTuple> schemasTuples = new JastAddList<>(); for( String key : components.getSchemas().keySet() ){ + SchemaTuple schemaTuple = new SchemaTuple(); if( components.getSchema(key).isRef() ){ - SchemaReferenceTuple schema = new SchemaReferenceTuple(); - schema.setName(key); - schema.setRef(components.getSchema(key).getRef()); - schemasTuples.add(schema); + SchemaObject schemaObject = new SchemaObject(); + schemaObject.setRef(components.getSchema(key).getRef()); + schemaTuple.setKey(key); + schemaTuple.setSchemaObject(schemaObject); + componentsObject.addSchemaTuple(schemaTuple); } - else { - SchemaObjectTuple schema = new SchemaObjectTuple(); - schema.setName(key); - schema.setSchemaObject(SchemaObject.parseSchema(components.getSchema(key))); - schemasTuples.add(schema); + else{ + schemaTuple.setKey(key); + schemaTuple.setSchemaObject(SchemaObject.parseSchema(components.getSchema(key))); + componentsObject.addSchemaTuple(schemaTuple); } } - componentsObject.setSchemasTupleList(schemasTuples); } if( components.getResponses() != null ){ - JastAddList<ResponsesTuple> responsesTuples = new JastAddList<>(); for( String key : components.getResponses().keySet() ){ + ResponseTuple responseTuple = new ResponseTuple(); if( components.getResponse(key).isRef() ){ - ResponseReferenceTuple response = new ResponseReferenceTuple(); - response.setName(key); - response.setRef(components.getResponse(key).getRef()); - responsesTuples.add(response); + ResponseObject responseObject = new ResponseObject(); + responseObject.setRef(components.getResponse(key).getRef()); + responseTuple.setKey(key); + responseTuple.setResponseObject(responseObject); + componentsObject.addResponseTuple(responseTuple); } - else { - ResponseObjectTuple response = new ResponseObjectTuple(); - response.setName(key); - response.setResponseObject(ResponseObject.parseResponse(components.getResponse(key))); - responsesTuples.add(response); + else{ + responseTuple.setKey(key); + responseTuple.setResponseObject(ResponseObject.parseResponse(components.getResponse(key))); + componentsObject.addResponseTuple(responseTuple); } } - componentsObject.setResponsesTupleList(responsesTuples); } if( components.getParameters() != null ){ - JastAddList<ParameterTuple> parameterTuples = new JastAddList<>(); for( String key : components.getParameters().keySet() ){ + ParameterTuple parameterTuple = new ParameterTuple(); if( components.getParameter(key).isRef() ){ - ParameterReferenceTuple parameter = new ParameterReferenceTuple(); - parameter.setName(key); - parameter.setRef(components.getParameter(key).getRef()); - parameterTuples.add(parameter); + ParameterObject parameterObject = new ParameterObject(); + parameterObject.setRef(components.getParameter(key).getRef()); + parameterTuple.setKey(key); + parameterTuple.setParameterObject(parameterObject); + componentsObject.addParameterTuple(parameterTuple); } - else { - ParameterObjectTuple parameter = new ParameterObjectTuple(); - parameter.setName(key); - parameter.setParameterObject(ParameterObject.parseParameter(components.getParameter(key))); - parameterTuples.add(parameter); + else{ + parameterTuple.setKey(key); + parameterTuple.setParameterObject(ParameterObject.parseParameter(components.getParameter(key))); + componentsObject.addParameterTuple(parameterTuple); } } - componentsObject.setParameterTupleList(parameterTuples); } if( components.getExamples() != null ){ - JastAddList<ExamplesTuple> examplesTuples = new JastAddList<>(); for( String key : components.getExamples().keySet() ){ - ExampleObjectTuple exampleObjectTuple = new ExampleObjectTuple(); - exampleObjectTuple.setName( key ); - exampleObjectTuple.setExampleObject( ExampleObject.parseExample(components.getExample(key)) ); - examplesTuples.add(exampleObjectTuple); + ExampleTuple exampleTuple = new ExampleTuple(); + ExampleObject exampleObject = new ExampleObject(); + exampleTuple.setKey(key); + exampleTuple.setExampleObject(ExampleObject.parseExample(components.getExample(key))); + componentsObject.addExampleTuple(exampleTuple); } - componentsObject.setExamplesTupleList(examplesTuples); } if( components.getRequestBodies() != null ){ - JastAddList<RequestBodiesTuple> requestBodiesTuples = new JastAddList<>(); for( String key : components.getRequestBodies().keySet() ){ + RequestBodyTuple requestBodyTuple = new RequestBodyTuple(); if( components.getRequestBody(key).isRef() ){ - RequestBodyReferenceTuple requestBody = new RequestBodyReferenceTuple(); - requestBody.setName(key); - requestBody.setRef(components.getRequestBody(key).getRef()); - requestBodiesTuples.add(requestBody); + RequestBodyObject requestBodyObject = new RequestBodyObject(); + requestBodyObject.setRef(components.getRequestBody(key).getRef()); + requestBodyTuple.setKey(key); + requestBodyTuple.setRequestBodyObject(requestBodyObject); + componentsObject.addRequestBodyTuple(requestBodyTuple); } - else { - RequestBodyObjectTuple requestBody = new RequestBodyObjectTuple(); - requestBody.setName(key); - requestBody.setRequestBodyObject(RequestBodyObject.parseRequestBody(components.getRequestBody(key))); - requestBodiesTuples.add(requestBody); + else{ + requestBodyTuple.setKey(key); + requestBodyTuple.setRequestBodyObject(RequestBodyObject.parseRequestBody(components.getRequestBody(key))); + componentsObject.addRequestBodyTuple(requestBodyTuple); } } - componentsObject.setRequestBodiesTupleList(requestBodiesTuples); } if( components.getHeaders() != null ){ - JastAddList<HeadersTuple> headersTuples = new JastAddList<>(); for( String key : components.getHeaders().keySet() ){ + HeaderTuple headerTuple = new HeaderTuple(); if( components.getHeader(key).isRef() ){ - HeaderReferenceTuple header = new HeaderReferenceTuple(); - header.setName(key); - header.setRef(components.getHeader(key).getRef()); - headersTuples.add(header); + HeaderObject headerObject = new HeaderObject(); + headerObject.setRef(components.getHeader(key).getRef()); + headerTuple.setKey(key); + headerTuple.setHeaderObject(headerObject); + componentsObject.addHeaderTuple(headerTuple); } - else { - HeaderObjectTuple header = new HeaderObjectTuple(); - header.setName(key); - header.setHeaderObject(HeaderObject.parseHeader(components.getHeader(key))); - headersTuples.add(header); + else{ + headerTuple.setKey(key); + headerTuple.setHeaderObject(HeaderObject.parseHeader(components.getHeader(key))); + componentsObject.addHeaderTuple(headerTuple); } } - componentsObject.setHeadersTupleList(headersTuples); } if( components.getSecuritySchemes() != null ){ - JastAddList<SecuritySchemesTuple> securitySchemesTuples = new JastAddList<>(); for( String key : components.getSecuritySchemes().keySet() ){ + SecuritySchemeTuple securitySchemeTuple = new SecuritySchemeTuple(); if( components.getSecurityScheme(key).isRef() ){ - SecuritySchemeReferenceTuple securityScheme = new SecuritySchemeReferenceTuple(); - securityScheme.setName(key); - securityScheme.setRef(components.getSecurityScheme(key).getRef()); - securitySchemesTuples.add(securityScheme); + SecuritySchemeObject securitySchemeObject = new SecuritySchemeObject(); + securitySchemeObject.setRef(components.getSecurityScheme(key).getRef()); + securitySchemeTuple.setKey(key); + securitySchemeTuple.setSecuritySchemeObject(securitySchemeObject); + componentsObject.addSecuritySchemeTuple(securitySchemeTuple); } - else { - SecuritySchemeObjectTuple securityScheme = new SecuritySchemeObjectTuple(); - securityScheme.setName(key); - securityScheme.setSecuritySchemeObject(SecuritySchemeObject.parseSecurityScheme(components.getSecurityScheme(key))); - securitySchemesTuples.add(securityScheme); + else{ + securitySchemeTuple.setKey(key); + securitySchemeTuple.setSecuritySchemeObject(SecuritySchemeObject.parseSecurityScheme(components.getSecurityScheme(key))); + componentsObject.addSecuritySchemeTuple(securitySchemeTuple); } } - componentsObject.setSecuritySchemesTupleList(securitySchemesTuples); } if( components.getLinks() != null ){ - JastAddList<LinksTuple> linksTuples = new JastAddList<>(); for( String key : components.getLinks().keySet() ){ + LinkTuple linkTuple = new LinkTuple(); if( components.getLink(key).isRef() ){ - LinkReferenceTuple link = new LinkReferenceTuple(); - link.setName(key); - link.setRef(components.getLink(key).getRef()); - linksTuples.add(link); + LinkObject linkObject = new LinkObject(); + linkObject.setRef(components.getLink(key).getRef()); + linkTuple.setKey(key); + linkTuple.setLinkObject(linkObject); + componentsObject.addLinkTuple(linkTuple); } - else { - LinkObjectTuple link = new LinkObjectTuple(); - link.setName(key); - link.setLinkObject(LinkObject.parseLink(components.getLink(key))); - linksTuples.add(link); + else{ + linkTuple.setKey(key); + linkTuple.setLinkObject(LinkObject.parseLink(components.getLink(key))); + componentsObject.addLinkTuple(linkTuple); } } - componentsObject.setLinksTupleList(linksTuples); } if( components.getCallbacks() != null ){ - JastAddList<CallbacksTuple> callbacksTuples = new JastAddList<>(); for( String key : components.getCallbacks().keySet() ){ + CallbackTuple callbackTuple = new CallbackTuple(); if( components.getCallback(key).isRef() ){ - CallbackReferenceTuple callback = new CallbackReferenceTuple(); - callback.setName(key); - callback.setRef(components.getLink(key).getRef()); - callbacksTuples.add(callback); + CallbackObject callbackObject = new CallbackObject(); + callbackObject.setRef(components.getCallback(key).getRef()); + callbackTuple.setKey(key); + callbackTuple.setCallbackObject(callbackObject); + componentsObject.addCallbackTuple(callbackTuple); } - else { - CallbackObjectTuple callback = new CallbackObjectTuple(); - callback.setName(key); - callback.setCallbackObject(CallbackObject.parseCallback(components.getCallback(key))); - callbacksTuples.add(callback); + else{ + callbackTuple.setKey(key); + callbackTuple.setCallbackObject(CallbackObject.parseCallback(components.getCallback(key))); + componentsObject.addCallbackTuple(callbackTuple); } } - componentsObject.setCallbacksTupleList(callbacksTuples); } return componentsObject; @@ -328,11 +320,11 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:22 */ @ASTNodeAnnotation.Constructor( - name = {"SchemasTuple", "ResponsesTuple", "ParameterTuple", "ExamplesTuple", "RequestBodiesTuple", "HeadersTuple", "SecuritySchemesTuple", "LinksTuple", "CallbacksTuple"}, - type = {"JastAddList<SchemasTuple>", "JastAddList<ResponsesTuple>", "JastAddList<ParameterTuple>", "JastAddList<ExamplesTuple>", "JastAddList<RequestBodiesTuple>", "JastAddList<HeadersTuple>", "JastAddList<SecuritySchemesTuple>", "JastAddList<LinksTuple>", "JastAddList<CallbacksTuple>"}, + name = {"SchemaTuple", "ResponseTuple", "ParameterTuple", "ExampleTuple", "RequestBodyTuple", "HeaderTuple", "SecuritySchemeTuple", "LinkTuple", "CallbackTuple"}, + type = {"JastAddList<SchemaTuple>", "JastAddList<ResponseTuple>", "JastAddList<ParameterTuple>", "JastAddList<ExampleTuple>", "JastAddList<RequestBodyTuple>", "JastAddList<HeaderTuple>", "JastAddList<SecuritySchemeTuple>", "JastAddList<LinkTuple>", "JastAddList<CallbackTuple>"}, kind = {"List", "List", "List", "List", "List", "List", "List", "List", "List"} ) - public ComponentsObject(JastAddList<SchemasTuple> p0, JastAddList<ResponsesTuple> p1, JastAddList<ParameterTuple> p2, JastAddList<ExamplesTuple> p3, JastAddList<RequestBodiesTuple> p4, JastAddList<HeadersTuple> p5, JastAddList<SecuritySchemesTuple> p6, JastAddList<LinksTuple> p7, JastAddList<CallbacksTuple> p8) { + public ComponentsObject(JastAddList<SchemaTuple> p0, JastAddList<ResponseTuple> p1, JastAddList<ParameterTuple> p2, JastAddList<ExampleTuple> p3, JastAddList<RequestBodyTuple> p4, JastAddList<HeaderTuple> p5, JastAddList<SecuritySchemeTuple> p6, JastAddList<LinkTuple> p7, JastAddList<CallbackTuple> p8) { setChild(p0, 0); setChild(p1, 1); setChild(p2, 2); @@ -450,224 +442,224 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable { return super.is$Equal(node); } /** - * Replaces the SchemasTuple list. - * @param list The new list node to be used as the SchemasTuple list. + * Replaces the SchemaTuple list. + * @param list The new list node to be used as the SchemaTuple list. * @apilevel high-level */ - public void setSchemasTupleList(JastAddList<SchemasTuple> list) { + public void setSchemaTupleList(JastAddList<SchemaTuple> list) { setChild(list, 0); } /** - * Retrieves the number of children in the SchemasTuple list. - * @return Number of children in the SchemasTuple list. + * Retrieves the number of children in the SchemaTuple list. + * @return Number of children in the SchemaTuple list. * @apilevel high-level */ - public int getNumSchemasTuple() { - return getSchemasTupleList().getNumChild(); + public int getNumSchemaTuple() { + return getSchemaTupleList().getNumChild(); } /** - * Retrieves the number of children in the SchemasTuple list. + * Retrieves the number of children in the SchemaTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the SchemasTuple list. + * @return Number of children in the SchemaTuple list. * @apilevel low-level */ - public int getNumSchemasTupleNoTransform() { - return getSchemasTupleListNoTransform().getNumChildNoTransform(); + public int getNumSchemaTupleNoTransform() { + return getSchemaTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the SchemasTuple list. + * Retrieves the element at index {@code i} in the SchemaTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the SchemasTuple list. + * @return The element at position {@code i} in the SchemaTuple list. * @apilevel high-level */ - public SchemasTuple getSchemasTuple(int i) { - return (SchemasTuple) getSchemasTupleList().getChild(i); + public SchemaTuple getSchemaTuple(int i) { + return (SchemaTuple) getSchemaTupleList().getChild(i); } /** - * Check whether the SchemasTuple list has any children. + * Check whether the SchemaTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasSchemasTuple() { - return getSchemasTupleList().getNumChild() != 0; + public boolean hasSchemaTuple() { + return getSchemaTupleList().getNumChild() != 0; } /** - * Append an element to the SchemasTuple list. - * @param node The element to append to the SchemasTuple list. + * Append an element to the SchemaTuple list. + * @param node The element to append to the SchemaTuple list. * @apilevel high-level */ - public void addSchemasTuple(SchemasTuple node) { - JastAddList<SchemasTuple> list = (parent == null) ? getSchemasTupleListNoTransform() : getSchemasTupleList(); + public void addSchemaTuple(SchemaTuple node) { + JastAddList<SchemaTuple> list = (parent == null) ? getSchemaTupleListNoTransform() : getSchemaTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addSchemasTupleNoTransform(SchemasTuple node) { - JastAddList<SchemasTuple> list = getSchemasTupleListNoTransform(); + public void addSchemaTupleNoTransform(SchemaTuple node) { + JastAddList<SchemaTuple> list = getSchemaTupleListNoTransform(); list.addChild(node); } /** - * Replaces the SchemasTuple list element at index {@code i} with the new node {@code node}. + * Replaces the SchemaTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setSchemasTuple(SchemasTuple node, int i) { - JastAddList<SchemasTuple> list = getSchemasTupleList(); + public void setSchemaTuple(SchemaTuple node, int i) { + JastAddList<SchemaTuple> list = getSchemaTupleList(); list.setChild(node, i); } /** - * Retrieves the SchemasTuple list. - * @return The node representing the SchemasTuple list. + * Retrieves the SchemaTuple list. + * @return The node representing the SchemaTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="SchemasTuple") - public JastAddList<SchemasTuple> getSchemasTupleList() { - JastAddList<SchemasTuple> list = (JastAddList<SchemasTuple>) getChild(0); + @ASTNodeAnnotation.ListChild(name="SchemaTuple") + public JastAddList<SchemaTuple> getSchemaTupleList() { + JastAddList<SchemaTuple> list = (JastAddList<SchemaTuple>) getChild(0); return list; } /** - * Retrieves the SchemasTuple list. + * Retrieves the SchemaTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the SchemasTuple list. + * @return The node representing the SchemaTuple list. * @apilevel low-level */ - public JastAddList<SchemasTuple> getSchemasTupleListNoTransform() { - return (JastAddList<SchemasTuple>) getChildNoTransform(0); + public JastAddList<SchemaTuple> getSchemaTupleListNoTransform() { + return (JastAddList<SchemaTuple>) getChildNoTransform(0); } /** - * @return the element at index {@code i} in the SchemasTuple list without + * @return the element at index {@code i} in the SchemaTuple list without * triggering rewrites. */ - public SchemasTuple getSchemasTupleNoTransform(int i) { - return (SchemasTuple) getSchemasTupleListNoTransform().getChildNoTransform(i); + public SchemaTuple getSchemaTupleNoTransform(int i) { + return (SchemaTuple) getSchemaTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the SchemasTuple list. - * @return The node representing the SchemasTuple list. + * Retrieves the SchemaTuple list. + * @return The node representing the SchemaTuple list. * @apilevel high-level */ - public JastAddList<SchemasTuple> getSchemasTuples() { - return getSchemasTupleList(); + public JastAddList<SchemaTuple> getSchemaTuples() { + return getSchemaTupleList(); } /** - * Retrieves the SchemasTuple list. + * Retrieves the SchemaTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the SchemasTuple list. + * @return The node representing the SchemaTuple list. * @apilevel low-level */ - public JastAddList<SchemasTuple> getSchemasTuplesNoTransform() { - return getSchemasTupleListNoTransform(); + public JastAddList<SchemaTuple> getSchemaTuplesNoTransform() { + return getSchemaTupleListNoTransform(); } /** - * Replaces the ResponsesTuple list. - * @param list The new list node to be used as the ResponsesTuple list. + * Replaces the ResponseTuple list. + * @param list The new list node to be used as the ResponseTuple list. * @apilevel high-level */ - public void setResponsesTupleList(JastAddList<ResponsesTuple> list) { + public void setResponseTupleList(JastAddList<ResponseTuple> list) { setChild(list, 1); } /** - * Retrieves the number of children in the ResponsesTuple list. - * @return Number of children in the ResponsesTuple list. + * Retrieves the number of children in the ResponseTuple list. + * @return Number of children in the ResponseTuple list. * @apilevel high-level */ - public int getNumResponsesTuple() { - return getResponsesTupleList().getNumChild(); + public int getNumResponseTuple() { + return getResponseTupleList().getNumChild(); } /** - * Retrieves the number of children in the ResponsesTuple list. + * Retrieves the number of children in the ResponseTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the ResponsesTuple list. + * @return Number of children in the ResponseTuple list. * @apilevel low-level */ - public int getNumResponsesTupleNoTransform() { - return getResponsesTupleListNoTransform().getNumChildNoTransform(); + public int getNumResponseTupleNoTransform() { + return getResponseTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the ResponsesTuple list. + * Retrieves the element at index {@code i} in the ResponseTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the ResponsesTuple list. + * @return The element at position {@code i} in the ResponseTuple list. * @apilevel high-level */ - public ResponsesTuple getResponsesTuple(int i) { - return (ResponsesTuple) getResponsesTupleList().getChild(i); + public ResponseTuple getResponseTuple(int i) { + return (ResponseTuple) getResponseTupleList().getChild(i); } /** - * Check whether the ResponsesTuple list has any children. + * Check whether the ResponseTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasResponsesTuple() { - return getResponsesTupleList().getNumChild() != 0; + public boolean hasResponseTuple() { + return getResponseTupleList().getNumChild() != 0; } /** - * Append an element to the ResponsesTuple list. - * @param node The element to append to the ResponsesTuple list. + * Append an element to the ResponseTuple list. + * @param node The element to append to the ResponseTuple list. * @apilevel high-level */ - public void addResponsesTuple(ResponsesTuple node) { - JastAddList<ResponsesTuple> list = (parent == null) ? getResponsesTupleListNoTransform() : getResponsesTupleList(); + public void addResponseTuple(ResponseTuple node) { + JastAddList<ResponseTuple> list = (parent == null) ? getResponseTupleListNoTransform() : getResponseTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addResponsesTupleNoTransform(ResponsesTuple node) { - JastAddList<ResponsesTuple> list = getResponsesTupleListNoTransform(); + public void addResponseTupleNoTransform(ResponseTuple node) { + JastAddList<ResponseTuple> list = getResponseTupleListNoTransform(); list.addChild(node); } /** - * Replaces the ResponsesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ResponseTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setResponsesTuple(ResponsesTuple node, int i) { - JastAddList<ResponsesTuple> list = getResponsesTupleList(); + public void setResponseTuple(ResponseTuple node, int i) { + JastAddList<ResponseTuple> list = getResponseTupleList(); list.setChild(node, i); } /** - * Retrieves the ResponsesTuple list. - * @return The node representing the ResponsesTuple list. + * Retrieves the ResponseTuple list. + * @return The node representing the ResponseTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="ResponsesTuple") - public JastAddList<ResponsesTuple> getResponsesTupleList() { - JastAddList<ResponsesTuple> list = (JastAddList<ResponsesTuple>) getChild(1); + @ASTNodeAnnotation.ListChild(name="ResponseTuple") + public JastAddList<ResponseTuple> getResponseTupleList() { + JastAddList<ResponseTuple> list = (JastAddList<ResponseTuple>) getChild(1); return list; } /** - * Retrieves the ResponsesTuple list. + * Retrieves the ResponseTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ResponsesTuple list. + * @return The node representing the ResponseTuple list. * @apilevel low-level */ - public JastAddList<ResponsesTuple> getResponsesTupleListNoTransform() { - return (JastAddList<ResponsesTuple>) getChildNoTransform(1); + public JastAddList<ResponseTuple> getResponseTupleListNoTransform() { + return (JastAddList<ResponseTuple>) getChildNoTransform(1); } /** - * @return the element at index {@code i} in the ResponsesTuple list without + * @return the element at index {@code i} in the ResponseTuple list without * triggering rewrites. */ - public ResponsesTuple getResponsesTupleNoTransform(int i) { - return (ResponsesTuple) getResponsesTupleListNoTransform().getChildNoTransform(i); + public ResponseTuple getResponseTupleNoTransform(int i) { + return (ResponseTuple) getResponseTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the ResponsesTuple list. - * @return The node representing the ResponsesTuple list. + * Retrieves the ResponseTuple list. + * @return The node representing the ResponseTuple list. * @apilevel high-level */ - public JastAddList<ResponsesTuple> getResponsesTuples() { - return getResponsesTupleList(); + public JastAddList<ResponseTuple> getResponseTuples() { + return getResponseTupleList(); } /** - * Retrieves the ResponsesTuple list. + * Retrieves the ResponseTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ResponsesTuple list. + * @return The node representing the ResponseTuple list. * @apilevel low-level */ - public JastAddList<ResponsesTuple> getResponsesTuplesNoTransform() { - return getResponsesTupleListNoTransform(); + public JastAddList<ResponseTuple> getResponseTuplesNoTransform() { + return getResponseTupleListNoTransform(); } /** * Replaces the ParameterTuple list. @@ -780,664 +772,664 @@ public class ComponentsObject extends ASTNode<ASTNode> implements Cloneable { return getParameterTupleListNoTransform(); } /** - * Replaces the ExamplesTuple list. - * @param list The new list node to be used as the ExamplesTuple list. + * Replaces the ExampleTuple list. + * @param list The new list node to be used as the ExampleTuple list. * @apilevel high-level */ - public void setExamplesTupleList(JastAddList<ExamplesTuple> list) { + public void setExampleTupleList(JastAddList<ExampleTuple> list) { setChild(list, 3); } /** - * Retrieves the number of children in the ExamplesTuple list. - * @return Number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel high-level */ - public int getNumExamplesTuple() { - return getExamplesTupleList().getNumChild(); + public int getNumExampleTuple() { + return getExampleTupleList().getNumChild(); } /** - * Retrieves the number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the ExamplesTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel low-level */ - public int getNumExamplesTupleNoTransform() { - return getExamplesTupleListNoTransform().getNumChildNoTransform(); + public int getNumExampleTupleNoTransform() { + return getExampleTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the ExamplesTuple list. + * Retrieves the element at index {@code i} in the ExampleTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the ExamplesTuple list. + * @return The element at position {@code i} in the ExampleTuple list. * @apilevel high-level */ - public ExamplesTuple getExamplesTuple(int i) { - return (ExamplesTuple) getExamplesTupleList().getChild(i); + public ExampleTuple getExampleTuple(int i) { + return (ExampleTuple) getExampleTupleList().getChild(i); } /** - * Check whether the ExamplesTuple list has any children. + * Check whether the ExampleTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasExamplesTuple() { - return getExamplesTupleList().getNumChild() != 0; + public boolean hasExampleTuple() { + return getExampleTupleList().getNumChild() != 0; } /** - * Append an element to the ExamplesTuple list. - * @param node The element to append to the ExamplesTuple list. + * Append an element to the ExampleTuple list. + * @param node The element to append to the ExampleTuple list. * @apilevel high-level */ - public void addExamplesTuple(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = (parent == null) ? getExamplesTupleListNoTransform() : getExamplesTupleList(); + public void addExampleTuple(ExampleTuple node) { + JastAddList<ExampleTuple> list = (parent == null) ? getExampleTupleListNoTransform() : getExampleTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addExamplesTupleNoTransform(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = getExamplesTupleListNoTransform(); + public void addExampleTupleNoTransform(ExampleTuple node) { + JastAddList<ExampleTuple> list = getExampleTupleListNoTransform(); list.addChild(node); } /** - * Replaces the ExamplesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ExampleTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setExamplesTuple(ExamplesTuple node, int i) { - JastAddList<ExamplesTuple> list = getExamplesTupleList(); + public void setExampleTuple(ExampleTuple node, int i) { + JastAddList<ExampleTuple> list = getExampleTupleList(); list.setChild(node, i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="ExamplesTuple") - public JastAddList<ExamplesTuple> getExamplesTupleList() { - JastAddList<ExamplesTuple> list = (JastAddList<ExamplesTuple>) getChild(3); + @ASTNodeAnnotation.ListChild(name="ExampleTuple") + public JastAddList<ExampleTuple> getExampleTupleList() { + JastAddList<ExampleTuple> list = (JastAddList<ExampleTuple>) getChild(3); return list; } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTupleListNoTransform() { - return (JastAddList<ExamplesTuple>) getChildNoTransform(3); + public JastAddList<ExampleTuple> getExampleTupleListNoTransform() { + return (JastAddList<ExampleTuple>) getChildNoTransform(3); } /** - * @return the element at index {@code i} in the ExamplesTuple list without + * @return the element at index {@code i} in the ExampleTuple list without * triggering rewrites. */ - public ExamplesTuple getExamplesTupleNoTransform(int i) { - return (ExamplesTuple) getExamplesTupleListNoTransform().getChildNoTransform(i); + public ExampleTuple getExampleTupleNoTransform(int i) { + return (ExampleTuple) getExampleTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - public JastAddList<ExamplesTuple> getExamplesTuples() { - return getExamplesTupleList(); + public JastAddList<ExampleTuple> getExampleTuples() { + return getExampleTupleList(); } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTuplesNoTransform() { - return getExamplesTupleListNoTransform(); + public JastAddList<ExampleTuple> getExampleTuplesNoTransform() { + return getExampleTupleListNoTransform(); } /** - * Replaces the RequestBodiesTuple list. - * @param list The new list node to be used as the RequestBodiesTuple list. + * Replaces the RequestBodyTuple list. + * @param list The new list node to be used as the RequestBodyTuple list. * @apilevel high-level */ - public void setRequestBodiesTupleList(JastAddList<RequestBodiesTuple> list) { + public void setRequestBodyTupleList(JastAddList<RequestBodyTuple> list) { setChild(list, 4); } /** - * Retrieves the number of children in the RequestBodiesTuple list. - * @return Number of children in the RequestBodiesTuple list. + * Retrieves the number of children in the RequestBodyTuple list. + * @return Number of children in the RequestBodyTuple list. * @apilevel high-level */ - public int getNumRequestBodiesTuple() { - return getRequestBodiesTupleList().getNumChild(); + public int getNumRequestBodyTuple() { + return getRequestBodyTupleList().getNumChild(); } /** - * Retrieves the number of children in the RequestBodiesTuple list. + * Retrieves the number of children in the RequestBodyTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the RequestBodiesTuple list. + * @return Number of children in the RequestBodyTuple list. * @apilevel low-level */ - public int getNumRequestBodiesTupleNoTransform() { - return getRequestBodiesTupleListNoTransform().getNumChildNoTransform(); + public int getNumRequestBodyTupleNoTransform() { + return getRequestBodyTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the RequestBodiesTuple list. + * Retrieves the element at index {@code i} in the RequestBodyTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the RequestBodiesTuple list. + * @return The element at position {@code i} in the RequestBodyTuple list. * @apilevel high-level */ - public RequestBodiesTuple getRequestBodiesTuple(int i) { - return (RequestBodiesTuple) getRequestBodiesTupleList().getChild(i); + public RequestBodyTuple getRequestBodyTuple(int i) { + return (RequestBodyTuple) getRequestBodyTupleList().getChild(i); } /** - * Check whether the RequestBodiesTuple list has any children. + * Check whether the RequestBodyTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasRequestBodiesTuple() { - return getRequestBodiesTupleList().getNumChild() != 0; + public boolean hasRequestBodyTuple() { + return getRequestBodyTupleList().getNumChild() != 0; } /** - * Append an element to the RequestBodiesTuple list. - * @param node The element to append to the RequestBodiesTuple list. + * Append an element to the RequestBodyTuple list. + * @param node The element to append to the RequestBodyTuple list. * @apilevel high-level */ - public void addRequestBodiesTuple(RequestBodiesTuple node) { - JastAddList<RequestBodiesTuple> list = (parent == null) ? getRequestBodiesTupleListNoTransform() : getRequestBodiesTupleList(); + public void addRequestBodyTuple(RequestBodyTuple node) { + JastAddList<RequestBodyTuple> list = (parent == null) ? getRequestBodyTupleListNoTransform() : getRequestBodyTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addRequestBodiesTupleNoTransform(RequestBodiesTuple node) { - JastAddList<RequestBodiesTuple> list = getRequestBodiesTupleListNoTransform(); + public void addRequestBodyTupleNoTransform(RequestBodyTuple node) { + JastAddList<RequestBodyTuple> list = getRequestBodyTupleListNoTransform(); list.addChild(node); } /** - * Replaces the RequestBodiesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the RequestBodyTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setRequestBodiesTuple(RequestBodiesTuple node, int i) { - JastAddList<RequestBodiesTuple> list = getRequestBodiesTupleList(); + public void setRequestBodyTuple(RequestBodyTuple node, int i) { + JastAddList<RequestBodyTuple> list = getRequestBodyTupleList(); list.setChild(node, i); } /** - * Retrieves the RequestBodiesTuple list. - * @return The node representing the RequestBodiesTuple list. + * Retrieves the RequestBodyTuple list. + * @return The node representing the RequestBodyTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="RequestBodiesTuple") - public JastAddList<RequestBodiesTuple> getRequestBodiesTupleList() { - JastAddList<RequestBodiesTuple> list = (JastAddList<RequestBodiesTuple>) getChild(4); + @ASTNodeAnnotation.ListChild(name="RequestBodyTuple") + public JastAddList<RequestBodyTuple> getRequestBodyTupleList() { + JastAddList<RequestBodyTuple> list = (JastAddList<RequestBodyTuple>) getChild(4); return list; } /** - * Retrieves the RequestBodiesTuple list. + * Retrieves the RequestBodyTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the RequestBodiesTuple list. + * @return The node representing the RequestBodyTuple list. * @apilevel low-level */ - public JastAddList<RequestBodiesTuple> getRequestBodiesTupleListNoTransform() { - return (JastAddList<RequestBodiesTuple>) getChildNoTransform(4); + public JastAddList<RequestBodyTuple> getRequestBodyTupleListNoTransform() { + return (JastAddList<RequestBodyTuple>) getChildNoTransform(4); } /** - * @return the element at index {@code i} in the RequestBodiesTuple list without + * @return the element at index {@code i} in the RequestBodyTuple list without * triggering rewrites. */ - public RequestBodiesTuple getRequestBodiesTupleNoTransform(int i) { - return (RequestBodiesTuple) getRequestBodiesTupleListNoTransform().getChildNoTransform(i); + public RequestBodyTuple getRequestBodyTupleNoTransform(int i) { + return (RequestBodyTuple) getRequestBodyTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the RequestBodiesTuple list. - * @return The node representing the RequestBodiesTuple list. + * Retrieves the RequestBodyTuple list. + * @return The node representing the RequestBodyTuple list. * @apilevel high-level */ - public JastAddList<RequestBodiesTuple> getRequestBodiesTuples() { - return getRequestBodiesTupleList(); + public JastAddList<RequestBodyTuple> getRequestBodyTuples() { + return getRequestBodyTupleList(); } /** - * Retrieves the RequestBodiesTuple list. + * Retrieves the RequestBodyTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the RequestBodiesTuple list. + * @return The node representing the RequestBodyTuple list. * @apilevel low-level */ - public JastAddList<RequestBodiesTuple> getRequestBodiesTuplesNoTransform() { - return getRequestBodiesTupleListNoTransform(); + public JastAddList<RequestBodyTuple> getRequestBodyTuplesNoTransform() { + return getRequestBodyTupleListNoTransform(); } /** - * Replaces the HeadersTuple list. - * @param list The new list node to be used as the HeadersTuple list. + * Replaces the HeaderTuple list. + * @param list The new list node to be used as the HeaderTuple list. * @apilevel high-level */ - public void setHeadersTupleList(JastAddList<HeadersTuple> list) { + public void setHeaderTupleList(JastAddList<HeaderTuple> list) { setChild(list, 5); } /** - * Retrieves the number of children in the HeadersTuple list. - * @return Number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel high-level */ - public int getNumHeadersTuple() { - return getHeadersTupleList().getNumChild(); + public int getNumHeaderTuple() { + return getHeaderTupleList().getNumChild(); } /** - * Retrieves the number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the HeadersTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel low-level */ - public int getNumHeadersTupleNoTransform() { - return getHeadersTupleListNoTransform().getNumChildNoTransform(); + public int getNumHeaderTupleNoTransform() { + return getHeaderTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the HeadersTuple list. + * Retrieves the element at index {@code i} in the HeaderTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the HeadersTuple list. + * @return The element at position {@code i} in the HeaderTuple list. * @apilevel high-level */ - public HeadersTuple getHeadersTuple(int i) { - return (HeadersTuple) getHeadersTupleList().getChild(i); + public HeaderTuple getHeaderTuple(int i) { + return (HeaderTuple) getHeaderTupleList().getChild(i); } /** - * Check whether the HeadersTuple list has any children. + * Check whether the HeaderTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasHeadersTuple() { - return getHeadersTupleList().getNumChild() != 0; + public boolean hasHeaderTuple() { + return getHeaderTupleList().getNumChild() != 0; } /** - * Append an element to the HeadersTuple list. - * @param node The element to append to the HeadersTuple list. + * Append an element to the HeaderTuple list. + * @param node The element to append to the HeaderTuple list. * @apilevel high-level */ - public void addHeadersTuple(HeadersTuple node) { - JastAddList<HeadersTuple> list = (parent == null) ? getHeadersTupleListNoTransform() : getHeadersTupleList(); + public void addHeaderTuple(HeaderTuple node) { + JastAddList<HeaderTuple> list = (parent == null) ? getHeaderTupleListNoTransform() : getHeaderTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addHeadersTupleNoTransform(HeadersTuple node) { - JastAddList<HeadersTuple> list = getHeadersTupleListNoTransform(); + public void addHeaderTupleNoTransform(HeaderTuple node) { + JastAddList<HeaderTuple> list = getHeaderTupleListNoTransform(); list.addChild(node); } /** - * Replaces the HeadersTuple list element at index {@code i} with the new node {@code node}. + * Replaces the HeaderTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setHeadersTuple(HeadersTuple node, int i) { - JastAddList<HeadersTuple> list = getHeadersTupleList(); + public void setHeaderTuple(HeaderTuple node, int i) { + JastAddList<HeaderTuple> list = getHeaderTupleList(); list.setChild(node, i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="HeadersTuple") - public JastAddList<HeadersTuple> getHeadersTupleList() { - JastAddList<HeadersTuple> list = (JastAddList<HeadersTuple>) getChild(5); + @ASTNodeAnnotation.ListChild(name="HeaderTuple") + public JastAddList<HeaderTuple> getHeaderTupleList() { + JastAddList<HeaderTuple> list = (JastAddList<HeaderTuple>) getChild(5); return list; } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTupleListNoTransform() { - return (JastAddList<HeadersTuple>) getChildNoTransform(5); + public JastAddList<HeaderTuple> getHeaderTupleListNoTransform() { + return (JastAddList<HeaderTuple>) getChildNoTransform(5); } /** - * @return the element at index {@code i} in the HeadersTuple list without + * @return the element at index {@code i} in the HeaderTuple list without * triggering rewrites. */ - public HeadersTuple getHeadersTupleNoTransform(int i) { - return (HeadersTuple) getHeadersTupleListNoTransform().getChildNoTransform(i); + public HeaderTuple getHeaderTupleNoTransform(int i) { + return (HeaderTuple) getHeaderTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - public JastAddList<HeadersTuple> getHeadersTuples() { - return getHeadersTupleList(); + public JastAddList<HeaderTuple> getHeaderTuples() { + return getHeaderTupleList(); } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTuplesNoTransform() { - return getHeadersTupleListNoTransform(); + public JastAddList<HeaderTuple> getHeaderTuplesNoTransform() { + return getHeaderTupleListNoTransform(); } /** - * Replaces the SecuritySchemesTuple list. - * @param list The new list node to be used as the SecuritySchemesTuple list. + * Replaces the SecuritySchemeTuple list. + * @param list The new list node to be used as the SecuritySchemeTuple list. * @apilevel high-level */ - public void setSecuritySchemesTupleList(JastAddList<SecuritySchemesTuple> list) { + public void setSecuritySchemeTupleList(JastAddList<SecuritySchemeTuple> list) { setChild(list, 6); } /** - * Retrieves the number of children in the SecuritySchemesTuple list. - * @return Number of children in the SecuritySchemesTuple list. + * Retrieves the number of children in the SecuritySchemeTuple list. + * @return Number of children in the SecuritySchemeTuple list. * @apilevel high-level */ - public int getNumSecuritySchemesTuple() { - return getSecuritySchemesTupleList().getNumChild(); + public int getNumSecuritySchemeTuple() { + return getSecuritySchemeTupleList().getNumChild(); } /** - * Retrieves the number of children in the SecuritySchemesTuple list. + * Retrieves the number of children in the SecuritySchemeTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the SecuritySchemesTuple list. + * @return Number of children in the SecuritySchemeTuple list. * @apilevel low-level */ - public int getNumSecuritySchemesTupleNoTransform() { - return getSecuritySchemesTupleListNoTransform().getNumChildNoTransform(); + public int getNumSecuritySchemeTupleNoTransform() { + return getSecuritySchemeTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the SecuritySchemesTuple list. + * Retrieves the element at index {@code i} in the SecuritySchemeTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the SecuritySchemesTuple list. + * @return The element at position {@code i} in the SecuritySchemeTuple list. * @apilevel high-level */ - public SecuritySchemesTuple getSecuritySchemesTuple(int i) { - return (SecuritySchemesTuple) getSecuritySchemesTupleList().getChild(i); + public SecuritySchemeTuple getSecuritySchemeTuple(int i) { + return (SecuritySchemeTuple) getSecuritySchemeTupleList().getChild(i); } /** - * Check whether the SecuritySchemesTuple list has any children. + * Check whether the SecuritySchemeTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasSecuritySchemesTuple() { - return getSecuritySchemesTupleList().getNumChild() != 0; + public boolean hasSecuritySchemeTuple() { + return getSecuritySchemeTupleList().getNumChild() != 0; } /** - * Append an element to the SecuritySchemesTuple list. - * @param node The element to append to the SecuritySchemesTuple list. + * Append an element to the SecuritySchemeTuple list. + * @param node The element to append to the SecuritySchemeTuple list. * @apilevel high-level */ - public void addSecuritySchemesTuple(SecuritySchemesTuple node) { - JastAddList<SecuritySchemesTuple> list = (parent == null) ? getSecuritySchemesTupleListNoTransform() : getSecuritySchemesTupleList(); + public void addSecuritySchemeTuple(SecuritySchemeTuple node) { + JastAddList<SecuritySchemeTuple> list = (parent == null) ? getSecuritySchemeTupleListNoTransform() : getSecuritySchemeTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addSecuritySchemesTupleNoTransform(SecuritySchemesTuple node) { - JastAddList<SecuritySchemesTuple> list = getSecuritySchemesTupleListNoTransform(); + public void addSecuritySchemeTupleNoTransform(SecuritySchemeTuple node) { + JastAddList<SecuritySchemeTuple> list = getSecuritySchemeTupleListNoTransform(); list.addChild(node); } /** - * Replaces the SecuritySchemesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the SecuritySchemeTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setSecuritySchemesTuple(SecuritySchemesTuple node, int i) { - JastAddList<SecuritySchemesTuple> list = getSecuritySchemesTupleList(); + public void setSecuritySchemeTuple(SecuritySchemeTuple node, int i) { + JastAddList<SecuritySchemeTuple> list = getSecuritySchemeTupleList(); list.setChild(node, i); } /** - * Retrieves the SecuritySchemesTuple list. - * @return The node representing the SecuritySchemesTuple list. + * Retrieves the SecuritySchemeTuple list. + * @return The node representing the SecuritySchemeTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="SecuritySchemesTuple") - public JastAddList<SecuritySchemesTuple> getSecuritySchemesTupleList() { - JastAddList<SecuritySchemesTuple> list = (JastAddList<SecuritySchemesTuple>) getChild(6); + @ASTNodeAnnotation.ListChild(name="SecuritySchemeTuple") + public JastAddList<SecuritySchemeTuple> getSecuritySchemeTupleList() { + JastAddList<SecuritySchemeTuple> list = (JastAddList<SecuritySchemeTuple>) getChild(6); return list; } /** - * Retrieves the SecuritySchemesTuple list. + * Retrieves the SecuritySchemeTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the SecuritySchemesTuple list. + * @return The node representing the SecuritySchemeTuple list. * @apilevel low-level */ - public JastAddList<SecuritySchemesTuple> getSecuritySchemesTupleListNoTransform() { - return (JastAddList<SecuritySchemesTuple>) getChildNoTransform(6); + public JastAddList<SecuritySchemeTuple> getSecuritySchemeTupleListNoTransform() { + return (JastAddList<SecuritySchemeTuple>) getChildNoTransform(6); } /** - * @return the element at index {@code i} in the SecuritySchemesTuple list without + * @return the element at index {@code i} in the SecuritySchemeTuple list without * triggering rewrites. */ - public SecuritySchemesTuple getSecuritySchemesTupleNoTransform(int i) { - return (SecuritySchemesTuple) getSecuritySchemesTupleListNoTransform().getChildNoTransform(i); + public SecuritySchemeTuple getSecuritySchemeTupleNoTransform(int i) { + return (SecuritySchemeTuple) getSecuritySchemeTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the SecuritySchemesTuple list. - * @return The node representing the SecuritySchemesTuple list. + * Retrieves the SecuritySchemeTuple list. + * @return The node representing the SecuritySchemeTuple list. * @apilevel high-level */ - public JastAddList<SecuritySchemesTuple> getSecuritySchemesTuples() { - return getSecuritySchemesTupleList(); + public JastAddList<SecuritySchemeTuple> getSecuritySchemeTuples() { + return getSecuritySchemeTupleList(); } /** - * Retrieves the SecuritySchemesTuple list. + * Retrieves the SecuritySchemeTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the SecuritySchemesTuple list. + * @return The node representing the SecuritySchemeTuple list. * @apilevel low-level */ - public JastAddList<SecuritySchemesTuple> getSecuritySchemesTuplesNoTransform() { - return getSecuritySchemesTupleListNoTransform(); + public JastAddList<SecuritySchemeTuple> getSecuritySchemeTuplesNoTransform() { + return getSecuritySchemeTupleListNoTransform(); } /** - * Replaces the LinksTuple list. - * @param list The new list node to be used as the LinksTuple list. + * Replaces the LinkTuple list. + * @param list The new list node to be used as the LinkTuple list. * @apilevel high-level */ - public void setLinksTupleList(JastAddList<LinksTuple> list) { + public void setLinkTupleList(JastAddList<LinkTuple> list) { setChild(list, 7); } /** - * Retrieves the number of children in the LinksTuple list. - * @return Number of children in the LinksTuple list. + * Retrieves the number of children in the LinkTuple list. + * @return Number of children in the LinkTuple list. * @apilevel high-level */ - public int getNumLinksTuple() { - return getLinksTupleList().getNumChild(); + public int getNumLinkTuple() { + return getLinkTupleList().getNumChild(); } /** - * Retrieves the number of children in the LinksTuple list. + * Retrieves the number of children in the LinkTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the LinksTuple list. + * @return Number of children in the LinkTuple list. * @apilevel low-level */ - public int getNumLinksTupleNoTransform() { - return getLinksTupleListNoTransform().getNumChildNoTransform(); + public int getNumLinkTupleNoTransform() { + return getLinkTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the LinksTuple list. + * Retrieves the element at index {@code i} in the LinkTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the LinksTuple list. + * @return The element at position {@code i} in the LinkTuple list. * @apilevel high-level */ - public LinksTuple getLinksTuple(int i) { - return (LinksTuple) getLinksTupleList().getChild(i); + public LinkTuple getLinkTuple(int i) { + return (LinkTuple) getLinkTupleList().getChild(i); } /** - * Check whether the LinksTuple list has any children. + * Check whether the LinkTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasLinksTuple() { - return getLinksTupleList().getNumChild() != 0; + public boolean hasLinkTuple() { + return getLinkTupleList().getNumChild() != 0; } /** - * Append an element to the LinksTuple list. - * @param node The element to append to the LinksTuple list. + * Append an element to the LinkTuple list. + * @param node The element to append to the LinkTuple list. * @apilevel high-level */ - public void addLinksTuple(LinksTuple node) { - JastAddList<LinksTuple> list = (parent == null) ? getLinksTupleListNoTransform() : getLinksTupleList(); + public void addLinkTuple(LinkTuple node) { + JastAddList<LinkTuple> list = (parent == null) ? getLinkTupleListNoTransform() : getLinkTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addLinksTupleNoTransform(LinksTuple node) { - JastAddList<LinksTuple> list = getLinksTupleListNoTransform(); + public void addLinkTupleNoTransform(LinkTuple node) { + JastAddList<LinkTuple> list = getLinkTupleListNoTransform(); list.addChild(node); } /** - * Replaces the LinksTuple list element at index {@code i} with the new node {@code node}. + * Replaces the LinkTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setLinksTuple(LinksTuple node, int i) { - JastAddList<LinksTuple> list = getLinksTupleList(); + public void setLinkTuple(LinkTuple node, int i) { + JastAddList<LinkTuple> list = getLinkTupleList(); list.setChild(node, i); } /** - * Retrieves the LinksTuple list. - * @return The node representing the LinksTuple list. + * Retrieves the LinkTuple list. + * @return The node representing the LinkTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="LinksTuple") - public JastAddList<LinksTuple> getLinksTupleList() { - JastAddList<LinksTuple> list = (JastAddList<LinksTuple>) getChild(7); + @ASTNodeAnnotation.ListChild(name="LinkTuple") + public JastAddList<LinkTuple> getLinkTupleList() { + JastAddList<LinkTuple> list = (JastAddList<LinkTuple>) getChild(7); return list; } /** - * Retrieves the LinksTuple list. + * Retrieves the LinkTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the LinksTuple list. + * @return The node representing the LinkTuple list. * @apilevel low-level */ - public JastAddList<LinksTuple> getLinksTupleListNoTransform() { - return (JastAddList<LinksTuple>) getChildNoTransform(7); + public JastAddList<LinkTuple> getLinkTupleListNoTransform() { + return (JastAddList<LinkTuple>) getChildNoTransform(7); } /** - * @return the element at index {@code i} in the LinksTuple list without + * @return the element at index {@code i} in the LinkTuple list without * triggering rewrites. */ - public LinksTuple getLinksTupleNoTransform(int i) { - return (LinksTuple) getLinksTupleListNoTransform().getChildNoTransform(i); + public LinkTuple getLinkTupleNoTransform(int i) { + return (LinkTuple) getLinkTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the LinksTuple list. - * @return The node representing the LinksTuple list. + * Retrieves the LinkTuple list. + * @return The node representing the LinkTuple list. * @apilevel high-level */ - public JastAddList<LinksTuple> getLinksTuples() { - return getLinksTupleList(); + public JastAddList<LinkTuple> getLinkTuples() { + return getLinkTupleList(); } /** - * Retrieves the LinksTuple list. + * Retrieves the LinkTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the LinksTuple list. + * @return The node representing the LinkTuple list. * @apilevel low-level */ - public JastAddList<LinksTuple> getLinksTuplesNoTransform() { - return getLinksTupleListNoTransform(); + public JastAddList<LinkTuple> getLinkTuplesNoTransform() { + return getLinkTupleListNoTransform(); } /** - * Replaces the CallbacksTuple list. - * @param list The new list node to be used as the CallbacksTuple list. + * Replaces the CallbackTuple list. + * @param list The new list node to be used as the CallbackTuple list. * @apilevel high-level */ - public void setCallbacksTupleList(JastAddList<CallbacksTuple> list) { + public void setCallbackTupleList(JastAddList<CallbackTuple> list) { setChild(list, 8); } /** - * Retrieves the number of children in the CallbacksTuple list. - * @return Number of children in the CallbacksTuple list. + * Retrieves the number of children in the CallbackTuple list. + * @return Number of children in the CallbackTuple list. * @apilevel high-level */ - public int getNumCallbacksTuple() { - return getCallbacksTupleList().getNumChild(); + public int getNumCallbackTuple() { + return getCallbackTupleList().getNumChild(); } /** - * Retrieves the number of children in the CallbacksTuple list. + * Retrieves the number of children in the CallbackTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the CallbacksTuple list. + * @return Number of children in the CallbackTuple list. * @apilevel low-level */ - public int getNumCallbacksTupleNoTransform() { - return getCallbacksTupleListNoTransform().getNumChildNoTransform(); + public int getNumCallbackTupleNoTransform() { + return getCallbackTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the CallbacksTuple list. + * Retrieves the element at index {@code i} in the CallbackTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the CallbacksTuple list. + * @return The element at position {@code i} in the CallbackTuple list. * @apilevel high-level */ - public CallbacksTuple getCallbacksTuple(int i) { - return (CallbacksTuple) getCallbacksTupleList().getChild(i); + public CallbackTuple getCallbackTuple(int i) { + return (CallbackTuple) getCallbackTupleList().getChild(i); } /** - * Check whether the CallbacksTuple list has any children. + * Check whether the CallbackTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasCallbacksTuple() { - return getCallbacksTupleList().getNumChild() != 0; + public boolean hasCallbackTuple() { + return getCallbackTupleList().getNumChild() != 0; } /** - * Append an element to the CallbacksTuple list. - * @param node The element to append to the CallbacksTuple list. + * Append an element to the CallbackTuple list. + * @param node The element to append to the CallbackTuple list. * @apilevel high-level */ - public void addCallbacksTuple(CallbacksTuple node) { - JastAddList<CallbacksTuple> list = (parent == null) ? getCallbacksTupleListNoTransform() : getCallbacksTupleList(); + public void addCallbackTuple(CallbackTuple node) { + JastAddList<CallbackTuple> list = (parent == null) ? getCallbackTupleListNoTransform() : getCallbackTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addCallbacksTupleNoTransform(CallbacksTuple node) { - JastAddList<CallbacksTuple> list = getCallbacksTupleListNoTransform(); + public void addCallbackTupleNoTransform(CallbackTuple node) { + JastAddList<CallbackTuple> list = getCallbackTupleListNoTransform(); list.addChild(node); } /** - * Replaces the CallbacksTuple list element at index {@code i} with the new node {@code node}. + * Replaces the CallbackTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setCallbacksTuple(CallbacksTuple node, int i) { - JastAddList<CallbacksTuple> list = getCallbacksTupleList(); + public void setCallbackTuple(CallbackTuple node, int i) { + JastAddList<CallbackTuple> list = getCallbackTupleList(); list.setChild(node, i); } /** - * Retrieves the CallbacksTuple list. - * @return The node representing the CallbacksTuple list. + * Retrieves the CallbackTuple list. + * @return The node representing the CallbackTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="CallbacksTuple") - public JastAddList<CallbacksTuple> getCallbacksTupleList() { - JastAddList<CallbacksTuple> list = (JastAddList<CallbacksTuple>) getChild(8); + @ASTNodeAnnotation.ListChild(name="CallbackTuple") + public JastAddList<CallbackTuple> getCallbackTupleList() { + JastAddList<CallbackTuple> list = (JastAddList<CallbackTuple>) getChild(8); return list; } /** - * Retrieves the CallbacksTuple list. + * Retrieves the CallbackTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the CallbacksTuple list. + * @return The node representing the CallbackTuple list. * @apilevel low-level */ - public JastAddList<CallbacksTuple> getCallbacksTupleListNoTransform() { - return (JastAddList<CallbacksTuple>) getChildNoTransform(8); + public JastAddList<CallbackTuple> getCallbackTupleListNoTransform() { + return (JastAddList<CallbackTuple>) getChildNoTransform(8); } /** - * @return the element at index {@code i} in the CallbacksTuple list without + * @return the element at index {@code i} in the CallbackTuple list without * triggering rewrites. */ - public CallbacksTuple getCallbacksTupleNoTransform(int i) { - return (CallbacksTuple) getCallbacksTupleListNoTransform().getChildNoTransform(i); + public CallbackTuple getCallbackTupleNoTransform(int i) { + return (CallbackTuple) getCallbackTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the CallbacksTuple list. - * @return The node representing the CallbacksTuple list. + * Retrieves the CallbackTuple list. + * @return The node representing the CallbackTuple list. * @apilevel high-level */ - public JastAddList<CallbacksTuple> getCallbacksTuples() { - return getCallbacksTupleList(); + public JastAddList<CallbackTuple> getCallbackTuples() { + return getCallbackTupleList(); } /** - * Retrieves the CallbacksTuple list. + * Retrieves the CallbackTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the CallbacksTuple list. + * @return The node representing the CallbackTuple list. * @apilevel low-level */ - public JastAddList<CallbacksTuple> getCallbacksTuplesNoTransform() { - return getCallbacksTupleListNoTransform(); + public JastAddList<CallbackTuple> getCallbackTuplesNoTransform() { + return getCallbackTupleListNoTransform(); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java index 719e7c49..98b05815 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContactObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:11 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:8 * @astdecl ContactObject : ASTNode ::= <Name:String> <Url:String> <Email:String>; * @production ContactObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Url:String></span> <span class="component"><Email:String></span>; @@ -17,23 +18,23 @@ import java.net.URL; public class ContactObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:68 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:73 */ public static Contact composeContact (ContactObject contactObject){ Contact contact = new Contact(); - if( contactObject.getName() != null ) + if( !contactObject.getName().isEmpty() ) contact.setName( contactObject.getName() ); - if( contactObject.getUrl() != null ) + if( !contactObject.getUrl().isEmpty() ) contact.setUrl( contactObject.getUrl() ); - if( contactObject.getEmail() != null ) + if( !contactObject.getEmail().isEmpty() ) contact.setEmail( contactObject.getEmail() ); return contact; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:49 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:55 */ public static ContactObject parseContact(Contact contact){ ContactObject contactObject = new ContactObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.java deleted file mode 100644 index 317531f1..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentObjectTuple.java +++ /dev/null @@ -1,206 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:87 - * @astdecl ContentObjectTuple : ContentTuple ::= <Name:String> MediaTypeObject; - * @production ContentObjectTuple : {@link ContentTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link MediaTypeObject}</span>; - - */ -public class ContentObjectTuple extends ContentTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ContentObjectTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - children = new ASTNode[1]; - } - /** - * @declaredat ASTNode:13 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "MediaTypeObject"}, - type = {"String", "MediaTypeObject"}, - kind = {"Token", "Child"} - ) - public ContentObjectTuple(String p0, MediaTypeObject p1) { - setName(p0); - setChild(p1, 0); - } - /** @apilevel low-level - * @declaredat ASTNode:23 - */ - protected int numChildren() { - return 1; - } - /** - * @apilevel internal - * @declaredat ASTNode:29 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:33 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:37 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:41 - */ - public ContentObjectTuple clone() throws CloneNotSupportedException { - ContentObjectTuple node = (ContentObjectTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:46 - */ - public ContentObjectTuple copy() { - try { - ContentObjectTuple node = (ContentObjectTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:65 - */ - @Deprecated - public ContentObjectTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:75 - */ - public ContentObjectTuple treeCopyNoTransform() { - ContentObjectTuple tree = (ContentObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:95 - */ - public ContentObjectTuple treeCopy() { - ContentObjectTuple tree = (ContentObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:109 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ContentObjectTuple) node).tokenString_Name); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the MediaTypeObject child. - * @param node The new node to replace the MediaTypeObject child. - * @apilevel high-level - */ - public void setMediaTypeObject(MediaTypeObject node) { - setChild(node, 0); - } - /** - * Retrieves the MediaTypeObject child. - * @return The current node used as the MediaTypeObject child. - * @apilevel high-level - */ - @ASTNodeAnnotation.Child(name="MediaTypeObject") - public MediaTypeObject getMediaTypeObject() { - return (MediaTypeObject) getChild(0); - } - /** - * Retrieves the MediaTypeObject child. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the MediaTypeObject child. - * @apilevel low-level - */ - public MediaTypeObject getMediaTypeObjectNoTransform() { - return (MediaTypeObject) getChildNoTransform(0); - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.java deleted file mode 100644 index d8b7e043..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:88 - * @astdecl ContentReferenceTuple : ContentTuple ::= <Name:String> <Ref:String>; - * @production ContentReferenceTuple : {@link ContentTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class ContentReferenceTuple extends ContentTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ContentReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public ContentReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public ContentReferenceTuple clone() throws CloneNotSupportedException { - ContentReferenceTuple node = (ContentReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public ContentReferenceTuple copy() { - try { - ContentReferenceTuple node = (ContentReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public ContentReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public ContentReferenceTuple treeCopyNoTransform() { - ContentReferenceTuple tree = (ContentReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public ContentReferenceTuple treeCopy() { - ContentReferenceTuple tree = (ContentReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ContentReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((ContentReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java index 433503b7..8d544ccd 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ContentTuple.java @@ -4,17 +4,18 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:86 - * @astdecl ContentTuple : ASTNode; - * @production ContentTuple : {@link ASTNode}; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:57 + * @astdecl ContentTuple : ASTNode ::= <Key:String> MediaTypeObject; + * @production ContentTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link MediaTypeObject}</span>; */ -public abstract class ContentTuple extends ASTNode<ASTNode> implements Cloneable { +public class ContentTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ @@ -29,66 +30,172 @@ public abstract class ContentTuple extends ASTNode<ASTNode> implements Cloneable * @declaredat ASTNode:10 */ public void init$Children() { + children = new ASTNode[1]; } - /** @apilevel low-level + /** * @declaredat ASTNode:13 */ + @ASTNodeAnnotation.Constructor( + name = {"Key", "MediaTypeObject"}, + type = {"String", "MediaTypeObject"}, + kind = {"Token", "Child"} + ) + public ContentTuple(String p0, MediaTypeObject p1) { + setKey(p0); + setChild(p1, 0); + } + /** @apilevel low-level + * @declaredat ASTNode:23 + */ protected int numChildren() { - return 0; + return 1; } /** * @apilevel internal - * @declaredat ASTNode:19 + * @declaredat ASTNode:29 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:23 + * @declaredat ASTNode:33 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:27 + * @declaredat ASTNode:37 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:31 + * @declaredat ASTNode:41 */ public ContentTuple clone() throws CloneNotSupportedException { ContentTuple node = (ContentTuple) super.clone(); return node; } + /** @apilevel internal + * @declaredat ASTNode:46 + */ + public ContentTuple copy() { + try { + ContentTuple node = (ContentTuple) clone(); + node.parent = null; + if (children != null) { + node.children = (ASTNode[]) children.clone(); + } + return node; + } catch (CloneNotSupportedException e) { + throw new Error("Error: clone not supported for " + getClass().getName()); + } + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 + * @declaredat ASTNode:65 */ @Deprecated - public abstract ContentTuple fullCopy(); + public ContentTuple fullCopy() { + return treeCopyNoTransform(); + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:50 + * @declaredat ASTNode:75 */ - public abstract ContentTuple treeCopyNoTransform(); + public ContentTuple treeCopyNoTransform() { + ContentTuple tree = (ContentTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) children[i]; + if (child != null) { + child = child.treeCopyNoTransform(); + tree.setChild(child, i); + } + } + } + return tree; + } /** * Create a deep copy of the AST subtree at this node. * The subtree of this node is traversed to trigger rewrites before copy. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:58 + * @declaredat ASTNode:95 + */ + public ContentTuple treeCopy() { + ContentTuple tree = (ContentTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) getChild(i); + if (child != null) { + child = child.treeCopy(); + tree.setChild(child, i); + } + } + } + return tree; + } + /** @apilevel internal + * @declaredat ASTNode:109 + */ + protected boolean is$Equal(ASTNode node) { + return super.is$Equal(node) && (tokenString_Key == ((ContentTuple) node).tokenString_Key); + } + /** + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. + * @apilevel high-level + */ + public void setKey(String value) { + tokenString_Key = value; + } + /** @apilevel internal + */ + protected String tokenString_Key; + /** + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; + } + /** + * Replaces the MediaTypeObject child. + * @param node The new node to replace the MediaTypeObject child. + * @apilevel high-level + */ + public void setMediaTypeObject(MediaTypeObject node) { + setChild(node, 0); + } + /** + * Retrieves the MediaTypeObject child. + * @return The current node used as the MediaTypeObject child. + * @apilevel high-level + */ + @ASTNodeAnnotation.Child(name="MediaTypeObject") + public MediaTypeObject getMediaTypeObject() { + return (MediaTypeObject) getChild(0); + } + /** + * Retrieves the MediaTypeObject child. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The current node used as the MediaTypeObject child. + * @apilevel low-level */ - public abstract ContentTuple treeCopy(); + public MediaTypeObject getMediaTypeObjectNoTransform() { + return (MediaTypeObject) getChildNoTransform(0); + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java index 5f868b93..e5b2cfb8 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Delete.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:67 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:42 * @astdecl Delete : ASTNode ::= OperationObject; * @production Delete : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.java deleted file mode 100644 index c0605f16..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/DeprecatedBoolean.java +++ /dev/null @@ -1,178 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:78 - * @astdecl DeprecatedBoolean : ASTNode ::= <DeprecatedBoolean:Boolean>; - * @production DeprecatedBoolean : {@link ASTNode} ::= <span class="component"><DeprecatedBoolean:Boolean></span>; - - */ -public class DeprecatedBoolean extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public DeprecatedBoolean() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"DeprecatedBoolean"}, - type = {"Boolean"}, - kind = {"Token"} - ) - public DeprecatedBoolean(Boolean p0) { - setDeprecatedBoolean(p0); - } - /** @apilevel low-level - * @declaredat ASTNode:21 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:27 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:35 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:39 - */ - public DeprecatedBoolean clone() throws CloneNotSupportedException { - DeprecatedBoolean node = (DeprecatedBoolean) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:44 - */ - public DeprecatedBoolean copy() { - try { - DeprecatedBoolean node = (DeprecatedBoolean) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:63 - */ - @Deprecated - public DeprecatedBoolean fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:73 - */ - public DeprecatedBoolean treeCopyNoTransform() { - DeprecatedBoolean tree = (DeprecatedBoolean) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:93 - */ - public DeprecatedBoolean treeCopy() { - DeprecatedBoolean tree = (DeprecatedBoolean) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:107 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenBoolean_DeprecatedBoolean == ((DeprecatedBoolean) node).tokenBoolean_DeprecatedBoolean); - } - /** - * Replaces the lexeme DeprecatedBoolean. - * @param value The new value for the lexeme DeprecatedBoolean. - * @apilevel high-level - */ - public void setDeprecatedBoolean(Boolean value) { - tokenBoolean_DeprecatedBoolean = value; - } - /** @apilevel internal - */ - protected Boolean tokenBoolean_DeprecatedBoolean; - /** - * Retrieves the value for the lexeme DeprecatedBoolean. - * @return The value for the lexeme DeprecatedBoolean. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="DeprecatedBoolean") - public Boolean getDeprecatedBoolean() { - return tokenBoolean_DeprecatedBoolean; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java index 97c3c904..e46ae508 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/DiscriminatorObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:141 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:103 * @astdecl DiscriminatorObject : ASTNode ::= <PropertyName:String> MappingTuple*; * @production DiscriminatorObject : {@link ASTNode} ::= <span class="component"><PropertyName:String></span> <span class="component">{@link MappingTuple}*</span>; @@ -17,7 +18,7 @@ import java.net.URL; public class DiscriminatorObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:653 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:686 */ public static Discriminator composeDiscriminator (DiscriminatorObject discriminatorObject) { Discriminator discriminator = new Discriminator(); @@ -35,7 +36,7 @@ public class DiscriminatorObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:734 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:717 */ public static DiscriminatorObject parseDiscriminator (Discriminator discriminator) { DiscriminatorObject discriminatorObject = new DiscriminatorObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java index b8b7f2eb..5220d840 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObject.java @@ -4,42 +4,49 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:100 - * @astdecl EncodingObject : ASTNode ::= <ContentType:String> HeadersTuple* <Style:String> <Explode:Object> <AllowReserved:Object>; - * @production EncodingObject : {@link ASTNode} ::= <span class="component"><ContentType:String></span> <span class="component">{@link HeadersTuple}*</span> <span class="component"><Style:String></span> <span class="component"><Explode:Object></span> <span class="component"><AllowReserved:Object></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:67 + * @astdecl EncodingObject : ASTNode ::= <ContentType:String> HeaderTuple* <Style:String> <Explode:Boolean> <AllowReserved:Boolean> Extension*; + * @production EncodingObject : {@link ASTNode} ::= <span class="component"><ContentType:String></span> <span class="component">{@link HeaderTuple}*</span> <span class="component"><Style:String></span> <span class="component"><Explode:Boolean></span> <span class="component"><AllowReserved:Boolean></span> <span class="component">{@link Extension}*</span>; */ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:426 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:440 */ public static EncodingProperty composeEncodingProperty (EncodingObject encodingObject){ EncodingProperty encodingProperty = new EncodingProperty(); - if( encodingObject.getContentType() != null ) + if( !encodingObject.getContentType().isEmpty() ) encodingProperty.setContentType( encodingObject.getContentType() ); - if( encodingObject.getNumHeadersTuple() != 0 ){ + if( encodingObject.getNumHeaderTuple() != 0 ){ Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : encodingObject.getHeadersTuples() ) - headers.put( ((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader( ((HeaderObjectTuple)t).getHeaderObject() ) ); + for( HeaderTuple t : encodingObject.getHeaderTuples() ) + headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); encodingProperty.setHeaders(headers); } - if( encodingObject.getStyle() != null ) + if( !encodingObject.getStyle().isEmpty() ) encodingProperty.setStyle(encodingObject.getStyle()); if( encodingObject.getExplode() != null ) - encodingProperty.setExplode( (boolean) encodingObject.getExplode() ); + encodingProperty.setExplode(encodingObject.getExplode()); + if( encodingObject.getNumExtension() != 0 ){ + Map<String, Object> extensionMap = new HashMap<>(); + for( Extension e : encodingObject.getExtensions() ) + extensionMap.put(e.getKey(), e.getValue()); + encodingProperty.setExtensions(extensionMap); + } return encodingProperty; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:492 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:465 */ public static EncodingObject parseEncoding(EncodingProperty encodingProperty){ EncodingObject encodingObject = new EncodingObject(); @@ -48,13 +55,16 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { encodingObject.setContentType( encodingProperty.getContentType() ); if( encodingProperty.getHeaders() != null ){ for( String key : encodingProperty.getHeaders().keySet() ) - encodingObject.addHeadersTuple(new HeaderObjectTuple(key, HeaderObject.parseHeader(encodingProperty.getHeader(key)))); + encodingObject.addHeaderTuple(new HeaderTuple(key, HeaderObject.parseHeader(encodingProperty.getHeader(key)))); } if( encodingProperty.getStyle() != null ) encodingObject.setStyle( encodingProperty.getStyle() ); if( encodingProperty.getExplode() != null ) encodingObject.setExplode( encodingProperty.getExplode() ); - // if( encodingProperty.getAllowReserved() != null ) /** parser for allowReserved non-existent **/ + if( encodingProperty.getExtensions() != null ){ + for( String key : encodingProperty.getExtensions().keySet() ) + encodingObject.addExtension(new Extension(key, encodingProperty.getExtensions().get(key))); + } return encodingObject; } @@ -72,58 +82,60 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:10 */ public void init$Children() { - children = new ASTNode[1]; + children = new ASTNode[2]; setChild(new JastAddList(), 0); + setChild(new JastAddList(), 1); } /** - * @declaredat ASTNode:14 + * @declaredat ASTNode:15 */ @ASTNodeAnnotation.Constructor( - name = {"ContentType", "HeadersTuple", "Style", "Explode", "AllowReserved"}, - type = {"String", "JastAddList<HeadersTuple>", "String", "Object", "Object"}, - kind = {"Token", "List", "Token", "Token", "Token"} + name = {"ContentType", "HeaderTuple", "Style", "Explode", "AllowReserved", "Extension"}, + type = {"String", "JastAddList<HeaderTuple>", "String", "Boolean", "Boolean", "JastAddList<Extension>"}, + kind = {"Token", "List", "Token", "Token", "Token", "List"} ) - public EncodingObject(String p0, JastAddList<HeadersTuple> p1, String p2, Object p3, Object p4) { + public EncodingObject(String p0, JastAddList<HeaderTuple> p1, String p2, Boolean p3, Boolean p4, JastAddList<Extension> p5) { setContentType(p0); setChild(p1, 0); setStyle(p2); setExplode(p3); setAllowReserved(p4); + setChild(p5, 1); } /** @apilevel low-level - * @declaredat ASTNode:27 + * @declaredat ASTNode:29 */ protected int numChildren() { - return 1; + return 2; } /** * @apilevel internal - * @declaredat ASTNode:33 + * @declaredat ASTNode:35 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:37 + * @declaredat ASTNode:39 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:41 + * @declaredat ASTNode:43 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:45 + * @declaredat ASTNode:47 */ public EncodingObject clone() throws CloneNotSupportedException { EncodingObject node = (EncodingObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:50 + * @declaredat ASTNode:52 */ public EncodingObject copy() { try { @@ -143,7 +155,7 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:69 + * @declaredat ASTNode:71 */ @Deprecated public EncodingObject fullCopy() { @@ -154,7 +166,7 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:79 + * @declaredat ASTNode:81 */ public EncodingObject treeCopyNoTransform() { EncodingObject tree = (EncodingObject) copy(); @@ -175,7 +187,7 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:99 + * @declaredat ASTNode:101 */ public EncodingObject treeCopy() { EncodingObject tree = (EncodingObject) copy(); @@ -191,10 +203,10 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:113 + * @declaredat ASTNode:115 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_ContentType == ((EncodingObject) node).tokenString_ContentType) && (tokenString_Style == ((EncodingObject) node).tokenString_Style) && (tokenObject_Explode == ((EncodingObject) node).tokenObject_Explode) && (tokenObject_AllowReserved == ((EncodingObject) node).tokenObject_AllowReserved); + return super.is$Equal(node) && (tokenString_ContentType == ((EncodingObject) node).tokenString_ContentType) && (tokenString_Style == ((EncodingObject) node).tokenString_Style) && (tokenBoolean_Explode == ((EncodingObject) node).tokenBoolean_Explode) && (tokenBoolean_AllowReserved == ((EncodingObject) node).tokenBoolean_AllowReserved); } /** * Replaces the lexeme ContentType. @@ -217,114 +229,114 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { return tokenString_ContentType != null ? tokenString_ContentType : ""; } /** - * Replaces the HeadersTuple list. - * @param list The new list node to be used as the HeadersTuple list. + * Replaces the HeaderTuple list. + * @param list The new list node to be used as the HeaderTuple list. * @apilevel high-level */ - public void setHeadersTupleList(JastAddList<HeadersTuple> list) { + public void setHeaderTupleList(JastAddList<HeaderTuple> list) { setChild(list, 0); } /** - * Retrieves the number of children in the HeadersTuple list. - * @return Number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel high-level */ - public int getNumHeadersTuple() { - return getHeadersTupleList().getNumChild(); + public int getNumHeaderTuple() { + return getHeaderTupleList().getNumChild(); } /** - * Retrieves the number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the HeadersTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel low-level */ - public int getNumHeadersTupleNoTransform() { - return getHeadersTupleListNoTransform().getNumChildNoTransform(); + public int getNumHeaderTupleNoTransform() { + return getHeaderTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the HeadersTuple list. + * Retrieves the element at index {@code i} in the HeaderTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the HeadersTuple list. + * @return The element at position {@code i} in the HeaderTuple list. * @apilevel high-level */ - public HeadersTuple getHeadersTuple(int i) { - return (HeadersTuple) getHeadersTupleList().getChild(i); + public HeaderTuple getHeaderTuple(int i) { + return (HeaderTuple) getHeaderTupleList().getChild(i); } /** - * Check whether the HeadersTuple list has any children. + * Check whether the HeaderTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasHeadersTuple() { - return getHeadersTupleList().getNumChild() != 0; + public boolean hasHeaderTuple() { + return getHeaderTupleList().getNumChild() != 0; } /** - * Append an element to the HeadersTuple list. - * @param node The element to append to the HeadersTuple list. + * Append an element to the HeaderTuple list. + * @param node The element to append to the HeaderTuple list. * @apilevel high-level */ - public void addHeadersTuple(HeadersTuple node) { - JastAddList<HeadersTuple> list = (parent == null) ? getHeadersTupleListNoTransform() : getHeadersTupleList(); + public void addHeaderTuple(HeaderTuple node) { + JastAddList<HeaderTuple> list = (parent == null) ? getHeaderTupleListNoTransform() : getHeaderTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addHeadersTupleNoTransform(HeadersTuple node) { - JastAddList<HeadersTuple> list = getHeadersTupleListNoTransform(); + public void addHeaderTupleNoTransform(HeaderTuple node) { + JastAddList<HeaderTuple> list = getHeaderTupleListNoTransform(); list.addChild(node); } /** - * Replaces the HeadersTuple list element at index {@code i} with the new node {@code node}. + * Replaces the HeaderTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setHeadersTuple(HeadersTuple node, int i) { - JastAddList<HeadersTuple> list = getHeadersTupleList(); + public void setHeaderTuple(HeaderTuple node, int i) { + JastAddList<HeaderTuple> list = getHeaderTupleList(); list.setChild(node, i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="HeadersTuple") - public JastAddList<HeadersTuple> getHeadersTupleList() { - JastAddList<HeadersTuple> list = (JastAddList<HeadersTuple>) getChild(0); + @ASTNodeAnnotation.ListChild(name="HeaderTuple") + public JastAddList<HeaderTuple> getHeaderTupleList() { + JastAddList<HeaderTuple> list = (JastAddList<HeaderTuple>) getChild(0); return list; } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTupleListNoTransform() { - return (JastAddList<HeadersTuple>) getChildNoTransform(0); + public JastAddList<HeaderTuple> getHeaderTupleListNoTransform() { + return (JastAddList<HeaderTuple>) getChildNoTransform(0); } /** - * @return the element at index {@code i} in the HeadersTuple list without + * @return the element at index {@code i} in the HeaderTuple list without * triggering rewrites. */ - public HeadersTuple getHeadersTupleNoTransform(int i) { - return (HeadersTuple) getHeadersTupleListNoTransform().getChildNoTransform(i); + public HeaderTuple getHeaderTupleNoTransform(int i) { + return (HeaderTuple) getHeaderTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - public JastAddList<HeadersTuple> getHeadersTuples() { - return getHeadersTupleList(); + public JastAddList<HeaderTuple> getHeaderTuples() { + return getHeaderTupleList(); } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTuplesNoTransform() { - return getHeadersTupleListNoTransform(); + public JastAddList<HeaderTuple> getHeaderTuplesNoTransform() { + return getHeaderTupleListNoTransform(); } /** * Replaces the lexeme Style. @@ -351,40 +363,150 @@ public class EncodingObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme Explode. * @apilevel high-level */ - public void setExplode(Object value) { - tokenObject_Explode = value; + public void setExplode(Boolean value) { + tokenBoolean_Explode = value; } /** @apilevel internal */ - protected Object tokenObject_Explode; + protected Boolean tokenBoolean_Explode; /** * Retrieves the value for the lexeme Explode. * @return The value for the lexeme Explode. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Explode") - public Object getExplode() { - return tokenObject_Explode; + public Boolean getExplode() { + return tokenBoolean_Explode; } /** * Replaces the lexeme AllowReserved. * @param value The new value for the lexeme AllowReserved. * @apilevel high-level */ - public void setAllowReserved(Object value) { - tokenObject_AllowReserved = value; + public void setAllowReserved(Boolean value) { + tokenBoolean_AllowReserved = value; } /** @apilevel internal */ - protected Object tokenObject_AllowReserved; + protected Boolean tokenBoolean_AllowReserved; /** * Retrieves the value for the lexeme AllowReserved. * @return The value for the lexeme AllowReserved. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="AllowReserved") - public Object getAllowReserved() { - return tokenObject_AllowReserved; + public Boolean getAllowReserved() { + return tokenBoolean_AllowReserved; + } + /** + * Replaces the Extension list. + * @param list The new list node to be used as the Extension list. + * @apilevel high-level + */ + public void setExtensionList(JastAddList<Extension> list) { + setChild(list, 1); + } + /** + * Retrieves the number of children in the Extension list. + * @return Number of children in the Extension list. + * @apilevel high-level + */ + public int getNumExtension() { + return getExtensionList().getNumChild(); + } + /** + * Retrieves the number of children in the Extension list. + * Calling this method will not trigger rewrites. + * @return Number of children in the Extension list. + * @apilevel low-level + */ + public int getNumExtensionNoTransform() { + return getExtensionListNoTransform().getNumChildNoTransform(); + } + /** + * Retrieves the element at index {@code i} in the Extension list. + * @param i Index of the element to return. + * @return The element at position {@code i} in the Extension list. + * @apilevel high-level + */ + public Extension getExtension(int i) { + return (Extension) getExtensionList().getChild(i); + } + /** + * Check whether the Extension list has any children. + * @return {@code true} if it has at least one child, {@code false} otherwise. + * @apilevel high-level + */ + public boolean hasExtension() { + return getExtensionList().getNumChild() != 0; + } + /** + * Append an element to the Extension list. + * @param node The element to append to the Extension list. + * @apilevel high-level + */ + public void addExtension(Extension node) { + JastAddList<Extension> list = (parent == null) ? getExtensionListNoTransform() : getExtensionList(); + list.addChild(node); + } + /** @apilevel low-level + */ + public void addExtensionNoTransform(Extension node) { + JastAddList<Extension> list = getExtensionListNoTransform(); + list.addChild(node); + } + /** + * Replaces the Extension list element at index {@code i} with the new node {@code node}. + * @param node The new node to replace the old list element. + * @param i The list index of the node to be replaced. + * @apilevel high-level + */ + public void setExtension(Extension node, int i) { + JastAddList<Extension> list = getExtensionList(); + list.setChild(node, i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + @ASTNodeAnnotation.ListChild(name="Extension") + public JastAddList<Extension> getExtensionList() { + JastAddList<Extension> list = (JastAddList<Extension>) getChild(1); + return list; + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionListNoTransform() { + return (JastAddList<Extension>) getChildNoTransform(1); + } + /** + * @return the element at index {@code i} in the Extension list without + * triggering rewrites. + */ + public Extension getExtensionNoTransform(int i) { + return (Extension) getExtensionListNoTransform().getChildNoTransform(i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + public JastAddList<Extension> getExtensions() { + return getExtensionList(); + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionsNoTransform() { + return getExtensionListNoTransform(); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.java deleted file mode 100644 index 24b94192..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingObjectTuple.java +++ /dev/null @@ -1,206 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:96 - * @astdecl EncodingObjectTuple : EncodingTuple ::= <Name:String> EncodingObject; - * @production EncodingObjectTuple : {@link EncodingTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link EncodingObject}</span>; - - */ -public class EncodingObjectTuple extends EncodingTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public EncodingObjectTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - children = new ASTNode[1]; - } - /** - * @declaredat ASTNode:13 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "EncodingObject"}, - type = {"String", "EncodingObject"}, - kind = {"Token", "Child"} - ) - public EncodingObjectTuple(String p0, EncodingObject p1) { - setName(p0); - setChild(p1, 0); - } - /** @apilevel low-level - * @declaredat ASTNode:23 - */ - protected int numChildren() { - return 1; - } - /** - * @apilevel internal - * @declaredat ASTNode:29 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:33 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:37 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:41 - */ - public EncodingObjectTuple clone() throws CloneNotSupportedException { - EncodingObjectTuple node = (EncodingObjectTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:46 - */ - public EncodingObjectTuple copy() { - try { - EncodingObjectTuple node = (EncodingObjectTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:65 - */ - @Deprecated - public EncodingObjectTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:75 - */ - public EncodingObjectTuple treeCopyNoTransform() { - EncodingObjectTuple tree = (EncodingObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:95 - */ - public EncodingObjectTuple treeCopy() { - EncodingObjectTuple tree = (EncodingObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:109 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((EncodingObjectTuple) node).tokenString_Name); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the EncodingObject child. - * @param node The new node to replace the EncodingObject child. - * @apilevel high-level - */ - public void setEncodingObject(EncodingObject node) { - setChild(node, 0); - } - /** - * Retrieves the EncodingObject child. - * @return The current node used as the EncodingObject child. - * @apilevel high-level - */ - @ASTNodeAnnotation.Child(name="EncodingObject") - public EncodingObject getEncodingObject() { - return (EncodingObject) getChild(0); - } - /** - * Retrieves the EncodingObject child. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the EncodingObject child. - * @apilevel low-level - */ - public EncodingObject getEncodingObjectNoTransform() { - return (EncodingObject) getChildNoTransform(0); - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.java deleted file mode 100644 index 99554c66..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:97 - * @astdecl EncodingReferenceTuple : EncodingTuple ::= <Name:String> <Ref:String>; - * @production EncodingReferenceTuple : {@link EncodingTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class EncodingReferenceTuple extends EncodingTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public EncodingReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public EncodingReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public EncodingReferenceTuple clone() throws CloneNotSupportedException { - EncodingReferenceTuple node = (EncodingReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public EncodingReferenceTuple copy() { - try { - EncodingReferenceTuple node = (EncodingReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public EncodingReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public EncodingReferenceTuple treeCopyNoTransform() { - EncodingReferenceTuple tree = (EncodingReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public EncodingReferenceTuple treeCopy() { - EncodingReferenceTuple tree = (EncodingReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((EncodingReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((EncodingReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java index 3cd262d9..c8b4e5c1 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EncodingTuple.java @@ -4,17 +4,18 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:95 - * @astdecl EncodingTuple : ASTNode; - * @production EncodingTuple : {@link ASTNode}; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:64 + * @astdecl EncodingTuple : ASTNode ::= <Key:String> EncodingObject; + * @production EncodingTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link EncodingObject}</span>; */ -public abstract class EncodingTuple extends ASTNode<ASTNode> implements Cloneable { +public class EncodingTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ @@ -29,66 +30,172 @@ public abstract class EncodingTuple extends ASTNode<ASTNode> implements Cloneabl * @declaredat ASTNode:10 */ public void init$Children() { + children = new ASTNode[1]; } - /** @apilevel low-level + /** * @declaredat ASTNode:13 */ + @ASTNodeAnnotation.Constructor( + name = {"Key", "EncodingObject"}, + type = {"String", "EncodingObject"}, + kind = {"Token", "Child"} + ) + public EncodingTuple(String p0, EncodingObject p1) { + setKey(p0); + setChild(p1, 0); + } + /** @apilevel low-level + * @declaredat ASTNode:23 + */ protected int numChildren() { - return 0; + return 1; } /** * @apilevel internal - * @declaredat ASTNode:19 + * @declaredat ASTNode:29 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:23 + * @declaredat ASTNode:33 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:27 + * @declaredat ASTNode:37 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:31 + * @declaredat ASTNode:41 */ public EncodingTuple clone() throws CloneNotSupportedException { EncodingTuple node = (EncodingTuple) super.clone(); return node; } + /** @apilevel internal + * @declaredat ASTNode:46 + */ + public EncodingTuple copy() { + try { + EncodingTuple node = (EncodingTuple) clone(); + node.parent = null; + if (children != null) { + node.children = (ASTNode[]) children.clone(); + } + return node; + } catch (CloneNotSupportedException e) { + throw new Error("Error: clone not supported for " + getClass().getName()); + } + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 + * @declaredat ASTNode:65 */ @Deprecated - public abstract EncodingTuple fullCopy(); + public EncodingTuple fullCopy() { + return treeCopyNoTransform(); + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:50 + * @declaredat ASTNode:75 */ - public abstract EncodingTuple treeCopyNoTransform(); + public EncodingTuple treeCopyNoTransform() { + EncodingTuple tree = (EncodingTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) children[i]; + if (child != null) { + child = child.treeCopyNoTransform(); + tree.setChild(child, i); + } + } + } + return tree; + } /** * Create a deep copy of the AST subtree at this node. * The subtree of this node is traversed to trigger rewrites before copy. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:58 + * @declaredat ASTNode:95 + */ + public EncodingTuple treeCopy() { + EncodingTuple tree = (EncodingTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) getChild(i); + if (child != null) { + child = child.treeCopy(); + tree.setChild(child, i); + } + } + } + return tree; + } + /** @apilevel internal + * @declaredat ASTNode:109 + */ + protected boolean is$Equal(ASTNode node) { + return super.is$Equal(node) && (tokenString_Key == ((EncodingTuple) node).tokenString_Key); + } + /** + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. + * @apilevel high-level + */ + public void setKey(String value) { + tokenString_Key = value; + } + /** @apilevel internal + */ + protected String tokenString_Key; + /** + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; + } + /** + * Replaces the EncodingObject child. + * @param node The new node to replace the EncodingObject child. + * @apilevel high-level + */ + public void setEncodingObject(EncodingObject node) { + setChild(node, 0); + } + /** + * Retrieves the EncodingObject child. + * @return The current node used as the EncodingObject child. + * @apilevel high-level + */ + @ASTNodeAnnotation.Child(name="EncodingObject") + public EncodingObject getEncodingObject() { + return (EncodingObject) getChild(0); + } + /** + * Retrieves the EncodingObject child. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The current node used as the EncodingObject child. + * @apilevel low-level */ - public abstract EncodingTuple treeCopy(); + public EncodingObject getEncodingObjectNoTransform() { + return (EncodingObject) getChildNoTransform(0); + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java index c9130eb2..6aae4350 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Enum.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:26 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:19 * @astdecl Enum : ASTNode ::= <EnumValue:String>; * @production Enum : {@link ASTNode} ::= <span class="component"><EnumValue:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java index 1f45d4fc..c5076319 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/EnumObj.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:131 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:93 * @astdecl EnumObj : ASTNode ::= <EnumOb:Object>; * @production EnumObj : {@link ASTNode} ::= <span class="component"><EnumOb:Object></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java index 9e1656ef..19b78111 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:116 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:78 * @astdecl ExampleObject : ASTNode ::= <Summary:String> <Description:String> <Value:Object> <ExternalValue:String>; * @production ExampleObject : {@link ASTNode} ::= <span class="component"><Summary:String></span> <span class="component"><Description:String></span> <span class="component"><Value:Object></span> <span class="component"><ExternalValue:String></span>; @@ -17,7 +18,7 @@ import java.net.URL; public class ExampleObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:484 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:507 */ public static Example composeExample (ExampleObject exampleObject){ Example example = new Example(); @@ -35,7 +36,7 @@ public class ExampleObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:542 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:520 */ public static ExampleObject parseExample(Example example){ ExampleObject exampleObject = new ExampleObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.java deleted file mode 100644 index fb0594d2..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:41 - * @astdecl ExampleReferenceTuple : ExamplesTuple ::= <Name:String> <Ref:String>; - * @production ExampleReferenceTuple : {@link ExamplesTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class ExampleReferenceTuple extends ExamplesTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ExampleReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public ExampleReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public ExampleReferenceTuple clone() throws CloneNotSupportedException { - ExampleReferenceTuple node = (ExampleReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public ExampleReferenceTuple copy() { - try { - ExampleReferenceTuple node = (ExampleReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public ExampleReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public ExampleReferenceTuple treeCopyNoTransform() { - ExampleReferenceTuple tree = (ExampleReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public ExampleReferenceTuple treeCopy() { - ExampleReferenceTuple tree = (ExampleReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ExampleReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((ExampleReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java similarity index 73% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java index a79192a0..931b15c0 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExampleTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:40 - * @astdecl ExampleObjectTuple : ExamplesTuple ::= <Name:String> ExampleObject; - * @production ExampleObjectTuple : {@link ExamplesTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link ExampleObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:26 + * @astdecl ExampleTuple : ASTNode ::= <Key:String> ExampleObject; + * @production ExampleTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link ExampleObject}</span>; */ -public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { +public class ExampleTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public ExampleObjectTuple() { + public ExampleTuple() { super(); } /** @@ -35,12 +36,12 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "ExampleObject"}, + name = {"Key", "ExampleObject"}, type = {"String", "ExampleObject"}, kind = {"Token", "Child"} ) - public ExampleObjectTuple(String p0, ExampleObject p1) { - setName(p0); + public ExampleTuple(String p0, ExampleObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public ExampleObjectTuple clone() throws CloneNotSupportedException { - ExampleObjectTuple node = (ExampleObjectTuple) super.clone(); + public ExampleTuple clone() throws CloneNotSupportedException { + ExampleTuple node = (ExampleTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public ExampleObjectTuple copy() { + public ExampleTuple copy() { try { - ExampleObjectTuple node = (ExampleObjectTuple) clone(); + ExampleTuple node = (ExampleTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public ExampleObjectTuple fullCopy() { + public ExampleTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public ExampleObjectTuple treeCopyNoTransform() { - ExampleObjectTuple tree = (ExampleObjectTuple) copy(); + public ExampleTuple treeCopyNoTransform() { + ExampleTuple tree = (ExampleTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public ExampleObjectTuple treeCopy() { - ExampleObjectTuple tree = (ExampleObjectTuple) copy(); + public ExampleTuple treeCopy() { + ExampleTuple tree = (ExampleTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class ExampleObjectTuple extends ExamplesTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ExampleObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((ExampleTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the ExampleObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExamplesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExamplesTuple.java deleted file mode 100644 index 3806ea9d..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExamplesTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:39 - * @astdecl ExamplesTuple : ASTNode; - * @production ExamplesTuple : {@link ASTNode}; - - */ -public abstract class ExamplesTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ExamplesTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public ExamplesTuple clone() throws CloneNotSupportedException { - ExamplesTuple node = (ExamplesTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract ExamplesTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract ExamplesTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract ExamplesTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java index 5418a4b7..90cdf94e 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Expression.java @@ -4,14 +4,15 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:113 - * @astdecl Expression : ASTNode ::= <Name:String> PathItemObject; - * @production Expression : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component">{@link PathItemObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:74 + * @astdecl Expression : ASTNode ::= <Name:String> PathItem; + * @production Expression : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component">{@link PathItem}</span>; */ public class Expression extends ASTNode<ASTNode> implements Cloneable { @@ -35,11 +36,11 @@ public class Expression extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "PathItemObject"}, - type = {"String", "PathItemObject"}, + name = {"Name", "PathItem"}, + type = {"String", "PathItem"}, kind = {"Token", "Child"} ) - public Expression(String p0, PathItemObject p1) { + public Expression(String p0, PathItem p1) { setName(p0); setChild(p1, 0); } @@ -170,30 +171,30 @@ public class Expression extends ASTNode<ASTNode> implements Cloneable { return tokenString_Name != null ? tokenString_Name : ""; } /** - * Replaces the PathItemObject child. - * @param node The new node to replace the PathItemObject child. + * Replaces the PathItem child. + * @param node The new node to replace the PathItem child. * @apilevel high-level */ - public void setPathItemObject(PathItemObject node) { + public void setPathItem(PathItem node) { setChild(node, 0); } /** - * Retrieves the PathItemObject child. - * @return The current node used as the PathItemObject child. + * Retrieves the PathItem child. + * @return The current node used as the PathItem child. * @apilevel high-level */ - @ASTNodeAnnotation.Child(name="PathItemObject") - public PathItemObject getPathItemObject() { - return (PathItemObject) getChild(0); + @ASTNodeAnnotation.Child(name="PathItem") + public PathItem getPathItem() { + return (PathItem) getChild(0); } /** - * Retrieves the PathItemObject child. + * Retrieves the PathItem child. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the PathItemObject child. + * @return The current node used as the PathItem child. * @apilevel low-level */ - public PathItemObject getPathItemObjectNoTransform() { - return (PathItemObject) getChildNoTransform(0); + public PathItem getPathItemNoTransform() { + return (PathItem) getChildNoTransform(0); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java similarity index 63% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java index 17ab881a..8d54a4db 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkReferenceTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Extension.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:53 - * @astdecl LinkReferenceTuple : LinksTuple ::= <Name:String> <Ref:String>; - * @production LinkReferenceTuple : {@link LinksTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:75 + * @astdecl Extension : ASTNode ::= <Key:String> <Value:Object>; + * @production Extension : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component"><Value:Object></span>; */ -public class LinkReferenceTuple extends LinksTuple implements Cloneable { +public class Extension extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public LinkReferenceTuple() { + public Extension() { super(); } /** @@ -34,13 +35,13 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:12 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, + name = {"Key", "Value"}, + type = {"String", "Object"}, kind = {"Token", "Token"} ) - public LinkReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); + public Extension(String p0, Object p1) { + setKey(p0); + setValue(p1); } /** @apilevel low-level * @declaredat ASTNode:22 @@ -70,16 +71,16 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:40 */ - public LinkReferenceTuple clone() throws CloneNotSupportedException { - LinkReferenceTuple node = (LinkReferenceTuple) super.clone(); + public Extension clone() throws CloneNotSupportedException { + Extension node = (Extension) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:45 */ - public LinkReferenceTuple copy() { + public Extension copy() { try { - LinkReferenceTuple node = (LinkReferenceTuple) clone(); + Extension node = (Extension) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -98,7 +99,7 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:64 */ @Deprecated - public LinkReferenceTuple fullCopy() { + public Extension fullCopy() { return treeCopyNoTransform(); } /** @@ -108,8 +109,8 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:74 */ - public LinkReferenceTuple treeCopyNoTransform() { - LinkReferenceTuple tree = (LinkReferenceTuple) copy(); + public Extension treeCopyNoTransform() { + Extension tree = (Extension) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -129,8 +130,8 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:94 */ - public LinkReferenceTuple treeCopy() { - LinkReferenceTuple tree = (LinkReferenceTuple) copy(); + public Extension treeCopy() { + Extension tree = (Extension) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -146,47 +147,47 @@ public class LinkReferenceTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:108 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((LinkReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((LinkReferenceTuple) node).tokenString_Ref); + return super.is$Equal(node) && (tokenString_Key == ((Extension) node).tokenString_Key) && (tokenObject_Value == ((Extension) node).tokenObject_Value); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. + * Replaces the lexeme Value. + * @param value The new value for the lexeme Value. * @apilevel high-level */ - public void setRef(String value) { - tokenString_Ref = value; + public void setValue(Object value) { + tokenObject_Value = value; } /** @apilevel internal */ - protected String tokenString_Ref; + protected Object tokenObject_Value; /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. + * Retrieves the value for the lexeme Value. + * @return The value for the lexeme Value. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; + @ASTNodeAnnotation.Token(name="Value") + public Object getValue() { + return tokenObject_Value; } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java new file mode 100644 index 00000000..caff196d --- /dev/null +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocObject.java @@ -0,0 +1,352 @@ +/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ +package de.tudresden.inf.st.openapi.ast; +import org.openapi4j.core.exception.ResolutionException; +import org.openapi4j.core.validation.ValidationException; +import org.openapi4j.parser.model.v3.*; +import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; +import java.io.IOException; +import java.util.*; +import java.net.URL; +/** + * @ast node + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:53 + * @astdecl ExternalDocObject : ASTNode ::= <Description:String> <Url:String> Extension*; + * @production ExternalDocObject : {@link ASTNode} ::= <span class="component"><Description:String></span> <span class="component"><Url:String></span> <span class="component">{@link Extension}*</span>; + + */ +public class ExternalDocObject extends ASTNode<ASTNode> implements Cloneable { + /** + * @aspect Composer + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:338 + */ + public static ExternalDocs composeExternalDocs (ExternalDocObject externalDocObject){ + ExternalDocs externalDocs = new ExternalDocs(); + + if( !externalDocObject.getDescription().isEmpty() ) + externalDocs.setDescription(externalDocObject.getDescription()); + if( !externalDocObject.getUrl().isEmpty() ) + externalDocs.setUrl(externalDocObject.getUrl()); + if( externalDocObject.getNumExtension() != 0 ){ + Map<String, Object> extensionMap = new HashMap<>(); + for( Extension e : externalDocObject.getExtensions() ) + extensionMap.put(e.getKey(), e.getValue()); + externalDocs.setExtensions(extensionMap); + } + + return externalDocs; + } + /** + * @aspect Parser + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:376 + */ + public static ExternalDocObject parseExternalDocs(ExternalDocs externalDocs){ + ExternalDocObject externalDocObject = new ExternalDocObject(); + + + if( externalDocs.getDescription() != null ) + externalDocObject.setDescription(externalDocs.getDescription()); + if( externalDocs.getUrl() != null ) + externalDocObject.setUrl(externalDocObject.getUrl()); + if( externalDocs.getExtensions() != null ) { + for( String key : externalDocs.getExtensions().keySet() ) + externalDocObject.addExtension(new Extension(key, externalDocs.getExtensions().get(key))); + } + + return externalDocObject; + } + /** + * @declaredat ASTNode:1 + */ + public ExternalDocObject() { + super(); + } + /** + * Initializes the child array to the correct size. + * Initializes List and Opt nta children. + * @apilevel internal + * @ast method + * @declaredat ASTNode:10 + */ + public void init$Children() { + children = new ASTNode[1]; + setChild(new JastAddList(), 0); + } + /** + * @declaredat ASTNode:14 + */ + @ASTNodeAnnotation.Constructor( + name = {"Description", "Url", "Extension"}, + type = {"String", "String", "JastAddList<Extension>"}, + kind = {"Token", "Token", "List"} + ) + public ExternalDocObject(String p0, String p1, JastAddList<Extension> p2) { + setDescription(p0); + setUrl(p1); + setChild(p2, 0); + } + /** @apilevel low-level + * @declaredat ASTNode:25 + */ + protected int numChildren() { + return 1; + } + /** + * @apilevel internal + * @declaredat ASTNode:31 + */ + public boolean mayHaveRewrite() { + return false; + } + /** @apilevel internal + * @declaredat ASTNode:35 + */ + public void flushAttrCache() { + super.flushAttrCache(); + } + /** @apilevel internal + * @declaredat ASTNode:39 + */ + public void flushCollectionCache() { + super.flushCollectionCache(); + } + /** @apilevel internal + * @declaredat ASTNode:43 + */ + public ExternalDocObject clone() throws CloneNotSupportedException { + ExternalDocObject node = (ExternalDocObject) super.clone(); + return node; + } + /** @apilevel internal + * @declaredat ASTNode:48 + */ + public ExternalDocObject copy() { + try { + ExternalDocObject node = (ExternalDocObject) clone(); + node.parent = null; + if (children != null) { + node.children = (ASTNode[]) children.clone(); + } + return node; + } catch (CloneNotSupportedException e) { + throw new Error("Error: clone not supported for " + getClass().getName()); + } + } + /** + * Create a deep copy of the AST subtree at this node. + * The copy is dangling, i.e. has no parent. + * @return dangling copy of the subtree at this node + * @apilevel low-level + * @deprecated Please use treeCopy or treeCopyNoTransform instead + * @declaredat ASTNode:67 + */ + @Deprecated + public ExternalDocObject fullCopy() { + return treeCopyNoTransform(); + } + /** + * Create a deep copy of the AST subtree at this node. + * The copy is dangling, i.e. has no parent. + * @return dangling copy of the subtree at this node + * @apilevel low-level + * @declaredat ASTNode:77 + */ + public ExternalDocObject treeCopyNoTransform() { + ExternalDocObject tree = (ExternalDocObject) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) children[i]; + if (child != null) { + child = child.treeCopyNoTransform(); + tree.setChild(child, i); + } + } + } + return tree; + } + /** + * Create a deep copy of the AST subtree at this node. + * The subtree of this node is traversed to trigger rewrites before copy. + * The copy is dangling, i.e. has no parent. + * @return dangling copy of the subtree at this node + * @apilevel low-level + * @declaredat ASTNode:97 + */ + public ExternalDocObject treeCopy() { + ExternalDocObject tree = (ExternalDocObject) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) getChild(i); + if (child != null) { + child = child.treeCopy(); + tree.setChild(child, i); + } + } + } + return tree; + } + /** @apilevel internal + * @declaredat ASTNode:111 + */ + protected boolean is$Equal(ASTNode node) { + return super.is$Equal(node) && (tokenString_Description == ((ExternalDocObject) node).tokenString_Description) && (tokenString_Url == ((ExternalDocObject) node).tokenString_Url); + } + /** + * Replaces the lexeme Description. + * @param value The new value for the lexeme Description. + * @apilevel high-level + */ + public void setDescription(String value) { + tokenString_Description = value; + } + /** @apilevel internal + */ + protected String tokenString_Description; + /** + * Retrieves the value for the lexeme Description. + * @return The value for the lexeme Description. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Description") + public String getDescription() { + return tokenString_Description != null ? tokenString_Description : ""; + } + /** + * Replaces the lexeme Url. + * @param value The new value for the lexeme Url. + * @apilevel high-level + */ + public void setUrl(String value) { + tokenString_Url = value; + } + /** @apilevel internal + */ + protected String tokenString_Url; + /** + * Retrieves the value for the lexeme Url. + * @return The value for the lexeme Url. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Url") + public String getUrl() { + return tokenString_Url != null ? tokenString_Url : ""; + } + /** + * Replaces the Extension list. + * @param list The new list node to be used as the Extension list. + * @apilevel high-level + */ + public void setExtensionList(JastAddList<Extension> list) { + setChild(list, 0); + } + /** + * Retrieves the number of children in the Extension list. + * @return Number of children in the Extension list. + * @apilevel high-level + */ + public int getNumExtension() { + return getExtensionList().getNumChild(); + } + /** + * Retrieves the number of children in the Extension list. + * Calling this method will not trigger rewrites. + * @return Number of children in the Extension list. + * @apilevel low-level + */ + public int getNumExtensionNoTransform() { + return getExtensionListNoTransform().getNumChildNoTransform(); + } + /** + * Retrieves the element at index {@code i} in the Extension list. + * @param i Index of the element to return. + * @return The element at position {@code i} in the Extension list. + * @apilevel high-level + */ + public Extension getExtension(int i) { + return (Extension) getExtensionList().getChild(i); + } + /** + * Check whether the Extension list has any children. + * @return {@code true} if it has at least one child, {@code false} otherwise. + * @apilevel high-level + */ + public boolean hasExtension() { + return getExtensionList().getNumChild() != 0; + } + /** + * Append an element to the Extension list. + * @param node The element to append to the Extension list. + * @apilevel high-level + */ + public void addExtension(Extension node) { + JastAddList<Extension> list = (parent == null) ? getExtensionListNoTransform() : getExtensionList(); + list.addChild(node); + } + /** @apilevel low-level + */ + public void addExtensionNoTransform(Extension node) { + JastAddList<Extension> list = getExtensionListNoTransform(); + list.addChild(node); + } + /** + * Replaces the Extension list element at index {@code i} with the new node {@code node}. + * @param node The new node to replace the old list element. + * @param i The list index of the node to be replaced. + * @apilevel high-level + */ + public void setExtension(Extension node, int i) { + JastAddList<Extension> list = getExtensionList(); + list.setChild(node, i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + @ASTNodeAnnotation.ListChild(name="Extension") + public JastAddList<Extension> getExtensionList() { + JastAddList<Extension> list = (JastAddList<Extension>) getChild(0); + return list; + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionListNoTransform() { + return (JastAddList<Extension>) getChildNoTransform(0); + } + /** + * @return the element at index {@code i} in the Extension list without + * triggering rewrites. + */ + public Extension getExtensionNoTransform(int i) { + return (Extension) getExtensionListNoTransform().getChildNoTransform(i); + } + /** + * Retrieves the Extension list. + * @return The node representing the Extension list. + * @apilevel high-level + */ + public JastAddList<Extension> getExtensions() { + return getExtensionList(); + } + /** + * Retrieves the Extension list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the Extension list. + * @apilevel low-level + */ + public JastAddList<Extension> getExtensionsNoTransform() { + return getExtensionListNoTransform(); + } + /** @apilevel internal */ + public ASTNode rewriteTo() { + return super.rewriteTo(); + } + /** @apilevel internal */ + public boolean canRewrite() { + return false; + } +} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.java deleted file mode 100644 index 4a475c50..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ExternalDocumentationObject.java +++ /dev/null @@ -1,225 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:7 - * @astdecl ExternalDocumentationObject : ASTNode ::= <Description:String> <Url:String>; - * @production ExternalDocumentationObject : {@link ASTNode} ::= <span class="component"><Description:String></span> <span class="component"><Url:String></span>; - - */ -public class ExternalDocumentationObject extends ASTNode<ASTNode> implements Cloneable { - /** - * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:330 - */ - public static ExternalDocs composeExternalDocs (ExternalDocumentationObject externalDocumentationObject){ - ExternalDocs externalDocs = new ExternalDocs(); - - if( !externalDocumentationObject.getDescription().isEmpty() ) - externalDocs.getDescription(); - externalDocs.setUrl( externalDocumentationObject.getUrl() ); - - return externalDocs; - } - /** - * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:402 - */ - public static ExternalDocumentationObject parseExternalDocs(ExternalDocs externalDocs){ - ExternalDocumentationObject externalDocumentationObject = new ExternalDocumentationObject(); - - if( externalDocs.getDescription() != null ) - externalDocumentationObject.setDescription( externalDocs.getDescription() ); - externalDocumentationObject.setUrl( externalDocs.getUrl() ); - - return externalDocumentationObject; - } - /** - * @declaredat ASTNode:1 - */ - public ExternalDocumentationObject() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Description", "Url"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public ExternalDocumentationObject(String p0, String p1) { - setDescription(p0); - setUrl(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public ExternalDocumentationObject clone() throws CloneNotSupportedException { - ExternalDocumentationObject node = (ExternalDocumentationObject) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public ExternalDocumentationObject copy() { - try { - ExternalDocumentationObject node = (ExternalDocumentationObject) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public ExternalDocumentationObject fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public ExternalDocumentationObject treeCopyNoTransform() { - ExternalDocumentationObject tree = (ExternalDocumentationObject) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public ExternalDocumentationObject treeCopy() { - ExternalDocumentationObject tree = (ExternalDocumentationObject) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Description == ((ExternalDocumentationObject) node).tokenString_Description) && (tokenString_Url == ((ExternalDocumentationObject) node).tokenString_Url); - } - /** - * Replaces the lexeme Description. - * @param value The new value for the lexeme Description. - * @apilevel high-level - */ - public void setDescription(String value) { - tokenString_Description = value; - } - /** @apilevel internal - */ - protected String tokenString_Description; - /** - * Retrieves the value for the lexeme Description. - * @return The value for the lexeme Description. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Description") - public String getDescription() { - return tokenString_Description != null ? tokenString_Description : ""; - } - /** - * Replaces the lexeme Url. - * @param value The new value for the lexeme Url. - * @apilevel high-level - */ - public void setUrl(String value) { - tokenString_Url = value; - } - /** @apilevel internal - */ - protected String tokenString_Url; - /** - * Retrieves the value for the lexeme Url. - * @return The value for the lexeme Url. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Url") - public String getUrl() { - return tokenString_Url != null ? tokenString_Url : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Flows.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Flows.java deleted file mode 100644 index 033a9506..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Flows.java +++ /dev/null @@ -1,185 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:149 - * @astdecl Flows : ASTNode ::= OAuthFlowsObject; - * @production Flows : {@link ASTNode} ::= <span class="component">{@link OAuthFlowsObject}</span>; - - */ -public class Flows extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public Flows() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - children = new ASTNode[1]; - } - /** - * @declaredat ASTNode:13 - */ - @ASTNodeAnnotation.Constructor( - name = {"OAuthFlowsObject"}, - type = {"OAuthFlowsObject"}, - kind = {"Child"} - ) - public Flows(OAuthFlowsObject p0) { - setChild(p0, 0); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 1; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public Flows clone() throws CloneNotSupportedException { - Flows node = (Flows) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public Flows copy() { - try { - Flows node = (Flows) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public Flows fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public Flows treeCopyNoTransform() { - Flows tree = (Flows) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public Flows treeCopy() { - Flows tree = (Flows) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node); - } - /** - * Replaces the OAuthFlowsObject child. - * @param node The new node to replace the OAuthFlowsObject child. - * @apilevel high-level - */ - public void setOAuthFlowsObject(OAuthFlowsObject node) { - setChild(node, 0); - } - /** - * Retrieves the OAuthFlowsObject child. - * @return The current node used as the OAuthFlowsObject child. - * @apilevel high-level - */ - @ASTNodeAnnotation.Child(name="OAuthFlowsObject") - public OAuthFlowsObject getOAuthFlowsObject() { - return (OAuthFlowsObject) getChild(0); - } - /** - * Retrieves the OAuthFlowsObject child. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the OAuthFlowsObject child. - * @apilevel low-level - */ - public OAuthFlowsObject getOAuthFlowsObjectNoTransform() { - return (OAuthFlowsObject) getChildNoTransform(0); - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java index 69506a6a..d4dff89a 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Get.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:64 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:39 * @astdecl Get : ASTNode ::= OperationObject; * @production Get : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.java deleted file mode 100644 index 5dd08576..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCode.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:104 - * @astdecl HTTPStatusCode : ASTNode; - * @production HTTPStatusCode : {@link ASTNode}; - - */ -public abstract class HTTPStatusCode extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public HTTPStatusCode() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public HTTPStatusCode clone() throws CloneNotSupportedException { - HTTPStatusCode node = (HTTPStatusCode) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract HTTPStatusCode fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract HTTPStatusCode treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract HTTPStatusCode treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.java deleted file mode 100644 index 502883bd..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HTTPStatusCodeReference.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:106 - * @astdecl HTTPStatusCodeReference : HTTPStatusCode ::= <Name:String> <Ref:String>; - * @production HTTPStatusCodeReference : {@link HTTPStatusCode} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class HTTPStatusCodeReference extends HTTPStatusCode implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public HTTPStatusCodeReference() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public HTTPStatusCodeReference(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public HTTPStatusCodeReference clone() throws CloneNotSupportedException { - HTTPStatusCodeReference node = (HTTPStatusCodeReference) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public HTTPStatusCodeReference copy() { - try { - HTTPStatusCodeReference node = (HTTPStatusCodeReference) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public HTTPStatusCodeReference fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public HTTPStatusCodeReference treeCopyNoTransform() { - HTTPStatusCodeReference tree = (HTTPStatusCodeReference) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public HTTPStatusCodeReference treeCopy() { - HTTPStatusCodeReference tree = (HTTPStatusCodeReference) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((HTTPStatusCodeReference) node).tokenString_Name) && (tokenString_Ref == ((HTTPStatusCodeReference) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java index c43eb60a..6591190f 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Head.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:69 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:44 * @astdecl Head : ASTNode ::= OperationObject; * @production Head : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java index f8f0be82..5b3e9990 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:123 - * @astdecl HeaderObject : ASTNode ::= <Description:String> <Required:boolean> <DeprecatedBoolean:Object> <AllowEmptyValue:Object> <Style:String> <Explode:Object> <AllowReserved:Object> [SchemaObject] <Example:Object> ExamplesTuple* ContentTuple*; - * @production HeaderObject : {@link ASTNode} ::= <span class="component"><Description:String></span> <span class="component"><Required:boolean></span> <span class="component"><DeprecatedBoolean:Object></span> <span class="component"><AllowEmptyValue:Object></span> <span class="component"><Style:String></span> <span class="component"><Explode:Object></span> <span class="component"><AllowReserved:Object></span> <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExamplesTuple}*</span> <span class="component">{@link ContentTuple}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:85 + * @astdecl HeaderObject : ASTNode ::= <Description:String> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style:String> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExampleTuple* ContentTuple* <Ref:String>; + * @production HeaderObject : {@link ASTNode} ::= <span class="component"><Description:String></span> <span class="component"><Required:Boolean></span> <span class="component"><DeprecatedBoolean:Boolean></span> <span class="component"><AllowEmptyValue:Boolean></span> <span class="component"><Style:String></span> <span class="component"><Explode:Boolean></span> <span class="component"><AllowReserved:Boolean></span> <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component"><Ref:String></span>; */ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:520 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:545 */ public static Header composeHeader (HeaderObject headerObject){ Header header = new Header(); @@ -26,32 +27,34 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { if( !headerObject.getDescription().isEmpty() ) header.setDescription( headerObject.getDescription() ); - if( headerObject.getStyle() != null ) + if( !headerObject.getStyle().isEmpty() ) header.setStyle(headerObject.getStyle()); if( headerObject.getExplode() != null ) - header.setExplode((boolean)headerObject.getExplode()); + header.setExplode(headerObject.getExplode()); if( headerObject.getAllowReserved() != null ) - header.setAllowReserved((boolean)headerObject.getAllowReserved()); + header.setAllowReserved(headerObject.getAllowReserved()); if( headerObject.getExample() != null ) header.setExample(headerObject.getExample()); - if( headerObject.getNumExamplesTuple() != 0 ){ + if( headerObject.getNumExampleTuple() != 0 ){ Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : headerObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); + for( ExampleTuple t : headerObject.getExampleTuples() ) + examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); header.setExample(examples); } if( headerObject.getNumContentTuple() != 0 ){ Map<String, MediaType> contents = new HashMap<>(); for( ContentTuple t : headerObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); header.setContentMediaTypes(contents); } + if( headerObject.hasSchemaObject() ) + header.setSchema(SchemaObject.composeSchema(headerObject.getSchemaObject())); return header; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:576 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:556 */ public static HeaderObject parseHeader(Header header){ HeaderObject headerObject = new HeaderObject(); @@ -72,12 +75,14 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { headerObject.setExample( header.getExample() ); if( header.getExamples() != null ){ for( String key : header.getExamples().keySet() ) - headerObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(header.getExample(key)))); + headerObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(header.getExample(key)))); } if( header.getContentMediaTypes() != null ){ for( String key : header.getContentMediaTypes().keySet() ) - headerObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(header.getContentMediaType(key)))); + headerObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(header.getContentMediaType(key)))); } + if( header.getSchema() != null ) + headerObject.setSchemaObject(SchemaObject.parseSchema(header.getSchema())); return headerObject; } @@ -104,11 +109,11 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:16 */ @ASTNodeAnnotation.Constructor( - name = {"Description", "Required", "DeprecatedBoolean", "AllowEmptyValue", "Style", "Explode", "AllowReserved", "SchemaObject", "Example", "ExamplesTuple", "ContentTuple"}, - type = {"String", "boolean", "Object", "Object", "String", "Object", "Object", "Opt<SchemaObject>", "Object", "JastAddList<ExamplesTuple>", "JastAddList<ContentTuple>"}, - kind = {"Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "List", "List"} + name = {"Description", "Required", "DeprecatedBoolean", "AllowEmptyValue", "Style", "Explode", "AllowReserved", "SchemaObject", "Example", "ExampleTuple", "ContentTuple", "Ref"}, + type = {"String", "Boolean", "Boolean", "Boolean", "String", "Boolean", "Boolean", "Opt<SchemaObject>", "Object", "JastAddList<ExampleTuple>", "JastAddList<ContentTuple>", "String"}, + kind = {"Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "List", "List", "Token"} ) - public HeaderObject(String p0, boolean p1, Object p2, Object p3, String p4, Object p5, Object p6, Opt<SchemaObject> p7, Object p8, JastAddList<ExamplesTuple> p9, JastAddList<ContentTuple> p10) { + public HeaderObject(String p0, Boolean p1, Boolean p2, Boolean p3, String p4, Boolean p5, Boolean p6, Opt<SchemaObject> p7, Object p8, JastAddList<ExampleTuple> p9, JastAddList<ContentTuple> p10, String p11) { setDescription(p0); setRequired(p1); setDeprecatedBoolean(p2); @@ -120,41 +125,42 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { setExample(p8); setChild(p9, 1); setChild(p10, 2); + setRef(p11); } /** @apilevel low-level - * @declaredat ASTNode:35 + * @declaredat ASTNode:36 */ protected int numChildren() { return 3; } /** * @apilevel internal - * @declaredat ASTNode:41 + * @declaredat ASTNode:42 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:45 + * @declaredat ASTNode:46 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:49 + * @declaredat ASTNode:50 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:53 + * @declaredat ASTNode:54 */ public HeaderObject clone() throws CloneNotSupportedException { HeaderObject node = (HeaderObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:58 + * @declaredat ASTNode:59 */ public HeaderObject copy() { try { @@ -174,7 +180,7 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:77 + * @declaredat ASTNode:78 */ @Deprecated public HeaderObject fullCopy() { @@ -185,7 +191,7 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:87 + * @declaredat ASTNode:88 */ public HeaderObject treeCopyNoTransform() { HeaderObject tree = (HeaderObject) copy(); @@ -206,7 +212,7 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:107 + * @declaredat ASTNode:108 */ public HeaderObject treeCopy() { HeaderObject tree = (HeaderObject) copy(); @@ -222,10 +228,10 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:121 + * @declaredat ASTNode:122 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Description == ((HeaderObject) node).tokenString_Description) && (tokenboolean_Required == ((HeaderObject) node).tokenboolean_Required) && (tokenObject_DeprecatedBoolean == ((HeaderObject) node).tokenObject_DeprecatedBoolean) && (tokenObject_AllowEmptyValue == ((HeaderObject) node).tokenObject_AllowEmptyValue) && (tokenString_Style == ((HeaderObject) node).tokenString_Style) && (tokenObject_Explode == ((HeaderObject) node).tokenObject_Explode) && (tokenObject_AllowReserved == ((HeaderObject) node).tokenObject_AllowReserved) && (tokenObject_Example == ((HeaderObject) node).tokenObject_Example); + return super.is$Equal(node) && (tokenString_Description == ((HeaderObject) node).tokenString_Description) && (tokenBoolean_Required == ((HeaderObject) node).tokenBoolean_Required) && (tokenBoolean_DeprecatedBoolean == ((HeaderObject) node).tokenBoolean_DeprecatedBoolean) && (tokenBoolean_AllowEmptyValue == ((HeaderObject) node).tokenBoolean_AllowEmptyValue) && (tokenString_Style == ((HeaderObject) node).tokenString_Style) && (tokenBoolean_Explode == ((HeaderObject) node).tokenBoolean_Explode) && (tokenBoolean_AllowReserved == ((HeaderObject) node).tokenBoolean_AllowReserved) && (tokenObject_Example == ((HeaderObject) node).tokenObject_Example) && (tokenString_Ref == ((HeaderObject) node).tokenString_Ref); } /** * Replaces the lexeme Description. @@ -252,60 +258,60 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme Required. * @apilevel high-level */ - public void setRequired(boolean value) { - tokenboolean_Required = value; + public void setRequired(Boolean value) { + tokenBoolean_Required = value; } /** @apilevel internal */ - protected boolean tokenboolean_Required; + protected Boolean tokenBoolean_Required; /** * Retrieves the value for the lexeme Required. * @return The value for the lexeme Required. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Required") - public boolean getRequired() { - return tokenboolean_Required; + public Boolean getRequired() { + return tokenBoolean_Required; } /** * Replaces the lexeme DeprecatedBoolean. * @param value The new value for the lexeme DeprecatedBoolean. * @apilevel high-level */ - public void setDeprecatedBoolean(Object value) { - tokenObject_DeprecatedBoolean = value; + public void setDeprecatedBoolean(Boolean value) { + tokenBoolean_DeprecatedBoolean = value; } /** @apilevel internal */ - protected Object tokenObject_DeprecatedBoolean; + protected Boolean tokenBoolean_DeprecatedBoolean; /** * Retrieves the value for the lexeme DeprecatedBoolean. * @return The value for the lexeme DeprecatedBoolean. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="DeprecatedBoolean") - public Object getDeprecatedBoolean() { - return tokenObject_DeprecatedBoolean; + public Boolean getDeprecatedBoolean() { + return tokenBoolean_DeprecatedBoolean; } /** * Replaces the lexeme AllowEmptyValue. * @param value The new value for the lexeme AllowEmptyValue. * @apilevel high-level */ - public void setAllowEmptyValue(Object value) { - tokenObject_AllowEmptyValue = value; + public void setAllowEmptyValue(Boolean value) { + tokenBoolean_AllowEmptyValue = value; } /** @apilevel internal */ - protected Object tokenObject_AllowEmptyValue; + protected Boolean tokenBoolean_AllowEmptyValue; /** * Retrieves the value for the lexeme AllowEmptyValue. * @return The value for the lexeme AllowEmptyValue. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="AllowEmptyValue") - public Object getAllowEmptyValue() { - return tokenObject_AllowEmptyValue; + public Boolean getAllowEmptyValue() { + return tokenBoolean_AllowEmptyValue; } /** * Replaces the lexeme Style. @@ -332,40 +338,40 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme Explode. * @apilevel high-level */ - public void setExplode(Object value) { - tokenObject_Explode = value; + public void setExplode(Boolean value) { + tokenBoolean_Explode = value; } /** @apilevel internal */ - protected Object tokenObject_Explode; + protected Boolean tokenBoolean_Explode; /** * Retrieves the value for the lexeme Explode. * @return The value for the lexeme Explode. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Explode") - public Object getExplode() { - return tokenObject_Explode; + public Boolean getExplode() { + return tokenBoolean_Explode; } /** * Replaces the lexeme AllowReserved. * @param value The new value for the lexeme AllowReserved. * @apilevel high-level */ - public void setAllowReserved(Object value) { - tokenObject_AllowReserved = value; + public void setAllowReserved(Boolean value) { + tokenBoolean_AllowReserved = value; } /** @apilevel internal */ - protected Object tokenObject_AllowReserved; + protected Boolean tokenBoolean_AllowReserved; /** * Retrieves the value for the lexeme AllowReserved. * @return The value for the lexeme AllowReserved. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="AllowReserved") - public Object getAllowReserved() { - return tokenObject_AllowReserved; + public Boolean getAllowReserved() { + return tokenBoolean_AllowReserved; } /** * Replaces the optional node for the SchemaObject child. This is the <code>Opt</code> @@ -439,114 +445,114 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { return tokenObject_Example; } /** - * Replaces the ExamplesTuple list. - * @param list The new list node to be used as the ExamplesTuple list. + * Replaces the ExampleTuple list. + * @param list The new list node to be used as the ExampleTuple list. * @apilevel high-level */ - public void setExamplesTupleList(JastAddList<ExamplesTuple> list) { + public void setExampleTupleList(JastAddList<ExampleTuple> list) { setChild(list, 1); } /** - * Retrieves the number of children in the ExamplesTuple list. - * @return Number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel high-level */ - public int getNumExamplesTuple() { - return getExamplesTupleList().getNumChild(); + public int getNumExampleTuple() { + return getExampleTupleList().getNumChild(); } /** - * Retrieves the number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the ExamplesTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel low-level */ - public int getNumExamplesTupleNoTransform() { - return getExamplesTupleListNoTransform().getNumChildNoTransform(); + public int getNumExampleTupleNoTransform() { + return getExampleTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the ExamplesTuple list. + * Retrieves the element at index {@code i} in the ExampleTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the ExamplesTuple list. + * @return The element at position {@code i} in the ExampleTuple list. * @apilevel high-level */ - public ExamplesTuple getExamplesTuple(int i) { - return (ExamplesTuple) getExamplesTupleList().getChild(i); + public ExampleTuple getExampleTuple(int i) { + return (ExampleTuple) getExampleTupleList().getChild(i); } /** - * Check whether the ExamplesTuple list has any children. + * Check whether the ExampleTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasExamplesTuple() { - return getExamplesTupleList().getNumChild() != 0; + public boolean hasExampleTuple() { + return getExampleTupleList().getNumChild() != 0; } /** - * Append an element to the ExamplesTuple list. - * @param node The element to append to the ExamplesTuple list. + * Append an element to the ExampleTuple list. + * @param node The element to append to the ExampleTuple list. * @apilevel high-level */ - public void addExamplesTuple(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = (parent == null) ? getExamplesTupleListNoTransform() : getExamplesTupleList(); + public void addExampleTuple(ExampleTuple node) { + JastAddList<ExampleTuple> list = (parent == null) ? getExampleTupleListNoTransform() : getExampleTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addExamplesTupleNoTransform(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = getExamplesTupleListNoTransform(); + public void addExampleTupleNoTransform(ExampleTuple node) { + JastAddList<ExampleTuple> list = getExampleTupleListNoTransform(); list.addChild(node); } /** - * Replaces the ExamplesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ExampleTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setExamplesTuple(ExamplesTuple node, int i) { - JastAddList<ExamplesTuple> list = getExamplesTupleList(); + public void setExampleTuple(ExampleTuple node, int i) { + JastAddList<ExampleTuple> list = getExampleTupleList(); list.setChild(node, i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="ExamplesTuple") - public JastAddList<ExamplesTuple> getExamplesTupleList() { - JastAddList<ExamplesTuple> list = (JastAddList<ExamplesTuple>) getChild(1); + @ASTNodeAnnotation.ListChild(name="ExampleTuple") + public JastAddList<ExampleTuple> getExampleTupleList() { + JastAddList<ExampleTuple> list = (JastAddList<ExampleTuple>) getChild(1); return list; } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTupleListNoTransform() { - return (JastAddList<ExamplesTuple>) getChildNoTransform(1); + public JastAddList<ExampleTuple> getExampleTupleListNoTransform() { + return (JastAddList<ExampleTuple>) getChildNoTransform(1); } /** - * @return the element at index {@code i} in the ExamplesTuple list without + * @return the element at index {@code i} in the ExampleTuple list without * triggering rewrites. */ - public ExamplesTuple getExamplesTupleNoTransform(int i) { - return (ExamplesTuple) getExamplesTupleListNoTransform().getChildNoTransform(i); + public ExampleTuple getExampleTupleNoTransform(int i) { + return (ExampleTuple) getExampleTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - public JastAddList<ExamplesTuple> getExamplesTuples() { - return getExamplesTupleList(); + public JastAddList<ExampleTuple> getExampleTuples() { + return getExampleTupleList(); } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTuplesNoTransform() { - return getExamplesTupleListNoTransform(); + public JastAddList<ExampleTuple> getExampleTuplesNoTransform() { + return getExampleTupleListNoTransform(); } /** * Replaces the ContentTuple list. @@ -658,6 +664,26 @@ public class HeaderObject extends ASTNode<ASTNode> implements Cloneable { public JastAddList<ContentTuple> getContentTuplesNoTransform() { return getContentTupleListNoTransform(); } + /** + * Replaces the lexeme Ref. + * @param value The new value for the lexeme Ref. + * @apilevel high-level + */ + public void setRef(String value) { + tokenString_Ref = value; + } + /** @apilevel internal + */ + protected String tokenString_Ref; + /** + * Retrieves the value for the lexeme Ref. + * @return The value for the lexeme Ref. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Ref") + public String getRef() { + return tokenString_Ref != null ? tokenString_Ref : ""; + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.java deleted file mode 100644 index f65e5ed4..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:47 - * @astdecl HeaderReferenceTuple : HeadersTuple ::= <Name:String> <Ref:String>; - * @production HeaderReferenceTuple : {@link HeadersTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class HeaderReferenceTuple extends HeadersTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public HeaderReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public HeaderReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public HeaderReferenceTuple clone() throws CloneNotSupportedException { - HeaderReferenceTuple node = (HeaderReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public HeaderReferenceTuple copy() { - try { - HeaderReferenceTuple node = (HeaderReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public HeaderReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public HeaderReferenceTuple treeCopyNoTransform() { - HeaderReferenceTuple tree = (HeaderReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public HeaderReferenceTuple treeCopy() { - HeaderReferenceTuple tree = (HeaderReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((HeaderReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((HeaderReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java similarity index 74% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java index 3a1d743a..d9c29324 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeaderTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:46 - * @astdecl HeaderObjectTuple : HeadersTuple ::= <Name:String> HeaderObject; - * @production HeaderObjectTuple : {@link HeadersTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link HeaderObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:28 + * @astdecl HeaderTuple : ASTNode ::= <Key:String> HeaderObject; + * @production HeaderTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link HeaderObject}</span>; */ -public class HeaderObjectTuple extends HeadersTuple implements Cloneable { +public class HeaderTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public HeaderObjectTuple() { + public HeaderTuple() { super(); } /** @@ -35,12 +36,12 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "HeaderObject"}, + name = {"Key", "HeaderObject"}, type = {"String", "HeaderObject"}, kind = {"Token", "Child"} ) - public HeaderObjectTuple(String p0, HeaderObject p1) { - setName(p0); + public HeaderTuple(String p0, HeaderObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public HeaderObjectTuple clone() throws CloneNotSupportedException { - HeaderObjectTuple node = (HeaderObjectTuple) super.clone(); + public HeaderTuple clone() throws CloneNotSupportedException { + HeaderTuple node = (HeaderTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public HeaderObjectTuple copy() { + public HeaderTuple copy() { try { - HeaderObjectTuple node = (HeaderObjectTuple) clone(); + HeaderTuple node = (HeaderTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public HeaderObjectTuple fullCopy() { + public HeaderTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public HeaderObjectTuple treeCopyNoTransform() { - HeaderObjectTuple tree = (HeaderObjectTuple) copy(); + public HeaderTuple treeCopyNoTransform() { + HeaderTuple tree = (HeaderTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public HeaderObjectTuple treeCopy() { - HeaderObjectTuple tree = (HeaderObjectTuple) copy(); + public HeaderTuple treeCopy() { + HeaderTuple tree = (HeaderTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class HeaderObjectTuple extends HeadersTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((HeaderObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((HeaderTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the HeaderObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeadersTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/HeadersTuple.java deleted file mode 100644 index 1a064e37..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/HeadersTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:45 - * @astdecl HeadersTuple : ASTNode; - * @production HeadersTuple : {@link ASTNode}; - - */ -public abstract class HeadersTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public HeadersTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public HeadersTuple clone() throws CloneNotSupportedException { - HeadersTuple node = (HeadersTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract HeadersTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract HeadersTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract HeadersTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java index b1062233..a9ca8a3b 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Implicit.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:153 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:114 * @astdecl Implicit : ASTNode ::= OAuthFlowObject; * @production Implicit : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java index 74dbcc96..b3344c3f 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/InfoObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:10 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:5 * @astdecl InfoObject : ASTNode ::= <Title:String> <Description:String> <TermsOfService:String> [ContactObject] [LicenseObject] <Version:String>; * @production InfoObject : {@link ASTNode} ::= <span class="component"><Title:String></span> <span class="component"><Description:String></span> <span class="component"><TermsOfService:String></span> <span class="component">[{@link ContactObject}]</span> <span class="component">[{@link LicenseObject}]</span> <span class="component"><Version:String></span>; @@ -17,43 +18,45 @@ import java.net.URL; public class InfoObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:50 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:54 */ public static Info composeInfo (InfoObject infoObject){ Info info = new Info(); - info.setTitle( infoObject.getTitle() ); - info.setVersion( infoObject.getVersion() ); - + if( !infoObject.getTitle().isEmpty() ) + info.setTitle(infoObject.getTitle()); + if( !infoObject.getVersion().isEmpty() ) + info.setVersion(infoObject.getVersion()); if( !infoObject.getDescription().isEmpty() ) - info.setDescription( infoObject.getDescription() ); + info.setDescription(infoObject.getDescription()); if( !infoObject.getTermsOfService().isEmpty() ) - info.setTermsOfService( infoObject.getTermsOfService() ); + info.setTermsOfService(infoObject.getTermsOfService()); if( infoObject.hasContactObject() ) - info.setContact( ContactObject.composeContact(infoObject.getContactObject()) ); + info.setContact(ContactObject.composeContact(infoObject.getContactObject())); if( infoObject.hasLicenseObject() ) - info.setLicense( LicenseObject.composeLicense(infoObject.getLicenseObject()) ); + info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject())); return info; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:31 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:36 */ public static InfoObject parseInfo(Info info) { InfoObject infoObject = new InfoObject(); - infoObject.setTitle( info.getTitle() ); - infoObject.setVersion( info.getVersion() ); - + if( info.getTitle() != null ) + infoObject.setTitle(info.getTitle()); + if( info.getVersion() != null ) + infoObject.setVersion(info.getVersion()); if( info.getDescription() != null ) - infoObject.setDescription( info.getDescription() ); + infoObject.setDescription(info.getDescription()); if( info.getTermsOfService() != null ) - infoObject.setTermsOfService( info.getTermsOfService() ); + infoObject.setTermsOfService(info.getTermsOfService()); if( info.getContact() != null ) - infoObject.setContactObject( ContactObject.parseContact(info.getContact()) ); + infoObject.setContactObject(ContactObject.parseContact(info.getContact())); if( info.getLicense() != null ) - infoObject.setLicenseObject( LicenseObject.parseLicense(info.getLicense()) ); + infoObject.setLicenseObject(LicenseObject.parseLicense(info.getLicense())); return infoObject; } diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java index 722aa08c..2ff09bea 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ItemsSchema.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:132 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:94 * @astdecl ItemsSchema : ASTNode ::= SchemaObject; * @production ItemsSchema : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java index 13d7a9d6..5b79f21c 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/JastAddList.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java index 48d0ba98..12e1f2cb 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LicenseObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:12 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:11 * @astdecl LicenseObject : ASTNode ::= <Name:String> <Url:String>; * @production LicenseObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Url:String></span>; @@ -17,21 +18,21 @@ import java.net.URL; public class LicenseObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:81 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:86 */ public static License composeLicense (LicenseObject licenseObject){ License license = new License(); + if( !licenseObject.getName().isEmpty() ) license.setName( licenseObject.getName() ); - - if( licenseObject.getUrl() != null ) + if( !licenseObject.getUrl().isEmpty() ) license.setUrl( licenseObject.getUrl() ); return license; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:62 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:68 */ public static LicenseObject parseLicense(License license){ LicenseObject licenseObject = new LicenseObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java index c99e49eb..7a73dc80 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObject.java @@ -4,27 +4,30 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:119 - * @astdecl LinkObject : ASTNode ::= <OperationRef:String> <OperationID:String> LinkParameterTuple* <LinkRequestBody:Object> <Description:String> [ServerObject]; - * @production LinkObject : {@link ASTNode} ::= <span class="component"><OperationRef:String></span> <span class="component"><OperationID:String></span> <span class="component">{@link LinkParameterTuple}*</span> <span class="component"><LinkRequestBody:Object></span> <span class="component"><Description:String></span> <span class="component">[{@link ServerObject}]</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:81 + * @astdecl LinkObject : ASTNode ::= <OperationRef:String> <OperationID:String> LinkParameterTuple* HeaderTuple* <Description:String> [ServerObject] <Ref:String>; + * @production LinkObject : {@link ASTNode} ::= <span class="component"><OperationRef:String></span> <span class="component"><OperationID:String></span> <span class="component">{@link LinkParameterTuple}*</span> <span class="component">{@link HeaderTuple}*</span> <span class="component"><Description:String></span> <span class="component">[{@link ServerObject}]</span> <span class="component"><Ref:String></span>; */ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:499 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:522 */ public static Link composeLink (LinkObject linkObject){ Link link = new Link(); - if( linkObject.getOperationRef().isEmpty() ) + if( !linkObject.getRef().isEmpty() ) + link.setRef(linkObject.getRef()); + if( !linkObject.getOperationRef().isEmpty() ) link.setOperationRef( linkObject.getOperationRef() ); - if( linkObject.getOperationID().isEmpty() ) + if( !linkObject.getOperationID().isEmpty() ) link.setOperationId( linkObject.getOperationID() ); if( linkObject.getNumLinkParameterTuple() != 0 ){ Map<String, String> parameters = new HashMap<>(); @@ -41,11 +44,13 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:557 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:535 */ public static LinkObject parseLink(Link link){ LinkObject linkObject = new LinkObject(); + if( link.isRef() ) + linkObject.setRef(link.getRef()); if( link.getOperationRef() != null ) linkObject.setOperationRef( link.getOperationRef() ); if( link.getOperationId() != null ) @@ -75,60 +80,62 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:10 */ public void init$Children() { - children = new ASTNode[2]; + children = new ASTNode[3]; setChild(new JastAddList(), 0); - setChild(new Opt(), 1); + setChild(new JastAddList(), 1); + setChild(new Opt(), 2); } /** - * @declaredat ASTNode:15 + * @declaredat ASTNode:16 */ @ASTNodeAnnotation.Constructor( - name = {"OperationRef", "OperationID", "LinkParameterTuple", "LinkRequestBody", "Description", "ServerObject"}, - type = {"String", "String", "JastAddList<LinkParameterTuple>", "Object", "String", "Opt<ServerObject>"}, - kind = {"Token", "Token", "List", "Token", "Token", "Opt"} + name = {"OperationRef", "OperationID", "LinkParameterTuple", "HeaderTuple", "Description", "ServerObject", "Ref"}, + type = {"String", "String", "JastAddList<LinkParameterTuple>", "JastAddList<HeaderTuple>", "String", "Opt<ServerObject>", "String"}, + kind = {"Token", "Token", "List", "List", "Token", "Opt", "Token"} ) - public LinkObject(String p0, String p1, JastAddList<LinkParameterTuple> p2, Object p3, String p4, Opt<ServerObject> p5) { + public LinkObject(String p0, String p1, JastAddList<LinkParameterTuple> p2, JastAddList<HeaderTuple> p3, String p4, Opt<ServerObject> p5, String p6) { setOperationRef(p0); setOperationID(p1); setChild(p2, 0); - setLinkRequestBody(p3); + setChild(p3, 1); setDescription(p4); - setChild(p5, 1); + setChild(p5, 2); + setRef(p6); } /** @apilevel low-level - * @declaredat ASTNode:29 + * @declaredat ASTNode:31 */ protected int numChildren() { - return 2; + return 3; } /** * @apilevel internal - * @declaredat ASTNode:35 + * @declaredat ASTNode:37 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:39 + * @declaredat ASTNode:41 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:43 + * @declaredat ASTNode:45 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:47 + * @declaredat ASTNode:49 */ public LinkObject clone() throws CloneNotSupportedException { LinkObject node = (LinkObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:52 + * @declaredat ASTNode:54 */ public LinkObject copy() { try { @@ -148,7 +155,7 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:71 + * @declaredat ASTNode:73 */ @Deprecated public LinkObject fullCopy() { @@ -159,7 +166,7 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:81 + * @declaredat ASTNode:83 */ public LinkObject treeCopyNoTransform() { LinkObject tree = (LinkObject) copy(); @@ -180,7 +187,7 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:101 + * @declaredat ASTNode:103 */ public LinkObject treeCopy() { LinkObject tree = (LinkObject) copy(); @@ -196,10 +203,10 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:115 + * @declaredat ASTNode:117 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_OperationRef == ((LinkObject) node).tokenString_OperationRef) && (tokenString_OperationID == ((LinkObject) node).tokenString_OperationID) && (tokenObject_LinkRequestBody == ((LinkObject) node).tokenObject_LinkRequestBody) && (tokenString_Description == ((LinkObject) node).tokenString_Description); + return super.is$Equal(node) && (tokenString_OperationRef == ((LinkObject) node).tokenString_OperationRef) && (tokenString_OperationID == ((LinkObject) node).tokenString_OperationID) && (tokenString_Description == ((LinkObject) node).tokenString_Description) && (tokenString_Ref == ((LinkObject) node).tokenString_Ref); } /** * Replaces the lexeme OperationRef. @@ -352,24 +359,114 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { return getLinkParameterTupleListNoTransform(); } /** - * Replaces the lexeme LinkRequestBody. - * @param value The new value for the lexeme LinkRequestBody. + * Replaces the HeaderTuple list. + * @param list The new list node to be used as the HeaderTuple list. * @apilevel high-level */ - public void setLinkRequestBody(Object value) { - tokenObject_LinkRequestBody = value; + public void setHeaderTupleList(JastAddList<HeaderTuple> list) { + setChild(list, 1); } - /** @apilevel internal + /** + * Retrieves the number of children in the HeaderTuple list. + * @return Number of children in the HeaderTuple list. + * @apilevel high-level + */ + public int getNumHeaderTuple() { + return getHeaderTupleList().getNumChild(); + } + /** + * Retrieves the number of children in the HeaderTuple list. + * Calling this method will not trigger rewrites. + * @return Number of children in the HeaderTuple list. + * @apilevel low-level + */ + public int getNumHeaderTupleNoTransform() { + return getHeaderTupleListNoTransform().getNumChildNoTransform(); + } + /** + * Retrieves the element at index {@code i} in the HeaderTuple list. + * @param i Index of the element to return. + * @return The element at position {@code i} in the HeaderTuple list. + * @apilevel high-level + */ + public HeaderTuple getHeaderTuple(int i) { + return (HeaderTuple) getHeaderTupleList().getChild(i); + } + /** + * Check whether the HeaderTuple list has any children. + * @return {@code true} if it has at least one child, {@code false} otherwise. + * @apilevel high-level + */ + public boolean hasHeaderTuple() { + return getHeaderTupleList().getNumChild() != 0; + } + /** + * Append an element to the HeaderTuple list. + * @param node The element to append to the HeaderTuple list. + * @apilevel high-level + */ + public void addHeaderTuple(HeaderTuple node) { + JastAddList<HeaderTuple> list = (parent == null) ? getHeaderTupleListNoTransform() : getHeaderTupleList(); + list.addChild(node); + } + /** @apilevel low-level + */ + public void addHeaderTupleNoTransform(HeaderTuple node) { + JastAddList<HeaderTuple> list = getHeaderTupleListNoTransform(); + list.addChild(node); + } + /** + * Replaces the HeaderTuple list element at index {@code i} with the new node {@code node}. + * @param node The new node to replace the old list element. + * @param i The list index of the node to be replaced. + * @apilevel high-level + */ + public void setHeaderTuple(HeaderTuple node, int i) { + JastAddList<HeaderTuple> list = getHeaderTupleList(); + list.setChild(node, i); + } + /** + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. + * @apilevel high-level + */ + @ASTNodeAnnotation.ListChild(name="HeaderTuple") + public JastAddList<HeaderTuple> getHeaderTupleList() { + JastAddList<HeaderTuple> list = (JastAddList<HeaderTuple>) getChild(1); + return list; + } + /** + * Retrieves the HeaderTuple list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the HeaderTuple list. + * @apilevel low-level + */ + public JastAddList<HeaderTuple> getHeaderTupleListNoTransform() { + return (JastAddList<HeaderTuple>) getChildNoTransform(1); + } + /** + * @return the element at index {@code i} in the HeaderTuple list without + * triggering rewrites. */ - protected Object tokenObject_LinkRequestBody; + public HeaderTuple getHeaderTupleNoTransform(int i) { + return (HeaderTuple) getHeaderTupleListNoTransform().getChildNoTransform(i); + } /** - * Retrieves the value for the lexeme LinkRequestBody. - * @return The value for the lexeme LinkRequestBody. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="LinkRequestBody") - public Object getLinkRequestBody() { - return tokenObject_LinkRequestBody; + public JastAddList<HeaderTuple> getHeaderTuples() { + return getHeaderTupleList(); + } + /** + * Retrieves the HeaderTuple list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the HeaderTuple list. + * @apilevel low-level + */ + public JastAddList<HeaderTuple> getHeaderTuplesNoTransform() { + return getHeaderTupleListNoTransform(); } /** * Replaces the lexeme Description. @@ -398,7 +495,7 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public void setServerObjectOpt(Opt<ServerObject> opt) { - setChild(opt, 1); + setChild(opt, 2); } /** * Replaces the (optional) ServerObject child. @@ -431,7 +528,7 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.OptChild(name="ServerObject") public Opt<ServerObject> getServerObjectOpt() { - return (Opt<ServerObject>) getChild(1); + return (Opt<ServerObject>) getChild(2); } /** * Retrieves the optional node for child ServerObject. This is the <code>Opt</code> node containing the child ServerObject, not the actual child! @@ -440,7 +537,27 @@ public class LinkObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public Opt<ServerObject> getServerObjectOptNoTransform() { - return (Opt<ServerObject>) getChildNoTransform(1); + return (Opt<ServerObject>) getChildNoTransform(2); + } + /** + * Replaces the lexeme Ref. + * @param value The new value for the lexeme Ref. + * @apilevel high-level + */ + public void setRef(String value) { + tokenString_Ref = value; + } + /** @apilevel internal + */ + protected String tokenString_Ref; + /** + * Retrieves the value for the lexeme Ref. + * @return The value for the lexeme Ref. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Ref") + public String getRef() { + return tokenString_Ref != null ? tokenString_Ref : ""; } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java index fb95aa5f..d30b4450 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkParameterTuple.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:120 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:82 * @astdecl LinkParameterTuple : ASTNode ::= <LinkParameterKey:String> <LinkParameterValue:String>; * @production LinkParameterTuple : {@link ASTNode} ::= <span class="component"><LinkParameterKey:String></span> <span class="component"><LinkParameterValue:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java similarity index 74% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java index 4b715fde..141de908 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinkTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:52 - * @astdecl LinkObjectTuple : LinksTuple ::= <Name:String> LinkObject; - * @production LinkObjectTuple : {@link LinksTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link LinkObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:30 + * @astdecl LinkTuple : ASTNode ::= <Key:String> LinkObject; + * @production LinkTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link LinkObject}</span>; */ -public class LinkObjectTuple extends LinksTuple implements Cloneable { +public class LinkTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public LinkObjectTuple() { + public LinkTuple() { super(); } /** @@ -35,12 +36,12 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "LinkObject"}, + name = {"Key", "LinkObject"}, type = {"String", "LinkObject"}, kind = {"Token", "Child"} ) - public LinkObjectTuple(String p0, LinkObject p1) { - setName(p0); + public LinkTuple(String p0, LinkObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public LinkObjectTuple clone() throws CloneNotSupportedException { - LinkObjectTuple node = (LinkObjectTuple) super.clone(); + public LinkTuple clone() throws CloneNotSupportedException { + LinkTuple node = (LinkTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public LinkObjectTuple copy() { + public LinkTuple copy() { try { - LinkObjectTuple node = (LinkObjectTuple) clone(); + LinkTuple node = (LinkTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public LinkObjectTuple fullCopy() { + public LinkTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public LinkObjectTuple treeCopyNoTransform() { - LinkObjectTuple tree = (LinkObjectTuple) copy(); + public LinkTuple treeCopyNoTransform() { + LinkTuple tree = (LinkTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public LinkObjectTuple treeCopy() { - LinkObjectTuple tree = (LinkObjectTuple) copy(); + public LinkTuple treeCopy() { + LinkTuple tree = (LinkTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class LinkObjectTuple extends LinksTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((LinkObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((LinkTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the LinkObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinksTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/LinksTuple.java deleted file mode 100644 index ff8ba7d4..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/LinksTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:51 - * @astdecl LinksTuple : ASTNode; - * @production LinksTuple : {@link ASTNode}; - - */ -public abstract class LinksTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public LinksTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public LinksTuple clone() throws CloneNotSupportedException { - LinksTuple node = (LinksTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract LinksTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract LinksTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract LinksTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java index 6350ba29..83b5e6ce 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/MappingTuple.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:142 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:104 * @astdecl MappingTuple : ASTNode ::= <Key:String> <Value:String>; * @production MappingTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component"><Value:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java index 374af525..d5a6acf6 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/MediaTypeObject.java @@ -4,67 +4,62 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:94 - * @astdecl MediaTypeObject : ASTNode ::= [SchemaObject] <Example:Object> ExamplesTuple* EncodingTuple*; - * @production MediaTypeObject : {@link ASTNode} ::= <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExamplesTuple}*</span> <span class="component">{@link EncodingTuple}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:63 + * @astdecl MediaTypeObject : ASTNode ::= [SchemaObject] <Example:Object> ExampleTuple* EncodingTuple*; + * @production MediaTypeObject : {@link ASTNode} ::= <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link EncodingTuple}*</span>; */ public class MediaTypeObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:400 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:417 */ public static MediaType composeMediaType (MediaTypeObject mediaTypeObject){ MediaType mediaType = new MediaType(); - if( mediaTypeObject.getSchemaObject() != null ) { - Schema schema = new Schema(); - schema = SchemaObject.composeSchema(mediaTypeObject.getSchemaObject()); - mediaType.setSchema(schema); - } + if( mediaTypeObject.getSchemaObject() != null ) + mediaType.setSchema(SchemaObject.composeSchema(mediaTypeObject.getSchemaObject())); if( mediaTypeObject.getExample() != null ) - mediaType.setExample( mediaTypeObject.getExample() ); - if( mediaTypeObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : mediaTypeObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); - mediaType.setExamples(examples); + mediaType.setExample(mediaTypeObject.getExample()); + if( mediaTypeObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : mediaTypeObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + mediaType.setExamples(exampleMap); } if( mediaTypeObject.getNumEncodingTuple() != 0 ){ - Map<String, EncodingProperty> encodings = new HashMap<>(); + Map<String, EncodingProperty> encodingMap = new HashMap<>(); for( EncodingTuple t : mediaTypeObject.getEncodingTuples() ) - encodings.put( ((EncodingObjectTuple)t).getName(), EncodingObject.composeEncodingProperty( ((EncodingObjectTuple)t).getEncodingObject() ) ); - mediaType.setEncodings(encodings); + encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject())); + mediaType.setEncodings(encodingMap); } return mediaType; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:470 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:446 */ public static MediaTypeObject parseMediaType(MediaType mediaType){ MediaTypeObject mediaTypeObject = new MediaTypeObject(); - if( mediaType.getSchema() != null ) { - SchemaObject schema = new SchemaObject(); - schema = SchemaObject.parseSchema(mediaType.getSchema()); - mediaTypeObject.setSchemaObject(schema); - } + if( mediaType.getSchema() != null ) + mediaTypeObject.setSchemaObject(SchemaObject.parseSchema(mediaType.getSchema())); if( mediaType.getExample() != null ) - mediaTypeObject.setExample( mediaType.getExample() ); + mediaTypeObject.setExample(mediaType.getExample()); if( mediaType.getExamples() != null ){ for( String key : mediaType.getExamples().keySet() ) - mediaTypeObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(mediaType.getExample(key)))); + mediaTypeObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(mediaType.getExample(key)))); } if( mediaType.getEncodings() != null ){ for( String key : mediaType.getEncodings().keySet() ) - mediaTypeObject.addEncodingTuple(new EncodingObjectTuple(key, EncodingObject.parseEncoding(mediaType.getEncoding(key)))); + mediaTypeObject.addEncodingTuple(new EncodingTuple(key, EncodingObject.parseEncoding(mediaType.getEncoding(key)))); } return mediaTypeObject; @@ -92,11 +87,11 @@ public class MediaTypeObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:16 */ @ASTNodeAnnotation.Constructor( - name = {"SchemaObject", "Example", "ExamplesTuple", "EncodingTuple"}, - type = {"Opt<SchemaObject>", "Object", "JastAddList<ExamplesTuple>", "JastAddList<EncodingTuple>"}, + name = {"SchemaObject", "Example", "ExampleTuple", "EncodingTuple"}, + type = {"Opt<SchemaObject>", "Object", "JastAddList<ExampleTuple>", "JastAddList<EncodingTuple>"}, kind = {"Opt", "Token", "List", "List"} ) - public MediaTypeObject(Opt<SchemaObject> p0, Object p1, JastAddList<ExamplesTuple> p2, JastAddList<EncodingTuple> p3) { + public MediaTypeObject(Opt<SchemaObject> p0, Object p1, JastAddList<ExampleTuple> p2, JastAddList<EncodingTuple> p3) { setChild(p0, 0); setExample(p1); setChild(p2, 1); @@ -280,114 +275,114 @@ public class MediaTypeObject extends ASTNode<ASTNode> implements Cloneable { return tokenObject_Example; } /** - * Replaces the ExamplesTuple list. - * @param list The new list node to be used as the ExamplesTuple list. + * Replaces the ExampleTuple list. + * @param list The new list node to be used as the ExampleTuple list. * @apilevel high-level */ - public void setExamplesTupleList(JastAddList<ExamplesTuple> list) { + public void setExampleTupleList(JastAddList<ExampleTuple> list) { setChild(list, 1); } /** - * Retrieves the number of children in the ExamplesTuple list. - * @return Number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel high-level */ - public int getNumExamplesTuple() { - return getExamplesTupleList().getNumChild(); + public int getNumExampleTuple() { + return getExampleTupleList().getNumChild(); } /** - * Retrieves the number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the ExamplesTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel low-level */ - public int getNumExamplesTupleNoTransform() { - return getExamplesTupleListNoTransform().getNumChildNoTransform(); + public int getNumExampleTupleNoTransform() { + return getExampleTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the ExamplesTuple list. + * Retrieves the element at index {@code i} in the ExampleTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the ExamplesTuple list. + * @return The element at position {@code i} in the ExampleTuple list. * @apilevel high-level */ - public ExamplesTuple getExamplesTuple(int i) { - return (ExamplesTuple) getExamplesTupleList().getChild(i); + public ExampleTuple getExampleTuple(int i) { + return (ExampleTuple) getExampleTupleList().getChild(i); } /** - * Check whether the ExamplesTuple list has any children. + * Check whether the ExampleTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasExamplesTuple() { - return getExamplesTupleList().getNumChild() != 0; + public boolean hasExampleTuple() { + return getExampleTupleList().getNumChild() != 0; } /** - * Append an element to the ExamplesTuple list. - * @param node The element to append to the ExamplesTuple list. + * Append an element to the ExampleTuple list. + * @param node The element to append to the ExampleTuple list. * @apilevel high-level */ - public void addExamplesTuple(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = (parent == null) ? getExamplesTupleListNoTransform() : getExamplesTupleList(); + public void addExampleTuple(ExampleTuple node) { + JastAddList<ExampleTuple> list = (parent == null) ? getExampleTupleListNoTransform() : getExampleTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addExamplesTupleNoTransform(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = getExamplesTupleListNoTransform(); + public void addExampleTupleNoTransform(ExampleTuple node) { + JastAddList<ExampleTuple> list = getExampleTupleListNoTransform(); list.addChild(node); } /** - * Replaces the ExamplesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ExampleTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setExamplesTuple(ExamplesTuple node, int i) { - JastAddList<ExamplesTuple> list = getExamplesTupleList(); + public void setExampleTuple(ExampleTuple node, int i) { + JastAddList<ExampleTuple> list = getExampleTupleList(); list.setChild(node, i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="ExamplesTuple") - public JastAddList<ExamplesTuple> getExamplesTupleList() { - JastAddList<ExamplesTuple> list = (JastAddList<ExamplesTuple>) getChild(1); + @ASTNodeAnnotation.ListChild(name="ExampleTuple") + public JastAddList<ExampleTuple> getExampleTupleList() { + JastAddList<ExampleTuple> list = (JastAddList<ExampleTuple>) getChild(1); return list; } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTupleListNoTransform() { - return (JastAddList<ExamplesTuple>) getChildNoTransform(1); + public JastAddList<ExampleTuple> getExampleTupleListNoTransform() { + return (JastAddList<ExampleTuple>) getChildNoTransform(1); } /** - * @return the element at index {@code i} in the ExamplesTuple list without + * @return the element at index {@code i} in the ExampleTuple list without * triggering rewrites. */ - public ExamplesTuple getExamplesTupleNoTransform(int i) { - return (ExamplesTuple) getExamplesTupleListNoTransform().getChildNoTransform(i); + public ExampleTuple getExampleTupleNoTransform(int i) { + return (ExampleTuple) getExampleTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - public JastAddList<ExamplesTuple> getExamplesTuples() { - return getExamplesTupleList(); + public JastAddList<ExampleTuple> getExampleTuples() { + return getExampleTupleList(); } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTuplesNoTransform() { - return getExamplesTupleListNoTransform(); + public JastAddList<ExampleTuple> getExampleTuplesNoTransform() { + return getExampleTupleListNoTransform(); } /** * Replaces the EncodingTuple list. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java index 6d7d4f96..f171faef 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/NotSchema.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:133 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:95 * @astdecl NotSchema : ASTNode ::= SchemaObject; * @production NotSchema : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java index ded15bba..3f84509b 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:159 - * @astdecl OAuthFlowObject : ASTNode ::= <AuthorizationUrl:String> <TokenUrl:String> <RefreshUrl:String> ScopesTuple*; - * @production OAuthFlowObject : {@link ASTNode} ::= <span class="component"><AuthorizationUrl:String></span> <span class="component"><TokenUrl:String></span> <span class="component"><RefreshUrl:String></span> <span class="component">{@link ScopesTuple}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:120 + * @astdecl OAuthFlowObject : ASTNode ::= <AuthorizationUrl:String> <TokenUrl:String> <RefreshUrl:String> ScopesTuple* <Configuration:String>; + * @production OAuthFlowObject : {@link ASTNode} ::= <span class="component"><AuthorizationUrl:String></span> <span class="component"><TokenUrl:String></span> <span class="component"><RefreshUrl:String></span> <span class="component">{@link ScopesTuple}*</span> <span class="component"><Configuration:String></span>; */ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:718 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:751 */ public static OAuthFlow composeOAuthFlow (OAuthFlowObject oAuthFlowObject){ OAuthFlow oAuthFlow = new OAuthFlow(); @@ -36,7 +37,7 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:812 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:793 */ public static OAuthFlowObject parseOAuthFlow(OAuthFlow oAuthFlow){ OAuthFlowObject oAuthFlowObject = new OAuthFlowObject(); @@ -72,50 +73,51 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:14 */ @ASTNodeAnnotation.Constructor( - name = {"AuthorizationUrl", "TokenUrl", "RefreshUrl", "ScopesTuple"}, - type = {"String", "String", "String", "JastAddList<ScopesTuple>"}, - kind = {"Token", "Token", "Token", "List"} + name = {"AuthorizationUrl", "TokenUrl", "RefreshUrl", "ScopesTuple", "Configuration"}, + type = {"String", "String", "String", "JastAddList<ScopesTuple>", "String"}, + kind = {"Token", "Token", "Token", "List", "Token"} ) - public OAuthFlowObject(String p0, String p1, String p2, JastAddList<ScopesTuple> p3) { + public OAuthFlowObject(String p0, String p1, String p2, JastAddList<ScopesTuple> p3, String p4) { setAuthorizationUrl(p0); setTokenUrl(p1); setRefreshUrl(p2); setChild(p3, 0); + setConfiguration(p4); } /** @apilevel low-level - * @declaredat ASTNode:26 + * @declaredat ASTNode:27 */ protected int numChildren() { return 1; } /** * @apilevel internal - * @declaredat ASTNode:32 + * @declaredat ASTNode:33 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:36 + * @declaredat ASTNode:37 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:40 + * @declaredat ASTNode:41 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:44 + * @declaredat ASTNode:45 */ public OAuthFlowObject clone() throws CloneNotSupportedException { OAuthFlowObject node = (OAuthFlowObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:49 + * @declaredat ASTNode:50 */ public OAuthFlowObject copy() { try { @@ -135,7 +137,7 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:68 + * @declaredat ASTNode:69 */ @Deprecated public OAuthFlowObject fullCopy() { @@ -146,7 +148,7 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:78 + * @declaredat ASTNode:79 */ public OAuthFlowObject treeCopyNoTransform() { OAuthFlowObject tree = (OAuthFlowObject) copy(); @@ -167,7 +169,7 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:98 + * @declaredat ASTNode:99 */ public OAuthFlowObject treeCopy() { OAuthFlowObject tree = (OAuthFlowObject) copy(); @@ -183,10 +185,10 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:112 + * @declaredat ASTNode:113 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_AuthorizationUrl == ((OAuthFlowObject) node).tokenString_AuthorizationUrl) && (tokenString_TokenUrl == ((OAuthFlowObject) node).tokenString_TokenUrl) && (tokenString_RefreshUrl == ((OAuthFlowObject) node).tokenString_RefreshUrl); + return super.is$Equal(node) && (tokenString_AuthorizationUrl == ((OAuthFlowObject) node).tokenString_AuthorizationUrl) && (tokenString_TokenUrl == ((OAuthFlowObject) node).tokenString_TokenUrl) && (tokenString_RefreshUrl == ((OAuthFlowObject) node).tokenString_RefreshUrl) && (tokenString_Configuration == ((OAuthFlowObject) node).tokenString_Configuration); } /** * Replaces the lexeme AuthorizationUrl. @@ -358,6 +360,26 @@ public class OAuthFlowObject extends ASTNode<ASTNode> implements Cloneable { public JastAddList<ScopesTuple> getScopesTuplesNoTransform() { return getScopesTupleListNoTransform(); } + /** + * Replaces the lexeme Configuration. + * @param value The new value for the lexeme Configuration. + * @apilevel high-level + */ + public void setConfiguration(String value) { + tokenString_Configuration = value; + } + /** @apilevel internal + */ + protected String tokenString_Configuration; + /** + * Retrieves the value for the lexeme Configuration. + * @return The value for the lexeme Configuration. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Configuration") + public String getConfiguration() { + return tokenString_Configuration != null ? tokenString_Configuration : ""; + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java index 9d05536c..3aef4d5d 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OAuthFlowsObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:152 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:113 * @astdecl OAuthFlowsObject : ASTNode ::= [Implicit] [Password] [ClientCredentials] [AuthorizationCode]; * @production OAuthFlowsObject : {@link ASTNode} ::= <span class="component">[{@link Implicit}]</span> <span class="component">[{@link Password}]</span> <span class="component">[{@link ClientCredentials}]</span> <span class="component">[{@link AuthorizationCode}]</span>; @@ -17,7 +18,7 @@ import java.net.URL; public class OAuthFlowsObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:703 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:736 */ public static OAuthFlows composeOAuthFlows (OAuthFlowsObject oAuthFlowsObject){ OAuthFlows oAuthFlows = new OAuthFlows(); @@ -35,7 +36,7 @@ public class OAuthFlowsObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:788 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:769 */ public static OAuthFlowsObject parseOAuthFlows(OAuthFlows oAuthFlows){ OAuthFlowsObject oAuthFlowsObject = new OAuthFlowsObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java index 44b529e3..252ae6ef 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OneOfSchema.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:138 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:100 * @astdecl OneOfSchema : ASTNode ::= SchemaObject; * @production OneOfSchema : {@link ASTNode} ::= <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java index 8f212026..9190dce0 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OpenAPIObject.java @@ -4,86 +4,95 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:2 - * @astdecl OpenAPIObject : ASTNode ::= <OpenAPI:String> InfoObject ServerObject* PathsObject* [ComponentsObject] SecurityRequirementObject* TagObject* [ExternalDocumentationObject]; - * @production OpenAPIObject : {@link ASTNode} ::= <span class="component"><OpenAPI:String></span> <span class="component">{@link InfoObject}</span> <span class="component">{@link ServerObject}*</span> <span class="component">{@link PathsObject}*</span> <span class="component">[{@link ComponentsObject}]</span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link TagObject}*</span> <span class="component">[{@link ExternalDocumentationObject}]</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:2 + * @astdecl OpenAPIObject : ASTNode ::= <OpenAPI:String> [InfoObject] ServerObject* PathsObject* [ComponentsObject] SecurityRequirementObject* TagObject* [ExternalDocObject] <Context:OAIContext>; + * @production OpenAPIObject : {@link ASTNode} ::= <span class="component"><OpenAPI:String></span> <span class="component">[{@link InfoObject}]</span> <span class="component">{@link ServerObject}*</span> <span class="component">{@link PathsObject}*</span> <span class="component">[{@link ComponentsObject}]</span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link TagObject}*</span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component"><Context:OAIContext></span>; */ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:12 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:13 */ - public static OpenApi3 composeOpenAPI (OpenAPIObject openAPIObject){ + public static OpenApi3 composeOpenAPI (OpenAPIObject openapi){ OpenApi3 api3 = new OpenApi3(); - api3.setOpenapi( openAPIObject.getOpenAPI() ); - api3.setInfo( InfoObject.composeInfo( openAPIObject.getInfoObject() ) ); - - if( openAPIObject.getNumPathsObject() != 0 ){ - Map<String, Path> paths = new HashMap<>(); - for( PathsObject p : openAPIObject.getPathsObjects() ) - paths.put( p.getRef(), PathItemObject.composePath(p.getPathItemObject()) ); - api3.setPaths(paths); - } - if(openAPIObject.getNumServerObject() != 0 ){ + if( !openapi.getOpenAPI().isEmpty() ) + api3.setOpenapi(openapi.getOpenAPI()); + if( openapi.hasInfoObject() ) + api3.setInfo(InfoObject.composeInfo(openapi.getInfoObject())); + if( openapi.getNumServerObject() != 0 ){ List<org.openapi4j.parser.model.v3.Server> servers = new ArrayList<>(); - for( ServerObject s : openAPIObject.getServerObjects() ) + for( ServerObject s : openapi.getServerObjects() ) servers.add(ServerObject.composeServer(s)); api3.setServers(servers); } - if( openAPIObject.hasComponentsObject() ) - api3.setComponents( ComponentsObject.composeComponents(openAPIObject.getComponentsObject()) ); - if( openAPIObject.getNumSecurityRequirementObject() != 0 ){ + if( openapi.getNumPathsObject() != 0 ){ + Map<String, Path> paths = new HashMap<>(); + for( PathsObject p : openapi.getPathsObjects() ) + paths.put( p.getRef(), PathItem.composePath(p.getPathItem()) ); + api3.setPaths(paths); + } + if( openapi.hasComponentsObject() ) + api3.setComponents( ComponentsObject.composeComponents(openapi.getComponentsObject()) ); + if( openapi.getNumSecurityRequirementObject() != 0 ){ List<SecurityRequirement> securityRequirements = new ArrayList<>(); - for( SecurityRequirementObject s : openAPIObject.getSecurityRequirementObjects() ) + for( SecurityRequirementObject s : openapi.getSecurityRequirementObjects() ) securityRequirements.add( SecurityRequirementObject.composeSecurityRequirement( s ) ); api3.setSecurityRequirements(securityRequirements); } - if( openAPIObject.getNumTagObject() != 0 ){ + if( openapi.getNumTagObject() != 0 ){ List<org.openapi4j.parser.model.v3.Tag> tags = new ArrayList<>(); - for( TagObject t : openAPIObject.getTagObjects() ) + for( TagObject t : openapi.getTagObjects() ) tags.add( TagObject.composeTag(t) ); api3.setTags( tags ); } - if( openAPIObject.hasExternalDocumentationObject() ) - api3.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(openAPIObject.getExternalDocumentationObject()) ); + if( openapi.hasExternalDocObject() ) + api3.setExternalDocs(ExternalDocObject.composeExternalDocs(openapi.getExternalDocObject())); + if( openapi.getContext() != null ) + api3.setContext(openapi.getContext()); return api3; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:3 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:3 */ public static OpenAPIObject parseOpenAPI(OpenApi3 api) throws IOException, ResolutionException, ValidationException { OpenAPIObject openapi = new OpenAPIObject(); + if( api.getOpenapi() != null ) openapi.setOpenAPI(api.getOpenapi()); - openapi.setInfoObject( InfoObject.parseInfo(api.getInfo()) ); + if( api.getInfo() != null ) + openapi.setInfoObject(InfoObject.parseInfo(api.getInfo())); + if( api.getPaths() != null ){ for( String key : api.getPaths().keySet() ) - openapi.addPathsObject( new PathsObject( key, PathItemObject.parsePath(api.getPath(key))) ); - - if( api.getServers() != null ) { + openapi.addPathsObject(new PathsObject( key, PathItem.parsePath(api.getPath(key)))); + } + if( api.getServers() != null ){ for( Server s : api.getServers() ) - openapi.addServerObject( ServerObject.parseServer(s) ); + openapi.addServerObject(ServerObject.parseServer(s)); } if( api.getComponents() != null ) - openapi.setComponentsObject( ComponentsObject.parseComponents(api.getComponents()) ); + openapi.setComponentsObject(ComponentsObject.parseComponents(api.getComponents())); if( api.getSecurityRequirements() != null ){ for( SecurityRequirement s : api.getSecurityRequirements() ) - openapi.addSecurityRequirementObject( SecurityRequirementObject.parseSecurityRequirement(s) ); + openapi.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(s)); } if( api.getTags() != null ){ for( org.openapi4j.parser.model.v3.Tag t : api.getTags() ) - openapi.addTagObject( TagObject.parseTag(t) ); + openapi.addTagObject(TagObject.parseTag(t)); } if( api.getExternalDocs() != null ) - openapi.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(api.getExternalDocs()) ); + openapi.setExternalDocObject(ExternalDocObject.parseExternalDocs(api.getExternalDocs())); + if( api.getContext() != null ) + openapi.setContext(api.getContext()); return openapi; } @@ -102,6 +111,7 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { */ public void init$Children() { children = new ASTNode[7]; + setChild(new Opt(), 0); setChild(new JastAddList(), 1); setChild(new JastAddList(), 2); setChild(new Opt(), 3); @@ -110,14 +120,14 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { setChild(new Opt(), 6); } /** - * @declaredat ASTNode:19 + * @declaredat ASTNode:20 */ @ASTNodeAnnotation.Constructor( - name = {"OpenAPI", "InfoObject", "ServerObject", "PathsObject", "ComponentsObject", "SecurityRequirementObject", "TagObject", "ExternalDocumentationObject"}, - type = {"String", "InfoObject", "JastAddList<ServerObject>", "JastAddList<PathsObject>", "Opt<ComponentsObject>", "JastAddList<SecurityRequirementObject>", "JastAddList<TagObject>", "Opt<ExternalDocumentationObject>"}, - kind = {"Token", "Child", "List", "List", "Opt", "List", "List", "Opt"} + name = {"OpenAPI", "InfoObject", "ServerObject", "PathsObject", "ComponentsObject", "SecurityRequirementObject", "TagObject", "ExternalDocObject", "Context"}, + type = {"String", "Opt<InfoObject>", "JastAddList<ServerObject>", "JastAddList<PathsObject>", "Opt<ComponentsObject>", "JastAddList<SecurityRequirementObject>", "JastAddList<TagObject>", "Opt<ExternalDocObject>", "OAIContext"}, + kind = {"Token", "Opt", "List", "List", "Opt", "List", "List", "Opt", "Token"} ) - public OpenAPIObject(String p0, InfoObject p1, JastAddList<ServerObject> p2, JastAddList<PathsObject> p3, Opt<ComponentsObject> p4, JastAddList<SecurityRequirementObject> p5, JastAddList<TagObject> p6, Opt<ExternalDocumentationObject> p7) { + public OpenAPIObject(String p0, Opt<InfoObject> p1, JastAddList<ServerObject> p2, JastAddList<PathsObject> p3, Opt<ComponentsObject> p4, JastAddList<SecurityRequirementObject> p5, JastAddList<TagObject> p6, Opt<ExternalDocObject> p7, OAIContext p8) { setOpenAPI(p0); setChild(p1, 0); setChild(p2, 1); @@ -126,41 +136,42 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { setChild(p5, 4); setChild(p6, 5); setChild(p7, 6); + setContext(p8); } /** @apilevel low-level - * @declaredat ASTNode:35 + * @declaredat ASTNode:37 */ protected int numChildren() { return 7; } /** * @apilevel internal - * @declaredat ASTNode:41 + * @declaredat ASTNode:43 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:45 + * @declaredat ASTNode:47 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:49 + * @declaredat ASTNode:51 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:53 + * @declaredat ASTNode:55 */ public OpenAPIObject clone() throws CloneNotSupportedException { OpenAPIObject node = (OpenAPIObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:58 + * @declaredat ASTNode:60 */ public OpenAPIObject copy() { try { @@ -180,7 +191,7 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:77 + * @declaredat ASTNode:79 */ @Deprecated public OpenAPIObject fullCopy() { @@ -191,7 +202,7 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:87 + * @declaredat ASTNode:89 */ public OpenAPIObject treeCopyNoTransform() { OpenAPIObject tree = (OpenAPIObject) copy(); @@ -212,7 +223,7 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:107 + * @declaredat ASTNode:109 */ public OpenAPIObject treeCopy() { OpenAPIObject tree = (OpenAPIObject) copy(); @@ -228,10 +239,10 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:121 + * @declaredat ASTNode:123 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_OpenAPI == ((OpenAPIObject) node).tokenString_OpenAPI); + return super.is$Equal(node) && (tokenString_OpenAPI == ((OpenAPIObject) node).tokenString_OpenAPI) && (tokenOAIContext_Context == ((OpenAPIObject) node).tokenOAIContext_Context); } /** * Replaces the lexeme OpenAPI. @@ -254,30 +265,55 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { return tokenString_OpenAPI != null ? tokenString_OpenAPI : ""; } /** - * Replaces the InfoObject child. - * @param node The new node to replace the InfoObject child. + * Replaces the optional node for the InfoObject child. This is the <code>Opt</code> + * node containing the child InfoObject, not the actual child! + * @param opt The new node to be used as the optional node for the InfoObject child. + * @apilevel low-level + */ + public void setInfoObjectOpt(Opt<InfoObject> opt) { + setChild(opt, 0); + } + /** + * Replaces the (optional) InfoObject child. + * @param node The new node to be used as the InfoObject child. * @apilevel high-level */ public void setInfoObject(InfoObject node) { - setChild(node, 0); + getInfoObjectOpt().setChild(node, 0); } /** - * Retrieves the InfoObject child. - * @return The current node used as the InfoObject child. + * Check whether the optional InfoObject child exists. + * @return {@code true} if the optional InfoObject child exists, {@code false} if it does not. * @apilevel high-level */ - @ASTNodeAnnotation.Child(name="InfoObject") + public boolean hasInfoObject() { + return getInfoObjectOpt().getNumChild() != 0; + } + /** + * Retrieves the (optional) InfoObject child. + * @return The InfoObject child, if it exists. Returns {@code null} otherwise. + * @apilevel low-level + */ public InfoObject getInfoObject() { - return (InfoObject) getChild(0); + return (InfoObject) getInfoObjectOpt().getChild(0); + } + /** + * Retrieves the optional node for the InfoObject child. This is the <code>Opt</code> node containing the child InfoObject, not the actual child! + * @return The optional node for child the InfoObject child. + * @apilevel low-level + */ + @ASTNodeAnnotation.OptChild(name="InfoObject") + public Opt<InfoObject> getInfoObjectOpt() { + return (Opt<InfoObject>) getChild(0); } /** - * Retrieves the InfoObject child. + * Retrieves the optional node for child InfoObject. This is the <code>Opt</code> node containing the child InfoObject, not the actual child! * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the InfoObject child. + * @return The optional node for child InfoObject. * @apilevel low-level */ - public InfoObject getInfoObjectNoTransform() { - return (InfoObject) getChildNoTransform(0); + public Opt<InfoObject> getInfoObjectOptNoTransform() { + return (Opt<InfoObject>) getChildNoTransform(0); } /** * Replaces the ServerObject list. @@ -771,55 +807,75 @@ public class OpenAPIObject extends ASTNode<ASTNode> implements Cloneable { return getTagObjectListNoTransform(); } /** - * Replaces the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> - * node containing the child ExternalDocumentationObject, not the actual child! - * @param opt The new node to be used as the optional node for the ExternalDocumentationObject child. + * Replaces the optional node for the ExternalDocObject child. This is the <code>Opt</code> + * node containing the child ExternalDocObject, not the actual child! + * @param opt The new node to be used as the optional node for the ExternalDocObject child. * @apilevel low-level */ - public void setExternalDocumentationObjectOpt(Opt<ExternalDocumentationObject> opt) { + public void setExternalDocObjectOpt(Opt<ExternalDocObject> opt) { setChild(opt, 6); } /** - * Replaces the (optional) ExternalDocumentationObject child. - * @param node The new node to be used as the ExternalDocumentationObject child. + * Replaces the (optional) ExternalDocObject child. + * @param node The new node to be used as the ExternalDocObject child. * @apilevel high-level */ - public void setExternalDocumentationObject(ExternalDocumentationObject node) { - getExternalDocumentationObjectOpt().setChild(node, 0); + public void setExternalDocObject(ExternalDocObject node) { + getExternalDocObjectOpt().setChild(node, 0); } /** - * Check whether the optional ExternalDocumentationObject child exists. - * @return {@code true} if the optional ExternalDocumentationObject child exists, {@code false} if it does not. + * Check whether the optional ExternalDocObject child exists. + * @return {@code true} if the optional ExternalDocObject child exists, {@code false} if it does not. * @apilevel high-level */ - public boolean hasExternalDocumentationObject() { - return getExternalDocumentationObjectOpt().getNumChild() != 0; + public boolean hasExternalDocObject() { + return getExternalDocObjectOpt().getNumChild() != 0; } /** - * Retrieves the (optional) ExternalDocumentationObject child. - * @return The ExternalDocumentationObject child, if it exists. Returns {@code null} otherwise. + * Retrieves the (optional) ExternalDocObject child. + * @return The ExternalDocObject child, if it exists. Returns {@code null} otherwise. * @apilevel low-level */ - public ExternalDocumentationObject getExternalDocumentationObject() { - return (ExternalDocumentationObject) getExternalDocumentationObjectOpt().getChild(0); + public ExternalDocObject getExternalDocObject() { + return (ExternalDocObject) getExternalDocObjectOpt().getChild(0); } /** - * Retrieves the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! - * @return The optional node for child the ExternalDocumentationObject child. + * Retrieves the optional node for the ExternalDocObject child. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! + * @return The optional node for child the ExternalDocObject child. * @apilevel low-level */ - @ASTNodeAnnotation.OptChild(name="ExternalDocumentationObject") - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOpt() { - return (Opt<ExternalDocumentationObject>) getChild(6); + @ASTNodeAnnotation.OptChild(name="ExternalDocObject") + public Opt<ExternalDocObject> getExternalDocObjectOpt() { + return (Opt<ExternalDocObject>) getChild(6); } /** - * Retrieves the optional node for child ExternalDocumentationObject. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! + * Retrieves the optional node for child ExternalDocObject. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child ExternalDocumentationObject. + * @return The optional node for child ExternalDocObject. * @apilevel low-level */ - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOptNoTransform() { - return (Opt<ExternalDocumentationObject>) getChildNoTransform(6); + public Opt<ExternalDocObject> getExternalDocObjectOptNoTransform() { + return (Opt<ExternalDocObject>) getChildNoTransform(6); + } + /** + * Replaces the lexeme Context. + * @param value The new value for the lexeme Context. + * @apilevel high-level + */ + public void setContext(OAIContext value) { + tokenOAIContext_Context = value; + } + /** @apilevel internal + */ + protected OAIContext tokenOAIContext_Context; + /** + * Retrieves the value for the lexeme Context. + * @return The value for the lexeme Context. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Context") + public OAIContext getContext() { + return tokenOAIContext_Context; } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java index 16768152..fb1edbd5 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/OperationObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:75 - * @astdecl OperationObject : ASTNode ::= Tag* <Summary:String> <Description:String> [ExternalDocumentationObject] <OperationID:String> ParameterObject* [RequestBodyObject] ResponsesObject CallbacksTuple* [DeprecatedBoolean] SecurityRequirementObject* ServerObject*; - * @production OperationObject : {@link ASTNode} ::= <span class="component">{@link Tag}*</span> <span class="component"><Summary:String></span> <span class="component"><Description:String></span> <span class="component">[{@link ExternalDocumentationObject}]</span> <span class="component"><OperationID:String></span> <span class="component">{@link ParameterObject}*</span> <span class="component">[{@link RequestBodyObject}]</span> <span class="component">{@link ResponsesObject}</span> <span class="component">{@link CallbacksTuple}*</span> <span class="component">[{@link DeprecatedBoolean}]</span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link ServerObject}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:49 + * @astdecl OperationObject : ASTNode ::= Tag* <Summary:String> <Description:String> [ExternalDocObject] <OperationID:String> ParameterObject* [RequestBodyObject] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean>; + * @production OperationObject : {@link ASTNode} ::= <span class="component">{@link Tag}*</span> <span class="component"><Summary:String></span> <span class="component"><Description:String></span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component"><OperationID:String></span> <span class="component">{@link ParameterObject}*</span> <span class="component">[{@link RequestBodyObject}]</span> <span class="component">{@link ResponseTuple}*</span> <span class="component">{@link CallbackTuple}*</span> <span class="component"><DeprecatedBoolean:Boolean></span> <span class="component">{@link SecurityRequirementObject}*</span> <span class="component">{@link ServerObject}*</span> <span class="component"><Required:Boolean></span>; */ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:276 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:284 */ public static Operation composeOperation (OperationObject operationObject){ Operation operation = new Operation(); @@ -30,8 +31,8 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { operation.setSummary( operationObject.getSummary() ); if( !operationObject.getDescription().isEmpty() ) operation.setDescription( operationObject.getDescription() ); - if( operationObject.hasExternalDocumentationObject() ) - operation.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(operationObject.getExternalDocumentationObject()) ); + if( operationObject.hasExternalDocObject() ) + operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject()) ); if( !operationObject.getOperationID().isEmpty() ) operation.setOperationId( operationObject.getOperationID() ); if( operationObject.getNumParameterObject() != 0 ){ @@ -40,27 +41,27 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { } if( operationObject.hasRequestBodyObject() ) operation.setRequestBody( RequestBodyObject.composeRequestBody(operationObject.getRequestBodyObject())); - if( operationObject.getResponsesObject().getNumHTTPStatusCode() != 0){ - Map<String, Response> responses = new HashMap<>(); - for( HTTPStatusCode h : operationObject.getResponsesObject().getHTTPStatusCodes() ) - responses.put( ((ResponseObject)h).getName(), ResponseObject.composeResponse( ((ResponseObject) h)) ); - operation.setResponses(responses); + if( operationObject.getNumResponseTuple() != 0){ + Map<String, Response> responseMap = new HashMap<>(); + for( ResponseTuple t : operationObject.getResponseTuples() ) + responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject())); + operation.setResponses(responseMap); } - if( operationObject.getNumCallbacksTuple() != 0 ){ + if( operationObject.getNumCallbackTuple() != 0 ){ Map<String, Callback> callbacks = new HashMap<>(); - for( CallbacksTuple t : operationObject.getCallbacksTuples() ) { - if( t instanceof CallbackReferenceTuple ){ + for( CallbackTuple t : operationObject.getCallbackTuples() ) { + if( !t.getCallbackObject().getRef().isEmpty() ){ Callback callback = new Callback(); - callback.setRef(((CallbackReferenceTuple) t).getRef()); - callbacks.put(((CallbackReferenceTuple) t).getName(), callback); + callback.setRef(t.getCallbackObject().getRef()); + callbacks.put(t.getKey(), callback); } else - callbacks.put(((CallbackObjectTuple)t).getName(), CallbackObject.composeCallback(((CallbackObjectTuple)t).getCallbackObject())); - } + callbacks.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject())); operation.setCallbacks(callbacks); } + } if( operationObject.getDeprecatedBoolean() != null ) - operation.setDeprecated(operationObject.getDeprecatedBoolean().getDeprecatedBoolean()); + operation.setDeprecated(operationObject.getDeprecatedBoolean()); if( operationObject.getNumSecurityRequirementObject() != 0 ){ for( SecurityRequirementObject s : operationObject.getSecurityRequirementObjects() ) operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s) ); @@ -74,15 +75,13 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:343 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:330 */ public static OperationObject parseOperation(Operation operation){ OperationObject operationObject = new OperationObject(); - DeprecatedBoolean deprecatedBoolean = new DeprecatedBoolean(); - - deprecatedBoolean.setDeprecatedBoolean(operation.getDeprecated()); - operationObject.setDeprecatedBoolean(deprecatedBoolean); + if( operation.getDeprecated() != null ) + operationObject.setDeprecatedBoolean(operation.getDeprecated()); if( operation.getTags() != null ){ for(String t : operation.getTags()) { de.tudresden.inf.st.openapi.ast.Tag tag = new de.tudresden.inf.st.openapi.ast.Tag(); @@ -95,7 +94,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { if( operation.getDescription() != null ) operationObject.setDescription( operation.getDescription() ); if( operation.getExternalDocs() != null ) - operationObject.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(operation.getExternalDocs()) ); + operationObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(operation.getExternalDocs())); if( operation.getOperationId() != null ) operationObject.setOperationID( operation.getOperationId() ); if( operation.getParameters() != null ){ @@ -105,27 +104,16 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { if( operation.getRequestBody() != null ) operationObject.setRequestBodyObject( RequestBodyObject.parseRequestBody( operation.getRequestBody() ) ); if( operation.getResponses() != null ){ - ResponsesObject responsesObject = new ResponsesObject(); - for( String key : operation.getResponses().keySet()){ - ResponseObject responseObject; - responseObject = ResponseObject.parseResponse(operation.getResponse(key)); - responseObject.setName(key); - responsesObject.addHTTPStatusCode(responseObject); - } - operationObject.setResponsesObject(responsesObject); + for( String key : operation.getResponses().keySet()) + operationObject.addResponseTuple(new ResponseTuple(key, ResponseObject.parseResponse(operation.getResponse(key)))); } if( operation.getCallbacks() != null ){ - CallbackObjectTuple callbackObjectTuple = new CallbackObjectTuple(); - for( String key : operation.getCallbacks().keySet() ){ - callbackObjectTuple.setName(key); - callbackObjectTuple.setCallbackObject(CallbackObject.parseCallback(operation.getCallback(key))); - operationObject.addCallbacksTuple(callbackObjectTuple); - } + for( String key : operation.getCallbacks().keySet() ) + operationObject.addCallbackTuple(new CallbackTuple(key, CallbackObject.parseCallback(operation.getCallback(key)))); } - if( operation.getSecurityRequirements() != null ){ - for( SecurityRequirement sr : operation.getSecurityRequirements() ) - operationObject.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(sr)); + for( SecurityRequirement s : operation.getSecurityRequirements() ) + operationObject.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(s)); } if( operation.getServers() != null ){ for( Server s : operation.getServers() ) @@ -148,25 +136,25 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:10 */ public void init$Children() { - children = new ASTNode[9]; + children = new ASTNode[8]; setChild(new JastAddList(), 0); setChild(new Opt(), 1); setChild(new JastAddList(), 2); setChild(new Opt(), 3); + setChild(new JastAddList(), 4); setChild(new JastAddList(), 5); - setChild(new Opt(), 6); + setChild(new JastAddList(), 6); setChild(new JastAddList(), 7); - setChild(new JastAddList(), 8); } /** * @declaredat ASTNode:21 */ @ASTNodeAnnotation.Constructor( - name = {"Tag", "Summary", "Description", "ExternalDocumentationObject", "OperationID", "ParameterObject", "RequestBodyObject", "ResponsesObject", "CallbacksTuple", "DeprecatedBoolean", "SecurityRequirementObject", "ServerObject"}, - type = {"JastAddList<Tag>", "String", "String", "Opt<ExternalDocumentationObject>", "String", "JastAddList<ParameterObject>", "Opt<RequestBodyObject>", "ResponsesObject", "JastAddList<CallbacksTuple>", "Opt<DeprecatedBoolean>", "JastAddList<SecurityRequirementObject>", "JastAddList<ServerObject>"}, - kind = {"List", "Token", "Token", "Opt", "Token", "List", "Opt", "Child", "List", "Opt", "List", "List"} + name = {"Tag", "Summary", "Description", "ExternalDocObject", "OperationID", "ParameterObject", "RequestBodyObject", "ResponseTuple", "CallbackTuple", "DeprecatedBoolean", "SecurityRequirementObject", "ServerObject", "Required"}, + type = {"JastAddList<Tag>", "String", "String", "Opt<ExternalDocObject>", "String", "JastAddList<ParameterObject>", "Opt<RequestBodyObject>", "JastAddList<ResponseTuple>", "JastAddList<CallbackTuple>", "Boolean", "JastAddList<SecurityRequirementObject>", "JastAddList<ServerObject>", "Boolean"}, + kind = {"List", "Token", "Token", "Opt", "Token", "List", "Opt", "List", "List", "Token", "List", "List", "Token"} ) - public OperationObject(JastAddList<Tag> p0, String p1, String p2, Opt<ExternalDocumentationObject> p3, String p4, JastAddList<ParameterObject> p5, Opt<RequestBodyObject> p6, ResponsesObject p7, JastAddList<CallbacksTuple> p8, Opt<DeprecatedBoolean> p9, JastAddList<SecurityRequirementObject> p10, JastAddList<ServerObject> p11) { + public OperationObject(JastAddList<Tag> p0, String p1, String p2, Opt<ExternalDocObject> p3, String p4, JastAddList<ParameterObject> p5, Opt<RequestBodyObject> p6, JastAddList<ResponseTuple> p7, JastAddList<CallbackTuple> p8, Boolean p9, JastAddList<SecurityRequirementObject> p10, JastAddList<ServerObject> p11, Boolean p12) { setChild(p0, 0); setSummary(p1); setDescription(p2); @@ -176,44 +164,45 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { setChild(p6, 3); setChild(p7, 4); setChild(p8, 5); - setChild(p9, 6); - setChild(p10, 7); - setChild(p11, 8); + setDeprecatedBoolean(p9); + setChild(p10, 6); + setChild(p11, 7); + setRequired(p12); } /** @apilevel low-level - * @declaredat ASTNode:41 + * @declaredat ASTNode:42 */ protected int numChildren() { - return 9; + return 8; } /** * @apilevel internal - * @declaredat ASTNode:47 + * @declaredat ASTNode:48 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:51 + * @declaredat ASTNode:52 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:55 + * @declaredat ASTNode:56 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:59 + * @declaredat ASTNode:60 */ public OperationObject clone() throws CloneNotSupportedException { OperationObject node = (OperationObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:64 + * @declaredat ASTNode:65 */ public OperationObject copy() { try { @@ -233,7 +222,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:83 + * @declaredat ASTNode:84 */ @Deprecated public OperationObject fullCopy() { @@ -244,7 +233,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:93 + * @declaredat ASTNode:94 */ public OperationObject treeCopyNoTransform() { OperationObject tree = (OperationObject) copy(); @@ -265,7 +254,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:113 + * @declaredat ASTNode:114 */ public OperationObject treeCopy() { OperationObject tree = (OperationObject) copy(); @@ -281,10 +270,10 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:127 + * @declaredat ASTNode:128 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Summary == ((OperationObject) node).tokenString_Summary) && (tokenString_Description == ((OperationObject) node).tokenString_Description) && (tokenString_OperationID == ((OperationObject) node).tokenString_OperationID); + return super.is$Equal(node) && (tokenString_Summary == ((OperationObject) node).tokenString_Summary) && (tokenString_Description == ((OperationObject) node).tokenString_Description) && (tokenString_OperationID == ((OperationObject) node).tokenString_OperationID) && (tokenBoolean_DeprecatedBoolean == ((OperationObject) node).tokenBoolean_DeprecatedBoolean) && (tokenBoolean_Required == ((OperationObject) node).tokenBoolean_Required); } /** * Replaces the Tag list. @@ -437,55 +426,55 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { return tokenString_Description != null ? tokenString_Description : ""; } /** - * Replaces the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> - * node containing the child ExternalDocumentationObject, not the actual child! - * @param opt The new node to be used as the optional node for the ExternalDocumentationObject child. + * Replaces the optional node for the ExternalDocObject child. This is the <code>Opt</code> + * node containing the child ExternalDocObject, not the actual child! + * @param opt The new node to be used as the optional node for the ExternalDocObject child. * @apilevel low-level */ - public void setExternalDocumentationObjectOpt(Opt<ExternalDocumentationObject> opt) { + public void setExternalDocObjectOpt(Opt<ExternalDocObject> opt) { setChild(opt, 1); } /** - * Replaces the (optional) ExternalDocumentationObject child. - * @param node The new node to be used as the ExternalDocumentationObject child. + * Replaces the (optional) ExternalDocObject child. + * @param node The new node to be used as the ExternalDocObject child. * @apilevel high-level */ - public void setExternalDocumentationObject(ExternalDocumentationObject node) { - getExternalDocumentationObjectOpt().setChild(node, 0); + public void setExternalDocObject(ExternalDocObject node) { + getExternalDocObjectOpt().setChild(node, 0); } /** - * Check whether the optional ExternalDocumentationObject child exists. - * @return {@code true} if the optional ExternalDocumentationObject child exists, {@code false} if it does not. + * Check whether the optional ExternalDocObject child exists. + * @return {@code true} if the optional ExternalDocObject child exists, {@code false} if it does not. * @apilevel high-level */ - public boolean hasExternalDocumentationObject() { - return getExternalDocumentationObjectOpt().getNumChild() != 0; + public boolean hasExternalDocObject() { + return getExternalDocObjectOpt().getNumChild() != 0; } /** - * Retrieves the (optional) ExternalDocumentationObject child. - * @return The ExternalDocumentationObject child, if it exists. Returns {@code null} otherwise. + * Retrieves the (optional) ExternalDocObject child. + * @return The ExternalDocObject child, if it exists. Returns {@code null} otherwise. * @apilevel low-level */ - public ExternalDocumentationObject getExternalDocumentationObject() { - return (ExternalDocumentationObject) getExternalDocumentationObjectOpt().getChild(0); + public ExternalDocObject getExternalDocObject() { + return (ExternalDocObject) getExternalDocObjectOpt().getChild(0); } /** - * Retrieves the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! - * @return The optional node for child the ExternalDocumentationObject child. + * Retrieves the optional node for the ExternalDocObject child. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! + * @return The optional node for child the ExternalDocObject child. * @apilevel low-level */ - @ASTNodeAnnotation.OptChild(name="ExternalDocumentationObject") - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOpt() { - return (Opt<ExternalDocumentationObject>) getChild(1); + @ASTNodeAnnotation.OptChild(name="ExternalDocObject") + public Opt<ExternalDocObject> getExternalDocObjectOpt() { + return (Opt<ExternalDocObject>) getChild(1); } /** - * Retrieves the optional node for child ExternalDocumentationObject. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! + * Retrieves the optional node for child ExternalDocObject. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child ExternalDocumentationObject. + * @return The optional node for child ExternalDocObject. * @apilevel low-level */ - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOptNoTransform() { - return (Opt<ExternalDocumentationObject>) getChildNoTransform(1); + public Opt<ExternalDocObject> getExternalDocObjectOptNoTransform() { + return (Opt<ExternalDocObject>) getChildNoTransform(1); } /** * Replaces the lexeme OperationID. @@ -669,191 +658,244 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { return (Opt<RequestBodyObject>) getChildNoTransform(3); } /** - * Replaces the ResponsesObject child. - * @param node The new node to replace the ResponsesObject child. + * Replaces the ResponseTuple list. + * @param list The new list node to be used as the ResponseTuple list. * @apilevel high-level */ - public void setResponsesObject(ResponsesObject node) { - setChild(node, 4); + public void setResponseTupleList(JastAddList<ResponseTuple> list) { + setChild(list, 4); } /** - * Retrieves the ResponsesObject child. - * @return The current node used as the ResponsesObject child. + * Retrieves the number of children in the ResponseTuple list. + * @return Number of children in the ResponseTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.Child(name="ResponsesObject") - public ResponsesObject getResponsesObject() { - return (ResponsesObject) getChild(4); - } - /** - * Retrieves the ResponsesObject child. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the ResponsesObject child. - * @apilevel low-level - */ - public ResponsesObject getResponsesObjectNoTransform() { - return (ResponsesObject) getChildNoTransform(4); + public int getNumResponseTuple() { + return getResponseTupleList().getNumChild(); } /** - * Replaces the CallbacksTuple list. - * @param list The new list node to be used as the CallbacksTuple list. - * @apilevel high-level - */ - public void setCallbacksTupleList(JastAddList<CallbacksTuple> list) { - setChild(list, 5); - } - /** - * Retrieves the number of children in the CallbacksTuple list. - * @return Number of children in the CallbacksTuple list. - * @apilevel high-level - */ - public int getNumCallbacksTuple() { - return getCallbacksTupleList().getNumChild(); - } - /** - * Retrieves the number of children in the CallbacksTuple list. + * Retrieves the number of children in the ResponseTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the CallbacksTuple list. + * @return Number of children in the ResponseTuple list. * @apilevel low-level */ - public int getNumCallbacksTupleNoTransform() { - return getCallbacksTupleListNoTransform().getNumChildNoTransform(); + public int getNumResponseTupleNoTransform() { + return getResponseTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the CallbacksTuple list. + * Retrieves the element at index {@code i} in the ResponseTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the CallbacksTuple list. + * @return The element at position {@code i} in the ResponseTuple list. * @apilevel high-level */ - public CallbacksTuple getCallbacksTuple(int i) { - return (CallbacksTuple) getCallbacksTupleList().getChild(i); + public ResponseTuple getResponseTuple(int i) { + return (ResponseTuple) getResponseTupleList().getChild(i); } /** - * Check whether the CallbacksTuple list has any children. + * Check whether the ResponseTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasCallbacksTuple() { - return getCallbacksTupleList().getNumChild() != 0; + public boolean hasResponseTuple() { + return getResponseTupleList().getNumChild() != 0; } /** - * Append an element to the CallbacksTuple list. - * @param node The element to append to the CallbacksTuple list. + * Append an element to the ResponseTuple list. + * @param node The element to append to the ResponseTuple list. * @apilevel high-level */ - public void addCallbacksTuple(CallbacksTuple node) { - JastAddList<CallbacksTuple> list = (parent == null) ? getCallbacksTupleListNoTransform() : getCallbacksTupleList(); + public void addResponseTuple(ResponseTuple node) { + JastAddList<ResponseTuple> list = (parent == null) ? getResponseTupleListNoTransform() : getResponseTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addCallbacksTupleNoTransform(CallbacksTuple node) { - JastAddList<CallbacksTuple> list = getCallbacksTupleListNoTransform(); + public void addResponseTupleNoTransform(ResponseTuple node) { + JastAddList<ResponseTuple> list = getResponseTupleListNoTransform(); list.addChild(node); } /** - * Replaces the CallbacksTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ResponseTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setCallbacksTuple(CallbacksTuple node, int i) { - JastAddList<CallbacksTuple> list = getCallbacksTupleList(); + public void setResponseTuple(ResponseTuple node, int i) { + JastAddList<ResponseTuple> list = getResponseTupleList(); list.setChild(node, i); } /** - * Retrieves the CallbacksTuple list. - * @return The node representing the CallbacksTuple list. + * Retrieves the ResponseTuple list. + * @return The node representing the ResponseTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="CallbacksTuple") - public JastAddList<CallbacksTuple> getCallbacksTupleList() { - JastAddList<CallbacksTuple> list = (JastAddList<CallbacksTuple>) getChild(5); + @ASTNodeAnnotation.ListChild(name="ResponseTuple") + public JastAddList<ResponseTuple> getResponseTupleList() { + JastAddList<ResponseTuple> list = (JastAddList<ResponseTuple>) getChild(4); return list; } /** - * Retrieves the CallbacksTuple list. + * Retrieves the ResponseTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the CallbacksTuple list. + * @return The node representing the ResponseTuple list. * @apilevel low-level */ - public JastAddList<CallbacksTuple> getCallbacksTupleListNoTransform() { - return (JastAddList<CallbacksTuple>) getChildNoTransform(5); + public JastAddList<ResponseTuple> getResponseTupleListNoTransform() { + return (JastAddList<ResponseTuple>) getChildNoTransform(4); } /** - * @return the element at index {@code i} in the CallbacksTuple list without + * @return the element at index {@code i} in the ResponseTuple list without * triggering rewrites. */ - public CallbacksTuple getCallbacksTupleNoTransform(int i) { - return (CallbacksTuple) getCallbacksTupleListNoTransform().getChildNoTransform(i); + public ResponseTuple getResponseTupleNoTransform(int i) { + return (ResponseTuple) getResponseTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the CallbacksTuple list. - * @return The node representing the CallbacksTuple list. + * Retrieves the ResponseTuple list. + * @return The node representing the ResponseTuple list. * @apilevel high-level */ - public JastAddList<CallbacksTuple> getCallbacksTuples() { - return getCallbacksTupleList(); + public JastAddList<ResponseTuple> getResponseTuples() { + return getResponseTupleList(); } /** - * Retrieves the CallbacksTuple list. + * Retrieves the ResponseTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the CallbacksTuple list. + * @return The node representing the ResponseTuple list. * @apilevel low-level */ - public JastAddList<CallbacksTuple> getCallbacksTuplesNoTransform() { - return getCallbacksTupleListNoTransform(); + public JastAddList<ResponseTuple> getResponseTuplesNoTransform() { + return getResponseTupleListNoTransform(); } /** - * Replaces the optional node for the DeprecatedBoolean child. This is the <code>Opt</code> - * node containing the child DeprecatedBoolean, not the actual child! - * @param opt The new node to be used as the optional node for the DeprecatedBoolean child. + * Replaces the CallbackTuple list. + * @param list The new list node to be used as the CallbackTuple list. + * @apilevel high-level + */ + public void setCallbackTupleList(JastAddList<CallbackTuple> list) { + setChild(list, 5); + } + /** + * Retrieves the number of children in the CallbackTuple list. + * @return Number of children in the CallbackTuple list. + * @apilevel high-level + */ + public int getNumCallbackTuple() { + return getCallbackTupleList().getNumChild(); + } + /** + * Retrieves the number of children in the CallbackTuple list. + * Calling this method will not trigger rewrites. + * @return Number of children in the CallbackTuple list. * @apilevel low-level */ - public void setDeprecatedBooleanOpt(Opt<DeprecatedBoolean> opt) { - setChild(opt, 6); + public int getNumCallbackTupleNoTransform() { + return getCallbackTupleListNoTransform().getNumChildNoTransform(); } /** - * Replaces the (optional) DeprecatedBoolean child. - * @param node The new node to be used as the DeprecatedBoolean child. + * Retrieves the element at index {@code i} in the CallbackTuple list. + * @param i Index of the element to return. + * @return The element at position {@code i} in the CallbackTuple list. * @apilevel high-level */ - public void setDeprecatedBoolean(DeprecatedBoolean node) { - getDeprecatedBooleanOpt().setChild(node, 0); + public CallbackTuple getCallbackTuple(int i) { + return (CallbackTuple) getCallbackTupleList().getChild(i); } /** - * Check whether the optional DeprecatedBoolean child exists. - * @return {@code true} if the optional DeprecatedBoolean child exists, {@code false} if it does not. + * Check whether the CallbackTuple list has any children. + * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasDeprecatedBoolean() { - return getDeprecatedBooleanOpt().getNumChild() != 0; + public boolean hasCallbackTuple() { + return getCallbackTupleList().getNumChild() != 0; } /** - * Retrieves the (optional) DeprecatedBoolean child. - * @return The DeprecatedBoolean child, if it exists. Returns {@code null} otherwise. - * @apilevel low-level + * Append an element to the CallbackTuple list. + * @param node The element to append to the CallbackTuple list. + * @apilevel high-level + */ + public void addCallbackTuple(CallbackTuple node) { + JastAddList<CallbackTuple> list = (parent == null) ? getCallbackTupleListNoTransform() : getCallbackTupleList(); + list.addChild(node); + } + /** @apilevel low-level + */ + public void addCallbackTupleNoTransform(CallbackTuple node) { + JastAddList<CallbackTuple> list = getCallbackTupleListNoTransform(); + list.addChild(node); + } + /** + * Replaces the CallbackTuple list element at index {@code i} with the new node {@code node}. + * @param node The new node to replace the old list element. + * @param i The list index of the node to be replaced. + * @apilevel high-level */ - public DeprecatedBoolean getDeprecatedBoolean() { - return (DeprecatedBoolean) getDeprecatedBooleanOpt().getChild(0); + public void setCallbackTuple(CallbackTuple node, int i) { + JastAddList<CallbackTuple> list = getCallbackTupleList(); + list.setChild(node, i); } /** - * Retrieves the optional node for the DeprecatedBoolean child. This is the <code>Opt</code> node containing the child DeprecatedBoolean, not the actual child! - * @return The optional node for child the DeprecatedBoolean child. + * Retrieves the CallbackTuple list. + * @return The node representing the CallbackTuple list. + * @apilevel high-level + */ + @ASTNodeAnnotation.ListChild(name="CallbackTuple") + public JastAddList<CallbackTuple> getCallbackTupleList() { + JastAddList<CallbackTuple> list = (JastAddList<CallbackTuple>) getChild(5); + return list; + } + /** + * Retrieves the CallbackTuple list. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The node representing the CallbackTuple list. * @apilevel low-level */ - @ASTNodeAnnotation.OptChild(name="DeprecatedBoolean") - public Opt<DeprecatedBoolean> getDeprecatedBooleanOpt() { - return (Opt<DeprecatedBoolean>) getChild(6); + public JastAddList<CallbackTuple> getCallbackTupleListNoTransform() { + return (JastAddList<CallbackTuple>) getChildNoTransform(5); } /** - * Retrieves the optional node for child DeprecatedBoolean. This is the <code>Opt</code> node containing the child DeprecatedBoolean, not the actual child! + * @return the element at index {@code i} in the CallbackTuple list without + * triggering rewrites. + */ + public CallbackTuple getCallbackTupleNoTransform(int i) { + return (CallbackTuple) getCallbackTupleListNoTransform().getChildNoTransform(i); + } + /** + * Retrieves the CallbackTuple list. + * @return The node representing the CallbackTuple list. + * @apilevel high-level + */ + public JastAddList<CallbackTuple> getCallbackTuples() { + return getCallbackTupleList(); + } + /** + * Retrieves the CallbackTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child DeprecatedBoolean. + * @return The node representing the CallbackTuple list. * @apilevel low-level */ - public Opt<DeprecatedBoolean> getDeprecatedBooleanOptNoTransform() { - return (Opt<DeprecatedBoolean>) getChildNoTransform(6); + public JastAddList<CallbackTuple> getCallbackTuplesNoTransform() { + return getCallbackTupleListNoTransform(); + } + /** + * Replaces the lexeme DeprecatedBoolean. + * @param value The new value for the lexeme DeprecatedBoolean. + * @apilevel high-level + */ + public void setDeprecatedBoolean(Boolean value) { + tokenBoolean_DeprecatedBoolean = value; + } + /** @apilevel internal + */ + protected Boolean tokenBoolean_DeprecatedBoolean; + /** + * Retrieves the value for the lexeme DeprecatedBoolean. + * @return The value for the lexeme DeprecatedBoolean. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="DeprecatedBoolean") + public Boolean getDeprecatedBoolean() { + return tokenBoolean_DeprecatedBoolean; } /** * Replaces the SecurityRequirementObject list. @@ -861,7 +903,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setSecurityRequirementObjectList(JastAddList<SecurityRequirementObject> list) { - setChild(list, 7); + setChild(list, 6); } /** * Retrieves the number of children in the SecurityRequirementObject list. @@ -929,7 +971,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="SecurityRequirementObject") public JastAddList<SecurityRequirementObject> getSecurityRequirementObjectList() { - JastAddList<SecurityRequirementObject> list = (JastAddList<SecurityRequirementObject>) getChild(7); + JastAddList<SecurityRequirementObject> list = (JastAddList<SecurityRequirementObject>) getChild(6); return list; } /** @@ -939,7 +981,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<SecurityRequirementObject> getSecurityRequirementObjectListNoTransform() { - return (JastAddList<SecurityRequirementObject>) getChildNoTransform(7); + return (JastAddList<SecurityRequirementObject>) getChildNoTransform(6); } /** * @return the element at index {@code i} in the SecurityRequirementObject list without @@ -971,7 +1013,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setServerObjectList(JastAddList<ServerObject> list) { - setChild(list, 8); + setChild(list, 7); } /** * Retrieves the number of children in the ServerObject list. @@ -1039,7 +1081,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="ServerObject") public JastAddList<ServerObject> getServerObjectList() { - JastAddList<ServerObject> list = (JastAddList<ServerObject>) getChild(8); + JastAddList<ServerObject> list = (JastAddList<ServerObject>) getChild(7); return list; } /** @@ -1049,7 +1091,7 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<ServerObject> getServerObjectListNoTransform() { - return (JastAddList<ServerObject>) getChildNoTransform(8); + return (JastAddList<ServerObject>) getChildNoTransform(7); } /** * @return the element at index {@code i} in the ServerObject list without @@ -1075,6 +1117,26 @@ public class OperationObject extends ASTNode<ASTNode> implements Cloneable { public JastAddList<ServerObject> getServerObjectsNoTransform() { return getServerObjectListNoTransform(); } + /** + * Replaces the lexeme Required. + * @param value The new value for the lexeme Required. + * @apilevel high-level + */ + public void setRequired(Boolean value) { + tokenBoolean_Required = value; + } + /** @apilevel internal + */ + protected Boolean tokenBoolean_Required; + /** + * Retrieves the value for the lexeme Required. + * @return The value for the lexeme Required. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Required") + public Boolean getRequired() { + return tokenBoolean_Required; + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java index 11f8449f..080316bc 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Opt.java @@ -4,6 +4,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java index 06fd1094..9f85b769 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Options.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:68 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:43 * @astdecl Options : ASTNode ::= OperationObject; * @production Options : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java index 49ada821..a6b4eb30 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObject.java @@ -4,104 +4,101 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:72 - * @astdecl ParameterObject : ASTNode ::= <Name:String> <In:String> <Description:String> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style:String> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExamplesTuple* ContentTuple* <Ref:String>; - * @production ParameterObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><In:String></span> <span class="component"><Description:String></span> <span class="component"><Required:Boolean></span> <span class="component"><DeprecatedBoolean:Boolean></span> <span class="component"><AllowEmptyValue:Boolean></span> <span class="component"><Style:String></span> <span class="component"><Explode:Boolean></span> <span class="component"><AllowReserved:Boolean></span> <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExamplesTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component"><Ref:String></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:56 + * @astdecl ParameterObject : ASTNode ::= <Name:String> <In:String> <Description:String> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style:String> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExampleTuple* ContentTuple* <Ref:String>; + * @production ParameterObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><In:String></span> <span class="component"><Description:String></span> <span class="component"><Required:Boolean></span> <span class="component"><DeprecatedBoolean:Boolean></span> <span class="component"><AllowEmptyValue:Boolean></span> <span class="component"><Style:String></span> <span class="component"><Explode:Boolean></span> <span class="component"><AllowReserved:Boolean></span> <span class="component">[{@link SchemaObject}]</span> <span class="component"><Example:Object></span> <span class="component">{@link ExampleTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component"><Ref:String></span>; */ public class ParameterObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:340 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:355 */ public static Parameter composeParameter (ParameterObject parameterObject){ Parameter parameter = new Parameter(); - parameter.setName( parameterObject.getName() ); - parameter.setIn( parameterObject.getIn() ); - parameter.setRequired( parameterObject.getRequired() ); - + if( !parameterObject.getRef().isEmpty() ) + parameter.setRef(parameterObject.getRef()); + if( !parameterObject.getName().isEmpty() ) + parameter.setName(parameterObject.getName()); + if( !parameterObject.getIn().isEmpty() ) + parameter.setIn(parameterObject.getIn()); + if( parameterObject.getRequired() != null ) + parameter.setRequired(parameterObject.getRequired()); if( !parameterObject.getDescription().isEmpty() ) - parameter.setDescription( parameterObject.getDescription() ); + parameter.setDescription(parameterObject.getDescription()); if( parameterObject.getDeprecatedBoolean() != null ) - parameter.setDeprecated( parameterObject.getDeprecatedBoolean() ); - if( parameterObject.getStyle() != null ) - parameter.setStyle( parameter.getStyle() ); + parameter.setDeprecated(parameterObject.getDeprecatedBoolean()); + if( !parameterObject.getStyle().isEmpty() ) + parameter.setStyle(parameterObject.getStyle()); if( parameterObject.getAllowReserved() != null ) - parameter.setAllowReserved( parameterObject.getAllowReserved() ); + parameter.setAllowReserved(parameterObject.getAllowReserved()); if( parameterObject.getExplode() != null ) - parameter.setExplode( parameterObject.getExplode() ); - if( parameterObject.getAllowReserved() != null ) - parameter.setAllowReserved( parameterObject.getAllowReserved() ); - if( parameterObject.getSchemaObject() != null ){ - Schema schema = new Schema(); - schema = SchemaObject.composeSchema(parameterObject.getSchemaObject()); - if( !parameterObject.getRef().isEmpty() ) - schema.setRef(parameterObject.getRef()); - parameter.setSchema(schema);} + parameter.setExplode(parameterObject.getExplode()); + if( parameterObject.getSchemaObject() != null ) + parameter.setSchema(SchemaObject.composeSchema(parameterObject.getSchemaObject())); if( parameterObject.getExample() != null ) - parameter.setExample( parameterObject.getExample() ); - if( parameterObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : parameterObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); - parameter.setExamples(examples); + parameter.setExample(parameterObject.getExample()); + if( parameterObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : parameterObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + parameter.setExamples(exampleMap); } if( parameterObject.getNumContentTuple() != 0 ){ - Map<String, MediaType> contents = new HashMap<>(); + Map<String, MediaType> contentMap = new HashMap<>(); for( ContentTuple t : parameterObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); - parameter.setContentMediaTypes(contents); + contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); + parameter.setContentMediaTypes(contentMap); } + if( parameterObject.getRequired() != null ) + parameter.setRequired(parameterObject.getRequired()); return parameter; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:412 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:392 */ public static ParameterObject parseParameter(Parameter parameter){ ParameterObject parameterObject = new ParameterObject(); + if( parameter.isRef() ) + parameterObject.setRef(parameter.getRef()); + if( parameter.getName() != null ) parameterObject.setName(parameter.getName()); + if( parameter.getIn() != null ) parameterObject.setIn(parameter.getIn()); - if( parameter.getRequired() == null ) - parameterObject.setRequired(false); - else - parameterObject.setRequired(parameter.getRequired()); - if( parameter.getDescription() != null ) - parameterObject.setDescription( parameter.getDescription() ); + parameterObject.setDescription(parameter.getDescription()); if( parameter.getDeprecated() != null ) - parameterObject.setDeprecatedBoolean( parameter.getDeprecated() ); + parameterObject.setDeprecatedBoolean(parameter.getDeprecated()); if( parameter.getStyle() != null ) parameterObject.setStyle( parameter.getStyle() ); if( parameter.getExplode() != null ) parameterObject.setExplode( parameter.getExplode() ); if( parameter.getAllowReserved() != null ) parameterObject.setAllowReserved( parameter.getAllowReserved() ); - if( parameter.getSchema() != null ){ - SchemaObject schema = new SchemaObject(); - schema = SchemaObject.parseSchema(parameter.getSchema()); - if( parameter.getSchema().isRef() ) - schema.setRef(parameter.getSchema().getRef()); - parameterObject.setSchemaObject(schema); - } + if( parameter.getSchema() != null ) + parameterObject.setSchemaObject(SchemaObject.parseSchema(parameter.getSchema())); if( parameter.getExample() != null ) parameterObject.setExample( parameter.getExample() ); if( parameter.getExamples() != null ){ for( String key : parameter.getExamples().keySet() ) - parameterObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(parameter.getExample(key)))); + parameterObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(parameter.getExample(key)))); } if( parameter.getContentMediaTypes() != null ){ for( String key : parameter.getContentMediaTypes().keySet() ) - parameterObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(parameter.getContentMediaType(key)))); + parameterObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(parameter.getContentMediaType(key)))); } + if( parameter.getRequired() != null ) + parameterObject.setRequired(parameter.getRequired()); return parameterObject; } @@ -128,11 +125,11 @@ public class ParameterObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:16 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "In", "Description", "Required", "DeprecatedBoolean", "AllowEmptyValue", "Style", "Explode", "AllowReserved", "SchemaObject", "Example", "ExamplesTuple", "ContentTuple", "Ref"}, - type = {"String", "String", "String", "Boolean", "Boolean", "Boolean", "String", "Boolean", "Boolean", "Opt<SchemaObject>", "Object", "JastAddList<ExamplesTuple>", "JastAddList<ContentTuple>", "String"}, + name = {"Name", "In", "Description", "Required", "DeprecatedBoolean", "AllowEmptyValue", "Style", "Explode", "AllowReserved", "SchemaObject", "Example", "ExampleTuple", "ContentTuple", "Ref"}, + type = {"String", "String", "String", "Boolean", "Boolean", "Boolean", "String", "Boolean", "Boolean", "Opt<SchemaObject>", "Object", "JastAddList<ExampleTuple>", "JastAddList<ContentTuple>", "String"}, kind = {"Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "List", "List", "Token"} ) - public ParameterObject(String p0, String p1, String p2, Boolean p3, Boolean p4, Boolean p5, String p6, Boolean p7, Boolean p8, Opt<SchemaObject> p9, Object p10, JastAddList<ExamplesTuple> p11, JastAddList<ContentTuple> p12, String p13) { + public ParameterObject(String p0, String p1, String p2, Boolean p3, Boolean p4, Boolean p5, String p6, Boolean p7, Boolean p8, Opt<SchemaObject> p9, Object p10, JastAddList<ExampleTuple> p11, JastAddList<ContentTuple> p12, String p13) { setName(p0); setIn(p1); setDescription(p2); @@ -506,114 +503,114 @@ public class ParameterObject extends ASTNode<ASTNode> implements Cloneable { return tokenObject_Example; } /** - * Replaces the ExamplesTuple list. - * @param list The new list node to be used as the ExamplesTuple list. + * Replaces the ExampleTuple list. + * @param list The new list node to be used as the ExampleTuple list. * @apilevel high-level */ - public void setExamplesTupleList(JastAddList<ExamplesTuple> list) { + public void setExampleTupleList(JastAddList<ExampleTuple> list) { setChild(list, 1); } /** - * Retrieves the number of children in the ExamplesTuple list. - * @return Number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel high-level */ - public int getNumExamplesTuple() { - return getExamplesTupleList().getNumChild(); + public int getNumExampleTuple() { + return getExampleTupleList().getNumChild(); } /** - * Retrieves the number of children in the ExamplesTuple list. + * Retrieves the number of children in the ExampleTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the ExamplesTuple list. + * @return Number of children in the ExampleTuple list. * @apilevel low-level */ - public int getNumExamplesTupleNoTransform() { - return getExamplesTupleListNoTransform().getNumChildNoTransform(); + public int getNumExampleTupleNoTransform() { + return getExampleTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the ExamplesTuple list. + * Retrieves the element at index {@code i} in the ExampleTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the ExamplesTuple list. + * @return The element at position {@code i} in the ExampleTuple list. * @apilevel high-level */ - public ExamplesTuple getExamplesTuple(int i) { - return (ExamplesTuple) getExamplesTupleList().getChild(i); + public ExampleTuple getExampleTuple(int i) { + return (ExampleTuple) getExampleTupleList().getChild(i); } /** - * Check whether the ExamplesTuple list has any children. + * Check whether the ExampleTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasExamplesTuple() { - return getExamplesTupleList().getNumChild() != 0; + public boolean hasExampleTuple() { + return getExampleTupleList().getNumChild() != 0; } /** - * Append an element to the ExamplesTuple list. - * @param node The element to append to the ExamplesTuple list. + * Append an element to the ExampleTuple list. + * @param node The element to append to the ExampleTuple list. * @apilevel high-level */ - public void addExamplesTuple(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = (parent == null) ? getExamplesTupleListNoTransform() : getExamplesTupleList(); + public void addExampleTuple(ExampleTuple node) { + JastAddList<ExampleTuple> list = (parent == null) ? getExampleTupleListNoTransform() : getExampleTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addExamplesTupleNoTransform(ExamplesTuple node) { - JastAddList<ExamplesTuple> list = getExamplesTupleListNoTransform(); + public void addExampleTupleNoTransform(ExampleTuple node) { + JastAddList<ExampleTuple> list = getExampleTupleListNoTransform(); list.addChild(node); } /** - * Replaces the ExamplesTuple list element at index {@code i} with the new node {@code node}. + * Replaces the ExampleTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setExamplesTuple(ExamplesTuple node, int i) { - JastAddList<ExamplesTuple> list = getExamplesTupleList(); + public void setExampleTuple(ExampleTuple node, int i) { + JastAddList<ExampleTuple> list = getExampleTupleList(); list.setChild(node, i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="ExamplesTuple") - public JastAddList<ExamplesTuple> getExamplesTupleList() { - JastAddList<ExamplesTuple> list = (JastAddList<ExamplesTuple>) getChild(1); + @ASTNodeAnnotation.ListChild(name="ExampleTuple") + public JastAddList<ExampleTuple> getExampleTupleList() { + JastAddList<ExampleTuple> list = (JastAddList<ExampleTuple>) getChild(1); return list; } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTupleListNoTransform() { - return (JastAddList<ExamplesTuple>) getChildNoTransform(1); + public JastAddList<ExampleTuple> getExampleTupleListNoTransform() { + return (JastAddList<ExampleTuple>) getChildNoTransform(1); } /** - * @return the element at index {@code i} in the ExamplesTuple list without + * @return the element at index {@code i} in the ExampleTuple list without * triggering rewrites. */ - public ExamplesTuple getExamplesTupleNoTransform(int i) { - return (ExamplesTuple) getExamplesTupleListNoTransform().getChildNoTransform(i); + public ExampleTuple getExampleTupleNoTransform(int i) { + return (ExampleTuple) getExampleTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the ExamplesTuple list. - * @return The node representing the ExamplesTuple list. + * Retrieves the ExampleTuple list. + * @return The node representing the ExampleTuple list. * @apilevel high-level */ - public JastAddList<ExamplesTuple> getExamplesTuples() { - return getExamplesTupleList(); + public JastAddList<ExampleTuple> getExampleTuples() { + return getExampleTupleList(); } /** - * Retrieves the ExamplesTuple list. + * Retrieves the ExampleTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the ExamplesTuple list. + * @return The node representing the ExampleTuple list. * @apilevel low-level */ - public JastAddList<ExamplesTuple> getExamplesTuplesNoTransform() { - return getExamplesTupleListNoTransform(); + public JastAddList<ExampleTuple> getExampleTuplesNoTransform() { + return getExampleTupleListNoTransform(); } /** * Replaces the ContentTuple list. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.java deleted file mode 100644 index 459d660e..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterObjectTuple.java +++ /dev/null @@ -1,206 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:37 - * @astdecl ParameterObjectTuple : ParameterTuple ::= <Name:String> ParameterObject; - * @production ParameterObjectTuple : {@link ParameterTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link ParameterObject}</span>; - - */ -public class ParameterObjectTuple extends ParameterTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ParameterObjectTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - children = new ASTNode[1]; - } - /** - * @declaredat ASTNode:13 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "ParameterObject"}, - type = {"String", "ParameterObject"}, - kind = {"Token", "Child"} - ) - public ParameterObjectTuple(String p0, ParameterObject p1) { - setName(p0); - setChild(p1, 0); - } - /** @apilevel low-level - * @declaredat ASTNode:23 - */ - protected int numChildren() { - return 1; - } - /** - * @apilevel internal - * @declaredat ASTNode:29 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:33 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:37 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:41 - */ - public ParameterObjectTuple clone() throws CloneNotSupportedException { - ParameterObjectTuple node = (ParameterObjectTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:46 - */ - public ParameterObjectTuple copy() { - try { - ParameterObjectTuple node = (ParameterObjectTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:65 - */ - @Deprecated - public ParameterObjectTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:75 - */ - public ParameterObjectTuple treeCopyNoTransform() { - ParameterObjectTuple tree = (ParameterObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:95 - */ - public ParameterObjectTuple treeCopy() { - ParameterObjectTuple tree = (ParameterObjectTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:109 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ParameterObjectTuple) node).tokenString_Name); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the ParameterObject child. - * @param node The new node to replace the ParameterObject child. - * @apilevel high-level - */ - public void setParameterObject(ParameterObject node) { - setChild(node, 0); - } - /** - * Retrieves the ParameterObject child. - * @return The current node used as the ParameterObject child. - * @apilevel high-level - */ - @ASTNodeAnnotation.Child(name="ParameterObject") - public ParameterObject getParameterObject() { - return (ParameterObject) getChild(0); - } - /** - * Retrieves the ParameterObject child. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the ParameterObject child. - * @apilevel low-level - */ - public ParameterObject getParameterObjectNoTransform() { - return (ParameterObject) getChildNoTransform(0); - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.java deleted file mode 100644 index 31291ae9..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:38 - * @astdecl ParameterReferenceTuple : ParameterTuple ::= <Name:String> <Ref:String>; - * @production ParameterReferenceTuple : {@link ParameterTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class ParameterReferenceTuple extends ParameterTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ParameterReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public ParameterReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public ParameterReferenceTuple clone() throws CloneNotSupportedException { - ParameterReferenceTuple node = (ParameterReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public ParameterReferenceTuple copy() { - try { - ParameterReferenceTuple node = (ParameterReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public ParameterReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public ParameterReferenceTuple treeCopyNoTransform() { - ParameterReferenceTuple tree = (ParameterReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public ParameterReferenceTuple treeCopy() { - ParameterReferenceTuple tree = (ParameterReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ParameterReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((ParameterReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java index b0d77691..448f452b 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ParameterTuple.java @@ -4,17 +4,18 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:36 - * @astdecl ParameterTuple : ASTNode; - * @production ParameterTuple : {@link ASTNode}; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:25 + * @astdecl ParameterTuple : ASTNode ::= <Key:String> ParameterObject; + * @production ParameterTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link ParameterObject}</span>; */ -public abstract class ParameterTuple extends ASTNode<ASTNode> implements Cloneable { +public class ParameterTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ @@ -29,66 +30,172 @@ public abstract class ParameterTuple extends ASTNode<ASTNode> implements Cloneab * @declaredat ASTNode:10 */ public void init$Children() { + children = new ASTNode[1]; } - /** @apilevel low-level + /** * @declaredat ASTNode:13 */ + @ASTNodeAnnotation.Constructor( + name = {"Key", "ParameterObject"}, + type = {"String", "ParameterObject"}, + kind = {"Token", "Child"} + ) + public ParameterTuple(String p0, ParameterObject p1) { + setKey(p0); + setChild(p1, 0); + } + /** @apilevel low-level + * @declaredat ASTNode:23 + */ protected int numChildren() { - return 0; + return 1; } /** * @apilevel internal - * @declaredat ASTNode:19 + * @declaredat ASTNode:29 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:23 + * @declaredat ASTNode:33 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:27 + * @declaredat ASTNode:37 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:31 + * @declaredat ASTNode:41 */ public ParameterTuple clone() throws CloneNotSupportedException { ParameterTuple node = (ParameterTuple) super.clone(); return node; } + /** @apilevel internal + * @declaredat ASTNode:46 + */ + public ParameterTuple copy() { + try { + ParameterTuple node = (ParameterTuple) clone(); + node.parent = null; + if (children != null) { + node.children = (ASTNode[]) children.clone(); + } + return node; + } catch (CloneNotSupportedException e) { + throw new Error("Error: clone not supported for " + getClass().getName()); + } + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 + * @declaredat ASTNode:65 */ @Deprecated - public abstract ParameterTuple fullCopy(); + public ParameterTuple fullCopy() { + return treeCopyNoTransform(); + } /** * Create a deep copy of the AST subtree at this node. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:50 + * @declaredat ASTNode:75 */ - public abstract ParameterTuple treeCopyNoTransform(); + public ParameterTuple treeCopyNoTransform() { + ParameterTuple tree = (ParameterTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) children[i]; + if (child != null) { + child = child.treeCopyNoTransform(); + tree.setChild(child, i); + } + } + } + return tree; + } /** * Create a deep copy of the AST subtree at this node. * The subtree of this node is traversed to trigger rewrites before copy. * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:58 + * @declaredat ASTNode:95 + */ + public ParameterTuple treeCopy() { + ParameterTuple tree = (ParameterTuple) copy(); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + ASTNode child = (ASTNode) getChild(i); + if (child != null) { + child = child.treeCopy(); + tree.setChild(child, i); + } + } + } + return tree; + } + /** @apilevel internal + * @declaredat ASTNode:109 + */ + protected boolean is$Equal(ASTNode node) { + return super.is$Equal(node) && (tokenString_Key == ((ParameterTuple) node).tokenString_Key); + } + /** + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. + * @apilevel high-level + */ + public void setKey(String value) { + tokenString_Key = value; + } + /** @apilevel internal + */ + protected String tokenString_Key; + /** + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; + } + /** + * Replaces the ParameterObject child. + * @param node The new node to replace the ParameterObject child. + * @apilevel high-level + */ + public void setParameterObject(ParameterObject node) { + setChild(node, 0); + } + /** + * Retrieves the ParameterObject child. + * @return The current node used as the ParameterObject child. + * @apilevel high-level + */ + @ASTNodeAnnotation.Child(name="ParameterObject") + public ParameterObject getParameterObject() { + return (ParameterObject) getChild(0); + } + /** + * Retrieves the ParameterObject child. + * <p><em>This method does not invoke AST transformations.</em></p> + * @return The current node used as the ParameterObject child. + * @apilevel low-level */ - public abstract ParameterTuple treeCopy(); + public ParameterObject getParameterObjectNoTransform() { + return (ParameterObject) getChildNoTransform(0); + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java index e1179eb2..c7d403b4 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Password.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:154 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:115 * @astdecl Password : ASTNode ::= OAuthFlowObject; * @production Password : {@link ASTNode} ::= <span class="component">{@link OAuthFlowObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java index 26554adb..d93425db 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Patch.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:70 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:45 * @astdecl Patch : ASTNode ::= OperationObject; * @production Patch : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItem.java similarity index 87% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/PathItem.java index 602f4ed8..f872eeec 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItemObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathItem.java @@ -4,48 +4,52 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:60 - * @astdecl PathItemObject : ASTNode ::= <Ref:String> <Summary:String> <Description:String> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] ServerObject* ParameterObject*; - * @production PathItemObject : {@link ASTNode} ::= <span class="component"><Ref:String></span> <span class="component"><Summary:String></span> <span class="component"><Description:String></span> <span class="component">[{@link Get}]</span> <span class="component">[{@link Put}]</span> <span class="component">[{@link Post}]</span> <span class="component">[{@link Delete}]</span> <span class="component">[{@link Options}]</span> <span class="component">[{@link Head}]</span> <span class="component">[{@link Patch}]</span> <span class="component">[{@link Trace}]</span> <span class="component">{@link ServerObject}*</span> <span class="component">{@link ParameterObject}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:38 + * @astdecl PathItem : ASTNode ::= <Ref:String> <Summary:String> <Description:String> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] ServerObject* ParameterObject*; + * @production PathItem : {@link ASTNode} ::= <span class="component"><Ref:String></span> <span class="component"><Summary:String></span> <span class="component"><Description:String></span> <span class="component">[{@link Get}]</span> <span class="component">[{@link Put}]</span> <span class="component">[{@link Post}]</span> <span class="component">[{@link Delete}]</span> <span class="component">[{@link Options}]</span> <span class="component">[{@link Head}]</span> <span class="component">[{@link Patch}]</span> <span class="component">[{@link Trace}]</span> <span class="component">{@link ServerObject}*</span> <span class="component">{@link ParameterObject}*</span>; */ -public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { +public class PathItem extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:243 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:248 */ - public static Path composePath (PathItemObject pathItemObject){ + public static Path composePath (PathItem pathItem){ Path path = new Path(); - if( !pathItemObject.getSummary().isEmpty()) - path.setSummary(pathItemObject.getSummary()); - if( !pathItemObject.getDescription().isEmpty() ) - path.setDescription(pathItemObject.getDescription()); - if( pathItemObject.hasGet() ) - path.setGet( OperationObject.composeOperation(pathItemObject.getGet().getOperationObject()) ); - if( pathItemObject.hasPut() ) - path.setPut( OperationObject.composeOperation(pathItemObject.getPut().getOperationObject()) ); - if( pathItemObject.hasPost() ) - path.setPost( OperationObject.composeOperation(pathItemObject.getPost().getOperationObject()) ); - if( pathItemObject.hasDelete() ) - path.setDelete( OperationObject.composeOperation(pathItemObject.getDelete().getOperationObject()) ); - if( pathItemObject.hasOptions() ) - path.setOptions( OperationObject.composeOperation(pathItemObject.getOptions().getOperationObject()) ); - if( pathItemObject.hasHead() ) - path.setHead( OperationObject.composeOperation(pathItemObject.getHead().getOperationObject()) ); - if( pathItemObject.hasPatch() ) - path.setPatch( OperationObject.composeOperation(pathItemObject.getPatch().getOperationObject()) ); - if( pathItemObject.getNumServerObject() != 0 ){ - for( ServerObject s : pathItemObject.getServerObjects() ) + + if( !pathItem.getRef().isEmpty() ) + path.setRef(pathItem.getRef()); + if( !pathItem.getSummary().isEmpty()) + path.setSummary(pathItem.getSummary()); + if( !pathItem.getDescription().isEmpty() ) + path.setDescription(pathItem.getDescription()); + if( pathItem.hasGet() ) + path.setGet( OperationObject.composeOperation(pathItem.getGet().getOperationObject()) ); + if( pathItem.hasPut() ) + path.setPut( OperationObject.composeOperation(pathItem.getPut().getOperationObject()) ); + if( pathItem.hasPost() ) + path.setPost( OperationObject.composeOperation(pathItem.getPost().getOperationObject()) ); + if( pathItem.hasDelete() ) + path.setDelete( OperationObject.composeOperation(pathItem.getDelete().getOperationObject()) ); + if( pathItem.hasOptions() ) + path.setOptions( OperationObject.composeOperation(pathItem.getOptions().getOperationObject()) ); + if( pathItem.hasHead() ) + path.setHead( OperationObject.composeOperation(pathItem.getHead().getOperationObject()) ); + if( pathItem.hasPatch() ) + path.setPatch( OperationObject.composeOperation(pathItem.getPatch().getOperationObject()) ); + if( pathItem.getNumServerObject() != 0 ){ + for( ServerObject s : pathItem.getServerObjects() ) path.addServer( ServerObject.composeServer(s) ); } - if( pathItemObject.getNumParameterObject() != 0 ){ - for( ParameterObject p : pathItemObject.getParameterObjects() ) + if( pathItem.getNumParameterObject() != 0 ){ + for( ParameterObject p : pathItem.getParameterObjects() ) path.addParameter( ParameterObject.composeParameter(p) ); } @@ -53,79 +57,80 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:275 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:261 */ - public static PathItemObject parsePath(Path path){ - PathItemObject pathItemObject = new PathItemObject(); + public static PathItem parsePath(Path path){ + PathItem pathItem = new PathItem(); + if( path.getRef() != null ) - pathItemObject.setRef( path.getRef() ); + pathItem.setRef(path.getRef()); if( path.getSummary() != null ) - pathItemObject.setSummary( path.getSummary() ); + pathItem.setSummary(path.getSummary()); if( path.getDescription() != null ) - pathItemObject.setDescription( path.getDescription() ); + pathItem.setDescription(path.getDescription()); if( path.getGet() != null ){ Get get = new Get(); get.setOperationObject( OperationObject.parseOperation( path.getGet() ) ); - pathItemObject.setGet(get); + pathItem.setGet(get); } if( path.getPut() != null ){ Put put = new Put(); put.setOperationObject( OperationObject.parseOperation( path.getPut() ) ); - pathItemObject.setPut(put); + pathItem.setPut(put); } if( path.getPost() != null ){ Post post = new Post(); post.setOperationObject( OperationObject.parseOperation( path.getPost() ) ); - pathItemObject.setPost(post); + pathItem.setPost(post); } if( path.getDelete() != null ){ Delete delete = new Delete(); delete.setOperationObject( OperationObject.parseOperation( path.getDelete() ) ); - pathItemObject.setDelete(delete); + pathItem.setDelete(delete); } if( path.getOptions() != null ){ Options options = new Options(); options.setOperationObject( OperationObject.parseOperation( path.getOptions() ) ); - pathItemObject.setOptions(options); + pathItem.setOptions(options); } if( path.getHead() != null ){ Head head = new Head(); head.setOperationObject( OperationObject.parseOperation( path.getHead() ) ); - pathItemObject.setHead(head); + pathItem.setHead(head); } if( path.getPatch() != null ){ Patch patch = new Patch(); patch.setOperationObject( OperationObject.parseOperation( path.getPatch() ) ); - pathItemObject.setPatch(patch); + pathItem.setPatch(patch); } if( path.getTrace() != null ){ Trace trace = new Trace(); trace.setOperationObject( OperationObject.parseOperation( path.getTrace() ) ); - pathItemObject.setTrace(trace); + pathItem.setTrace(trace); } if( path.getServers() != null ){ for(Server s : path.getServers()) - pathItemObject.addServerObject( ServerObject.parseServer(s)); + pathItem.addServerObject( ServerObject.parseServer(s)); } if( path.getParameters() != null ){ for(Parameter p : path.getParameters()){ if( p.isRef() ) { ParameterObject parameterObject = new ParameterObject(); parameterObject.setRef(p.getRef()); - pathItemObject.addParameterObject(parameterObject); + pathItem.addParameterObject(parameterObject); } else - pathItemObject.addParameterObject(ParameterObject.parseParameter(p)); + pathItem.addParameterObject(ParameterObject.parseParameter(p)); } } - return pathItemObject; + return pathItem; } /** * @declaredat ASTNode:1 */ - public PathItemObject() { + public PathItem() { super(); } /** @@ -156,7 +161,7 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { type = {"String", "String", "String", "Opt<Get>", "Opt<Put>", "Opt<Post>", "Opt<Delete>", "Opt<Options>", "Opt<Head>", "Opt<Patch>", "Opt<Trace>", "JastAddList<ServerObject>", "JastAddList<ParameterObject>"}, kind = {"Token", "Token", "Token", "Opt", "Opt", "Opt", "Opt", "Opt", "Opt", "Opt", "Opt", "List", "List"} ) - public PathItemObject(String p0, String p1, String p2, Opt<Get> p3, Opt<Put> p4, Opt<Post> p5, Opt<Delete> p6, Opt<Options> p7, Opt<Head> p8, Opt<Patch> p9, Opt<Trace> p10, JastAddList<ServerObject> p11, JastAddList<ParameterObject> p12) { + public PathItem(String p0, String p1, String p2, Opt<Get> p3, Opt<Put> p4, Opt<Post> p5, Opt<Delete> p6, Opt<Options> p7, Opt<Head> p8, Opt<Patch> p9, Opt<Trace> p10, JastAddList<ServerObject> p11, JastAddList<ParameterObject> p12) { setRef(p0); setSummary(p1); setDescription(p2); @@ -199,16 +204,16 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { /** @apilevel internal * @declaredat ASTNode:62 */ - public PathItemObject clone() throws CloneNotSupportedException { - PathItemObject node = (PathItemObject) super.clone(); + public PathItem clone() throws CloneNotSupportedException { + PathItem node = (PathItem) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:67 */ - public PathItemObject copy() { + public PathItem copy() { try { - PathItemObject node = (PathItemObject) clone(); + PathItem node = (PathItem) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -227,7 +232,7 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:86 */ @Deprecated - public PathItemObject fullCopy() { + public PathItem fullCopy() { return treeCopyNoTransform(); } /** @@ -237,8 +242,8 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level * @declaredat ASTNode:96 */ - public PathItemObject treeCopyNoTransform() { - PathItemObject tree = (PathItemObject) copy(); + public PathItem treeCopyNoTransform() { + PathItem tree = (PathItem) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -258,8 +263,8 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level * @declaredat ASTNode:116 */ - public PathItemObject treeCopy() { - PathItemObject tree = (PathItemObject) copy(); + public PathItem treeCopy() { + PathItem tree = (PathItem) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -275,7 +280,7 @@ public class PathItemObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:130 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Ref == ((PathItemObject) node).tokenString_Ref) && (tokenString_Summary == ((PathItemObject) node).tokenString_Summary) && (tokenString_Description == ((PathItemObject) node).tokenString_Description); + return super.is$Equal(node) && (tokenString_Ref == ((PathItem) node).tokenString_Ref) && (tokenString_Summary == ((PathItem) node).tokenString_Summary) && (tokenString_Description == ((PathItem) node).tokenString_Description); } /** * Replaces the lexeme Ref. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java index 768d3e8f..9987c0ae 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PathsObject.java @@ -4,31 +4,18 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:3 - * @astdecl PathsObject : ASTNode ::= <Ref:String> PathItemObject; - * @production PathsObject : {@link ASTNode} ::= <span class="component"><Ref:String></span> <span class="component">{@link PathItemObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:35 + * @astdecl PathsObject : ASTNode ::= <Ref:String> PathItem; + * @production PathsObject : {@link ASTNode} ::= <span class="component"><Ref:String></span> <span class="component">{@link PathItem}</span>; */ public class PathsObject extends ASTNode<ASTNode> implements Cloneable { - /** - * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:264 - */ - public static PathsObject parsePaths(OpenApi3 api3){ - PathsObject pathsObject = new PathsObject(); - - for ( String key : api3.getPaths().keySet() ){ - pathsObject.setRef( key ); - pathsObject.setPathItemObject( PathItemObject.parsePath(api3.getPath(key)) ); - } - - return pathsObject; - } /** * @declaredat ASTNode:1 */ @@ -49,11 +36,11 @@ public class PathsObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Ref", "PathItemObject"}, - type = {"String", "PathItemObject"}, + name = {"Ref", "PathItem"}, + type = {"String", "PathItem"}, kind = {"Token", "Child"} ) - public PathsObject(String p0, PathItemObject p1) { + public PathsObject(String p0, PathItem p1) { setRef(p0); setChild(p1, 0); } @@ -184,30 +171,30 @@ public class PathsObject extends ASTNode<ASTNode> implements Cloneable { return tokenString_Ref != null ? tokenString_Ref : ""; } /** - * Replaces the PathItemObject child. - * @param node The new node to replace the PathItemObject child. + * Replaces the PathItem child. + * @param node The new node to replace the PathItem child. * @apilevel high-level */ - public void setPathItemObject(PathItemObject node) { + public void setPathItem(PathItem node) { setChild(node, 0); } /** - * Retrieves the PathItemObject child. - * @return The current node used as the PathItemObject child. + * Retrieves the PathItem child. + * @return The current node used as the PathItem child. * @apilevel high-level */ - @ASTNodeAnnotation.Child(name="PathItemObject") - public PathItemObject getPathItemObject() { - return (PathItemObject) getChild(0); + @ASTNodeAnnotation.Child(name="PathItem") + public PathItem getPathItem() { + return (PathItem) getChild(0); } /** - * Retrieves the PathItemObject child. + * Retrieves the PathItem child. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the PathItemObject child. + * @return The current node used as the PathItem child. * @apilevel low-level */ - public PathItemObject getPathItemObjectNoTransform() { - return (PathItemObject) getChildNoTransform(0); + public PathItem getPathItemNoTransform() { + return (PathItem) getChildNoTransform(0); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java index 4e3b60b7..fb9bcc86 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Post.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:66 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:41 * @astdecl Post : ASTNode ::= OperationObject; * @production Post : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java index ffc2695e..f4fb1336 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/PropertyItem.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:134 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:96 * @astdecl PropertyItem : ASTNode ::= <Name:String> SchemaObject; * @production PropertyItem : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component">{@link SchemaObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java index 2772971b..877f964e 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Put.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:65 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:40 * @astdecl Put : ASTNode ::= OperationObject; * @production Put : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.java deleted file mode 100644 index f8b1416f..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodiesTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:42 - * @astdecl RequestBodiesTuple : ASTNode; - * @production RequestBodiesTuple : {@link ASTNode}; - - */ -public abstract class RequestBodiesTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public RequestBodiesTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public RequestBodiesTuple clone() throws CloneNotSupportedException { - RequestBodiesTuple node = (RequestBodiesTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract RequestBodiesTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract RequestBodiesTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract RequestBodiesTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java index 2073e618..b405309e 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:77 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:60 * @astdecl RequestBodyObject : ASTNode ::= <Description:String> ContentTuple* <Required:Boolean> <Ref:String>; * @production RequestBodyObject : {@link ASTNode} ::= <span class="component"><Description:String></span> <span class="component">{@link ContentTuple}*</span> <span class="component"><Required:Boolean></span> <span class="component"><Ref:String></span>; @@ -17,41 +18,43 @@ import java.net.URL; public class RequestBodyObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:383 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:398 */ public static org.openapi4j.parser.model.v3.RequestBody composeRequestBody (RequestBodyObject requestBodyObject){ org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody(); - Map<String, MediaType> contents = new HashMap<>(); - for( ContentTuple t : requestBodyObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + if( requestBodyObject.getNumContentTuple() != 0 ){ + Map<String, MediaType> contents = new HashMap<>(); + for( ContentTuple t : requestBodyObject.getContentTuples()) + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); requestBody.setContentMediaTypes(contents); + } if( !requestBodyObject.getDescription().isEmpty() ) requestBody.setDescription(requestBodyObject.getDescription()); if( requestBodyObject.getRequired() != null ) requestBody.setRequired(requestBodyObject.getRequired()); if( !requestBodyObject.getRef().isEmpty() ) - requestBody.setRef(requestBodyObject.getRef()); + requestBody.setRef(requestBodyObject.getRef()); return requestBody; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:453 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:429 */ public static RequestBodyObject parseRequestBody(org.openapi4j.parser.model.v3.RequestBody requestBody){ RequestBodyObject requestBodyObject = new RequestBodyObject(); if( requestBody.getContentMediaTypes() != null ) { for (String key : requestBody.getContentMediaTypes().keySet()) - requestBodyObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(requestBody.getContentMediaType(key)))); + requestBodyObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(requestBody.getContentMediaType(key)))); } if( requestBody.getDescription() != null ) requestBodyObject.setDescription(requestBody.getDescription()); if( requestBody.getRequired() != null ) requestBodyObject.setRequired( requestBody.getRequired() ); if( requestBody.isRef() ) - requestBodyObject.setRef(requestBody.getRef()); + requestBodyObject.setRef(requestBody.getRef()); return requestBodyObject; } diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.java deleted file mode 100644 index e3470b07..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:44 - * @astdecl RequestBodyReferenceTuple : RequestBodiesTuple ::= <Name:String> <Ref:String>; - * @production RequestBodyReferenceTuple : {@link RequestBodiesTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class RequestBodyReferenceTuple extends RequestBodiesTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public RequestBodyReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public RequestBodyReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public RequestBodyReferenceTuple clone() throws CloneNotSupportedException { - RequestBodyReferenceTuple node = (RequestBodyReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public RequestBodyReferenceTuple copy() { - try { - RequestBodyReferenceTuple node = (RequestBodyReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public RequestBodyReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public RequestBodyReferenceTuple treeCopyNoTransform() { - RequestBodyReferenceTuple tree = (RequestBodyReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public RequestBodyReferenceTuple treeCopy() { - RequestBodyReferenceTuple tree = (RequestBodyReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((RequestBodyReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((RequestBodyReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java similarity index 72% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java index 37d62a18..5b34c52c 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequestBodyTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:43 - * @astdecl RequestBodyObjectTuple : RequestBodiesTuple ::= <Name:String> RequestBodyObject; - * @production RequestBodyObjectTuple : {@link RequestBodiesTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link RequestBodyObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:27 + * @astdecl RequestBodyTuple : ASTNode ::= <Key:String> RequestBodyObject; + * @production RequestBodyTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link RequestBodyObject}</span>; */ -public class RequestBodyObjectTuple extends RequestBodiesTuple implements Cloneable { +public class RequestBodyTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public RequestBodyObjectTuple() { + public RequestBodyTuple() { super(); } /** @@ -35,12 +36,12 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "RequestBodyObject"}, + name = {"Key", "RequestBodyObject"}, type = {"String", "RequestBodyObject"}, kind = {"Token", "Child"} ) - public RequestBodyObjectTuple(String p0, RequestBodyObject p1) { - setName(p0); + public RequestBodyTuple(String p0, RequestBodyObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea /** @apilevel internal * @declaredat ASTNode:41 */ - public RequestBodyObjectTuple clone() throws CloneNotSupportedException { - RequestBodyObjectTuple node = (RequestBodyObjectTuple) super.clone(); + public RequestBodyTuple clone() throws CloneNotSupportedException { + RequestBodyTuple node = (RequestBodyTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public RequestBodyObjectTuple copy() { + public RequestBodyTuple copy() { try { - RequestBodyObjectTuple node = (RequestBodyObjectTuple) clone(); + RequestBodyTuple node = (RequestBodyTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea * @declaredat ASTNode:65 */ @Deprecated - public RequestBodyObjectTuple fullCopy() { + public RequestBodyTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea * @apilevel low-level * @declaredat ASTNode:75 */ - public RequestBodyObjectTuple treeCopyNoTransform() { - RequestBodyObjectTuple tree = (RequestBodyObjectTuple) copy(); + public RequestBodyTuple treeCopyNoTransform() { + RequestBodyTuple tree = (RequestBodyTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea * @apilevel low-level * @declaredat ASTNode:95 */ - public RequestBodyObjectTuple treeCopy() { - RequestBodyObjectTuple tree = (RequestBodyObjectTuple) copy(); + public RequestBodyTuple treeCopy() { + RequestBodyTuple tree = (RequestBodyTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class RequestBodyObjectTuple extends RequestBodiesTuple implements Clonea * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((RequestBodyObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((RequestBodyTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the RequestBodyObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java index 97296618..7e6d0191 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/RequiredField.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:135 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:97 * @astdecl RequiredField : ASTNode ::= <Value:String>; * @production RequiredField : {@link ASTNode} ::= <span class="component"><Value:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java index e886c40b..97395870 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObject.java @@ -4,66 +4,72 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:105 - * @astdecl ResponseObject : HTTPStatusCode ::= <Name:String> <Description:String> HeadersTuple* ContentTuple* LinksTuple*; - * @production ResponseObject : {@link HTTPStatusCode} ::= <span class="component"><Name:String></span> <span class="component"><Description:String></span> <span class="component">{@link HeadersTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component">{@link LinksTuple}*</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:70 + * @astdecl ResponseObject : ASTNode ::= <Ref:String> <Description:String> HeaderTuple* ContentTuple* LinkTuple*; + * @production ResponseObject : {@link ASTNode} ::= <span class="component"><Ref:String></span> <span class="component"><Description:String></span> <span class="component">{@link HeaderTuple}*</span> <span class="component">{@link ContentTuple}*</span> <span class="component">{@link LinkTuple}*</span>; */ -public class ResponseObject extends HTTPStatusCode implements Cloneable { +public class ResponseObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:445 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:465 */ public static Response composeResponse (ResponseObject responseObject){ Response response = new Response(); - response.setDescription( responseObject.getDescription() ); - - if( responseObject.getNumHeadersTuple() != 0 ){ + if( !responseObject.getRef().isEmpty() ) + response.setRef(responseObject.getRef()); + if( !responseObject.getDescription().isEmpty() ) + response.setDescription(responseObject.getDescription()); + if( responseObject.getNumHeaderTuple() != 0 ){ Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : responseObject.getHeadersTuples() ) - headers.put( ((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader( ((HeaderObjectTuple)t).getHeaderObject() ) ); + for( HeaderTuple t : responseObject.getHeaderTuples() ) + headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); response.setHeaders(headers); } if( responseObject.getNumContentTuple() != 0 ){ Map<String, MediaType> contents = new HashMap<>(); for( ContentTuple t : responseObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); response.setContentMediaTypes(contents); } - if( responseObject.getNumLinksTuple() != 0 ){ + if( responseObject.getNumLinkTuple() != 0 ){ Map<String, Link> links = new HashMap<>(); - for( LinksTuple t : responseObject.getLinksTuples() ) - links.put( ((LinkObjectTuple)t).getName(), LinkObject.composeLink( ((LinkObjectTuple)t).getLinkObject() ) ); + for( LinkTuple t : responseObject.getLinkTuples() ) + links.put(t.getKey(), LinkObject.composeLink(t.getLinkObject())); + response.setLinks(links); } return response; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:510 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:486 */ public static ResponseObject parseResponse(Response response){ ResponseObject responseObject = new ResponseObject(); - responseObject.setDescription( response.getDescription() ); - + if( response.isRef() ) + responseObject.setRef(response.getRef()); + if( response.getDescription() != null ) + responseObject.setDescription(response.getDescription()); if( response.getHeaders() != null ){ for( String key : response.getHeaders().keySet() ) - responseObject.addHeadersTuple( new HeaderObjectTuple(key, HeaderObject.parseHeader(response.getHeader(key))) ); + responseObject.addHeaderTuple( new HeaderTuple(key, HeaderObject.parseHeader(response.getHeader(key))) ); } if( response.getContentMediaTypes() != null ){ for( String key : response.getContentMediaTypes().keySet() ) - responseObject.addContentTuple( new ContentObjectTuple(key, MediaTypeObject.parseMediaType(response.getContentMediaType(key))) ); + responseObject.addContentTuple( new ContentTuple(key, MediaTypeObject.parseMediaType(response.getContentMediaType(key))) ); } if( response.getLinks() != null ){ for( String key : response.getLinks().keySet() ) - responseObject.addLinksTuple( new LinkObjectTuple(key, LinkObject.parseLink(response.getLink(key))) ); + responseObject.addLinkTuple( new LinkTuple(key, LinkObject.parseLink(response.getLink(key))) ); } return responseObject; @@ -91,12 +97,12 @@ public class ResponseObject extends HTTPStatusCode implements Cloneable { * @declaredat ASTNode:16 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "Description", "HeadersTuple", "ContentTuple", "LinksTuple"}, - type = {"String", "String", "JastAddList<HeadersTuple>", "JastAddList<ContentTuple>", "JastAddList<LinksTuple>"}, + name = {"Ref", "Description", "HeaderTuple", "ContentTuple", "LinkTuple"}, + type = {"String", "String", "JastAddList<HeaderTuple>", "JastAddList<ContentTuple>", "JastAddList<LinkTuple>"}, kind = {"Token", "Token", "List", "List", "List"} ) - public ResponseObject(String p0, String p1, JastAddList<HeadersTuple> p2, JastAddList<ContentTuple> p3, JastAddList<LinksTuple> p4) { - setName(p0); + public ResponseObject(String p0, String p1, JastAddList<HeaderTuple> p2, JastAddList<ContentTuple> p3, JastAddList<LinkTuple> p4) { + setRef(p0); setDescription(p1); setChild(p2, 0); setChild(p3, 1); @@ -206,27 +212,27 @@ public class ResponseObject extends HTTPStatusCode implements Cloneable { * @declaredat ASTNode:115 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ResponseObject) node).tokenString_Name) && (tokenString_Description == ((ResponseObject) node).tokenString_Description); + return super.is$Equal(node) && (tokenString_Ref == ((ResponseObject) node).tokenString_Ref) && (tokenString_Description == ((ResponseObject) node).tokenString_Description); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Ref. + * @param value The new value for the lexeme Ref. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setRef(String value) { + tokenString_Ref = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Ref; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Ref. + * @return The value for the lexeme Ref. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Ref") + public String getRef() { + return tokenString_Ref != null ? tokenString_Ref : ""; } /** * Replaces the lexeme Description. @@ -249,114 +255,114 @@ public class ResponseObject extends HTTPStatusCode implements Cloneable { return tokenString_Description != null ? tokenString_Description : ""; } /** - * Replaces the HeadersTuple list. - * @param list The new list node to be used as the HeadersTuple list. + * Replaces the HeaderTuple list. + * @param list The new list node to be used as the HeaderTuple list. * @apilevel high-level */ - public void setHeadersTupleList(JastAddList<HeadersTuple> list) { + public void setHeaderTupleList(JastAddList<HeaderTuple> list) { setChild(list, 0); } /** - * Retrieves the number of children in the HeadersTuple list. - * @return Number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel high-level */ - public int getNumHeadersTuple() { - return getHeadersTupleList().getNumChild(); + public int getNumHeaderTuple() { + return getHeaderTupleList().getNumChild(); } /** - * Retrieves the number of children in the HeadersTuple list. + * Retrieves the number of children in the HeaderTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the HeadersTuple list. + * @return Number of children in the HeaderTuple list. * @apilevel low-level */ - public int getNumHeadersTupleNoTransform() { - return getHeadersTupleListNoTransform().getNumChildNoTransform(); + public int getNumHeaderTupleNoTransform() { + return getHeaderTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the HeadersTuple list. + * Retrieves the element at index {@code i} in the HeaderTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the HeadersTuple list. + * @return The element at position {@code i} in the HeaderTuple list. * @apilevel high-level */ - public HeadersTuple getHeadersTuple(int i) { - return (HeadersTuple) getHeadersTupleList().getChild(i); + public HeaderTuple getHeaderTuple(int i) { + return (HeaderTuple) getHeaderTupleList().getChild(i); } /** - * Check whether the HeadersTuple list has any children. + * Check whether the HeaderTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasHeadersTuple() { - return getHeadersTupleList().getNumChild() != 0; + public boolean hasHeaderTuple() { + return getHeaderTupleList().getNumChild() != 0; } /** - * Append an element to the HeadersTuple list. - * @param node The element to append to the HeadersTuple list. + * Append an element to the HeaderTuple list. + * @param node The element to append to the HeaderTuple list. * @apilevel high-level */ - public void addHeadersTuple(HeadersTuple node) { - JastAddList<HeadersTuple> list = (parent == null) ? getHeadersTupleListNoTransform() : getHeadersTupleList(); + public void addHeaderTuple(HeaderTuple node) { + JastAddList<HeaderTuple> list = (parent == null) ? getHeaderTupleListNoTransform() : getHeaderTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addHeadersTupleNoTransform(HeadersTuple node) { - JastAddList<HeadersTuple> list = getHeadersTupleListNoTransform(); + public void addHeaderTupleNoTransform(HeaderTuple node) { + JastAddList<HeaderTuple> list = getHeaderTupleListNoTransform(); list.addChild(node); } /** - * Replaces the HeadersTuple list element at index {@code i} with the new node {@code node}. + * Replaces the HeaderTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setHeadersTuple(HeadersTuple node, int i) { - JastAddList<HeadersTuple> list = getHeadersTupleList(); + public void setHeaderTuple(HeaderTuple node, int i) { + JastAddList<HeaderTuple> list = getHeaderTupleList(); list.setChild(node, i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="HeadersTuple") - public JastAddList<HeadersTuple> getHeadersTupleList() { - JastAddList<HeadersTuple> list = (JastAddList<HeadersTuple>) getChild(0); + @ASTNodeAnnotation.ListChild(name="HeaderTuple") + public JastAddList<HeaderTuple> getHeaderTupleList() { + JastAddList<HeaderTuple> list = (JastAddList<HeaderTuple>) getChild(0); return list; } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTupleListNoTransform() { - return (JastAddList<HeadersTuple>) getChildNoTransform(0); + public JastAddList<HeaderTuple> getHeaderTupleListNoTransform() { + return (JastAddList<HeaderTuple>) getChildNoTransform(0); } /** - * @return the element at index {@code i} in the HeadersTuple list without + * @return the element at index {@code i} in the HeaderTuple list without * triggering rewrites. */ - public HeadersTuple getHeadersTupleNoTransform(int i) { - return (HeadersTuple) getHeadersTupleListNoTransform().getChildNoTransform(i); + public HeaderTuple getHeaderTupleNoTransform(int i) { + return (HeaderTuple) getHeaderTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the HeadersTuple list. - * @return The node representing the HeadersTuple list. + * Retrieves the HeaderTuple list. + * @return The node representing the HeaderTuple list. * @apilevel high-level */ - public JastAddList<HeadersTuple> getHeadersTuples() { - return getHeadersTupleList(); + public JastAddList<HeaderTuple> getHeaderTuples() { + return getHeaderTupleList(); } /** - * Retrieves the HeadersTuple list. + * Retrieves the HeaderTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HeadersTuple list. + * @return The node representing the HeaderTuple list. * @apilevel low-level */ - public JastAddList<HeadersTuple> getHeadersTuplesNoTransform() { - return getHeadersTupleListNoTransform(); + public JastAddList<HeaderTuple> getHeaderTuplesNoTransform() { + return getHeaderTupleListNoTransform(); } /** * Replaces the ContentTuple list. @@ -469,114 +475,114 @@ public class ResponseObject extends HTTPStatusCode implements Cloneable { return getContentTupleListNoTransform(); } /** - * Replaces the LinksTuple list. - * @param list The new list node to be used as the LinksTuple list. + * Replaces the LinkTuple list. + * @param list The new list node to be used as the LinkTuple list. * @apilevel high-level */ - public void setLinksTupleList(JastAddList<LinksTuple> list) { + public void setLinkTupleList(JastAddList<LinkTuple> list) { setChild(list, 2); } /** - * Retrieves the number of children in the LinksTuple list. - * @return Number of children in the LinksTuple list. + * Retrieves the number of children in the LinkTuple list. + * @return Number of children in the LinkTuple list. * @apilevel high-level */ - public int getNumLinksTuple() { - return getLinksTupleList().getNumChild(); + public int getNumLinkTuple() { + return getLinkTupleList().getNumChild(); } /** - * Retrieves the number of children in the LinksTuple list. + * Retrieves the number of children in the LinkTuple list. * Calling this method will not trigger rewrites. - * @return Number of children in the LinksTuple list. + * @return Number of children in the LinkTuple list. * @apilevel low-level */ - public int getNumLinksTupleNoTransform() { - return getLinksTupleListNoTransform().getNumChildNoTransform(); + public int getNumLinkTupleNoTransform() { + return getLinkTupleListNoTransform().getNumChildNoTransform(); } /** - * Retrieves the element at index {@code i} in the LinksTuple list. + * Retrieves the element at index {@code i} in the LinkTuple list. * @param i Index of the element to return. - * @return The element at position {@code i} in the LinksTuple list. + * @return The element at position {@code i} in the LinkTuple list. * @apilevel high-level */ - public LinksTuple getLinksTuple(int i) { - return (LinksTuple) getLinksTupleList().getChild(i); + public LinkTuple getLinkTuple(int i) { + return (LinkTuple) getLinkTupleList().getChild(i); } /** - * Check whether the LinksTuple list has any children. + * Check whether the LinkTuple list has any children. * @return {@code true} if it has at least one child, {@code false} otherwise. * @apilevel high-level */ - public boolean hasLinksTuple() { - return getLinksTupleList().getNumChild() != 0; + public boolean hasLinkTuple() { + return getLinkTupleList().getNumChild() != 0; } /** - * Append an element to the LinksTuple list. - * @param node The element to append to the LinksTuple list. + * Append an element to the LinkTuple list. + * @param node The element to append to the LinkTuple list. * @apilevel high-level */ - public void addLinksTuple(LinksTuple node) { - JastAddList<LinksTuple> list = (parent == null) ? getLinksTupleListNoTransform() : getLinksTupleList(); + public void addLinkTuple(LinkTuple node) { + JastAddList<LinkTuple> list = (parent == null) ? getLinkTupleListNoTransform() : getLinkTupleList(); list.addChild(node); } /** @apilevel low-level */ - public void addLinksTupleNoTransform(LinksTuple node) { - JastAddList<LinksTuple> list = getLinksTupleListNoTransform(); + public void addLinkTupleNoTransform(LinkTuple node) { + JastAddList<LinkTuple> list = getLinkTupleListNoTransform(); list.addChild(node); } /** - * Replaces the LinksTuple list element at index {@code i} with the new node {@code node}. + * Replaces the LinkTuple list element at index {@code i} with the new node {@code node}. * @param node The new node to replace the old list element. * @param i The list index of the node to be replaced. * @apilevel high-level */ - public void setLinksTuple(LinksTuple node, int i) { - JastAddList<LinksTuple> list = getLinksTupleList(); + public void setLinkTuple(LinkTuple node, int i) { + JastAddList<LinkTuple> list = getLinkTupleList(); list.setChild(node, i); } /** - * Retrieves the LinksTuple list. - * @return The node representing the LinksTuple list. + * Retrieves the LinkTuple list. + * @return The node representing the LinkTuple list. * @apilevel high-level */ - @ASTNodeAnnotation.ListChild(name="LinksTuple") - public JastAddList<LinksTuple> getLinksTupleList() { - JastAddList<LinksTuple> list = (JastAddList<LinksTuple>) getChild(2); + @ASTNodeAnnotation.ListChild(name="LinkTuple") + public JastAddList<LinkTuple> getLinkTupleList() { + JastAddList<LinkTuple> list = (JastAddList<LinkTuple>) getChild(2); return list; } /** - * Retrieves the LinksTuple list. + * Retrieves the LinkTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the LinksTuple list. + * @return The node representing the LinkTuple list. * @apilevel low-level */ - public JastAddList<LinksTuple> getLinksTupleListNoTransform() { - return (JastAddList<LinksTuple>) getChildNoTransform(2); + public JastAddList<LinkTuple> getLinkTupleListNoTransform() { + return (JastAddList<LinkTuple>) getChildNoTransform(2); } /** - * @return the element at index {@code i} in the LinksTuple list without + * @return the element at index {@code i} in the LinkTuple list without * triggering rewrites. */ - public LinksTuple getLinksTupleNoTransform(int i) { - return (LinksTuple) getLinksTupleListNoTransform().getChildNoTransform(i); + public LinkTuple getLinkTupleNoTransform(int i) { + return (LinkTuple) getLinkTupleListNoTransform().getChildNoTransform(i); } /** - * Retrieves the LinksTuple list. - * @return The node representing the LinksTuple list. + * Retrieves the LinkTuple list. + * @return The node representing the LinkTuple list. * @apilevel high-level */ - public JastAddList<LinksTuple> getLinksTuples() { - return getLinksTupleList(); + public JastAddList<LinkTuple> getLinkTuples() { + return getLinkTupleList(); } /** - * Retrieves the LinksTuple list. + * Retrieves the LinkTuple list. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the LinksTuple list. + * @return The node representing the LinkTuple list. * @apilevel low-level */ - public JastAddList<LinksTuple> getLinksTuplesNoTransform() { - return getLinksTupleListNoTransform(); + public JastAddList<LinkTuple> getLinkTuplesNoTransform() { + return getLinkTupleListNoTransform(); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.java deleted file mode 100644 index 913ca049..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:35 - * @astdecl ResponseReferenceTuple : ResponsesTuple ::= <Name:String> <Ref:String>; - * @production ResponseReferenceTuple : {@link ResponsesTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class ResponseReferenceTuple extends ResponsesTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ResponseReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public ResponseReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public ResponseReferenceTuple clone() throws CloneNotSupportedException { - ResponseReferenceTuple node = (ResponseReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public ResponseReferenceTuple copy() { - try { - ResponseReferenceTuple node = (ResponseReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public ResponseReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public ResponseReferenceTuple treeCopyNoTransform() { - ResponseReferenceTuple tree = (ResponseReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public ResponseReferenceTuple treeCopy() { - ResponseReferenceTuple tree = (ResponseReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ResponseReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((ResponseReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java similarity index 73% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java index 4b8d4840..cb4f190f 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponseTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:34 - * @astdecl ResponseObjectTuple : ResponsesTuple ::= <Name:String> ResponseObject; - * @production ResponseObjectTuple : {@link ResponsesTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link ResponseObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:24 + * @astdecl ResponseTuple : ASTNode ::= <Key:String> ResponseObject; + * @production ResponseTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link ResponseObject}</span>; */ -public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { +public class ResponseTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public ResponseObjectTuple() { + public ResponseTuple() { super(); } /** @@ -35,12 +36,12 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "ResponseObject"}, + name = {"Key", "ResponseObject"}, type = {"String", "ResponseObject"}, kind = {"Token", "Child"} ) - public ResponseObjectTuple(String p0, ResponseObject p1) { - setName(p0); + public ResponseTuple(String p0, ResponseObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public ResponseObjectTuple clone() throws CloneNotSupportedException { - ResponseObjectTuple node = (ResponseObjectTuple) super.clone(); + public ResponseTuple clone() throws CloneNotSupportedException { + ResponseTuple node = (ResponseTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public ResponseObjectTuple copy() { + public ResponseTuple copy() { try { - ResponseObjectTuple node = (ResponseObjectTuple) clone(); + ResponseTuple node = (ResponseTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public ResponseObjectTuple fullCopy() { + public ResponseTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public ResponseObjectTuple treeCopyNoTransform() { - ResponseObjectTuple tree = (ResponseObjectTuple) copy(); + public ResponseTuple treeCopyNoTransform() { + ResponseTuple tree = (ResponseTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public ResponseObjectTuple treeCopy() { - ResponseObjectTuple tree = (ResponseObjectTuple) copy(); + public ResponseTuple treeCopy() { + ResponseTuple tree = (ResponseTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class ResponseObjectTuple extends ResponsesTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((ResponseObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((ResponseTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the ResponseObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesObject.java deleted file mode 100644 index 1ae90b38..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesObject.java +++ /dev/null @@ -1,270 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:103 - * @astdecl ResponsesObject : ASTNode ::= HTTPStatusCode*; - * @production ResponsesObject : {@link ASTNode} ::= <span class="component">{@link HTTPStatusCode}*</span>; - - */ -public class ResponsesObject extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ResponsesObject() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - children = new ASTNode[1]; - setChild(new JastAddList(), 0); - } - /** - * @declaredat ASTNode:14 - */ - @ASTNodeAnnotation.Constructor( - name = {"HTTPStatusCode"}, - type = {"JastAddList<HTTPStatusCode>"}, - kind = {"List"} - ) - public ResponsesObject(JastAddList<HTTPStatusCode> p0) { - setChild(p0, 0); - } - /** @apilevel low-level - * @declaredat ASTNode:23 - */ - protected int numChildren() { - return 1; - } - /** - * @apilevel internal - * @declaredat ASTNode:29 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:33 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:37 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:41 - */ - public ResponsesObject clone() throws CloneNotSupportedException { - ResponsesObject node = (ResponsesObject) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:46 - */ - public ResponsesObject copy() { - try { - ResponsesObject node = (ResponsesObject) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:65 - */ - @Deprecated - public ResponsesObject fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:75 - */ - public ResponsesObject treeCopyNoTransform() { - ResponsesObject tree = (ResponsesObject) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:95 - */ - public ResponsesObject treeCopy() { - ResponsesObject tree = (ResponsesObject) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:109 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node); - } - /** - * Replaces the HTTPStatusCode list. - * @param list The new list node to be used as the HTTPStatusCode list. - * @apilevel high-level - */ - public void setHTTPStatusCodeList(JastAddList<HTTPStatusCode> list) { - setChild(list, 0); - } - /** - * Retrieves the number of children in the HTTPStatusCode list. - * @return Number of children in the HTTPStatusCode list. - * @apilevel high-level - */ - public int getNumHTTPStatusCode() { - return getHTTPStatusCodeList().getNumChild(); - } - /** - * Retrieves the number of children in the HTTPStatusCode list. - * Calling this method will not trigger rewrites. - * @return Number of children in the HTTPStatusCode list. - * @apilevel low-level - */ - public int getNumHTTPStatusCodeNoTransform() { - return getHTTPStatusCodeListNoTransform().getNumChildNoTransform(); - } - /** - * Retrieves the element at index {@code i} in the HTTPStatusCode list. - * @param i Index of the element to return. - * @return The element at position {@code i} in the HTTPStatusCode list. - * @apilevel high-level - */ - public HTTPStatusCode getHTTPStatusCode(int i) { - return (HTTPStatusCode) getHTTPStatusCodeList().getChild(i); - } - /** - * Check whether the HTTPStatusCode list has any children. - * @return {@code true} if it has at least one child, {@code false} otherwise. - * @apilevel high-level - */ - public boolean hasHTTPStatusCode() { - return getHTTPStatusCodeList().getNumChild() != 0; - } - /** - * Append an element to the HTTPStatusCode list. - * @param node The element to append to the HTTPStatusCode list. - * @apilevel high-level - */ - public void addHTTPStatusCode(HTTPStatusCode node) { - JastAddList<HTTPStatusCode> list = (parent == null) ? getHTTPStatusCodeListNoTransform() : getHTTPStatusCodeList(); - list.addChild(node); - } - /** @apilevel low-level - */ - public void addHTTPStatusCodeNoTransform(HTTPStatusCode node) { - JastAddList<HTTPStatusCode> list = getHTTPStatusCodeListNoTransform(); - list.addChild(node); - } - /** - * Replaces the HTTPStatusCode list element at index {@code i} with the new node {@code node}. - * @param node The new node to replace the old list element. - * @param i The list index of the node to be replaced. - * @apilevel high-level - */ - public void setHTTPStatusCode(HTTPStatusCode node, int i) { - JastAddList<HTTPStatusCode> list = getHTTPStatusCodeList(); - list.setChild(node, i); - } - /** - * Retrieves the HTTPStatusCode list. - * @return The node representing the HTTPStatusCode list. - * @apilevel high-level - */ - @ASTNodeAnnotation.ListChild(name="HTTPStatusCode") - public JastAddList<HTTPStatusCode> getHTTPStatusCodeList() { - JastAddList<HTTPStatusCode> list = (JastAddList<HTTPStatusCode>) getChild(0); - return list; - } - /** - * Retrieves the HTTPStatusCode list. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HTTPStatusCode list. - * @apilevel low-level - */ - public JastAddList<HTTPStatusCode> getHTTPStatusCodeListNoTransform() { - return (JastAddList<HTTPStatusCode>) getChildNoTransform(0); - } - /** - * @return the element at index {@code i} in the HTTPStatusCode list without - * triggering rewrites. - */ - public HTTPStatusCode getHTTPStatusCodeNoTransform(int i) { - return (HTTPStatusCode) getHTTPStatusCodeListNoTransform().getChildNoTransform(i); - } - /** - * Retrieves the HTTPStatusCode list. - * @return The node representing the HTTPStatusCode list. - * @apilevel high-level - */ - public JastAddList<HTTPStatusCode> getHTTPStatusCodes() { - return getHTTPStatusCodeList(); - } - /** - * Retrieves the HTTPStatusCode list. - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The node representing the HTTPStatusCode list. - * @apilevel low-level - */ - public JastAddList<HTTPStatusCode> getHTTPStatusCodesNoTransform() { - return getHTTPStatusCodeListNoTransform(); - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesTuple.java deleted file mode 100644 index a9c7654b..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ResponsesTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:33 - * @astdecl ResponsesTuple : ASTNode; - * @production ResponsesTuple : {@link ASTNode}; - - */ -public abstract class ResponsesTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public ResponsesTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public ResponsesTuple clone() throws CloneNotSupportedException { - ResponsesTuple node = (ResponsesTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract ResponsesTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract ResponsesTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract ResponsesTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java index 34c3c00b..b787c586 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObject.java @@ -4,70 +4,77 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:85 - * @astdecl SchemaObject : ASTNode ::= [AdditionalProperties] <AdditionalPropertiesAllowed:Object> <DefaultValue:Object> <Description:String> <DeprecatedBoolean:Object> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Object> <ExclusiveMinimum:Object> [ExternalDocumentationObject] <Format:String> [ItemsSchema] <Maximum:Object> <Minimum:Object> <MaxItems:Object> <MinItems:Object> <MaxLength:Object> <MinLength:Object> <MaxProperties:Object> <MinProperties:Object> <MultipleOf:Object> [NotSchema] <Nullable:Object> <Pattern:String> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Object> <WriteOnly:Object> <Type:String> <Title:String> <UniqueItems:Object> [XmlObject] <Ref:String>; - * @production SchemaObject : {@link ASTNode} ::= <span class="component">[{@link AdditionalProperties}]</span> <span class="component"><AdditionalPropertiesAllowed:Object></span> <span class="component"><DefaultValue:Object></span> <span class="component"><Description:String></span> <span class="component"><DeprecatedBoolean:Object></span> <span class="component">[{@link DiscriminatorObject}]</span> <span class="component">{@link EnumObj}*</span> <span class="component"><Example:Object></span> <span class="component"><ExclusiveMaximum:Object></span> <span class="component"><ExclusiveMinimum:Object></span> <span class="component">[{@link ExternalDocumentationObject}]</span> <span class="component"><Format:String></span> <span class="component">[{@link ItemsSchema}]</span> <span class="component"><Maximum:Object></span> <span class="component"><Minimum:Object></span> <span class="component"><MaxItems:Object></span> <span class="component"><MinItems:Object></span> <span class="component"><MaxLength:Object></span> <span class="component"><MinLength:Object></span> <span class="component"><MaxProperties:Object></span> <span class="component"><MinProperties:Object></span> <span class="component"><MultipleOf:Object></span> <span class="component">[{@link NotSchema}]</span> <span class="component"><Nullable:Object></span> <span class="component"><Pattern:String></span> <span class="component">{@link PropertyItem}*</span> <span class="component">{@link RequiredField}*</span> <span class="component">{@link AllOfSchema}*</span> <span class="component">{@link AnyOfSchema}*</span> <span class="component">{@link OneOfSchema}*</span> <span class="component"><ReadOnly:Object></span> <span class="component"><WriteOnly:Object></span> <span class="component"><Type:String></span> <span class="component"><Title:String></span> <span class="component"><UniqueItems:Object></span> <span class="component">[{@link XmlObject}]</span> <span class="component"><Ref:String></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:91 + * @astdecl SchemaObject : ASTNode ::= <AdditionalProperties:SchemaObject> <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description:String> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format:String> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern:String> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type:String> <Title:String> <UniqueItems:Boolean> [XmlObject] <Ref:String>; + * @production SchemaObject : {@link ASTNode} ::= <span class="component"><AdditionalProperties:SchemaObject></span> <span class="component"><AdditionalPropertiesAllowed:Boolean></span> <span class="component"><DefaultValue:Object></span> <span class="component"><Description:String></span> <span class="component"><DeprecatedBoolean:Boolean></span> <span class="component">[{@link DiscriminatorObject}]</span> <span class="component">{@link EnumObj}*</span> <span class="component"><Example:Object></span> <span class="component"><ExclusiveMaximum:Boolean></span> <span class="component"><ExclusiveMinimum:Boolean></span> <span class="component">[{@link ExternalDocObject}]</span> <span class="component"><Format:String></span> <span class="component">[{@link ItemsSchema}]</span> <span class="component"><Maximum:Number></span> <span class="component"><Minimum:Number></span> <span class="component"><MaxItems:Integer></span> <span class="component"><MinItems:Integer></span> <span class="component"><MaxLength:Integer></span> <span class="component"><MinLength:Integer></span> <span class="component"><MaxProperties:Integer></span> <span class="component"><MinProperties:Integer></span> <span class="component"><MultipleOf:Number></span> <span class="component">[{@link NotSchema}]</span> <span class="component"><Nullable:Boolean></span> <span class="component"><Pattern:String></span> <span class="component">{@link PropertyItem}*</span> <span class="component">{@link RequiredField}*</span> <span class="component">{@link AllOfSchema}*</span> <span class="component">{@link AnyOfSchema}*</span> <span class="component">{@link OneOfSchema}*</span> <span class="component"><ReadOnly:Boolean></span> <span class="component"><WriteOnly:Boolean></span> <span class="component"><Type:String></span> <span class="component"><Title:String></span> <span class="component"><UniqueItems:Boolean></span> <span class="component">[{@link XmlObject}]</span> <span class="component"><Ref:String></span>; */ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:564 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:591 */ public static org.openapi4j.parser.model.v3.Schema composeSchema (SchemaObject schemaObject) { org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema(); - if( schemaObject.hasAdditionalProperties() ) - schema.setAdditionalProperties(composeSchema(schemaObject.getAdditionalProperties().getSchemaObject())); - if( schemaObject.getAdditionalPropertiesAllowed() != null ) - schema.setAdditionalPropertiesAllowed((boolean)schemaObject.getAdditionalPropertiesAllowed()); + if( !schemaObject.getRef().isEmpty() ) + schema.setRef(schemaObject.getRef()); + if( schemaObject.getAdditionalProperties() != null ) + schema.setAdditionalProperties(composeSchema(schemaObject.getAdditionalProperties())); + //if( schemaObject.getAdditionalPropertiesAllowed() != null ) + //schema.setAdditionalPropertiesAllowed(schemaObject.getAdditionalPropertiesAllowed()); if( schemaObject.getDefaultValue() != null ) schema.setDefault(schemaObject.getDefaultValue()); if( !schemaObject.getDescription().isEmpty() ) schema.setDescription(schemaObject.getDescription()); if( schemaObject.getDeprecatedBoolean() != null ) - schema.setDeprecated((boolean)schemaObject.getDeprecatedBoolean()); + schema.setDeprecated(schemaObject.getDeprecatedBoolean()); if( schemaObject.hasDiscriminatorObject() ) schema.setDiscriminator(DiscriminatorObject.composeDiscriminator(schemaObject.getDiscriminatorObject())); + if( schemaObject.getNumEnumObj() != 0 ){ + for( EnumObj e : schemaObject.getEnumObjs() ) + schema.addEnum(e.getEnumOb()); + } if( schemaObject.getExample() != null ) schema.setExample(schemaObject.getExample()); if( schemaObject.getExclusiveMaximum() != null ) - schema.setExclusiveMaximum((boolean)schemaObject.getExclusiveMaximum()); + schema.setExclusiveMaximum(schemaObject.getExclusiveMaximum()); if( schemaObject.getExclusiveMinimum() != null ) - schema.setExclusiveMinimum((boolean)schemaObject.getExclusiveMinimum()); - if( schemaObject.hasExternalDocumentationObject() ) - schema.setExternalDocs(ExternalDocumentationObject.composeExternalDocs(schemaObject.getExternalDocumentationObject())); + schema.setExclusiveMinimum(schemaObject.getExclusiveMinimum()); + if( schemaObject.hasExternalDocObject() ) + schema.setExternalDocs(ExternalDocObject.composeExternalDocs(schemaObject.getExternalDocObject())); if( !schemaObject.getFormat().isEmpty() ) schema.setFormat(schemaObject.getFormat()); if( schemaObject.hasItemsSchema() ) schema.setItemsSchema(composeSchema(schemaObject.getItemsSchema().getSchemaObject())); if( schemaObject.getMaximum() != null ) - schema.setMaximum((Number) schemaObject.getMaximum()); + schema.setMaximum(schemaObject.getMaximum()); if( schemaObject.getMinimum() != null ) - schema.setMinimum((Number) schemaObject.getMinimum()); + schema.setMinimum(schemaObject.getMinimum()); if( schemaObject.getMaxItems() != null ) - schema.setMaxItems((Integer) schemaObject.getMaxItems()); + schema.setMaxItems(schemaObject.getMaxItems()); if( schemaObject.getMinItems() != null ) - schema.setMinItems((Integer) schemaObject.getMinItems()); + schema.setMinItems(schemaObject.getMinItems()); if( schemaObject.getMaxLength() != null ) - schema.setMaxLength((Integer) schemaObject.getMaxLength()); + schema.setMaxLength(schemaObject.getMaxLength()); if( schemaObject.getMinLength() != null ) - schema.setMinLength((Integer) schemaObject.getMinLength()); + schema.setMinLength(schemaObject.getMinLength()); if( schemaObject.getMaxProperties() != null ) - schema.setMaxProperties((Integer) schemaObject.getMaxProperties()); + schema.setMaxProperties(schemaObject.getMaxProperties()); if( schemaObject.getMinProperties() != null ) - schema.setMinProperties((Integer) schemaObject.getMinProperties()); + schema.setMinProperties(schemaObject.getMinProperties()); if( schemaObject.getMultipleOf() != null ) - schema.setMultipleOf((Number) schemaObject.getMultipleOf()); + schema.setMultipleOf(schemaObject.getMultipleOf()); if( schemaObject.hasNotSchema() ) schema.setNotSchema(composeSchema(schemaObject.getNotSchema().getSchemaObject())); if( schemaObject.getNullable() != null ) - schema.setNullable((boolean) schemaObject.getNullable()); + schema.setNullable(schemaObject.getNullable()); if( !schemaObject.getPattern().isEmpty() ) schema.setPattern(schemaObject.getPattern()); if( schemaObject.getNumPropertyItem() != 0 ){ @@ -93,15 +100,15 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { schema.addOneOfSchema(composeSchema(o.getSchemaObject())); } if( schemaObject.getReadOnly() != null ) - schema.setReadOnly((boolean) schemaObject.getReadOnly()); + schema.setReadOnly(schemaObject.getReadOnly()); if( schemaObject.getWriteOnly() != null ) - schema.setWriteOnly((boolean) schemaObject.getWriteOnly()); + schema.setWriteOnly(schemaObject.getWriteOnly()); if( !schemaObject.getType().isEmpty() ) schema.setType(schemaObject.getType()); if( !schemaObject.getTitle().isEmpty() ) schema.setTitle(schemaObject.getTitle()); if( schemaObject.getUniqueItems() != null ) - schema.setUniqueItems((boolean) schemaObject.getUniqueItems()); + schema.setUniqueItems(schemaObject.getUniqueItems()); if( schemaObject.hasXmlObject() ) schema.setXml(XmlObject.composeXml(schemaObject.getXmlObject())); @@ -109,18 +116,18 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:618 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:600 */ public static SchemaObject parseSchema (org.openapi4j.parser.model.v3.Schema schema) { SchemaObject schemaObject = new SchemaObject(); - if( schema.getAdditionalProperties() != null ){ - AdditionalProperties additionalProperties = new AdditionalProperties(); - additionalProperties.setSchemaObject(parseSchema(schema.getAdditionalProperties())); - schemaObject.setAdditionalProperties(additionalProperties); - } + if( schema.isRef() ) + schemaObject.setRef(schema.getRef()); + if( schema.getAdditionalProperties() != null ) + schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties())); if( schema.getAdditionalPropertiesAllowed() != null ) schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed()); + System.out.println(schema.getAdditionalPropertiesAllowed()); if( schema.getDefault() != null ) schemaObject.setDefaultValue(schema.getDefault()); if( schema.getDescription() != null ) @@ -130,8 +137,8 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { if( schema.getDiscriminator() != null ) schemaObject.setDiscriminatorObject(DiscriminatorObject.parseDiscriminator(schema.getDiscriminator())); if( schema.getEnums() != null ){ - EnumObj enumObj = new EnumObj(); for( Object o : schema.getEnums() ){ + EnumObj enumObj = new EnumObj(); enumObj.setEnumOb(o); schemaObject.addEnumObj(enumObj); } @@ -143,7 +150,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { if( schema.getExclusiveMinimum() != null ) schemaObject.setExclusiveMinimum(schema.getExclusiveMinimum()); if( schema.getExternalDocs() != null ) - schemaObject.setExternalDocumentationObject(ExternalDocumentationObject.parseExternalDocs(schema.getExternalDocs())); + schemaObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(schema.getExternalDocs())); if( schema.getFormat() != null ) schemaObject.setFormat(schema.getFormat()); if( schema.getItemsSchema() != null ){ @@ -179,34 +186,35 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { if( schema.getPattern() != null ) schemaObject.setPattern(schema.getPattern()); if( schema.getProperties() != null ){ + for( String key : schema.getProperties().keySet() ){ PropertyItem propertyItem = new PropertyItem(); - for( String key : schema.getProperties().keySet() ) schemaObject.addPropertyItem(new PropertyItem(key, parseSchema(schema.getProperty(key)))); } + } if( schema.getRequiredFields() != null ){ - RequiredField requiredField = new RequiredField(); for( String s : schema.getRequiredFields() ){ + RequiredField requiredField = new RequiredField(); requiredField.setValue(s); schemaObject.addRequiredField(requiredField); } } if( schema.getAllOfSchemas() != null ){ - AllOfSchema allOfSchema = new AllOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAllOfSchemas()){ + AllOfSchema allOfSchema = new AllOfSchema(); allOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addAllOfSchema(allOfSchema); } } if( schema.getAnyOfSchemas() != null ){ - AnyOfSchema anyOfSchema = new AnyOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAnyOfSchemas()){ + AnyOfSchema anyOfSchema = new AnyOfSchema(); anyOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addAnyOfSchema(anyOfSchema); } } if( schema.getOneOfSchemas() != null ){ - OneOfSchema oneOfSchema = new OneOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getOneOfSchemas()){ + OneOfSchema oneOfSchema = new OneOfSchema(); oneOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addOneOfSchema(oneOfSchema); } @@ -240,42 +248,41 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:10 */ public void init$Children() { - children = new ASTNode[12]; + children = new ASTNode[11]; setChild(new Opt(), 0); - setChild(new Opt(), 1); - setChild(new JastAddList(), 2); + setChild(new JastAddList(), 1); + setChild(new Opt(), 2); setChild(new Opt(), 3); setChild(new Opt(), 4); - setChild(new Opt(), 5); + setChild(new JastAddList(), 5); setChild(new JastAddList(), 6); setChild(new JastAddList(), 7); setChild(new JastAddList(), 8); setChild(new JastAddList(), 9); - setChild(new JastAddList(), 10); - setChild(new Opt(), 11); + setChild(new Opt(), 10); } /** - * @declaredat ASTNode:25 + * @declaredat ASTNode:24 */ @ASTNodeAnnotation.Constructor( - name = {"AdditionalProperties", "AdditionalPropertiesAllowed", "DefaultValue", "Description", "DeprecatedBoolean", "DiscriminatorObject", "EnumObj", "Example", "ExclusiveMaximum", "ExclusiveMinimum", "ExternalDocumentationObject", "Format", "ItemsSchema", "Maximum", "Minimum", "MaxItems", "MinItems", "MaxLength", "MinLength", "MaxProperties", "MinProperties", "MultipleOf", "NotSchema", "Nullable", "Pattern", "PropertyItem", "RequiredField", "AllOfSchema", "AnyOfSchema", "OneOfSchema", "ReadOnly", "WriteOnly", "Type", "Title", "UniqueItems", "XmlObject", "Ref"}, - type = {"Opt<AdditionalProperties>", "Object", "Object", "String", "Object", "Opt<DiscriminatorObject>", "JastAddList<EnumObj>", "Object", "Object", "Object", "Opt<ExternalDocumentationObject>", "String", "Opt<ItemsSchema>", "Object", "Object", "Object", "Object", "Object", "Object", "Object", "Object", "Object", "Opt<NotSchema>", "Object", "String", "JastAddList<PropertyItem>", "JastAddList<RequiredField>", "JastAddList<AllOfSchema>", "JastAddList<AnyOfSchema>", "JastAddList<OneOfSchema>", "Object", "Object", "String", "String", "Object", "Opt<XmlObject>", "String"}, - kind = {"Opt", "Token", "Token", "Token", "Token", "Opt", "List", "Token", "Token", "Token", "Opt", "Token", "Opt", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "Token", "List", "List", "List", "List", "List", "Token", "Token", "Token", "Token", "Token", "Opt", "Token"} + name = {"AdditionalProperties", "AdditionalPropertiesAllowed", "DefaultValue", "Description", "DeprecatedBoolean", "DiscriminatorObject", "EnumObj", "Example", "ExclusiveMaximum", "ExclusiveMinimum", "ExternalDocObject", "Format", "ItemsSchema", "Maximum", "Minimum", "MaxItems", "MinItems", "MaxLength", "MinLength", "MaxProperties", "MinProperties", "MultipleOf", "NotSchema", "Nullable", "Pattern", "PropertyItem", "RequiredField", "AllOfSchema", "AnyOfSchema", "OneOfSchema", "ReadOnly", "WriteOnly", "Type", "Title", "UniqueItems", "XmlObject", "Ref"}, + type = {"SchemaObject", "Boolean", "Object", "String", "Boolean", "Opt<DiscriminatorObject>", "JastAddList<EnumObj>", "Object", "Boolean", "Boolean", "Opt<ExternalDocObject>", "String", "Opt<ItemsSchema>", "Number", "Number", "Integer", "Integer", "Integer", "Integer", "Integer", "Integer", "Number", "Opt<NotSchema>", "Boolean", "String", "JastAddList<PropertyItem>", "JastAddList<RequiredField>", "JastAddList<AllOfSchema>", "JastAddList<AnyOfSchema>", "JastAddList<OneOfSchema>", "Boolean", "Boolean", "String", "String", "Boolean", "Opt<XmlObject>", "String"}, + kind = {"Token", "Token", "Token", "Token", "Token", "Opt", "List", "Token", "Token", "Token", "Opt", "Token", "Opt", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Token", "Opt", "Token", "Token", "List", "List", "List", "List", "List", "Token", "Token", "Token", "Token", "Token", "Opt", "Token"} ) - public SchemaObject(Opt<AdditionalProperties> p0, Object p1, Object p2, String p3, Object p4, Opt<DiscriminatorObject> p5, JastAddList<EnumObj> p6, Object p7, Object p8, Object p9, Opt<ExternalDocumentationObject> p10, String p11, Opt<ItemsSchema> p12, Object p13, Object p14, Object p15, Object p16, Object p17, Object p18, Object p19, Object p20, Object p21, Opt<NotSchema> p22, Object p23, String p24, JastAddList<PropertyItem> p25, JastAddList<RequiredField> p26, JastAddList<AllOfSchema> p27, JastAddList<AnyOfSchema> p28, JastAddList<OneOfSchema> p29, Object p30, Object p31, String p32, String p33, Object p34, Opt<XmlObject> p35, String p36) { - setChild(p0, 0); + public SchemaObject(SchemaObject p0, Boolean p1, Object p2, String p3, Boolean p4, Opt<DiscriminatorObject> p5, JastAddList<EnumObj> p6, Object p7, Boolean p8, Boolean p9, Opt<ExternalDocObject> p10, String p11, Opt<ItemsSchema> p12, Number p13, Number p14, Integer p15, Integer p16, Integer p17, Integer p18, Integer p19, Integer p20, Number p21, Opt<NotSchema> p22, Boolean p23, String p24, JastAddList<PropertyItem> p25, JastAddList<RequiredField> p26, JastAddList<AllOfSchema> p27, JastAddList<AnyOfSchema> p28, JastAddList<OneOfSchema> p29, Boolean p30, Boolean p31, String p32, String p33, Boolean p34, Opt<XmlObject> p35, String p36) { + setAdditionalProperties(p0); setAdditionalPropertiesAllowed(p1); setDefaultValue(p2); setDescription(p3); setDeprecatedBoolean(p4); - setChild(p5, 1); - setChild(p6, 2); + setChild(p5, 0); + setChild(p6, 1); setExample(p7); setExclusiveMaximum(p8); setExclusiveMinimum(p9); - setChild(p10, 3); + setChild(p10, 2); setFormat(p11); - setChild(p12, 4); + setChild(p12, 3); setMaximum(p13); setMinimum(p14); setMaxItems(p15); @@ -285,56 +292,56 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { setMaxProperties(p19); setMinProperties(p20); setMultipleOf(p21); - setChild(p22, 5); + setChild(p22, 4); setNullable(p23); setPattern(p24); - setChild(p25, 6); - setChild(p26, 7); - setChild(p27, 8); - setChild(p28, 9); - setChild(p29, 10); + setChild(p25, 5); + setChild(p26, 6); + setChild(p27, 7); + setChild(p28, 8); + setChild(p29, 9); setReadOnly(p30); setWriteOnly(p31); setType(p32); setTitle(p33); setUniqueItems(p34); - setChild(p35, 11); + setChild(p35, 10); setRef(p36); } /** @apilevel low-level - * @declaredat ASTNode:70 + * @declaredat ASTNode:69 */ protected int numChildren() { - return 12; + return 11; } /** * @apilevel internal - * @declaredat ASTNode:76 + * @declaredat ASTNode:75 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:80 + * @declaredat ASTNode:79 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:84 + * @declaredat ASTNode:83 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:88 + * @declaredat ASTNode:87 */ public SchemaObject clone() throws CloneNotSupportedException { SchemaObject node = (SchemaObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:93 + * @declaredat ASTNode:92 */ public SchemaObject copy() { try { @@ -354,7 +361,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:112 + * @declaredat ASTNode:111 */ @Deprecated public SchemaObject fullCopy() { @@ -365,7 +372,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:122 + * @declaredat ASTNode:121 */ public SchemaObject treeCopyNoTransform() { SchemaObject tree = (SchemaObject) copy(); @@ -386,7 +393,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:142 + * @declaredat ASTNode:141 */ public SchemaObject treeCopy() { SchemaObject tree = (SchemaObject) copy(); @@ -402,81 +409,50 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { return tree; } /** @apilevel internal - * @declaredat ASTNode:156 + * @declaredat ASTNode:155 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenObject_AdditionalPropertiesAllowed == ((SchemaObject) node).tokenObject_AdditionalPropertiesAllowed) && (tokenObject_DefaultValue == ((SchemaObject) node).tokenObject_DefaultValue) && (tokenString_Description == ((SchemaObject) node).tokenString_Description) && (tokenObject_DeprecatedBoolean == ((SchemaObject) node).tokenObject_DeprecatedBoolean) && (tokenObject_Example == ((SchemaObject) node).tokenObject_Example) && (tokenObject_ExclusiveMaximum == ((SchemaObject) node).tokenObject_ExclusiveMaximum) && (tokenObject_ExclusiveMinimum == ((SchemaObject) node).tokenObject_ExclusiveMinimum) && (tokenString_Format == ((SchemaObject) node).tokenString_Format) && (tokenObject_Maximum == ((SchemaObject) node).tokenObject_Maximum) && (tokenObject_Minimum == ((SchemaObject) node).tokenObject_Minimum) && (tokenObject_MaxItems == ((SchemaObject) node).tokenObject_MaxItems) && (tokenObject_MinItems == ((SchemaObject) node).tokenObject_MinItems) && (tokenObject_MaxLength == ((SchemaObject) node).tokenObject_MaxLength) && (tokenObject_MinLength == ((SchemaObject) node).tokenObject_MinLength) && (tokenObject_MaxProperties == ((SchemaObject) node).tokenObject_MaxProperties) && (tokenObject_MinProperties == ((SchemaObject) node).tokenObject_MinProperties) && (tokenObject_MultipleOf == ((SchemaObject) node).tokenObject_MultipleOf) && (tokenObject_Nullable == ((SchemaObject) node).tokenObject_Nullable) && (tokenString_Pattern == ((SchemaObject) node).tokenString_Pattern) && (tokenObject_ReadOnly == ((SchemaObject) node).tokenObject_ReadOnly) && (tokenObject_WriteOnly == ((SchemaObject) node).tokenObject_WriteOnly) && (tokenString_Type == ((SchemaObject) node).tokenString_Type) && (tokenString_Title == ((SchemaObject) node).tokenString_Title) && (tokenObject_UniqueItems == ((SchemaObject) node).tokenObject_UniqueItems) && (tokenString_Ref == ((SchemaObject) node).tokenString_Ref); - } - /** - * Replaces the optional node for the AdditionalProperties child. This is the <code>Opt</code> - * node containing the child AdditionalProperties, not the actual child! - * @param opt The new node to be used as the optional node for the AdditionalProperties child. - * @apilevel low-level - */ - public void setAdditionalPropertiesOpt(Opt<AdditionalProperties> opt) { - setChild(opt, 0); + return super.is$Equal(node) && (tokenSchemaObject_AdditionalProperties == ((SchemaObject) node).tokenSchemaObject_AdditionalProperties) && (tokenBoolean_AdditionalPropertiesAllowed == ((SchemaObject) node).tokenBoolean_AdditionalPropertiesAllowed) && (tokenObject_DefaultValue == ((SchemaObject) node).tokenObject_DefaultValue) && (tokenString_Description == ((SchemaObject) node).tokenString_Description) && (tokenBoolean_DeprecatedBoolean == ((SchemaObject) node).tokenBoolean_DeprecatedBoolean) && (tokenObject_Example == ((SchemaObject) node).tokenObject_Example) && (tokenBoolean_ExclusiveMaximum == ((SchemaObject) node).tokenBoolean_ExclusiveMaximum) && (tokenBoolean_ExclusiveMinimum == ((SchemaObject) node).tokenBoolean_ExclusiveMinimum) && (tokenString_Format == ((SchemaObject) node).tokenString_Format) && (tokenNumber_Maximum == ((SchemaObject) node).tokenNumber_Maximum) && (tokenNumber_Minimum == ((SchemaObject) node).tokenNumber_Minimum) && (tokenInteger_MaxItems == ((SchemaObject) node).tokenInteger_MaxItems) && (tokenInteger_MinItems == ((SchemaObject) node).tokenInteger_MinItems) && (tokenInteger_MaxLength == ((SchemaObject) node).tokenInteger_MaxLength) && (tokenInteger_MinLength == ((SchemaObject) node).tokenInteger_MinLength) && (tokenInteger_MaxProperties == ((SchemaObject) node).tokenInteger_MaxProperties) && (tokenInteger_MinProperties == ((SchemaObject) node).tokenInteger_MinProperties) && (tokenNumber_MultipleOf == ((SchemaObject) node).tokenNumber_MultipleOf) && (tokenBoolean_Nullable == ((SchemaObject) node).tokenBoolean_Nullable) && (tokenString_Pattern == ((SchemaObject) node).tokenString_Pattern) && (tokenBoolean_ReadOnly == ((SchemaObject) node).tokenBoolean_ReadOnly) && (tokenBoolean_WriteOnly == ((SchemaObject) node).tokenBoolean_WriteOnly) && (tokenString_Type == ((SchemaObject) node).tokenString_Type) && (tokenString_Title == ((SchemaObject) node).tokenString_Title) && (tokenBoolean_UniqueItems == ((SchemaObject) node).tokenBoolean_UniqueItems) && (tokenString_Ref == ((SchemaObject) node).tokenString_Ref); } /** - * Replaces the (optional) AdditionalProperties child. - * @param node The new node to be used as the AdditionalProperties child. + * Replaces the lexeme AdditionalProperties. + * @param value The new value for the lexeme AdditionalProperties. * @apilevel high-level */ - public void setAdditionalProperties(AdditionalProperties node) { - getAdditionalPropertiesOpt().setChild(node, 0); - } - /** - * Check whether the optional AdditionalProperties child exists. - * @return {@code true} if the optional AdditionalProperties child exists, {@code false} if it does not. - * @apilevel high-level - */ - public boolean hasAdditionalProperties() { - return getAdditionalPropertiesOpt().getNumChild() != 0; - } - /** - * Retrieves the (optional) AdditionalProperties child. - * @return The AdditionalProperties child, if it exists. Returns {@code null} otherwise. - * @apilevel low-level - */ - public AdditionalProperties getAdditionalProperties() { - return (AdditionalProperties) getAdditionalPropertiesOpt().getChild(0); + public void setAdditionalProperties(SchemaObject value) { + tokenSchemaObject_AdditionalProperties = value; } - /** - * Retrieves the optional node for the AdditionalProperties child. This is the <code>Opt</code> node containing the child AdditionalProperties, not the actual child! - * @return The optional node for child the AdditionalProperties child. - * @apilevel low-level + /** @apilevel internal */ - @ASTNodeAnnotation.OptChild(name="AdditionalProperties") - public Opt<AdditionalProperties> getAdditionalPropertiesOpt() { - return (Opt<AdditionalProperties>) getChild(0); - } + protected SchemaObject tokenSchemaObject_AdditionalProperties; /** - * Retrieves the optional node for child AdditionalProperties. This is the <code>Opt</code> node containing the child AdditionalProperties, not the actual child! - * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child AdditionalProperties. - * @apilevel low-level + * Retrieves the value for the lexeme AdditionalProperties. + * @return The value for the lexeme AdditionalProperties. + * @apilevel high-level */ - public Opt<AdditionalProperties> getAdditionalPropertiesOptNoTransform() { - return (Opt<AdditionalProperties>) getChildNoTransform(0); + @ASTNodeAnnotation.Token(name="AdditionalProperties") + public SchemaObject getAdditionalProperties() { + return tokenSchemaObject_AdditionalProperties; } /** * Replaces the lexeme AdditionalPropertiesAllowed. * @param value The new value for the lexeme AdditionalPropertiesAllowed. * @apilevel high-level */ - public void setAdditionalPropertiesAllowed(Object value) { - tokenObject_AdditionalPropertiesAllowed = value; + public void setAdditionalPropertiesAllowed(Boolean value) { + tokenBoolean_AdditionalPropertiesAllowed = value; } /** @apilevel internal */ - protected Object tokenObject_AdditionalPropertiesAllowed; + protected Boolean tokenBoolean_AdditionalPropertiesAllowed; /** * Retrieves the value for the lexeme AdditionalPropertiesAllowed. * @return The value for the lexeme AdditionalPropertiesAllowed. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="AdditionalPropertiesAllowed") - public Object getAdditionalPropertiesAllowed() { - return tokenObject_AdditionalPropertiesAllowed; + public Boolean getAdditionalPropertiesAllowed() { + return tokenBoolean_AdditionalPropertiesAllowed; } /** * Replaces the lexeme DefaultValue. @@ -523,20 +499,20 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme DeprecatedBoolean. * @apilevel high-level */ - public void setDeprecatedBoolean(Object value) { - tokenObject_DeprecatedBoolean = value; + public void setDeprecatedBoolean(Boolean value) { + tokenBoolean_DeprecatedBoolean = value; } /** @apilevel internal */ - protected Object tokenObject_DeprecatedBoolean; + protected Boolean tokenBoolean_DeprecatedBoolean; /** * Retrieves the value for the lexeme DeprecatedBoolean. * @return The value for the lexeme DeprecatedBoolean. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="DeprecatedBoolean") - public Object getDeprecatedBoolean() { - return tokenObject_DeprecatedBoolean; + public Boolean getDeprecatedBoolean() { + return tokenBoolean_DeprecatedBoolean; } /** * Replaces the optional node for the DiscriminatorObject child. This is the <code>Opt</code> @@ -545,7 +521,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public void setDiscriminatorObjectOpt(Opt<DiscriminatorObject> opt) { - setChild(opt, 1); + setChild(opt, 0); } /** * Replaces the (optional) DiscriminatorObject child. @@ -578,7 +554,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.OptChild(name="DiscriminatorObject") public Opt<DiscriminatorObject> getDiscriminatorObjectOpt() { - return (Opt<DiscriminatorObject>) getChild(1); + return (Opt<DiscriminatorObject>) getChild(0); } /** * Retrieves the optional node for child DiscriminatorObject. This is the <code>Opt</code> node containing the child DiscriminatorObject, not the actual child! @@ -587,7 +563,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public Opt<DiscriminatorObject> getDiscriminatorObjectOptNoTransform() { - return (Opt<DiscriminatorObject>) getChildNoTransform(1); + return (Opt<DiscriminatorObject>) getChildNoTransform(0); } /** * Replaces the EnumObj list. @@ -595,7 +571,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setEnumObjList(JastAddList<EnumObj> list) { - setChild(list, 2); + setChild(list, 1); } /** * Retrieves the number of children in the EnumObj list. @@ -663,7 +639,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="EnumObj") public JastAddList<EnumObj> getEnumObjList() { - JastAddList<EnumObj> list = (JastAddList<EnumObj>) getChild(2); + JastAddList<EnumObj> list = (JastAddList<EnumObj>) getChild(1); return list; } /** @@ -673,7 +649,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<EnumObj> getEnumObjListNoTransform() { - return (JastAddList<EnumObj>) getChildNoTransform(2); + return (JastAddList<EnumObj>) getChildNoTransform(1); } /** * @return the element at index {@code i} in the EnumObj list without @@ -724,91 +700,91 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme ExclusiveMaximum. * @apilevel high-level */ - public void setExclusiveMaximum(Object value) { - tokenObject_ExclusiveMaximum = value; + public void setExclusiveMaximum(Boolean value) { + tokenBoolean_ExclusiveMaximum = value; } /** @apilevel internal */ - protected Object tokenObject_ExclusiveMaximum; + protected Boolean tokenBoolean_ExclusiveMaximum; /** * Retrieves the value for the lexeme ExclusiveMaximum. * @return The value for the lexeme ExclusiveMaximum. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="ExclusiveMaximum") - public Object getExclusiveMaximum() { - return tokenObject_ExclusiveMaximum; + public Boolean getExclusiveMaximum() { + return tokenBoolean_ExclusiveMaximum; } /** * Replaces the lexeme ExclusiveMinimum. * @param value The new value for the lexeme ExclusiveMinimum. * @apilevel high-level */ - public void setExclusiveMinimum(Object value) { - tokenObject_ExclusiveMinimum = value; + public void setExclusiveMinimum(Boolean value) { + tokenBoolean_ExclusiveMinimum = value; } /** @apilevel internal */ - protected Object tokenObject_ExclusiveMinimum; + protected Boolean tokenBoolean_ExclusiveMinimum; /** * Retrieves the value for the lexeme ExclusiveMinimum. * @return The value for the lexeme ExclusiveMinimum. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="ExclusiveMinimum") - public Object getExclusiveMinimum() { - return tokenObject_ExclusiveMinimum; + public Boolean getExclusiveMinimum() { + return tokenBoolean_ExclusiveMinimum; } /** - * Replaces the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> - * node containing the child ExternalDocumentationObject, not the actual child! - * @param opt The new node to be used as the optional node for the ExternalDocumentationObject child. + * Replaces the optional node for the ExternalDocObject child. This is the <code>Opt</code> + * node containing the child ExternalDocObject, not the actual child! + * @param opt The new node to be used as the optional node for the ExternalDocObject child. * @apilevel low-level */ - public void setExternalDocumentationObjectOpt(Opt<ExternalDocumentationObject> opt) { - setChild(opt, 3); + public void setExternalDocObjectOpt(Opt<ExternalDocObject> opt) { + setChild(opt, 2); } /** - * Replaces the (optional) ExternalDocumentationObject child. - * @param node The new node to be used as the ExternalDocumentationObject child. + * Replaces the (optional) ExternalDocObject child. + * @param node The new node to be used as the ExternalDocObject child. * @apilevel high-level */ - public void setExternalDocumentationObject(ExternalDocumentationObject node) { - getExternalDocumentationObjectOpt().setChild(node, 0); + public void setExternalDocObject(ExternalDocObject node) { + getExternalDocObjectOpt().setChild(node, 0); } /** - * Check whether the optional ExternalDocumentationObject child exists. - * @return {@code true} if the optional ExternalDocumentationObject child exists, {@code false} if it does not. + * Check whether the optional ExternalDocObject child exists. + * @return {@code true} if the optional ExternalDocObject child exists, {@code false} if it does not. * @apilevel high-level */ - public boolean hasExternalDocumentationObject() { - return getExternalDocumentationObjectOpt().getNumChild() != 0; + public boolean hasExternalDocObject() { + return getExternalDocObjectOpt().getNumChild() != 0; } /** - * Retrieves the (optional) ExternalDocumentationObject child. - * @return The ExternalDocumentationObject child, if it exists. Returns {@code null} otherwise. + * Retrieves the (optional) ExternalDocObject child. + * @return The ExternalDocObject child, if it exists. Returns {@code null} otherwise. * @apilevel low-level */ - public ExternalDocumentationObject getExternalDocumentationObject() { - return (ExternalDocumentationObject) getExternalDocumentationObjectOpt().getChild(0); + public ExternalDocObject getExternalDocObject() { + return (ExternalDocObject) getExternalDocObjectOpt().getChild(0); } /** - * Retrieves the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! - * @return The optional node for child the ExternalDocumentationObject child. + * Retrieves the optional node for the ExternalDocObject child. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! + * @return The optional node for child the ExternalDocObject child. * @apilevel low-level */ - @ASTNodeAnnotation.OptChild(name="ExternalDocumentationObject") - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOpt() { - return (Opt<ExternalDocumentationObject>) getChild(3); + @ASTNodeAnnotation.OptChild(name="ExternalDocObject") + public Opt<ExternalDocObject> getExternalDocObjectOpt() { + return (Opt<ExternalDocObject>) getChild(2); } /** - * Retrieves the optional node for child ExternalDocumentationObject. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! + * Retrieves the optional node for child ExternalDocObject. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child ExternalDocumentationObject. + * @return The optional node for child ExternalDocObject. * @apilevel low-level */ - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOptNoTransform() { - return (Opt<ExternalDocumentationObject>) getChildNoTransform(3); + public Opt<ExternalDocObject> getExternalDocObjectOptNoTransform() { + return (Opt<ExternalDocObject>) getChildNoTransform(2); } /** * Replaces the lexeme Format. @@ -837,7 +813,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public void setItemsSchemaOpt(Opt<ItemsSchema> opt) { - setChild(opt, 4); + setChild(opt, 3); } /** * Replaces the (optional) ItemsSchema child. @@ -870,7 +846,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.OptChild(name="ItemsSchema") public Opt<ItemsSchema> getItemsSchemaOpt() { - return (Opt<ItemsSchema>) getChild(4); + return (Opt<ItemsSchema>) getChild(3); } /** * Retrieves the optional node for child ItemsSchema. This is the <code>Opt</code> node containing the child ItemsSchema, not the actual child! @@ -879,187 +855,187 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public Opt<ItemsSchema> getItemsSchemaOptNoTransform() { - return (Opt<ItemsSchema>) getChildNoTransform(4); + return (Opt<ItemsSchema>) getChildNoTransform(3); } /** * Replaces the lexeme Maximum. * @param value The new value for the lexeme Maximum. * @apilevel high-level */ - public void setMaximum(Object value) { - tokenObject_Maximum = value; + public void setMaximum(Number value) { + tokenNumber_Maximum = value; } /** @apilevel internal */ - protected Object tokenObject_Maximum; + protected Number tokenNumber_Maximum; /** * Retrieves the value for the lexeme Maximum. * @return The value for the lexeme Maximum. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Maximum") - public Object getMaximum() { - return tokenObject_Maximum; + public Number getMaximum() { + return tokenNumber_Maximum; } /** * Replaces the lexeme Minimum. * @param value The new value for the lexeme Minimum. * @apilevel high-level */ - public void setMinimum(Object value) { - tokenObject_Minimum = value; + public void setMinimum(Number value) { + tokenNumber_Minimum = value; } /** @apilevel internal */ - protected Object tokenObject_Minimum; + protected Number tokenNumber_Minimum; /** * Retrieves the value for the lexeme Minimum. * @return The value for the lexeme Minimum. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Minimum") - public Object getMinimum() { - return tokenObject_Minimum; + public Number getMinimum() { + return tokenNumber_Minimum; } /** * Replaces the lexeme MaxItems. * @param value The new value for the lexeme MaxItems. * @apilevel high-level */ - public void setMaxItems(Object value) { - tokenObject_MaxItems = value; + public void setMaxItems(Integer value) { + tokenInteger_MaxItems = value; } /** @apilevel internal */ - protected Object tokenObject_MaxItems; + protected Integer tokenInteger_MaxItems; /** * Retrieves the value for the lexeme MaxItems. * @return The value for the lexeme MaxItems. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MaxItems") - public Object getMaxItems() { - return tokenObject_MaxItems; + public Integer getMaxItems() { + return tokenInteger_MaxItems; } /** * Replaces the lexeme MinItems. * @param value The new value for the lexeme MinItems. * @apilevel high-level */ - public void setMinItems(Object value) { - tokenObject_MinItems = value; + public void setMinItems(Integer value) { + tokenInteger_MinItems = value; } /** @apilevel internal */ - protected Object tokenObject_MinItems; + protected Integer tokenInteger_MinItems; /** * Retrieves the value for the lexeme MinItems. * @return The value for the lexeme MinItems. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MinItems") - public Object getMinItems() { - return tokenObject_MinItems; + public Integer getMinItems() { + return tokenInteger_MinItems; } /** * Replaces the lexeme MaxLength. * @param value The new value for the lexeme MaxLength. * @apilevel high-level */ - public void setMaxLength(Object value) { - tokenObject_MaxLength = value; + public void setMaxLength(Integer value) { + tokenInteger_MaxLength = value; } /** @apilevel internal */ - protected Object tokenObject_MaxLength; + protected Integer tokenInteger_MaxLength; /** * Retrieves the value for the lexeme MaxLength. * @return The value for the lexeme MaxLength. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MaxLength") - public Object getMaxLength() { - return tokenObject_MaxLength; + public Integer getMaxLength() { + return tokenInteger_MaxLength; } /** * Replaces the lexeme MinLength. * @param value The new value for the lexeme MinLength. * @apilevel high-level */ - public void setMinLength(Object value) { - tokenObject_MinLength = value; + public void setMinLength(Integer value) { + tokenInteger_MinLength = value; } /** @apilevel internal */ - protected Object tokenObject_MinLength; + protected Integer tokenInteger_MinLength; /** * Retrieves the value for the lexeme MinLength. * @return The value for the lexeme MinLength. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MinLength") - public Object getMinLength() { - return tokenObject_MinLength; + public Integer getMinLength() { + return tokenInteger_MinLength; } /** * Replaces the lexeme MaxProperties. * @param value The new value for the lexeme MaxProperties. * @apilevel high-level */ - public void setMaxProperties(Object value) { - tokenObject_MaxProperties = value; + public void setMaxProperties(Integer value) { + tokenInteger_MaxProperties = value; } /** @apilevel internal */ - protected Object tokenObject_MaxProperties; + protected Integer tokenInteger_MaxProperties; /** * Retrieves the value for the lexeme MaxProperties. * @return The value for the lexeme MaxProperties. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MaxProperties") - public Object getMaxProperties() { - return tokenObject_MaxProperties; + public Integer getMaxProperties() { + return tokenInteger_MaxProperties; } /** * Replaces the lexeme MinProperties. * @param value The new value for the lexeme MinProperties. * @apilevel high-level */ - public void setMinProperties(Object value) { - tokenObject_MinProperties = value; + public void setMinProperties(Integer value) { + tokenInteger_MinProperties = value; } /** @apilevel internal */ - protected Object tokenObject_MinProperties; + protected Integer tokenInteger_MinProperties; /** * Retrieves the value for the lexeme MinProperties. * @return The value for the lexeme MinProperties. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MinProperties") - public Object getMinProperties() { - return tokenObject_MinProperties; + public Integer getMinProperties() { + return tokenInteger_MinProperties; } /** * Replaces the lexeme MultipleOf. * @param value The new value for the lexeme MultipleOf. * @apilevel high-level */ - public void setMultipleOf(Object value) { - tokenObject_MultipleOf = value; + public void setMultipleOf(Number value) { + tokenNumber_MultipleOf = value; } /** @apilevel internal */ - protected Object tokenObject_MultipleOf; + protected Number tokenNumber_MultipleOf; /** * Retrieves the value for the lexeme MultipleOf. * @return The value for the lexeme MultipleOf. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="MultipleOf") - public Object getMultipleOf() { - return tokenObject_MultipleOf; + public Number getMultipleOf() { + return tokenNumber_MultipleOf; } /** * Replaces the optional node for the NotSchema child. This is the <code>Opt</code> @@ -1068,7 +1044,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public void setNotSchemaOpt(Opt<NotSchema> opt) { - setChild(opt, 5); + setChild(opt, 4); } /** * Replaces the (optional) NotSchema child. @@ -1101,7 +1077,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.OptChild(name="NotSchema") public Opt<NotSchema> getNotSchemaOpt() { - return (Opt<NotSchema>) getChild(5); + return (Opt<NotSchema>) getChild(4); } /** * Retrieves the optional node for child NotSchema. This is the <code>Opt</code> node containing the child NotSchema, not the actual child! @@ -1110,27 +1086,27 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public Opt<NotSchema> getNotSchemaOptNoTransform() { - return (Opt<NotSchema>) getChildNoTransform(5); + return (Opt<NotSchema>) getChildNoTransform(4); } /** * Replaces the lexeme Nullable. * @param value The new value for the lexeme Nullable. * @apilevel high-level */ - public void setNullable(Object value) { - tokenObject_Nullable = value; + public void setNullable(Boolean value) { + tokenBoolean_Nullable = value; } /** @apilevel internal */ - protected Object tokenObject_Nullable; + protected Boolean tokenBoolean_Nullable; /** * Retrieves the value for the lexeme Nullable. * @return The value for the lexeme Nullable. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Nullable") - public Object getNullable() { - return tokenObject_Nullable; + public Boolean getNullable() { + return tokenBoolean_Nullable; } /** * Replaces the lexeme Pattern. @@ -1158,7 +1134,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setPropertyItemList(JastAddList<PropertyItem> list) { - setChild(list, 6); + setChild(list, 5); } /** * Retrieves the number of children in the PropertyItem list. @@ -1226,7 +1202,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="PropertyItem") public JastAddList<PropertyItem> getPropertyItemList() { - JastAddList<PropertyItem> list = (JastAddList<PropertyItem>) getChild(6); + JastAddList<PropertyItem> list = (JastAddList<PropertyItem>) getChild(5); return list; } /** @@ -1236,7 +1212,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<PropertyItem> getPropertyItemListNoTransform() { - return (JastAddList<PropertyItem>) getChildNoTransform(6); + return (JastAddList<PropertyItem>) getChildNoTransform(5); } /** * @return the element at index {@code i} in the PropertyItem list without @@ -1268,7 +1244,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setRequiredFieldList(JastAddList<RequiredField> list) { - setChild(list, 7); + setChild(list, 6); } /** * Retrieves the number of children in the RequiredField list. @@ -1336,7 +1312,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="RequiredField") public JastAddList<RequiredField> getRequiredFieldList() { - JastAddList<RequiredField> list = (JastAddList<RequiredField>) getChild(7); + JastAddList<RequiredField> list = (JastAddList<RequiredField>) getChild(6); return list; } /** @@ -1346,7 +1322,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<RequiredField> getRequiredFieldListNoTransform() { - return (JastAddList<RequiredField>) getChildNoTransform(7); + return (JastAddList<RequiredField>) getChildNoTransform(6); } /** * @return the element at index {@code i} in the RequiredField list without @@ -1378,7 +1354,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setAllOfSchemaList(JastAddList<AllOfSchema> list) { - setChild(list, 8); + setChild(list, 7); } /** * Retrieves the number of children in the AllOfSchema list. @@ -1446,7 +1422,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="AllOfSchema") public JastAddList<AllOfSchema> getAllOfSchemaList() { - JastAddList<AllOfSchema> list = (JastAddList<AllOfSchema>) getChild(8); + JastAddList<AllOfSchema> list = (JastAddList<AllOfSchema>) getChild(7); return list; } /** @@ -1456,7 +1432,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<AllOfSchema> getAllOfSchemaListNoTransform() { - return (JastAddList<AllOfSchema>) getChildNoTransform(8); + return (JastAddList<AllOfSchema>) getChildNoTransform(7); } /** * @return the element at index {@code i} in the AllOfSchema list without @@ -1488,7 +1464,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setAnyOfSchemaList(JastAddList<AnyOfSchema> list) { - setChild(list, 9); + setChild(list, 8); } /** * Retrieves the number of children in the AnyOfSchema list. @@ -1556,7 +1532,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="AnyOfSchema") public JastAddList<AnyOfSchema> getAnyOfSchemaList() { - JastAddList<AnyOfSchema> list = (JastAddList<AnyOfSchema>) getChild(9); + JastAddList<AnyOfSchema> list = (JastAddList<AnyOfSchema>) getChild(8); return list; } /** @@ -1566,7 +1542,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<AnyOfSchema> getAnyOfSchemaListNoTransform() { - return (JastAddList<AnyOfSchema>) getChildNoTransform(9); + return (JastAddList<AnyOfSchema>) getChildNoTransform(8); } /** * @return the element at index {@code i} in the AnyOfSchema list without @@ -1598,7 +1574,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel high-level */ public void setOneOfSchemaList(JastAddList<OneOfSchema> list) { - setChild(list, 10); + setChild(list, 9); } /** * Retrieves the number of children in the OneOfSchema list. @@ -1666,7 +1642,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.ListChild(name="OneOfSchema") public JastAddList<OneOfSchema> getOneOfSchemaList() { - JastAddList<OneOfSchema> list = (JastAddList<OneOfSchema>) getChild(10); + JastAddList<OneOfSchema> list = (JastAddList<OneOfSchema>) getChild(9); return list; } /** @@ -1676,7 +1652,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public JastAddList<OneOfSchema> getOneOfSchemaListNoTransform() { - return (JastAddList<OneOfSchema>) getChildNoTransform(10); + return (JastAddList<OneOfSchema>) getChildNoTransform(9); } /** * @return the element at index {@code i} in the OneOfSchema list without @@ -1707,40 +1683,40 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme ReadOnly. * @apilevel high-level */ - public void setReadOnly(Object value) { - tokenObject_ReadOnly = value; + public void setReadOnly(Boolean value) { + tokenBoolean_ReadOnly = value; } /** @apilevel internal */ - protected Object tokenObject_ReadOnly; + protected Boolean tokenBoolean_ReadOnly; /** * Retrieves the value for the lexeme ReadOnly. * @return The value for the lexeme ReadOnly. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="ReadOnly") - public Object getReadOnly() { - return tokenObject_ReadOnly; + public Boolean getReadOnly() { + return tokenBoolean_ReadOnly; } /** * Replaces the lexeme WriteOnly. * @param value The new value for the lexeme WriteOnly. * @apilevel high-level */ - public void setWriteOnly(Object value) { - tokenObject_WriteOnly = value; + public void setWriteOnly(Boolean value) { + tokenBoolean_WriteOnly = value; } /** @apilevel internal */ - protected Object tokenObject_WriteOnly; + protected Boolean tokenBoolean_WriteOnly; /** * Retrieves the value for the lexeme WriteOnly. * @return The value for the lexeme WriteOnly. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="WriteOnly") - public Object getWriteOnly() { - return tokenObject_WriteOnly; + public Boolean getWriteOnly() { + return tokenBoolean_WriteOnly; } /** * Replaces the lexeme Type. @@ -1787,20 +1763,20 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme UniqueItems. * @apilevel high-level */ - public void setUniqueItems(Object value) { - tokenObject_UniqueItems = value; + public void setUniqueItems(Boolean value) { + tokenBoolean_UniqueItems = value; } /** @apilevel internal */ - protected Object tokenObject_UniqueItems; + protected Boolean tokenBoolean_UniqueItems; /** * Retrieves the value for the lexeme UniqueItems. * @return The value for the lexeme UniqueItems. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="UniqueItems") - public Object getUniqueItems() { - return tokenObject_UniqueItems; + public Boolean getUniqueItems() { + return tokenBoolean_UniqueItems; } /** * Replaces the optional node for the XmlObject child. This is the <code>Opt</code> @@ -1809,7 +1785,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public void setXmlObjectOpt(Opt<XmlObject> opt) { - setChild(opt, 11); + setChild(opt, 10); } /** * Replaces the (optional) XmlObject child. @@ -1842,7 +1818,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.OptChild(name="XmlObject") public Opt<XmlObject> getXmlObjectOpt() { - return (Opt<XmlObject>) getChild(11); + return (Opt<XmlObject>) getChild(10); } /** * Retrieves the optional node for child XmlObject. This is the <code>Opt</code> node containing the child XmlObject, not the actual child! @@ -1851,7 +1827,7 @@ public class SchemaObject extends ASTNode<ASTNode> implements Cloneable { * @apilevel low-level */ public Opt<XmlObject> getXmlObjectOptNoTransform() { - return (Opt<XmlObject>) getChildNoTransform(11); + return (Opt<XmlObject>) getChildNoTransform(10); } /** * Replaces the lexeme Ref. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.java deleted file mode 100644 index 8c674ef8..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:32 - * @astdecl SchemaReferenceTuple : SchemasTuple ::= <Name:String> <Ref:String>; - * @production SchemaReferenceTuple : {@link SchemasTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class SchemaReferenceTuple extends SchemasTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public SchemaReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public SchemaReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public SchemaReferenceTuple clone() throws CloneNotSupportedException { - SchemaReferenceTuple node = (SchemaReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public SchemaReferenceTuple copy() { - try { - SchemaReferenceTuple node = (SchemaReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public SchemaReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public SchemaReferenceTuple treeCopyNoTransform() { - SchemaReferenceTuple tree = (SchemaReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public SchemaReferenceTuple treeCopy() { - SchemaReferenceTuple tree = (SchemaReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((SchemaReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((SchemaReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java similarity index 74% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java index 6711e490..c3d13bc1 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemaTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:31 - * @astdecl SchemaObjectTuple : SchemasTuple ::= <Name:String> SchemaObject; - * @production SchemaObjectTuple : {@link SchemasTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link SchemaObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:23 + * @astdecl SchemaTuple : ASTNode ::= <Key:String> SchemaObject; + * @production SchemaTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link SchemaObject}</span>; */ -public class SchemaObjectTuple extends SchemasTuple implements Cloneable { +public class SchemaTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public SchemaObjectTuple() { + public SchemaTuple() { super(); } /** @@ -35,12 +36,12 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "SchemaObject"}, + name = {"Key", "SchemaObject"}, type = {"String", "SchemaObject"}, kind = {"Token", "Child"} ) - public SchemaObjectTuple(String p0, SchemaObject p1) { - setName(p0); + public SchemaTuple(String p0, SchemaObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { /** @apilevel internal * @declaredat ASTNode:41 */ - public SchemaObjectTuple clone() throws CloneNotSupportedException { - SchemaObjectTuple node = (SchemaObjectTuple) super.clone(); + public SchemaTuple clone() throws CloneNotSupportedException { + SchemaTuple node = (SchemaTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public SchemaObjectTuple copy() { + public SchemaTuple copy() { try { - SchemaObjectTuple node = (SchemaObjectTuple) clone(); + SchemaTuple node = (SchemaTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { * @declaredat ASTNode:65 */ @Deprecated - public SchemaObjectTuple fullCopy() { + public SchemaTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:75 */ - public SchemaObjectTuple treeCopyNoTransform() { - SchemaObjectTuple tree = (SchemaObjectTuple) copy(); + public SchemaTuple treeCopyNoTransform() { + SchemaTuple tree = (SchemaTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { * @apilevel low-level * @declaredat ASTNode:95 */ - public SchemaObjectTuple treeCopy() { - SchemaObjectTuple tree = (SchemaObjectTuple) copy(); + public SchemaTuple treeCopy() { + SchemaTuple tree = (SchemaTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class SchemaObjectTuple extends SchemasTuple implements Cloneable { * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((SchemaObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((SchemaTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the SchemaObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemasTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemasTuple.java deleted file mode 100644 index 78a32323..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SchemasTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:30 - * @astdecl SchemasTuple : ASTNode; - * @production SchemasTuple : {@link ASTNode}; - - */ -public abstract class SchemasTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public SchemasTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public SchemasTuple clone() throws CloneNotSupportedException { - SchemasTuple node = (SchemasTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract SchemasTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract SchemasTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract SchemasTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java index 5795bc20..1e641b7d 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ScopesTuple.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:160 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:121 * @astdecl ScopesTuple : ASTNode ::= <ScopesKey:String> <ScopesValue:String>; * @production ScopesTuple : {@link ASTNode} ::= <span class="component"><ScopesKey:String></span> <span class="component"><ScopesValue:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java index ab52738d..9d1e446c 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:6 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:124 * @astdecl SecurityRequirementObject : ASTNode ::= SecurityRequirementTuple*; * @production SecurityRequirementObject : {@link ASTNode} ::= <span class="component">{@link SecurityRequirementTuple}*</span>; @@ -17,7 +18,7 @@ import java.net.URL; public class SecurityRequirementObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:734 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:767 */ public static SecurityRequirement composeSecurityRequirement (SecurityRequirementObject securityRequirementObject){ SecurityRequirement securityRequirement = new SecurityRequirement(); @@ -37,7 +38,7 @@ public class SecurityRequirementObject extends ASTNode<ASTNode> implements Clone } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:826 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:807 */ public static SecurityRequirementObject parseSecurityRequirement(SecurityRequirement securityRequirement){ SecurityRequirementObject securityRequirementObject = new SecurityRequirementObject(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java index b69dd08e..6921d8fc 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementTuple.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:164 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:125 * @astdecl SecurityRequirementTuple : ASTNode ::= <Name:String> SecurityRequirementValue*; * @production SecurityRequirementTuple : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component">{@link SecurityRequirementValue}*</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java index dd452952..815092c1 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecurityRequirementValue.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:165 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:126 * @astdecl SecurityRequirementValue : ASTNode ::= <Value:String>; * @production SecurityRequirementValue : {@link ASTNode} ::= <span class="component"><Value:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java index 2c41bdd8..bf3704bc 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:148 - * @astdecl SecuritySchemeObject : ASTNode ::= <Type:String> <Description:String> <Name:String> <In:String> <Scheme:String> <BearerFormat:String> Flows <OpenIdConnectUrl:String>; - * @production SecuritySchemeObject : {@link ASTNode} ::= <span class="component"><Type:String></span> <span class="component"><Description:String></span> <span class="component"><Name:String></span> <span class="component"><In:String></span> <span class="component"><Scheme:String></span> <span class="component"><BearerFormat:String></span> <span class="component">{@link Flows}</span> <span class="component"><OpenIdConnectUrl:String></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:110 + * @astdecl SecuritySchemeObject : ASTNode ::= <Type:String> <Description:String> <Name:String> <In:String> <Scheme:String> <BearerFormat:String> OAuthFlowsObject <OpenIdConnectUrl:String> <Ref:String>; + * @production SecuritySchemeObject : {@link ASTNode} ::= <span class="component"><Type:String></span> <span class="component"><Description:String></span> <span class="component"><Name:String></span> <span class="component"><In:String></span> <span class="component"><Scheme:String></span> <span class="component"><BearerFormat:String></span> <span class="component">{@link OAuthFlowsObject}</span> <span class="component"><OpenIdConnectUrl:String></span> <span class="component"><Ref:String></span>; */ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:685 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:718 */ public static SecurityScheme composeSecurityScheme (SecuritySchemeObject securitySchemeObject){ SecurityScheme securityScheme = new SecurityScheme(); @@ -27,7 +28,7 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable securityScheme.setIn( securitySchemeObject.getIn() ); securityScheme.setScheme( securitySchemeObject.getScheme() ); securityScheme.setOpenIdConnectUrl( securitySchemeObject.getOpenIdConnectUrl() ); - securityScheme.setFlows( OAuthFlowsObject.composeOAuthFlows( securitySchemeObject.getFlows().getOAuthFlowsObject() ) ); + securityScheme.setFlows( OAuthFlowsObject.composeOAuthFlows( securitySchemeObject.getOAuthFlowsObject() ) ); if( !securitySchemeObject.getDescription().isEmpty() ) securityScheme.setDescription( securitySchemeObject.getDescription() ); @@ -38,19 +39,17 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:768 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:751 */ public static SecuritySchemeObject parseSecurityScheme(SecurityScheme securityScheme){ SecuritySchemeObject securitySchemeObject = new SecuritySchemeObject(); - Flows flows = new Flows(); securitySchemeObject.setType( securityScheme.getType() ); securitySchemeObject.setName( securityScheme.getName() ); securitySchemeObject.setIn( securityScheme.getIn() ); securitySchemeObject.setScheme( securityScheme.getScheme() ); securitySchemeObject.setOpenIdConnectUrl( securityScheme.getOpenIdConnectUrl() ); - flows.setOAuthFlowsObject( OAuthFlowsObject.parseOAuthFlows(securityScheme.getFlows()) ); - securitySchemeObject.setFlows( flows ); + securitySchemeObject.setOAuthFlowsObject( OAuthFlowsObject.parseOAuthFlows(securityScheme.getFlows()) ); if( securityScheme.getDescription() != null ) securitySchemeObject.setDescription( securityScheme.getDescription() ); @@ -79,11 +78,11 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Type", "Description", "Name", "In", "Scheme", "BearerFormat", "Flows", "OpenIdConnectUrl"}, - type = {"String", "String", "String", "String", "String", "String", "Flows", "String"}, - kind = {"Token", "Token", "Token", "Token", "Token", "Token", "Child", "Token"} + name = {"Type", "Description", "Name", "In", "Scheme", "BearerFormat", "OAuthFlowsObject", "OpenIdConnectUrl", "Ref"}, + type = {"String", "String", "String", "String", "String", "String", "OAuthFlowsObject", "String", "String"}, + kind = {"Token", "Token", "Token", "Token", "Token", "Token", "Child", "Token", "Token"} ) - public SecuritySchemeObject(String p0, String p1, String p2, String p3, String p4, String p5, Flows p6, String p7) { + public SecuritySchemeObject(String p0, String p1, String p2, String p3, String p4, String p5, OAuthFlowsObject p6, String p7, String p8) { setType(p0); setDescription(p1); setName(p2); @@ -92,41 +91,42 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable setBearerFormat(p5); setChild(p6, 0); setOpenIdConnectUrl(p7); + setRef(p8); } /** @apilevel low-level - * @declaredat ASTNode:29 + * @declaredat ASTNode:30 */ protected int numChildren() { return 1; } /** * @apilevel internal - * @declaredat ASTNode:35 + * @declaredat ASTNode:36 */ public boolean mayHaveRewrite() { return false; } /** @apilevel internal - * @declaredat ASTNode:39 + * @declaredat ASTNode:40 */ public void flushAttrCache() { super.flushAttrCache(); } /** @apilevel internal - * @declaredat ASTNode:43 + * @declaredat ASTNode:44 */ public void flushCollectionCache() { super.flushCollectionCache(); } /** @apilevel internal - * @declaredat ASTNode:47 + * @declaredat ASTNode:48 */ public SecuritySchemeObject clone() throws CloneNotSupportedException { SecuritySchemeObject node = (SecuritySchemeObject) super.clone(); return node; } /** @apilevel internal - * @declaredat ASTNode:52 + * @declaredat ASTNode:53 */ public SecuritySchemeObject copy() { try { @@ -146,7 +146,7 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable * @return dangling copy of the subtree at this node * @apilevel low-level * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:71 + * @declaredat ASTNode:72 */ @Deprecated public SecuritySchemeObject fullCopy() { @@ -157,7 +157,7 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:81 + * @declaredat ASTNode:82 */ public SecuritySchemeObject treeCopyNoTransform() { SecuritySchemeObject tree = (SecuritySchemeObject) copy(); @@ -178,7 +178,7 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable * The copy is dangling, i.e. has no parent. * @return dangling copy of the subtree at this node * @apilevel low-level - * @declaredat ASTNode:101 + * @declaredat ASTNode:102 */ public SecuritySchemeObject treeCopy() { SecuritySchemeObject tree = (SecuritySchemeObject) copy(); @@ -194,10 +194,10 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable return tree; } /** @apilevel internal - * @declaredat ASTNode:115 + * @declaredat ASTNode:116 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Type == ((SecuritySchemeObject) node).tokenString_Type) && (tokenString_Description == ((SecuritySchemeObject) node).tokenString_Description) && (tokenString_Name == ((SecuritySchemeObject) node).tokenString_Name) && (tokenString_In == ((SecuritySchemeObject) node).tokenString_In) && (tokenString_Scheme == ((SecuritySchemeObject) node).tokenString_Scheme) && (tokenString_BearerFormat == ((SecuritySchemeObject) node).tokenString_BearerFormat) && (tokenString_OpenIdConnectUrl == ((SecuritySchemeObject) node).tokenString_OpenIdConnectUrl); + return super.is$Equal(node) && (tokenString_Type == ((SecuritySchemeObject) node).tokenString_Type) && (tokenString_Description == ((SecuritySchemeObject) node).tokenString_Description) && (tokenString_Name == ((SecuritySchemeObject) node).tokenString_Name) && (tokenString_In == ((SecuritySchemeObject) node).tokenString_In) && (tokenString_Scheme == ((SecuritySchemeObject) node).tokenString_Scheme) && (tokenString_BearerFormat == ((SecuritySchemeObject) node).tokenString_BearerFormat) && (tokenString_OpenIdConnectUrl == ((SecuritySchemeObject) node).tokenString_OpenIdConnectUrl) && (tokenString_Ref == ((SecuritySchemeObject) node).tokenString_Ref); } /** * Replaces the lexeme Type. @@ -320,30 +320,30 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable return tokenString_BearerFormat != null ? tokenString_BearerFormat : ""; } /** - * Replaces the Flows child. - * @param node The new node to replace the Flows child. + * Replaces the OAuthFlowsObject child. + * @param node The new node to replace the OAuthFlowsObject child. * @apilevel high-level */ - public void setFlows(Flows node) { + public void setOAuthFlowsObject(OAuthFlowsObject node) { setChild(node, 0); } /** - * Retrieves the Flows child. - * @return The current node used as the Flows child. + * Retrieves the OAuthFlowsObject child. + * @return The current node used as the OAuthFlowsObject child. * @apilevel high-level */ - @ASTNodeAnnotation.Child(name="Flows") - public Flows getFlows() { - return (Flows) getChild(0); + @ASTNodeAnnotation.Child(name="OAuthFlowsObject") + public OAuthFlowsObject getOAuthFlowsObject() { + return (OAuthFlowsObject) getChild(0); } /** - * Retrieves the Flows child. + * Retrieves the OAuthFlowsObject child. * <p><em>This method does not invoke AST transformations.</em></p> - * @return The current node used as the Flows child. + * @return The current node used as the OAuthFlowsObject child. * @apilevel low-level */ - public Flows getFlowsNoTransform() { - return (Flows) getChildNoTransform(0); + public OAuthFlowsObject getOAuthFlowsObjectNoTransform() { + return (OAuthFlowsObject) getChildNoTransform(0); } /** * Replaces the lexeme OpenIdConnectUrl. @@ -365,6 +365,26 @@ public class SecuritySchemeObject extends ASTNode<ASTNode> implements Cloneable public String getOpenIdConnectUrl() { return tokenString_OpenIdConnectUrl != null ? tokenString_OpenIdConnectUrl : ""; } + /** + * Replaces the lexeme Ref. + * @param value The new value for the lexeme Ref. + * @apilevel high-level + */ + public void setRef(String value) { + tokenString_Ref = value; + } + /** @apilevel internal + */ + protected String tokenString_Ref; + /** + * Retrieves the value for the lexeme Ref. + * @return The value for the lexeme Ref. + * @apilevel high-level + */ + @ASTNodeAnnotation.Token(name="Ref") + public String getRef() { + return tokenString_Ref != null ? tokenString_Ref : ""; + } /** @apilevel internal */ public ASTNode rewriteTo() { return super.rewriteTo(); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.java deleted file mode 100644 index 368b634e..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeReferenceTuple.java +++ /dev/null @@ -1,199 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:50 - * @astdecl SecuritySchemeReferenceTuple : SecuritySchemesTuple ::= <Name:String> <Ref:String>; - * @production SecuritySchemeReferenceTuple : {@link SecuritySchemesTuple} ::= <span class="component"><Name:String></span> <span class="component"><Ref:String></span>; - - */ -public class SecuritySchemeReferenceTuple extends SecuritySchemesTuple implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public SecuritySchemeReferenceTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** - * @declaredat ASTNode:12 - */ - @ASTNodeAnnotation.Constructor( - name = {"Name", "Ref"}, - type = {"String", "String"}, - kind = {"Token", "Token"} - ) - public SecuritySchemeReferenceTuple(String p0, String p1) { - setName(p0); - setRef(p1); - } - /** @apilevel low-level - * @declaredat ASTNode:22 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:28 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:32 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:36 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:40 - */ - public SecuritySchemeReferenceTuple clone() throws CloneNotSupportedException { - SecuritySchemeReferenceTuple node = (SecuritySchemeReferenceTuple) super.clone(); - return node; - } - /** @apilevel internal - * @declaredat ASTNode:45 - */ - public SecuritySchemeReferenceTuple copy() { - try { - SecuritySchemeReferenceTuple node = (SecuritySchemeReferenceTuple) clone(); - node.parent = null; - if (children != null) { - node.children = (ASTNode[]) children.clone(); - } - return node; - } catch (CloneNotSupportedException e) { - throw new Error("Error: clone not supported for " + getClass().getName()); - } - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:64 - */ - @Deprecated - public SecuritySchemeReferenceTuple fullCopy() { - return treeCopyNoTransform(); - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:74 - */ - public SecuritySchemeReferenceTuple treeCopyNoTransform() { - SecuritySchemeReferenceTuple tree = (SecuritySchemeReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) children[i]; - if (child != null) { - child = child.treeCopyNoTransform(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:94 - */ - public SecuritySchemeReferenceTuple treeCopy() { - SecuritySchemeReferenceTuple tree = (SecuritySchemeReferenceTuple) copy(); - if (children != null) { - for (int i = 0; i < children.length; ++i) { - ASTNode child = (ASTNode) getChild(i); - if (child != null) { - child = child.treeCopy(); - tree.setChild(child, i); - } - } - } - return tree; - } - /** @apilevel internal - * @declaredat ASTNode:108 - */ - protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((SecuritySchemeReferenceTuple) node).tokenString_Name) && (tokenString_Ref == ((SecuritySchemeReferenceTuple) node).tokenString_Ref); - } - /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. - * @apilevel high-level - */ - public void setName(String value) { - tokenString_Name = value; - } - /** @apilevel internal - */ - protected String tokenString_Name; - /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; - } - /** - * Replaces the lexeme Ref. - * @param value The new value for the lexeme Ref. - * @apilevel high-level - */ - public void setRef(String value) { - tokenString_Ref = value; - } - /** @apilevel internal - */ - protected String tokenString_Ref; - /** - * Retrieves the value for the lexeme Ref. - * @return The value for the lexeme Ref. - * @apilevel high-level - */ - @ASTNodeAnnotation.Token(name="Ref") - public String getRef() { - return tokenString_Ref != null ? tokenString_Ref : ""; - } - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java similarity index 72% rename from src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.java rename to src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java index 10dbc1e1..0f5c02b8 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeObjectTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemeTuple.java @@ -4,21 +4,22 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:49 - * @astdecl SecuritySchemeObjectTuple : SecuritySchemesTuple ::= <Name:String> SecuritySchemeObject; - * @production SecuritySchemeObjectTuple : {@link SecuritySchemesTuple} ::= <span class="component"><Name:String></span> <span class="component">{@link SecuritySchemeObject}</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:29 + * @astdecl SecuritySchemeTuple : ASTNode ::= <Key:String> SecuritySchemeObject; + * @production SecuritySchemeTuple : {@link ASTNode} ::= <span class="component"><Key:String></span> <span class="component">{@link SecuritySchemeObject}</span>; */ -public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements Cloneable { +public class SecuritySchemeTuple extends ASTNode<ASTNode> implements Cloneable { /** * @declaredat ASTNode:1 */ - public SecuritySchemeObjectTuple() { + public SecuritySchemeTuple() { super(); } /** @@ -35,12 +36,12 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C * @declaredat ASTNode:13 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "SecuritySchemeObject"}, + name = {"Key", "SecuritySchemeObject"}, type = {"String", "SecuritySchemeObject"}, kind = {"Token", "Child"} ) - public SecuritySchemeObjectTuple(String p0, SecuritySchemeObject p1) { - setName(p0); + public SecuritySchemeTuple(String p0, SecuritySchemeObject p1) { + setKey(p0); setChild(p1, 0); } /** @apilevel low-level @@ -71,16 +72,16 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C /** @apilevel internal * @declaredat ASTNode:41 */ - public SecuritySchemeObjectTuple clone() throws CloneNotSupportedException { - SecuritySchemeObjectTuple node = (SecuritySchemeObjectTuple) super.clone(); + public SecuritySchemeTuple clone() throws CloneNotSupportedException { + SecuritySchemeTuple node = (SecuritySchemeTuple) super.clone(); return node; } /** @apilevel internal * @declaredat ASTNode:46 */ - public SecuritySchemeObjectTuple copy() { + public SecuritySchemeTuple copy() { try { - SecuritySchemeObjectTuple node = (SecuritySchemeObjectTuple) clone(); + SecuritySchemeTuple node = (SecuritySchemeTuple) clone(); node.parent = null; if (children != null) { node.children = (ASTNode[]) children.clone(); @@ -99,7 +100,7 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C * @declaredat ASTNode:65 */ @Deprecated - public SecuritySchemeObjectTuple fullCopy() { + public SecuritySchemeTuple fullCopy() { return treeCopyNoTransform(); } /** @@ -109,8 +110,8 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C * @apilevel low-level * @declaredat ASTNode:75 */ - public SecuritySchemeObjectTuple treeCopyNoTransform() { - SecuritySchemeObjectTuple tree = (SecuritySchemeObjectTuple) copy(); + public SecuritySchemeTuple treeCopyNoTransform() { + SecuritySchemeTuple tree = (SecuritySchemeTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) children[i]; @@ -130,8 +131,8 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C * @apilevel low-level * @declaredat ASTNode:95 */ - public SecuritySchemeObjectTuple treeCopy() { - SecuritySchemeObjectTuple tree = (SecuritySchemeObjectTuple) copy(); + public SecuritySchemeTuple treeCopy() { + SecuritySchemeTuple tree = (SecuritySchemeTuple) copy(); if (children != null) { for (int i = 0; i < children.length; ++i) { ASTNode child = (ASTNode) getChild(i); @@ -147,27 +148,27 @@ public class SecuritySchemeObjectTuple extends SecuritySchemesTuple implements C * @declaredat ASTNode:109 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((SecuritySchemeObjectTuple) node).tokenString_Name); + return super.is$Equal(node) && (tokenString_Key == ((SecuritySchemeTuple) node).tokenString_Key); } /** - * Replaces the lexeme Name. - * @param value The new value for the lexeme Name. + * Replaces the lexeme Key. + * @param value The new value for the lexeme Key. * @apilevel high-level */ - public void setName(String value) { - tokenString_Name = value; + public void setKey(String value) { + tokenString_Key = value; } /** @apilevel internal */ - protected String tokenString_Name; + protected String tokenString_Key; /** - * Retrieves the value for the lexeme Name. - * @return The value for the lexeme Name. + * Retrieves the value for the lexeme Key. + * @return The value for the lexeme Key. * @apilevel high-level */ - @ASTNodeAnnotation.Token(name="Name") - public String getName() { - return tokenString_Name != null ? tokenString_Name : ""; + @ASTNodeAnnotation.Token(name="Key") + public String getKey() { + return tokenString_Key != null ? tokenString_Key : ""; } /** * Replaces the SecuritySchemeObject child. diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.java deleted file mode 100644 index d222192d..00000000 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/SecuritySchemesTuple.java +++ /dev/null @@ -1,100 +0,0 @@ -/* This file was generated with JastAdd2 (http://jastadd.org) version 2.3.2 */ -package de.tudresden.inf.st.openapi.ast; -import org.openapi4j.core.exception.ResolutionException; -import org.openapi4j.core.validation.ValidationException; -import org.openapi4j.parser.model.v3.*; -import org.openapi4j.core.model.reference.Reference; -import java.io.IOException; -import java.util.*; -import java.net.URL; -/** - * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:48 - * @astdecl SecuritySchemesTuple : ASTNode; - * @production SecuritySchemesTuple : {@link ASTNode}; - - */ -public abstract class SecuritySchemesTuple extends ASTNode<ASTNode> implements Cloneable { - /** - * @declaredat ASTNode:1 - */ - public SecuritySchemesTuple() { - super(); - } - /** - * Initializes the child array to the correct size. - * Initializes List and Opt nta children. - * @apilevel internal - * @ast method - * @declaredat ASTNode:10 - */ - public void init$Children() { - } - /** @apilevel low-level - * @declaredat ASTNode:13 - */ - protected int numChildren() { - return 0; - } - /** - * @apilevel internal - * @declaredat ASTNode:19 - */ - public boolean mayHaveRewrite() { - return false; - } - /** @apilevel internal - * @declaredat ASTNode:23 - */ - public void flushAttrCache() { - super.flushAttrCache(); - } - /** @apilevel internal - * @declaredat ASTNode:27 - */ - public void flushCollectionCache() { - super.flushCollectionCache(); - } - /** @apilevel internal - * @declaredat ASTNode:31 - */ - public SecuritySchemesTuple clone() throws CloneNotSupportedException { - SecuritySchemesTuple node = (SecuritySchemesTuple) super.clone(); - return node; - } - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @deprecated Please use treeCopy or treeCopyNoTransform instead - * @declaredat ASTNode:42 - */ - @Deprecated - public abstract SecuritySchemesTuple fullCopy(); - /** - * Create a deep copy of the AST subtree at this node. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:50 - */ - public abstract SecuritySchemesTuple treeCopyNoTransform(); - /** - * Create a deep copy of the AST subtree at this node. - * The subtree of this node is traversed to trigger rewrites before copy. - * The copy is dangling, i.e. has no parent. - * @return dangling copy of the subtree at this node - * @apilevel low-level - * @declaredat ASTNode:58 - */ - public abstract SecuritySchemesTuple treeCopy(); - /** @apilevel internal */ - public ASTNode rewriteTo() { - return super.rewriteTo(); - } - /** @apilevel internal */ - public boolean canRewrite() { - return false; - } -} diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java index 634800f6..8258e8c9 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:4 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:14 * @astdecl ServerObject : ASTNode ::= <Url:String> <Description:String> ServerVariablesTuple*; * @production ServerObject : {@link ASTNode} ::= <span class="component"><Url:String></span> <span class="component"><Description:String></span> <span class="component">{@link ServerVariablesTuple}*</span>; @@ -17,13 +18,13 @@ import java.net.URL; public class ServerObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:92 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:97 */ public static Server composeServer (ServerObject serverObject){ Server server = new Server(); - server.setUrl( serverObject.getUrl() ); - + if( !serverObject.getUrl().isEmpty() ) + server.setUrl(serverObject.getUrl()); if( !serverObject.getDescription().isEmpty() ) server.setDescription( serverObject.getDescription() ); if( serverObject.hasServerVariablesTuple() ){ @@ -37,15 +38,15 @@ public class ServerObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:73 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:79 */ public static ServerObject parseServer(Server server){ ServerObject serverObject = new ServerObject(); - serverObject.setUrl( server.getUrl() ); - + if( server.getUrl() != null ) + serverObject.setUrl(server.getUrl()); if( server.getDescription() != null ) - serverObject.setDescription( server.getDescription() ); + serverObject.setDescription(server.getDescription()); if( server.getVariables() != null ){ for (String key : server.getVariables().keySet()) serverObject.addServerVariablesTuple(new ServerVariablesTuple(key, ServerVariableObject.parseServerVariable(server.getVariable(key)))); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java index edc92f69..be3ed81c 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariableObject.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:25 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:18 * @astdecl ServerVariableObject : ASTNode ::= Enum* <Default:String> <Description:String>; * @production ServerVariableObject : {@link ASTNode} ::= <span class="component">{@link Enum}*</span> <span class="component"><Default:String></span> <span class="component"><Description:String></span>; @@ -17,15 +18,15 @@ import java.net.URL; public class ServerVariableObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:109 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:114 */ public static ServerVariable composeServerVariable (ServerVariableObject serverVariableObject){ ServerVariable serverVariable = new ServerVariable(); - serverVariable.setDefault( serverVariableObject.getDefault() ); - + if( !serverVariableObject.getDefault().isEmpty() ) + serverVariable.setDefault(serverVariableObject.getDefault()); if( !serverVariableObject.getDescription().isEmpty() ) - serverVariable.setDescription( serverVariableObject.getDescription() ); + serverVariable.setDescription(serverVariableObject.getDescription()); if( serverVariableObject.getNumEnum() != 0 ){ List<String> enums = new ArrayList<>(); for( Enum e : serverVariableObject.getEnums() ) @@ -37,15 +38,15 @@ public class ServerVariableObject extends ASTNode<ASTNode> implements Cloneable } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:88 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:94 */ public static ServerVariableObject parseServerVariable(ServerVariable serverVariable){ ServerVariableObject serverVariableObject = new ServerVariableObject(); - serverVariableObject.setDefault( serverVariable.getDefault() ); - + if( serverVariable.getDefault() != null ) + serverVariableObject.setDefault(serverVariable.getDefault()); if( serverVariable.getDescription() != null ) - serverVariableObject.setDescription( serverVariable.getDescription() ); + serverVariableObject.setDescription(serverVariable.getDescription()); if( serverVariable.getEnums() != null ){ for( String e : serverVariable.getEnums() ) serverVariableObject.addEnum(new Enum(e)); diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java index beb3e1c5..a989ea0f 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/ServerVariablesTuple.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:22 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:15 * @astdecl ServerVariablesTuple : ASTNode ::= <Name:String> ServerVariableObject; * @production ServerVariablesTuple : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component">{@link ServerVariableObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java index a5a042ea..02ec42dc 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Tag.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:76 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:50 * @astdecl Tag : ASTNode ::= <Tag:String>; * @production Tag : {@link ASTNode} ::= <span class="component"><Tag:String></span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java index c13ea8f1..6da26707 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/TagObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:126 - * @astdecl TagObject : ASTNode ::= <Name:String> <Description:String> [ExternalDocumentationObject]; - * @production TagObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Description:String></span> <span class="component">[{@link ExternalDocumentationObject}]</span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:88 + * @astdecl TagObject : ASTNode ::= <Name:String> <Description:String> [ExternalDocObject]; + * @production TagObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Description:String></span> <span class="component">[{@link ExternalDocObject}]</span>; */ public class TagObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:551 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:578 */ public static org.openapi4j.parser.model.v3.Tag composeTag (TagObject tagObject){ org.openapi4j.parser.model.v3.Tag tag = new org.openapi4j.parser.model.v3.Tag(); @@ -26,14 +27,14 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable { if( !tagObject.getDescription().isEmpty() ) tag.setDescription( tagObject.getDescription() ); - if( tagObject.hasExternalDocumentationObject() ) - tag.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(tagObject.getExternalDocumentationObject()) ); + if( tagObject.hasExternalDocObject() ) + tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject()) ); return tag; } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:605 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:587 */ public static TagObject parseTag(org.openapi4j.parser.model.v3.Tag tag){ TagObject tagObject = new TagObject(); @@ -43,7 +44,7 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable { if( tag.getDescription() != null ) tagObject.setDescription( tag.getDescription() ); if( tag.getExternalDocs() != null ) - tagObject.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(tag.getExternalDocs()) ); + tagObject.setExternalDocObject( ExternalDocObject.parseExternalDocs(tag.getExternalDocs()) ); return tagObject; } @@ -68,11 +69,11 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:14 */ @ASTNodeAnnotation.Constructor( - name = {"Name", "Description", "ExternalDocumentationObject"}, - type = {"String", "String", "Opt<ExternalDocumentationObject>"}, + name = {"Name", "Description", "ExternalDocObject"}, + type = {"String", "String", "Opt<ExternalDocObject>"}, kind = {"Token", "Token", "Opt"} ) - public TagObject(String p0, String p1, Opt<ExternalDocumentationObject> p2) { + public TagObject(String p0, String p1, Opt<ExternalDocObject> p2) { setName(p0); setDescription(p1); setChild(p2, 0); @@ -224,55 +225,55 @@ public class TagObject extends ASTNode<ASTNode> implements Cloneable { return tokenString_Description != null ? tokenString_Description : ""; } /** - * Replaces the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> - * node containing the child ExternalDocumentationObject, not the actual child! - * @param opt The new node to be used as the optional node for the ExternalDocumentationObject child. + * Replaces the optional node for the ExternalDocObject child. This is the <code>Opt</code> + * node containing the child ExternalDocObject, not the actual child! + * @param opt The new node to be used as the optional node for the ExternalDocObject child. * @apilevel low-level */ - public void setExternalDocumentationObjectOpt(Opt<ExternalDocumentationObject> opt) { + public void setExternalDocObjectOpt(Opt<ExternalDocObject> opt) { setChild(opt, 0); } /** - * Replaces the (optional) ExternalDocumentationObject child. - * @param node The new node to be used as the ExternalDocumentationObject child. + * Replaces the (optional) ExternalDocObject child. + * @param node The new node to be used as the ExternalDocObject child. * @apilevel high-level */ - public void setExternalDocumentationObject(ExternalDocumentationObject node) { - getExternalDocumentationObjectOpt().setChild(node, 0); + public void setExternalDocObject(ExternalDocObject node) { + getExternalDocObjectOpt().setChild(node, 0); } /** - * Check whether the optional ExternalDocumentationObject child exists. - * @return {@code true} if the optional ExternalDocumentationObject child exists, {@code false} if it does not. + * Check whether the optional ExternalDocObject child exists. + * @return {@code true} if the optional ExternalDocObject child exists, {@code false} if it does not. * @apilevel high-level */ - public boolean hasExternalDocumentationObject() { - return getExternalDocumentationObjectOpt().getNumChild() != 0; + public boolean hasExternalDocObject() { + return getExternalDocObjectOpt().getNumChild() != 0; } /** - * Retrieves the (optional) ExternalDocumentationObject child. - * @return The ExternalDocumentationObject child, if it exists. Returns {@code null} otherwise. + * Retrieves the (optional) ExternalDocObject child. + * @return The ExternalDocObject child, if it exists. Returns {@code null} otherwise. * @apilevel low-level */ - public ExternalDocumentationObject getExternalDocumentationObject() { - return (ExternalDocumentationObject) getExternalDocumentationObjectOpt().getChild(0); + public ExternalDocObject getExternalDocObject() { + return (ExternalDocObject) getExternalDocObjectOpt().getChild(0); } /** - * Retrieves the optional node for the ExternalDocumentationObject child. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! - * @return The optional node for child the ExternalDocumentationObject child. + * Retrieves the optional node for the ExternalDocObject child. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! + * @return The optional node for child the ExternalDocObject child. * @apilevel low-level */ - @ASTNodeAnnotation.OptChild(name="ExternalDocumentationObject") - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOpt() { - return (Opt<ExternalDocumentationObject>) getChild(0); + @ASTNodeAnnotation.OptChild(name="ExternalDocObject") + public Opt<ExternalDocObject> getExternalDocObjectOpt() { + return (Opt<ExternalDocObject>) getChild(0); } /** - * Retrieves the optional node for child ExternalDocumentationObject. This is the <code>Opt</code> node containing the child ExternalDocumentationObject, not the actual child! + * Retrieves the optional node for child ExternalDocObject. This is the <code>Opt</code> node containing the child ExternalDocObject, not the actual child! * <p><em>This method does not invoke AST transformations.</em></p> - * @return The optional node for child ExternalDocumentationObject. + * @return The optional node for child ExternalDocObject. * @apilevel low-level */ - public Opt<ExternalDocumentationObject> getExternalDocumentationObjectOptNoTransform() { - return (Opt<ExternalDocumentationObject>) getChildNoTransform(0); + public Opt<ExternalDocObject> getExternalDocObjectOptNoTransform() { + return (Opt<ExternalDocObject>) getChildNoTransform(0); } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java index eec40bec..5f1db525 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/Trace.java @@ -4,12 +4,13 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:71 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:46 * @astdecl Trace : ASTNode ::= OperationObject; * @production Trace : {@link ASTNode} ::= <span class="component">{@link OperationObject}</span>; diff --git a/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java b/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java index a1e31c03..0455ab2b 100644 --- a/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java +++ b/src/gen/java/de/tudresden/inf/st/openapi/ast/XmlObject.java @@ -4,20 +4,21 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; import java.net.URL; /** * @ast node - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/OpenAPISpecification.ast:145 - * @astdecl XmlObject : ASTNode ::= <Name:String> <Namespace:String> <Prefix:String> <Attribute:Object> <Wrapped:Object>; - * @production XmlObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Namespace:String></span> <span class="component"><Prefix:String></span> <span class="component"><Attribute:Object></span> <span class="component"><Wrapped:Object></span>; + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\OpenAPISpecification.ast:107 + * @astdecl XmlObject : ASTNode ::= <Name:String> <Namespace:String> <Prefix:String> <Attribute:Boolean> <Wrapped:Boolean>; + * @production XmlObject : {@link ASTNode} ::= <span class="component"><Name:String></span> <span class="component"><Namespace:String></span> <span class="component"><Prefix:String></span> <span class="component"><Attribute:Boolean></span> <span class="component"><Wrapped:Boolean></span>; */ public class XmlObject extends ASTNode<ASTNode> implements Cloneable { /** * @aspect Composer - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Composer.jadd:668 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Composer.jadd:701 */ public static Xml composeXml (XmlObject xmlObject) { Xml xml = new Xml(); @@ -37,7 +38,7 @@ public class XmlObject extends ASTNode<ASTNode> implements Cloneable { } /** * @aspect Parser - * @declaredat /Users/jueunpark/bachelor-thesis-jastadd/src/main/jastadd/Parser.jrag:751 + * @declaredat E:\\bachelor-thesis\\SigTest\\bachelor-thesis-jastadd\\src\\main\\jastadd\\Parser.jrag:734 */ public static XmlObject parseXml (Xml xml) { XmlObject xmlObject = new XmlObject(); @@ -75,10 +76,10 @@ public class XmlObject extends ASTNode<ASTNode> implements Cloneable { */ @ASTNodeAnnotation.Constructor( name = {"Name", "Namespace", "Prefix", "Attribute", "Wrapped"}, - type = {"String", "String", "String", "Object", "Object"}, + type = {"String", "String", "String", "Boolean", "Boolean"}, kind = {"Token", "Token", "Token", "Token", "Token"} ) - public XmlObject(String p0, String p1, String p2, Object p3, Object p4) { + public XmlObject(String p0, String p1, String p2, Boolean p3, Boolean p4) { setName(p0); setNamespace(p1); setPrefix(p2); @@ -189,7 +190,7 @@ public class XmlObject extends ASTNode<ASTNode> implements Cloneable { * @declaredat ASTNode:111 */ protected boolean is$Equal(ASTNode node) { - return super.is$Equal(node) && (tokenString_Name == ((XmlObject) node).tokenString_Name) && (tokenString_Namespace == ((XmlObject) node).tokenString_Namespace) && (tokenString_Prefix == ((XmlObject) node).tokenString_Prefix) && (tokenObject_Attribute == ((XmlObject) node).tokenObject_Attribute) && (tokenObject_Wrapped == ((XmlObject) node).tokenObject_Wrapped); + return super.is$Equal(node) && (tokenString_Name == ((XmlObject) node).tokenString_Name) && (tokenString_Namespace == ((XmlObject) node).tokenString_Namespace) && (tokenString_Prefix == ((XmlObject) node).tokenString_Prefix) && (tokenBoolean_Attribute == ((XmlObject) node).tokenBoolean_Attribute) && (tokenBoolean_Wrapped == ((XmlObject) node).tokenBoolean_Wrapped); } /** * Replaces the lexeme Name. @@ -256,40 +257,40 @@ public class XmlObject extends ASTNode<ASTNode> implements Cloneable { * @param value The new value for the lexeme Attribute. * @apilevel high-level */ - public void setAttribute(Object value) { - tokenObject_Attribute = value; + public void setAttribute(Boolean value) { + tokenBoolean_Attribute = value; } /** @apilevel internal */ - protected Object tokenObject_Attribute; + protected Boolean tokenBoolean_Attribute; /** * Retrieves the value for the lexeme Attribute. * @return The value for the lexeme Attribute. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Attribute") - public Object getAttribute() { - return tokenObject_Attribute; + public Boolean getAttribute() { + return tokenBoolean_Attribute; } /** * Replaces the lexeme Wrapped. * @param value The new value for the lexeme Wrapped. * @apilevel high-level */ - public void setWrapped(Object value) { - tokenObject_Wrapped = value; + public void setWrapped(Boolean value) { + tokenBoolean_Wrapped = value; } /** @apilevel internal */ - protected Object tokenObject_Wrapped; + protected Boolean tokenBoolean_Wrapped; /** * Retrieves the value for the lexeme Wrapped. * @return The value for the lexeme Wrapped. * @apilevel high-level */ @ASTNodeAnnotation.Token(name="Wrapped") - public Object getWrapped() { - return tokenObject_Wrapped; + public Boolean getWrapped() { + return tokenBoolean_Wrapped; } /** @apilevel internal */ public ASTNode rewriteTo() { diff --git a/src/main/jastadd/Composer.jadd b/src/main/jastadd/Composer.jadd index 6eef5110..e5d20708 100644 --- a/src/main/jastadd/Composer.jadd +++ b/src/main/jastadd/Composer.jadd @@ -2,6 +2,7 @@ import org.openapi4j.core.exception.ResolutionException; import org.openapi4j.core.validation.ValidationException; import org.openapi4j.parser.model.v3.*; import org.openapi4j.core.model.reference.Reference; +import org.openapi4j.core.model.OAIContext; import java.io.IOException; import java.util.*; @@ -9,40 +10,43 @@ import java.net.URL; aspect Composer { - public static OpenApi3 OpenAPIObject.composeOpenAPI (OpenAPIObject openAPIObject){ + public static OpenApi3 OpenAPIObject.composeOpenAPI (OpenAPIObject openapi){ OpenApi3 api3 = new OpenApi3(); - api3.setOpenapi( openAPIObject.getOpenAPI() ); - api3.setInfo( InfoObject.composeInfo( openAPIObject.getInfoObject() ) ); - - if( openAPIObject.getNumPathsObject() != 0 ){ - Map<String, Path> paths = new HashMap<>(); - for( PathsObject p : openAPIObject.getPathsObjects() ) - paths.put( p.getRef(), PathItemObject.composePath(p.getPathItemObject()) ); - api3.setPaths(paths); - } - if(openAPIObject.getNumServerObject() != 0 ){ + if( !openapi.getOpenAPI().isEmpty() ) + api3.setOpenapi(openapi.getOpenAPI()); + if( openapi.hasInfoObject() ) + api3.setInfo(InfoObject.composeInfo(openapi.getInfoObject())); + if( openapi.getNumServerObject() != 0 ){ List<org.openapi4j.parser.model.v3.Server> servers = new ArrayList<>(); - for( ServerObject s : openAPIObject.getServerObjects() ) + for( ServerObject s : openapi.getServerObjects() ) servers.add(ServerObject.composeServer(s)); api3.setServers(servers); } - if( openAPIObject.hasComponentsObject() ) - api3.setComponents( ComponentsObject.composeComponents(openAPIObject.getComponentsObject()) ); - if( openAPIObject.getNumSecurityRequirementObject() != 0 ){ + if( openapi.getNumPathsObject() != 0 ){ + Map<String, Path> paths = new HashMap<>(); + for( PathsObject p : openapi.getPathsObjects() ) + paths.put( p.getRef(), PathItem.composePath(p.getPathItem()) ); + api3.setPaths(paths); + } + if( openapi.hasComponentsObject() ) + api3.setComponents( ComponentsObject.composeComponents(openapi.getComponentsObject()) ); + if( openapi.getNumSecurityRequirementObject() != 0 ){ List<SecurityRequirement> securityRequirements = new ArrayList<>(); - for( SecurityRequirementObject s : openAPIObject.getSecurityRequirementObjects() ) + for( SecurityRequirementObject s : openapi.getSecurityRequirementObjects() ) securityRequirements.add( SecurityRequirementObject.composeSecurityRequirement( s ) ); api3.setSecurityRequirements(securityRequirements); } - if( openAPIObject.getNumTagObject() != 0 ){ + if( openapi.getNumTagObject() != 0 ){ List<org.openapi4j.parser.model.v3.Tag> tags = new ArrayList<>(); - for( TagObject t : openAPIObject.getTagObjects() ) + for( TagObject t : openapi.getTagObjects() ) tags.add( TagObject.composeTag(t) ); api3.setTags( tags ); } - if( openAPIObject.hasExternalDocumentationObject() ) - api3.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(openAPIObject.getExternalDocumentationObject()) ); + if( openapi.hasExternalDocObject() ) + api3.setExternalDocs(ExternalDocObject.composeExternalDocs(openapi.getExternalDocObject())); + if( openapi.getContext() != null ) + api3.setContext(openapi.getContext()); return api3; } @@ -50,17 +54,18 @@ aspect Composer { public static Info InfoObject.composeInfo (InfoObject infoObject){ Info info = new Info(); - info.setTitle( infoObject.getTitle() ); - info.setVersion( infoObject.getVersion() ); - + if( !infoObject.getTitle().isEmpty() ) + info.setTitle(infoObject.getTitle()); + if( !infoObject.getVersion().isEmpty() ) + info.setVersion(infoObject.getVersion()); if( !infoObject.getDescription().isEmpty() ) - info.setDescription( infoObject.getDescription() ); + info.setDescription(infoObject.getDescription()); if( !infoObject.getTermsOfService().isEmpty() ) - info.setTermsOfService( infoObject.getTermsOfService() ); + info.setTermsOfService(infoObject.getTermsOfService()); if( infoObject.hasContactObject() ) - info.setContact( ContactObject.composeContact(infoObject.getContactObject()) ); + info.setContact(ContactObject.composeContact(infoObject.getContactObject())); if( infoObject.hasLicenseObject() ) - info.setLicense( LicenseObject.composeLicense(infoObject.getLicenseObject()) ); + info.setLicense(LicenseObject.composeLicense(infoObject.getLicenseObject())); return info; } @@ -68,11 +73,11 @@ public static Info InfoObject.composeInfo (InfoObject infoObject){ public static Contact ContactObject.composeContact (ContactObject contactObject){ Contact contact = new Contact(); - if( contactObject.getName() != null ) + if( !contactObject.getName().isEmpty() ) contact.setName( contactObject.getName() ); - if( contactObject.getUrl() != null ) + if( !contactObject.getUrl().isEmpty() ) contact.setUrl( contactObject.getUrl() ); - if( contactObject.getEmail() != null ) + if( !contactObject.getEmail().isEmpty() ) contact.setEmail( contactObject.getEmail() ); return contact; @@ -81,9 +86,9 @@ public static Contact ContactObject.composeContact (ContactObject contactObject) public static License LicenseObject.composeLicense (LicenseObject licenseObject){ License license = new License(); + if( !licenseObject.getName().isEmpty() ) license.setName( licenseObject.getName() ); - - if( licenseObject.getUrl() != null ) + if( !licenseObject.getUrl().isEmpty() ) license.setUrl( licenseObject.getUrl() ); return license; @@ -92,8 +97,8 @@ public static License LicenseObject.composeLicense (LicenseObject licenseObject) public static Server ServerObject.composeServer (ServerObject serverObject){ Server server = new Server(); - server.setUrl( serverObject.getUrl() ); - + if( !serverObject.getUrl().isEmpty() ) + server.setUrl(serverObject.getUrl()); if( !serverObject.getDescription().isEmpty() ) server.setDescription( serverObject.getDescription() ); if( serverObject.hasServerVariablesTuple() ){ @@ -109,10 +114,10 @@ public static Server ServerObject.composeServer (ServerObject serverObject){ public static ServerVariable ServerVariableObject.composeServerVariable (ServerVariableObject serverVariableObject){ ServerVariable serverVariable = new ServerVariable(); - serverVariable.setDefault( serverVariableObject.getDefault() ); - + if( !serverVariableObject.getDefault().isEmpty() ) + serverVariable.setDefault(serverVariableObject.getDefault()); if( !serverVariableObject.getDescription().isEmpty() ) - serverVariable.setDescription( serverVariableObject.getDescription() ); + serverVariable.setDescription(serverVariableObject.getDescription()); if( serverVariableObject.getNumEnum() != 0 ){ List<String> enums = new ArrayList<>(); for( Enum e : serverVariableObject.getEnums() ) @@ -126,147 +131,150 @@ public static ServerVariable ServerVariableObject.composeServerVariable (ServerV public static Components ComponentsObject.composeComponents (ComponentsObject componentsObject){ Components components = new Components(); - if( componentsObject.getNumSchemasTuple() != 0 ){ - Map<String, org.openapi4j.parser.model.v3.Schema> schemas = new HashMap<>(); - for( SchemasTuple t : componentsObject.getSchemasTuples() ){ - if( t instanceof SchemaReferenceTuple ){ - org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema(); - schema.setRef(((SchemaReferenceTuple) t).getRef()); - schemas.put(((SchemaReferenceTuple) t).getName(), schema); + if( componentsObject.getNumSchemaTuple() != 0 ){ + Map<String, org.openapi4j.parser.model.v3.Schema> schemaMap = new HashMap<>(); + for( SchemaTuple t : componentsObject.getSchemaTuples() ){ + if(!t.getSchemaObject().getRef().isEmpty()){ + org.openapi4j.parser.model.v3.Schema schema=new org.openapi4j.parser.model.v3.Schema(); + schema.setRef(t.getSchemaObject().getRef()); + schemaMap.put(t.getKey(),schema); } else - schemas.put(((SchemaObjectTuple)t).getName(), SchemaObject.composeSchema(((SchemaObjectTuple)t).getSchemaObject())); + schemaMap.put(t.getKey(),SchemaObject.composeSchema(t.getSchemaObject())); } - components.setSchemas(schemas); + components.setSchemas(schemaMap); } - if( componentsObject.getNumResponsesTuple() != 0 ){ - Map<String, Response> responses = new HashMap<>(); - for( ResponsesTuple t : componentsObject.getResponsesTuples() ){ - if( t instanceof ResponseReferenceTuple ){ + if( componentsObject.getNumResponseTuple() != 0 ){ + Map<String, Response> responseMap = new HashMap<>(); + for( ResponseTuple t : componentsObject.getResponseTuples() ){ + if( !t.getResponseObject().getRef().isEmpty() ){ Response response = new Response(); - response.setRef(((ResponseReferenceTuple) t).getRef()); - responses.put(((ResponseReferenceTuple) t).getName(), response); + response.setRef(t.getResponseObject().getRef()); + responseMap.put(t.getKey(), response); } else - responses.put(((ResponseObjectTuple)t).getName(), ResponseObject.composeResponse(((ResponseObjectTuple)t).getResponseObject())); + responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject())); } - components.setResponses(responses); + components.setResponses(responseMap); } if( componentsObject.getNumParameterTuple() != 0 ){ - Map<String, Parameter> parameters = new HashMap<>(); + Map<String, Parameter> parameterMap = new HashMap<>(); for( ParameterTuple t : componentsObject.getParameterTuples() ){ - if( t instanceof ParameterReferenceTuple ){ + if( !t.getParameterObject().getRef().isEmpty() ){ Parameter parameter = new Parameter(); - parameter.setRef(((ParameterReferenceTuple) t).getRef()); - parameters.put(((ParameterReferenceTuple) t).getName(), parameter); + parameter.setRef(t.getParameterObject().getRef()); + parameterMap.put(t.getKey(), parameter); } else - parameters.put(((ParameterObjectTuple)t).getName(), ParameterObject.composeParameter(((ParameterObjectTuple)t).getParameterObject())); + parameterMap.put(t.getKey(), ParameterObject.composeParameter(t.getParameterObject())); } - components.setParameters(parameters); + components.setParameters(parameterMap); } - if( componentsObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : componentsObject.getExamplesTuples() ) - examples.put(((ExampleObjectTuple)t).getName(), ExampleObject.composeExample(((ExampleObjectTuple)t).getExampleObject())); - components.setExamples(examples); - } - if( componentsObject.getNumRequestBodiesTuple() != 0 ){ - Map<String, org.openapi4j.parser.model.v3.RequestBody> requestBodies = new HashMap<>(); - for( RequestBodiesTuple t : componentsObject.getRequestBodiesTuples() ){ - if( t instanceof RequestBodyReferenceTuple ){ - org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody(); - requestBody.setRef(((RequestBodyReferenceTuple) t).getRef()); - requestBodies.put(((RequestBodyReferenceTuple) t).getName(), requestBody); + if( componentsObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : componentsObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + components.setExamples(exampleMap); + } + if( componentsObject.getNumRequestBodyTuple() != 0 ){ + Map<String, RequestBody> requestBodyMap = new HashMap<>(); + for( RequestBodyTuple t : componentsObject.getRequestBodyTuples() ){ + if( !t.getRequestBodyObject().getRef().isEmpty() ){ + RequestBody requestBody = new RequestBody(); + requestBody.setRef(t.getRequestBodyObject().getRef()); + requestBodyMap.put(t.getKey(), requestBody); } else - requestBodies.put(((RequestBodyObjectTuple)t).getName(), RequestBodyObject.composeRequestBody(((RequestBodyObjectTuple)t).getRequestBodyObject())); + requestBodyMap.put(t.getKey(), RequestBodyObject.composeRequestBody(t.getRequestBodyObject())); } - components.setRequestBodies(requestBodies); + components.setRequestBodies(requestBodyMap); } - if( componentsObject.getNumHeadersTuple() != 0 ){ - Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : componentsObject.getHeadersTuples() ){ - if( t instanceof HeaderReferenceTuple ){ + if( componentsObject.getNumHeaderTuple() != 0 ){ + Map<String, Header> headerMap = new HashMap<>(); + for( HeaderTuple t : componentsObject.getHeaderTuples() ){ + if( !t.getHeaderObject().getRef().isEmpty() ){ Header header = new Header(); - header.setRef(((HeaderReferenceTuple) t).getRef()); - headers.put(((HeaderReferenceTuple) t).getName(), header); + header.setRef(t.getHeaderObject().getRef()); + headerMap.put(t.getKey(), header); } else - headers.put(((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader(((HeaderObjectTuple)t).getHeaderObject())); + headerMap.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); } - components.setHeaders(headers); + components.setHeaders(headerMap); } - if( componentsObject.getNumSecuritySchemesTuple() != 0 ){ - Map<String, SecurityScheme> securitySchemes = new HashMap<>(); - for( SecuritySchemesTuple t : componentsObject.getSecuritySchemesTuples() ){ - if( t instanceof SecuritySchemeReferenceTuple ){ + if( componentsObject.getNumSecuritySchemeTuple() != 0 ){ + Map<String, SecurityScheme> securitySchemeMap = new HashMap<>(); + for( SecuritySchemeTuple t : componentsObject.getSecuritySchemeTuples() ){ + if( !t.getSecuritySchemeObject().getRef().isEmpty() ){ SecurityScheme securityScheme = new SecurityScheme(); - securityScheme.setRef(((SecuritySchemeReferenceTuple) t).getRef()); - securitySchemes.put(((SecuritySchemeReferenceTuple) t).getName(), securityScheme); + securityScheme.setRef(t.getSecuritySchemeObject().getRef()); + securitySchemeMap.put(t.getKey(), securityScheme); } else - securitySchemes.put(((SecuritySchemeObjectTuple)t).getName(), SecuritySchemeObject.composeSecurityScheme(((SecuritySchemeObjectTuple)t).getSecuritySchemeObject())); + securitySchemeMap.put(t.getKey(), SecuritySchemeObject.composeSecurityScheme(t.getSecuritySchemeObject())); } - components.setSecuritySchemes(securitySchemes); + components.setSecuritySchemes(securitySchemeMap); } - if( componentsObject.getNumLinksTuple() != 0 ){ - Map<String, Link> links = new HashMap<>(); - for( LinksTuple t : componentsObject.getLinksTuples() ){ - if( t instanceof LinkReferenceTuple ){ + if( componentsObject.getNumLinkTuple() != 0 ){ + Map<String, Link> linkMap = new HashMap<>(); + for( LinkTuple t : componentsObject.getLinkTuples() ){ + if( !t.getLinkObject().getRef().isEmpty() ){ Link link = new Link(); - link.setRef(((LinkReferenceTuple) t).getRef()); - links.put(((LinkReferenceTuple) t).getName(), link); + link.setRef(t.getLinkObject().getRef()); + linkMap.put(t.getKey(), link); } else - links.put(((LinkObjectTuple)t).getName(), LinkObject.composeLink(((LinkObjectTuple)t).getLinkObject())); + linkMap.put(t.getKey(), LinkObject.composeLink(t.getLinkObject())); } - components.setLinks(links); + components.setLinks(linkMap); } - if( componentsObject.getNumCallbacksTuple() != 0 ){ - Map<String, Callback> callbacks = new HashMap<>(); - for( CallbacksTuple t : componentsObject.getCallbacksTuples() ){ - if( t instanceof CallbackReferenceTuple ){ + if( componentsObject.getNumCallbackTuple() != 0 ){ + Map<String, Callback> callbackMap = new HashMap<>(); + for( CallbackTuple t : componentsObject.getCallbackTuples() ){ + if( !t.getCallbackObject().getRef().isEmpty() ){ Callback callback = new Callback(); - callback.setRef(((CallbackReferenceTuple) t).getRef()); - callbacks.put(((CallbackReferenceTuple) t).getName(), callback); + callback.setRef(t.getCallbackObject().getRef()); + callbackMap.put(t.getKey(), callback); } else - callbacks.put(((CallbackObjectTuple)t).getName(), CallbackObject.composeCallback(((CallbackObjectTuple)t).getCallbackObject())); + callbackMap.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject())); } - components.setCallbacks(callbacks); + components.setCallbacks(callbackMap); } return components; } -public static Path PathItemObject.composePath (PathItemObject pathItemObject){ +public static Path PathItem.composePath (PathItem pathItem){ Path path = new Path(); - if( !pathItemObject.getSummary().isEmpty()) - path.setSummary(pathItemObject.getSummary()); - if( !pathItemObject.getDescription().isEmpty() ) - path.setDescription(pathItemObject.getDescription()); - if( pathItemObject.hasGet() ) - path.setGet( OperationObject.composeOperation(pathItemObject.getGet().getOperationObject()) ); - if( pathItemObject.hasPut() ) - path.setPut( OperationObject.composeOperation(pathItemObject.getPut().getOperationObject()) ); - if( pathItemObject.hasPost() ) - path.setPost( OperationObject.composeOperation(pathItemObject.getPost().getOperationObject()) ); - if( pathItemObject.hasDelete() ) - path.setDelete( OperationObject.composeOperation(pathItemObject.getDelete().getOperationObject()) ); - if( pathItemObject.hasOptions() ) - path.setOptions( OperationObject.composeOperation(pathItemObject.getOptions().getOperationObject()) ); - if( pathItemObject.hasHead() ) - path.setHead( OperationObject.composeOperation(pathItemObject.getHead().getOperationObject()) ); - if( pathItemObject.hasPatch() ) - path.setPatch( OperationObject.composeOperation(pathItemObject.getPatch().getOperationObject()) ); - if( pathItemObject.getNumServerObject() != 0 ){ - for( ServerObject s : pathItemObject.getServerObjects() ) + + if( !pathItem.getRef().isEmpty() ) + path.setRef(pathItem.getRef()); + if( !pathItem.getSummary().isEmpty()) + path.setSummary(pathItem.getSummary()); + if( !pathItem.getDescription().isEmpty() ) + path.setDescription(pathItem.getDescription()); + if( pathItem.hasGet() ) + path.setGet( OperationObject.composeOperation(pathItem.getGet().getOperationObject()) ); + if( pathItem.hasPut() ) + path.setPut( OperationObject.composeOperation(pathItem.getPut().getOperationObject()) ); + if( pathItem.hasPost() ) + path.setPost( OperationObject.composeOperation(pathItem.getPost().getOperationObject()) ); + if( pathItem.hasDelete() ) + path.setDelete( OperationObject.composeOperation(pathItem.getDelete().getOperationObject()) ); + if( pathItem.hasOptions() ) + path.setOptions( OperationObject.composeOperation(pathItem.getOptions().getOperationObject()) ); + if( pathItem.hasHead() ) + path.setHead( OperationObject.composeOperation(pathItem.getHead().getOperationObject()) ); + if( pathItem.hasPatch() ) + path.setPatch( OperationObject.composeOperation(pathItem.getPatch().getOperationObject()) ); + if( pathItem.getNumServerObject() != 0 ){ + for( ServerObject s : pathItem.getServerObjects() ) path.addServer( ServerObject.composeServer(s) ); } - if( pathItemObject.getNumParameterObject() != 0 ){ - for( ParameterObject p : pathItemObject.getParameterObjects() ) + if( pathItem.getNumParameterObject() != 0 ){ + for( ParameterObject p : pathItem.getParameterObjects() ) path.addParameter( ParameterObject.composeParameter(p) ); } @@ -284,8 +292,8 @@ public static Operation OperationObject.composeOperation (OperationObject operat operation.setSummary( operationObject.getSummary() ); if( !operationObject.getDescription().isEmpty() ) operation.setDescription( operationObject.getDescription() ); - if( operationObject.hasExternalDocumentationObject() ) - operation.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(operationObject.getExternalDocumentationObject()) ); + if( operationObject.hasExternalDocObject() ) + operation.setExternalDocs( ExternalDocObject.composeExternalDocs(operationObject.getExternalDocObject()) ); if( !operationObject.getOperationID().isEmpty() ) operation.setOperationId( operationObject.getOperationID() ); if( operationObject.getNumParameterObject() != 0 ){ @@ -294,27 +302,27 @@ public static Operation OperationObject.composeOperation (OperationObject operat } if( operationObject.hasRequestBodyObject() ) operation.setRequestBody( RequestBodyObject.composeRequestBody(operationObject.getRequestBodyObject())); - if( operationObject.getResponsesObject().getNumHTTPStatusCode() != 0){ - Map<String, Response> responses = new HashMap<>(); - for( HTTPStatusCode h : operationObject.getResponsesObject().getHTTPStatusCodes() ) - responses.put( ((ResponseObject)h).getName(), ResponseObject.composeResponse( ((ResponseObject) h)) ); - operation.setResponses(responses); + if( operationObject.getNumResponseTuple() != 0){ + Map<String, Response> responseMap = new HashMap<>(); + for( ResponseTuple t : operationObject.getResponseTuples() ) + responseMap.put(t.getKey(), ResponseObject.composeResponse(t.getResponseObject())); + operation.setResponses(responseMap); } - if( operationObject.getNumCallbacksTuple() != 0 ){ + if( operationObject.getNumCallbackTuple() != 0 ){ Map<String, Callback> callbacks = new HashMap<>(); - for( CallbacksTuple t : operationObject.getCallbacksTuples() ) { - if( t instanceof CallbackReferenceTuple ){ + for( CallbackTuple t : operationObject.getCallbackTuples() ) { + if( !t.getCallbackObject().getRef().isEmpty() ){ Callback callback = new Callback(); - callback.setRef(((CallbackReferenceTuple) t).getRef()); - callbacks.put(((CallbackReferenceTuple) t).getName(), callback); + callback.setRef(t.getCallbackObject().getRef()); + callbacks.put(t.getKey(), callback); } else - callbacks.put(((CallbackObjectTuple)t).getName(), CallbackObject.composeCallback(((CallbackObjectTuple)t).getCallbackObject())); - } + callbacks.put(t.getKey(), CallbackObject.composeCallback(t.getCallbackObject())); operation.setCallbacks(callbacks); } + } if( operationObject.getDeprecatedBoolean() != null ) - operation.setDeprecated(operationObject.getDeprecatedBoolean().getDeprecatedBoolean()); + operation.setDeprecated(operationObject.getDeprecatedBoolean()); if( operationObject.getNumSecurityRequirementObject() != 0 ){ for( SecurityRequirementObject s : operationObject.getSecurityRequirementObjects() ) operation.addSecurityRequirement( SecurityRequirementObject.composeSecurityRequirement(s) ); @@ -327,12 +335,19 @@ public static Operation OperationObject.composeOperation (OperationObject operat return operation; } -public static ExternalDocs ExternalDocumentationObject.composeExternalDocs (ExternalDocumentationObject externalDocumentationObject){ +public static ExternalDocs ExternalDocObject.composeExternalDocs (ExternalDocObject externalDocObject){ ExternalDocs externalDocs = new ExternalDocs(); - if( !externalDocumentationObject.getDescription().isEmpty() ) - externalDocs.getDescription(); - externalDocs.setUrl( externalDocumentationObject.getUrl() ); + if( !externalDocObject.getDescription().isEmpty() ) + externalDocs.setDescription(externalDocObject.getDescription()); + if( !externalDocObject.getUrl().isEmpty() ) + externalDocs.setUrl(externalDocObject.getUrl()); + if( externalDocObject.getNumExtension() != 0 ){ + Map<String, Object> extensionMap = new HashMap<>(); + for( Extension e : externalDocObject.getExtensions() ) + extensionMap.put(e.getKey(), e.getValue()); + externalDocs.setExtensions(extensionMap); + } return externalDocs; } @@ -340,59 +355,61 @@ public static ExternalDocs ExternalDocumentationObject.composeExternalDocs (Exte public static Parameter ParameterObject.composeParameter (ParameterObject parameterObject){ Parameter parameter = new Parameter(); - parameter.setName( parameterObject.getName() ); - parameter.setIn( parameterObject.getIn() ); - parameter.setRequired( parameterObject.getRequired() ); - + if( !parameterObject.getRef().isEmpty() ) + parameter.setRef(parameterObject.getRef()); + if( !parameterObject.getName().isEmpty() ) + parameter.setName(parameterObject.getName()); + if( !parameterObject.getIn().isEmpty() ) + parameter.setIn(parameterObject.getIn()); + if( parameterObject.getRequired() != null ) + parameter.setRequired(parameterObject.getRequired()); if( !parameterObject.getDescription().isEmpty() ) - parameter.setDescription( parameterObject.getDescription() ); + parameter.setDescription(parameterObject.getDescription()); if( parameterObject.getDeprecatedBoolean() != null ) - parameter.setDeprecated( parameterObject.getDeprecatedBoolean() ); - if( parameterObject.getStyle() != null ) - parameter.setStyle( parameter.getStyle() ); + parameter.setDeprecated(parameterObject.getDeprecatedBoolean()); + if( !parameterObject.getStyle().isEmpty() ) + parameter.setStyle(parameterObject.getStyle()); if( parameterObject.getAllowReserved() != null ) - parameter.setAllowReserved( parameterObject.getAllowReserved() ); + parameter.setAllowReserved(parameterObject.getAllowReserved()); if( parameterObject.getExplode() != null ) - parameter.setExplode( parameterObject.getExplode() ); - if( parameterObject.getAllowReserved() != null ) - parameter.setAllowReserved( parameterObject.getAllowReserved() ); - if( parameterObject.getSchemaObject() != null ){ - Schema schema = new Schema(); - schema = SchemaObject.composeSchema(parameterObject.getSchemaObject()); - if( !parameterObject.getRef().isEmpty() ) - schema.setRef(parameterObject.getRef()); - parameter.setSchema(schema);} + parameter.setExplode(parameterObject.getExplode()); + if( parameterObject.getSchemaObject() != null ) + parameter.setSchema(SchemaObject.composeSchema(parameterObject.getSchemaObject())); if( parameterObject.getExample() != null ) - parameter.setExample( parameterObject.getExample() ); - if( parameterObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : parameterObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); - parameter.setExamples(examples); + parameter.setExample(parameterObject.getExample()); + if( parameterObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : parameterObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + parameter.setExamples(exampleMap); } if( parameterObject.getNumContentTuple() != 0 ){ - Map<String, MediaType> contents = new HashMap<>(); + Map<String, MediaType> contentMap = new HashMap<>(); for( ContentTuple t : parameterObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); - parameter.setContentMediaTypes(contents); + contentMap.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); + parameter.setContentMediaTypes(contentMap); } + if( parameterObject.getRequired() != null ) + parameter.setRequired(parameterObject.getRequired()); return parameter; } public static org.openapi4j.parser.model.v3.RequestBody RequestBodyObject.composeRequestBody (RequestBodyObject requestBodyObject){ org.openapi4j.parser.model.v3.RequestBody requestBody = new org.openapi4j.parser.model.v3.RequestBody(); - Map<String, MediaType> contents = new HashMap<>(); - for( ContentTuple t : requestBodyObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + if( requestBodyObject.getNumContentTuple() != 0 ){ + Map<String, MediaType> contents = new HashMap<>(); + for( ContentTuple t : requestBodyObject.getContentTuples()) + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); requestBody.setContentMediaTypes(contents); + } if( !requestBodyObject.getDescription().isEmpty() ) requestBody.setDescription(requestBodyObject.getDescription()); if( requestBodyObject.getRequired() != null ) requestBody.setRequired(requestBodyObject.getRequired()); if( !requestBodyObject.getRef().isEmpty() ) - requestBody.setRef(requestBodyObject.getRef()); + requestBody.setRef(requestBodyObject.getRef()); return requestBody; } @@ -400,24 +417,21 @@ public static org.openapi4j.parser.model.v3.RequestBody RequestBodyObject.compos public static MediaType MediaTypeObject.composeMediaType (MediaTypeObject mediaTypeObject){ MediaType mediaType = new MediaType(); - if( mediaTypeObject.getSchemaObject() != null ) { - Schema schema = new Schema(); - schema = SchemaObject.composeSchema(mediaTypeObject.getSchemaObject()); - mediaType.setSchema(schema); - } + if( mediaTypeObject.getSchemaObject() != null ) + mediaType.setSchema(SchemaObject.composeSchema(mediaTypeObject.getSchemaObject())); if( mediaTypeObject.getExample() != null ) - mediaType.setExample( mediaTypeObject.getExample() ); - if( mediaTypeObject.getNumExamplesTuple() != 0 ){ - Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : mediaTypeObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); - mediaType.setExamples(examples); + mediaType.setExample(mediaTypeObject.getExample()); + if( mediaTypeObject.getNumExampleTuple() != 0 ){ + Map<String, Example> exampleMap = new HashMap<>(); + for( ExampleTuple t : mediaTypeObject.getExampleTuples() ) + exampleMap.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); + mediaType.setExamples(exampleMap); } if( mediaTypeObject.getNumEncodingTuple() != 0 ){ - Map<String, EncodingProperty> encodings = new HashMap<>(); + Map<String, EncodingProperty> encodingMap = new HashMap<>(); for( EncodingTuple t : mediaTypeObject.getEncodingTuples() ) - encodings.put( ((EncodingObjectTuple)t).getName(), EncodingObject.composeEncodingProperty( ((EncodingObjectTuple)t).getEncodingObject() ) ); - mediaType.setEncodings(encodings); + encodingMap.put(t.getKey(), EncodingObject.composeEncodingProperty(t.getEncodingObject())); + mediaType.setEncodings(encodingMap); } return mediaType; @@ -426,18 +440,24 @@ public static MediaType MediaTypeObject.composeMediaType (MediaTypeObject mediaT public static EncodingProperty EncodingObject.composeEncodingProperty (EncodingObject encodingObject){ EncodingProperty encodingProperty = new EncodingProperty(); - if( encodingObject.getContentType() != null ) + if( !encodingObject.getContentType().isEmpty() ) encodingProperty.setContentType( encodingObject.getContentType() ); - if( encodingObject.getNumHeadersTuple() != 0 ){ + if( encodingObject.getNumHeaderTuple() != 0 ){ Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : encodingObject.getHeadersTuples() ) - headers.put( ((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader( ((HeaderObjectTuple)t).getHeaderObject() ) ); + for( HeaderTuple t : encodingObject.getHeaderTuples() ) + headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); encodingProperty.setHeaders(headers); } - if( encodingObject.getStyle() != null ) + if( !encodingObject.getStyle().isEmpty() ) encodingProperty.setStyle(encodingObject.getStyle()); if( encodingObject.getExplode() != null ) - encodingProperty.setExplode( (boolean) encodingObject.getExplode() ); + encodingProperty.setExplode(encodingObject.getExplode()); + if( encodingObject.getNumExtension() != 0 ){ + Map<String, Object> extensionMap = new HashMap<>(); + for( Extension e : encodingObject.getExtensions() ) + extensionMap.put(e.getKey(), e.getValue()); + encodingProperty.setExtensions(extensionMap); + } return encodingProperty; } @@ -445,24 +465,27 @@ public static EncodingProperty EncodingObject.composeEncodingProperty (EncodingO public static Response ResponseObject.composeResponse (ResponseObject responseObject){ Response response = new Response(); - response.setDescription( responseObject.getDescription() ); - - if( responseObject.getNumHeadersTuple() != 0 ){ + if( !responseObject.getRef().isEmpty() ) + response.setRef(responseObject.getRef()); + if( !responseObject.getDescription().isEmpty() ) + response.setDescription(responseObject.getDescription()); + if( responseObject.getNumHeaderTuple() != 0 ){ Map<String, Header> headers = new HashMap<>(); - for( HeadersTuple t : responseObject.getHeadersTuples() ) - headers.put( ((HeaderObjectTuple)t).getName(), HeaderObject.composeHeader( ((HeaderObjectTuple)t).getHeaderObject() ) ); + for( HeaderTuple t : responseObject.getHeaderTuples() ) + headers.put(t.getKey(), HeaderObject.composeHeader(t.getHeaderObject())); response.setHeaders(headers); } if( responseObject.getNumContentTuple() != 0 ){ Map<String, MediaType> contents = new HashMap<>(); for( ContentTuple t : responseObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); response.setContentMediaTypes(contents); } - if( responseObject.getNumLinksTuple() != 0 ){ + if( responseObject.getNumLinkTuple() != 0 ){ Map<String, Link> links = new HashMap<>(); - for( LinksTuple t : responseObject.getLinksTuples() ) - links.put( ((LinkObjectTuple)t).getName(), LinkObject.composeLink( ((LinkObjectTuple)t).getLinkObject() ) ); + for( LinkTuple t : responseObject.getLinkTuples() ) + links.put(t.getKey(), LinkObject.composeLink(t.getLinkObject())); + response.setLinks(links); } return response; @@ -474,7 +497,7 @@ public static Callback CallbackObject.composeCallback (CallbackObject callbackOb if( callbackObject.getNumExpression() != 0 ){ Map<String, Path> paths = new HashMap<>(); for( Expression e : callbackObject.getExpressions() ) - paths.put( e.getName(), PathItemObject.composePath( e.getPathItemObject() )); + paths.put( e.getName(), PathItem.composePath( e.getPathItem() )); callback.setCallbackPaths(paths); } @@ -499,9 +522,11 @@ public static Example ExampleObject.composeExample (ExampleObject exampleObject) public static Link LinkObject.composeLink (LinkObject linkObject){ Link link = new Link(); - if( linkObject.getOperationRef().isEmpty() ) + if( !linkObject.getRef().isEmpty() ) + link.setRef(linkObject.getRef()); + if( !linkObject.getOperationRef().isEmpty() ) link.setOperationRef( linkObject.getOperationRef() ); - if( linkObject.getOperationID().isEmpty() ) + if( !linkObject.getOperationID().isEmpty() ) link.setOperationId( linkObject.getOperationID() ); if( linkObject.getNumLinkParameterTuple() != 0 ){ Map<String, String> parameters = new HashMap<>(); @@ -524,26 +549,28 @@ public static Header HeaderObject.composeHeader (HeaderObject headerObject){ if( !headerObject.getDescription().isEmpty() ) header.setDescription( headerObject.getDescription() ); - if( headerObject.getStyle() != null ) + if( !headerObject.getStyle().isEmpty() ) header.setStyle(headerObject.getStyle()); if( headerObject.getExplode() != null ) - header.setExplode((boolean)headerObject.getExplode()); + header.setExplode(headerObject.getExplode()); if( headerObject.getAllowReserved() != null ) - header.setAllowReserved((boolean)headerObject.getAllowReserved()); + header.setAllowReserved(headerObject.getAllowReserved()); if( headerObject.getExample() != null ) header.setExample(headerObject.getExample()); - if( headerObject.getNumExamplesTuple() != 0 ){ + if( headerObject.getNumExampleTuple() != 0 ){ Map<String, Example> examples = new HashMap<>(); - for( ExamplesTuple t : headerObject.getExamplesTuples() ) - examples.put( ((ExampleObjectTuple)t).getName(), ExampleObject.composeExample( ((ExampleObjectTuple)t).getExampleObject() ) ); + for( ExampleTuple t : headerObject.getExampleTuples() ) + examples.put(t.getKey(), ExampleObject.composeExample(t.getExampleObject())); header.setExample(examples); } if( headerObject.getNumContentTuple() != 0 ){ Map<String, MediaType> contents = new HashMap<>(); for( ContentTuple t : headerObject.getContentTuples() ) - contents.put( ((ContentObjectTuple)t).getName(), MediaTypeObject.composeMediaType( ((ContentObjectTuple)t).getMediaTypeObject() ) ); + contents.put(t.getKey(), MediaTypeObject.composeMediaType(t.getMediaTypeObject())); header.setContentMediaTypes(contents); } + if( headerObject.hasSchemaObject() ) + header.setSchema(SchemaObject.composeSchema(headerObject.getSchemaObject())); return header; } @@ -555,8 +582,8 @@ public static org.openapi4j.parser.model.v3.Tag TagObject.composeTag (TagObject if( !tagObject.getDescription().isEmpty() ) tag.setDescription( tagObject.getDescription() ); - if( tagObject.hasExternalDocumentationObject() ) - tag.setExternalDocs( ExternalDocumentationObject.composeExternalDocs(tagObject.getExternalDocumentationObject()) ); + if( tagObject.hasExternalDocObject() ) + tag.setExternalDocs( ExternalDocObject.composeExternalDocs(tagObject.getExternalDocObject()) ); return tag; } @@ -564,52 +591,58 @@ public static org.openapi4j.parser.model.v3.Tag TagObject.composeTag (TagObject public static org.openapi4j.parser.model.v3.Schema SchemaObject.composeSchema (SchemaObject schemaObject) { org.openapi4j.parser.model.v3.Schema schema = new org.openapi4j.parser.model.v3.Schema(); - if( schemaObject.hasAdditionalProperties() ) - schema.setAdditionalProperties(composeSchema(schemaObject.getAdditionalProperties().getSchemaObject())); - if( schemaObject.getAdditionalPropertiesAllowed() != null ) - schema.setAdditionalPropertiesAllowed((boolean)schemaObject.getAdditionalPropertiesAllowed()); + if( !schemaObject.getRef().isEmpty() ) + schema.setRef(schemaObject.getRef()); + if( schemaObject.getAdditionalProperties() != null ) + schema.setAdditionalProperties(composeSchema(schemaObject.getAdditionalProperties())); + //if( schemaObject.getAdditionalPropertiesAllowed() != null ) + //schema.setAdditionalPropertiesAllowed(schemaObject.getAdditionalPropertiesAllowed()); if( schemaObject.getDefaultValue() != null ) schema.setDefault(schemaObject.getDefaultValue()); if( !schemaObject.getDescription().isEmpty() ) schema.setDescription(schemaObject.getDescription()); if( schemaObject.getDeprecatedBoolean() != null ) - schema.setDeprecated((boolean)schemaObject.getDeprecatedBoolean()); + schema.setDeprecated(schemaObject.getDeprecatedBoolean()); if( schemaObject.hasDiscriminatorObject() ) schema.setDiscriminator(DiscriminatorObject.composeDiscriminator(schemaObject.getDiscriminatorObject())); + if( schemaObject.getNumEnumObj() != 0 ){ + for( EnumObj e : schemaObject.getEnumObjs() ) + schema.addEnum(e.getEnumOb()); + } if( schemaObject.getExample() != null ) schema.setExample(schemaObject.getExample()); if( schemaObject.getExclusiveMaximum() != null ) - schema.setExclusiveMaximum((boolean)schemaObject.getExclusiveMaximum()); + schema.setExclusiveMaximum(schemaObject.getExclusiveMaximum()); if( schemaObject.getExclusiveMinimum() != null ) - schema.setExclusiveMinimum((boolean)schemaObject.getExclusiveMinimum()); - if( schemaObject.hasExternalDocumentationObject() ) - schema.setExternalDocs(ExternalDocumentationObject.composeExternalDocs(schemaObject.getExternalDocumentationObject())); + schema.setExclusiveMinimum(schemaObject.getExclusiveMinimum()); + if( schemaObject.hasExternalDocObject() ) + schema.setExternalDocs(ExternalDocObject.composeExternalDocs(schemaObject.getExternalDocObject())); if( !schemaObject.getFormat().isEmpty() ) schema.setFormat(schemaObject.getFormat()); if( schemaObject.hasItemsSchema() ) schema.setItemsSchema(composeSchema(schemaObject.getItemsSchema().getSchemaObject())); if( schemaObject.getMaximum() != null ) - schema.setMaximum((Number) schemaObject.getMaximum()); + schema.setMaximum(schemaObject.getMaximum()); if( schemaObject.getMinimum() != null ) - schema.setMinimum((Number) schemaObject.getMinimum()); + schema.setMinimum(schemaObject.getMinimum()); if( schemaObject.getMaxItems() != null ) - schema.setMaxItems((Integer) schemaObject.getMaxItems()); + schema.setMaxItems(schemaObject.getMaxItems()); if( schemaObject.getMinItems() != null ) - schema.setMinItems((Integer) schemaObject.getMinItems()); + schema.setMinItems(schemaObject.getMinItems()); if( schemaObject.getMaxLength() != null ) - schema.setMaxLength((Integer) schemaObject.getMaxLength()); + schema.setMaxLength(schemaObject.getMaxLength()); if( schemaObject.getMinLength() != null ) - schema.setMinLength((Integer) schemaObject.getMinLength()); + schema.setMinLength(schemaObject.getMinLength()); if( schemaObject.getMaxProperties() != null ) - schema.setMaxProperties((Integer) schemaObject.getMaxProperties()); + schema.setMaxProperties(schemaObject.getMaxProperties()); if( schemaObject.getMinProperties() != null ) - schema.setMinProperties((Integer) schemaObject.getMinProperties()); + schema.setMinProperties(schemaObject.getMinProperties()); if( schemaObject.getMultipleOf() != null ) - schema.setMultipleOf((Number) schemaObject.getMultipleOf()); + schema.setMultipleOf(schemaObject.getMultipleOf()); if( schemaObject.hasNotSchema() ) schema.setNotSchema(composeSchema(schemaObject.getNotSchema().getSchemaObject())); if( schemaObject.getNullable() != null ) - schema.setNullable((boolean) schemaObject.getNullable()); + schema.setNullable(schemaObject.getNullable()); if( !schemaObject.getPattern().isEmpty() ) schema.setPattern(schemaObject.getPattern()); if( schemaObject.getNumPropertyItem() != 0 ){ @@ -635,15 +668,15 @@ public static org.openapi4j.parser.model.v3.Schema SchemaObject.composeSchema (S schema.addOneOfSchema(composeSchema(o.getSchemaObject())); } if( schemaObject.getReadOnly() != null ) - schema.setReadOnly((boolean) schemaObject.getReadOnly()); + schema.setReadOnly(schemaObject.getReadOnly()); if( schemaObject.getWriteOnly() != null ) - schema.setWriteOnly((boolean) schemaObject.getWriteOnly()); + schema.setWriteOnly(schemaObject.getWriteOnly()); if( !schemaObject.getType().isEmpty() ) schema.setType(schemaObject.getType()); if( !schemaObject.getTitle().isEmpty() ) schema.setTitle(schemaObject.getTitle()); if( schemaObject.getUniqueItems() != null ) - schema.setUniqueItems((boolean) schemaObject.getUniqueItems()); + schema.setUniqueItems(schemaObject.getUniqueItems()); if( schemaObject.hasXmlObject() ) schema.setXml(XmlObject.composeXml(schemaObject.getXmlObject())); @@ -690,7 +723,7 @@ public static SecurityScheme SecuritySchemeObject.composeSecurityScheme (Securit securityScheme.setIn( securitySchemeObject.getIn() ); securityScheme.setScheme( securitySchemeObject.getScheme() ); securityScheme.setOpenIdConnectUrl( securitySchemeObject.getOpenIdConnectUrl() ); - securityScheme.setFlows( OAuthFlowsObject.composeOAuthFlows( securitySchemeObject.getFlows().getOAuthFlowsObject() ) ); + securityScheme.setFlows( OAuthFlowsObject.composeOAuthFlows( securitySchemeObject.getOAuthFlowsObject() ) ); if( !securitySchemeObject.getDescription().isEmpty() ) securityScheme.setDescription( securitySchemeObject.getDescription() ); diff --git a/src/main/jastadd/OpenAPISpecification.ast b/src/main/jastadd/OpenAPISpecification.ast index 83617c10..c538de3d 100644 --- a/src/main/jastadd/OpenAPISpecification.ast +++ b/src/main/jastadd/OpenAPISpecification.ast @@ -1,24 +1,17 @@ //OpenAPI Object -OpenAPIObject ::= <OpenAPI> InfoObject ServerObject* PathsObject* [ComponentsObject] SecurityRequirementObject* TagObject* [ExternalDocumentationObject]; -PathsObject ::= <Ref> PathItemObject; -ServerObject ::= <Url> <Description> ServerVariablesTuple*; -ComponentsObject ::= SchemasTuple* ResponsesTuple* ParameterTuple* ExamplesTuple* RequestBodiesTuple* HeadersTuple* SecuritySchemesTuple* LinksTuple* CallbacksTuple*; -SecurityRequirementObject ::= SecurityRequirementTuple*; -ExternalDocumentationObject ::= <Description> <Url>; +OpenAPIObject ::= <OpenAPI> [InfoObject] ServerObject* PathsObject* [ComponentsObject] SecurityRequirementObject* TagObject* [ExternalDocObject] <Context:OAIContext>; //Info Object InfoObject ::= <Title> <Description> <TermsOfService> [ContactObject] [LicenseObject] <Version>; -ContactObject ::= <Name> <Url> <Email>; -LicenseObject ::= <Name> <Url>; //Contact Object -//ContactObject ::= <Name> <Url> <Email>; +ContactObject ::= <Name> <Url> <Email>; //License Object -//LicenseObject ::= <Name> <Url>; +LicenseObject ::= <Name> <Url>; //Server Object -//ServerObject ::= <Url> <Description> ServerVariablesTuple*; +ServerObject ::= <Url> <Description> ServerVariablesTuple*; ServerVariablesTuple ::= <Name> ServerVariableObject; //Server Variable Object @@ -26,41 +19,23 @@ ServerVariableObject ::= Enum* <Default> <Description>; Enum ::= <EnumValue>; //Components Object -//ComponentsObject ::= SchemasTuple* ResponsesTuple* ParameterTuple* ExamplesTuple* RequestBodiesTuple* HeadersTuple* SecuritySchemesTuple* LinksTuple* CallbacksTuple*; -abstract SchemasTuple; -SchemaObjectTuple:SchemasTuple ::= <Name> SchemaObject; -SchemaReferenceTuple:SchemasTuple ::= <Name> <Ref>; -abstract ResponsesTuple; -ResponseObjectTuple:ResponsesTuple ::= <Name> ResponseObject; -ResponseReferenceTuple:ResponsesTuple ::= <Name> <Ref>; -abstract ParameterTuple; -ParameterObjectTuple:ParameterTuple ::= <Name> ParameterObject; -ParameterReferenceTuple:ParameterTuple ::= <Name> <Ref>; -abstract ExamplesTuple; -ExampleObjectTuple:ExamplesTuple ::= <Name> ExampleObject; -ExampleReferenceTuple:ExamplesTuple ::= <Name> <Ref>; -abstract RequestBodiesTuple; -RequestBodyObjectTuple:RequestBodiesTuple ::= <Name> RequestBodyObject; -RequestBodyReferenceTuple:RequestBodiesTuple ::= <Name> <Ref>; -abstract HeadersTuple; -HeaderObjectTuple:HeadersTuple ::= <Name> HeaderObject; -HeaderReferenceTuple:HeadersTuple ::= <Name> <Ref>; -abstract SecuritySchemesTuple; -SecuritySchemeObjectTuple:SecuritySchemesTuple ::= <Name> SecuritySchemeObject; -SecuritySchemeReferenceTuple:SecuritySchemesTuple ::= <Name> <Ref>; -abstract LinksTuple; -LinkObjectTuple:LinksTuple ::= <Name> LinkObject; -LinkReferenceTuple:LinksTuple ::= <Name> <Ref>; -abstract CallbacksTuple; -CallbackObjectTuple:CallbacksTuple ::= <Name> CallbackObject; -CallbackReferenceTuple:CallbacksTuple ::= <Name> <Ref>; +ComponentsObject ::= SchemaTuple* ResponseTuple* ParameterTuple* ExampleTuple* RequestBodyTuple* HeaderTuple* SecuritySchemeTuple* LinkTuple* CallbackTuple*; +SchemaTuple ::= <Key> SchemaObject; +ResponseTuple ::= <Key> ResponseObject; +ParameterTuple ::= <Key> ParameterObject; +ExampleTuple ::= <Key> ExampleObject; +RequestBodyTuple ::= <Key> RequestBodyObject; +HeaderTuple ::= <Key> HeaderObject; +SecuritySchemeTuple ::= <Key> SecuritySchemeObject; +LinkTuple ::= <Key> LinkObject; +CallbackTuple ::= <Key> CallbackObject; + //Paths Object -//PathsObject ::= <Ref> PathItemObject; -PathItemObject ::= <Ref> <Summary> <Description> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] ServerObject* ParameterObject*; +PathsObject ::= <Ref> PathItem; //Path Item Object -//PathItemObject ::= <Summary> <Description> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] Server* Parameter*; +PathItem ::= <Ref> <Summary> <Description> [Get] [Put] [Post] [Delete] [Options] [Head] [Patch] [Trace] ServerObject* ParameterObject*; Get ::= OperationObject; Put ::= OperationObject; Post ::= OperationObject; @@ -69,64 +44,51 @@ Options ::= OperationObject; Head ::= OperationObject; Patch ::= OperationObject; Trace ::= OperationObject; -ParameterObject ::= <Name> <In> <Description> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExamplesTuple* ContentTuple* <Ref>; //Operation Object -OperationObject ::= Tag* <Summary> <Description> [ExternalDocumentationObject] <OperationID> ParameterObject* [RequestBodyObject] ResponsesObject CallbacksTuple* [DeprecatedBoolean] SecurityRequirementObject* ServerObject*; +OperationObject ::= Tag* <Summary> <Description> [ExternalDocObject] <OperationID> ParameterObject* [RequestBodyObject] ResponseTuple* CallbackTuple* <DeprecatedBoolean:Boolean> SecurityRequirementObject* ServerObject* <Required:Boolean>; Tag ::= <Tag:String>; -RequestBodyObject ::= <Description> ContentTuple* <Required:Boolean> <Ref>; -DeprecatedBoolean ::= <DeprecatedBoolean:Boolean>; //External Documentation Object -//ExternalDocumentationObject ::= <Description:Object> <Url>; +ExternalDocObject ::= <Description> <Url> Extension*; //Parameter Object -//ParameterObject ::= Name In <Description:Object> <Required> [Deprecated] <AllowEmptyValue:Object> <Style:Object> <Explode:Object> <AllowReserved:Object> [Schema] <Example:Object> ExamplesTuple* ContentTuple*; -SchemaObject ::= [AdditionalProperties] <AdditionalPropertiesAllowed:Object> <DefaultValue:Object> <Description> <DeprecatedBoolean:Object> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Object> <ExclusiveMinimum:Object> [ExternalDocumentationObject] <Format> [ItemsSchema] <Maximum:Object> <Minimum:Object> <MaxItems:Object> <MinItems:Object> <MaxLength:Object> <MinLength:Object> <MaxProperties:Object> <MinProperties:Object> <MultipleOf:Object> [NotSchema] <Nullable:Object> <Pattern> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Object> <WriteOnly:Object> <Type> <Title> <UniqueItems:Object> [XmlObject] <Ref>; -abstract ContentTuple; -ContentObjectTuple:ContentTuple ::= <Name> MediaTypeObject; -ContentReferenceTuple:ContentTuple ::= <Name> <Ref>; +ParameterObject ::= <Name> <In> <Description> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExampleTuple* ContentTuple* <Ref>; +ContentTuple ::= <Key> MediaTypeObject; //Request Body Object -//RequestBodyObject ::= <Description:Object> ContentTuple* <Required:Object>; +RequestBodyObject ::= <Description> ContentTuple* <Required:Boolean> <Ref>; //Media Type Object -MediaTypeObject ::= [SchemaObject] <Example:Object> ExamplesTuple* EncodingTuple*; -abstract EncodingTuple; -EncodingObjectTuple:EncodingTuple ::= <Name> EncodingObject; -EncodingReferenceTuple:EncodingTuple ::= <Name> <Ref>; +MediaTypeObject ::= [SchemaObject] <Example:Object> ExampleTuple* EncodingTuple*; +EncodingTuple ::= <Key> EncodingObject; //Encoding Object -EncodingObject ::= <ContentType> HeadersTuple* <Style> <Explode:Object> <AllowReserved:Object>; - -//Responses Object -ResponsesObject ::= HTTPStatusCode*; -abstract HTTPStatusCode; -ResponseObject:HTTPStatusCode ::= <Name> <Description> HeadersTuple* ContentTuple* LinksTuple*; -HTTPStatusCodeReference:HTTPStatusCode ::= <Name> <Ref>; +EncodingObject ::= <ContentType> HeaderTuple* <Style> <Explode:Boolean> <AllowReserved:Boolean> Extension*; //Response Object -//ResponseObject ::= <Name> <Description> HeadersTuple* ContentTuple* LinksTuple*; +ResponseObject ::= <Ref> <Description> HeaderTuple* ContentTuple* LinkTuple*; //Callback Object -CallbackObject ::= Expression*; -Expression ::= <Name> PathItemObject; +CallbackObject ::= Expression* Extension* <Ref>; +Expression ::= <Name> PathItem; +Extension ::= <Key> <Value:Object>; //Example Object ExampleObject ::= <Summary> <Description> <Value:Object> <ExternalValue>; //Link Object -LinkObject ::= <OperationRef> <OperationID> LinkParameterTuple* <LinkRequestBody:Object> <Description> [ServerObject]; +LinkObject ::= <OperationRef> <OperationID> LinkParameterTuple* HeaderTuple* <Description> [ServerObject] <Ref>; LinkParameterTuple ::= <LinkParameterKey> <LinkParameterValue>; //Header Object -HeaderObject ::= <Description> <Required:boolean> <DeprecatedBoolean:Object> <AllowEmptyValue:Object> <Style> <Explode:Object> <AllowReserved:Object> [SchemaObject] <Example:Object> ExamplesTuple* ContentTuple*; +HeaderObject ::= <Description> <Required:Boolean> <DeprecatedBoolean:Boolean> <AllowEmptyValue:Boolean> <Style> <Explode:Boolean> <AllowReserved:Boolean> [SchemaObject] <Example:Object> ExampleTuple* ContentTuple* <Ref>; //Tag Object -TagObject ::= <Name> <Description> [ExternalDocumentationObject]; +TagObject ::= <Name> <Description> [ExternalDocObject]; //Schema Object -//SchemaObject ::= [AdditionalProperties] <AdditionalPropertiesAllowed:Object> <DefaultValue:Object> <Description> <DeprecatedBoolean:Object> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Object> <ExclusiveMinimum:Object> [ExternalDocumentationObject] <Format> [ItemsSchema] <Maximum:Object> <Minimum:Object> <MaxItems:Object> <MinItems:Object> <MaxLength:Object> <MinLength:Object> <MaxProperties:Object> <MinProperties:Object> <MultipleOf:Object> [NotSchema] <Nullable:Object> <Pattern> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Object> <WriteOnly:Object> <Type> <Title> <UniqueItems:Object> [XmlObject]; +SchemaObject ::= <AdditionalProperties:SchemaObject> <AdditionalPropertiesAllowed:Boolean> <DefaultValue:Object> <Description> <DeprecatedBoolean:Boolean> [DiscriminatorObject] EnumObj* <Example:Object> <ExclusiveMaximum:Boolean> <ExclusiveMinimum:Boolean> [ExternalDocObject] <Format> [ItemsSchema] <Maximum:Number> <Minimum:Number> <MaxItems:Integer> <MinItems:Integer> <MaxLength:Integer> <MinLength:Integer> <MaxProperties:Integer> <MinProperties:Integer> <MultipleOf:Number> [NotSchema] <Nullable:Boolean> <Pattern> PropertyItem* RequiredField* AllOfSchema* AnyOfSchema* OneOfSchema* <ReadOnly:Boolean> <WriteOnly:Boolean> <Type> <Title> <UniqueItems:Boolean> [XmlObject] <Ref>; AdditionalProperties ::= SchemaObject; EnumObj ::= <EnumOb:Object>; ItemsSchema ::= SchemaObject; @@ -142,11 +104,10 @@ DiscriminatorObject ::= <PropertyName> MappingTuple*; MappingTuple ::= <Key> <Value>; //XML Object -XmlObject ::= <Name> <Namespace> <Prefix> <Attribute:Object> <Wrapped:Object>; +XmlObject ::= <Name> <Namespace> <Prefix> <Attribute:Boolean> <Wrapped:Boolean>; //Security Scheme Object -SecuritySchemeObject ::= <Type> <Description> <Name> <In> <Scheme> <BearerFormat> Flows <OpenIdConnectUrl>; -Flows ::= OAuthFlowsObject; +SecuritySchemeObject ::= <Type> <Description> <Name> <In> <Scheme> <BearerFormat> OAuthFlowsObject <OpenIdConnectUrl> <Ref>; //OAuth Flows Object OAuthFlowsObject ::= [Implicit] [Password] [ClientCredentials] [AuthorizationCode]; @@ -156,10 +117,10 @@ ClientCredentials ::= OAuthFlowObject; AuthorizationCode ::= OAuthFlowObject; //OAuth Flow Object -OAuthFlowObject ::= <AuthorizationUrl> <TokenUrl> <RefreshUrl> ScopesTuple*; +OAuthFlowObject ::= <AuthorizationUrl> <TokenUrl> <RefreshUrl> ScopesTuple* <Configuration>; ScopesTuple ::= <ScopesKey> <ScopesValue>; //Security Requirement Object -//SecurityRequirementObject ::= SecurityRequirementValue*; +SecurityRequirementObject ::= SecurityRequirementTuple*; SecurityRequirementTuple ::= <Name> SecurityRequirementValue*; SecurityRequirementValue ::= <Value>; \ No newline at end of file diff --git a/src/main/jastadd/Parser.jrag b/src/main/jastadd/Parser.jrag index c7f59684..230561c0 100644 --- a/src/main/jastadd/Parser.jrag +++ b/src/main/jastadd/Parser.jrag @@ -3,27 +3,32 @@ aspect Parser { public static OpenAPIObject OpenAPIObject.parseOpenAPI(OpenApi3 api) throws IOException, ResolutionException, ValidationException { OpenAPIObject openapi = new OpenAPIObject(); + if( api.getOpenapi() != null ) openapi.setOpenAPI(api.getOpenapi()); - openapi.setInfoObject( InfoObject.parseInfo(api.getInfo()) ); + if( api.getInfo() != null ) + openapi.setInfoObject(InfoObject.parseInfo(api.getInfo())); + if( api.getPaths() != null ){ for( String key : api.getPaths().keySet() ) - openapi.addPathsObject( new PathsObject( key, PathItemObject.parsePath(api.getPath(key))) ); - - if( api.getServers() != null ) { + openapi.addPathsObject(new PathsObject( key, PathItem.parsePath(api.getPath(key)))); + } + if( api.getServers() != null ){ for( Server s : api.getServers() ) - openapi.addServerObject( ServerObject.parseServer(s) ); + openapi.addServerObject(ServerObject.parseServer(s)); } if( api.getComponents() != null ) - openapi.setComponentsObject( ComponentsObject.parseComponents(api.getComponents()) ); + openapi.setComponentsObject(ComponentsObject.parseComponents(api.getComponents())); if( api.getSecurityRequirements() != null ){ for( SecurityRequirement s : api.getSecurityRequirements() ) - openapi.addSecurityRequirementObject( SecurityRequirementObject.parseSecurityRequirement(s) ); + openapi.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(s)); } if( api.getTags() != null ){ for( org.openapi4j.parser.model.v3.Tag t : api.getTags() ) - openapi.addTagObject( TagObject.parseTag(t) ); + openapi.addTagObject(TagObject.parseTag(t)); } if( api.getExternalDocs() != null ) - openapi.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(api.getExternalDocs()) ); + openapi.setExternalDocObject(ExternalDocObject.parseExternalDocs(api.getExternalDocs())); + if( api.getContext() != null ) + openapi.setContext(api.getContext()); return openapi; } @@ -31,17 +36,18 @@ public static OpenAPIObject OpenAPIObject.parseOpenAPI(OpenApi3 api) throws IOEx public static InfoObject InfoObject.parseInfo(Info info) { InfoObject infoObject = new InfoObject(); - infoObject.setTitle( info.getTitle() ); - infoObject.setVersion( info.getVersion() ); - + if( info.getTitle() != null ) + infoObject.setTitle(info.getTitle()); + if( info.getVersion() != null ) + infoObject.setVersion(info.getVersion()); if( info.getDescription() != null ) - infoObject.setDescription( info.getDescription() ); + infoObject.setDescription(info.getDescription()); if( info.getTermsOfService() != null ) - infoObject.setTermsOfService( info.getTermsOfService() ); + infoObject.setTermsOfService(info.getTermsOfService()); if( info.getContact() != null ) - infoObject.setContactObject( ContactObject.parseContact(info.getContact()) ); + infoObject.setContactObject(ContactObject.parseContact(info.getContact())); if( info.getLicense() != null ) - infoObject.setLicenseObject( LicenseObject.parseLicense(info.getLicense()) ); + infoObject.setLicenseObject(LicenseObject.parseLicense(info.getLicense())); return infoObject; } @@ -73,10 +79,10 @@ public static LicenseObject LicenseObject.parseLicense(License license){ public static ServerObject ServerObject.parseServer(Server server){ ServerObject serverObject = new ServerObject(); - serverObject.setUrl( server.getUrl() ); - + if( server.getUrl() != null ) + serverObject.setUrl(server.getUrl()); if( server.getDescription() != null ) - serverObject.setDescription( server.getDescription() ); + serverObject.setDescription(server.getDescription()); if( server.getVariables() != null ){ for (String key : server.getVariables().keySet()) serverObject.addServerVariablesTuple(new ServerVariablesTuple(key, ServerVariableObject.parseServerVariable(server.getVariable(key)))); @@ -88,10 +94,10 @@ public static ServerObject ServerObject.parseServer(Server server){ public static ServerVariableObject ServerVariableObject.parseServerVariable(ServerVariable serverVariable){ ServerVariableObject serverVariableObject = new ServerVariableObject(); - serverVariableObject.setDefault( serverVariable.getDefault() ); - + if( serverVariable.getDefault() != null ) + serverVariableObject.setDefault(serverVariable.getDefault()); if( serverVariable.getDescription() != null ) - serverVariableObject.setDescription( serverVariable.getDescription() ); + serverVariableObject.setDescription(serverVariable.getDescription()); if( serverVariable.getEnums() != null ){ for( String e : serverVariable.getEnums() ) serverVariableObject.addEnum(new Enum(e)); @@ -104,249 +110,228 @@ public static ComponentsObject ComponentsObject.parseComponents(Components compo ComponentsObject componentsObject = new ComponentsObject(); if( components.getSchemas() != null ){ - JastAddList<SchemasTuple> schemasTuples = new JastAddList<>(); for( String key : components.getSchemas().keySet() ){ + SchemaTuple schemaTuple = new SchemaTuple(); if( components.getSchema(key).isRef() ){ - SchemaReferenceTuple schema = new SchemaReferenceTuple(); - schema.setName(key); - schema.setRef(components.getSchema(key).getRef()); - schemasTuples.add(schema); + SchemaObject schemaObject = new SchemaObject(); + schemaObject.setRef(components.getSchema(key).getRef()); + schemaTuple.setKey(key); + schemaTuple.setSchemaObject(schemaObject); + componentsObject.addSchemaTuple(schemaTuple); } - else { - SchemaObjectTuple schema = new SchemaObjectTuple(); - schema.setName(key); - schema.setSchemaObject(SchemaObject.parseSchema(components.getSchema(key))); - schemasTuples.add(schema); + else{ + schemaTuple.setKey(key); + schemaTuple.setSchemaObject(SchemaObject.parseSchema(components.getSchema(key))); + componentsObject.addSchemaTuple(schemaTuple); } } - componentsObject.setSchemasTupleList(schemasTuples); } if( components.getResponses() != null ){ - JastAddList<ResponsesTuple> responsesTuples = new JastAddList<>(); for( String key : components.getResponses().keySet() ){ + ResponseTuple responseTuple = new ResponseTuple(); if( components.getResponse(key).isRef() ){ - ResponseReferenceTuple response = new ResponseReferenceTuple(); - response.setName(key); - response.setRef(components.getResponse(key).getRef()); - responsesTuples.add(response); + ResponseObject responseObject = new ResponseObject(); + responseObject.setRef(components.getResponse(key).getRef()); + responseTuple.setKey(key); + responseTuple.setResponseObject(responseObject); + componentsObject.addResponseTuple(responseTuple); } - else { - ResponseObjectTuple response = new ResponseObjectTuple(); - response.setName(key); - response.setResponseObject(ResponseObject.parseResponse(components.getResponse(key))); - responsesTuples.add(response); + else{ + responseTuple.setKey(key); + responseTuple.setResponseObject(ResponseObject.parseResponse(components.getResponse(key))); + componentsObject.addResponseTuple(responseTuple); } } - componentsObject.setResponsesTupleList(responsesTuples); } if( components.getParameters() != null ){ - JastAddList<ParameterTuple> parameterTuples = new JastAddList<>(); for( String key : components.getParameters().keySet() ){ + ParameterTuple parameterTuple = new ParameterTuple(); if( components.getParameter(key).isRef() ){ - ParameterReferenceTuple parameter = new ParameterReferenceTuple(); - parameter.setName(key); - parameter.setRef(components.getParameter(key).getRef()); - parameterTuples.add(parameter); + ParameterObject parameterObject = new ParameterObject(); + parameterObject.setRef(components.getParameter(key).getRef()); + parameterTuple.setKey(key); + parameterTuple.setParameterObject(parameterObject); + componentsObject.addParameterTuple(parameterTuple); } - else { - ParameterObjectTuple parameter = new ParameterObjectTuple(); - parameter.setName(key); - parameter.setParameterObject(ParameterObject.parseParameter(components.getParameter(key))); - parameterTuples.add(parameter); + else{ + parameterTuple.setKey(key); + parameterTuple.setParameterObject(ParameterObject.parseParameter(components.getParameter(key))); + componentsObject.addParameterTuple(parameterTuple); } } - componentsObject.setParameterTupleList(parameterTuples); } if( components.getExamples() != null ){ - JastAddList<ExamplesTuple> examplesTuples = new JastAddList<>(); for( String key : components.getExamples().keySet() ){ - ExampleObjectTuple exampleObjectTuple = new ExampleObjectTuple(); - exampleObjectTuple.setName( key ); - exampleObjectTuple.setExampleObject( ExampleObject.parseExample(components.getExample(key)) ); - examplesTuples.add(exampleObjectTuple); + ExampleTuple exampleTuple = new ExampleTuple(); + ExampleObject exampleObject = new ExampleObject(); + exampleTuple.setKey(key); + exampleTuple.setExampleObject(ExampleObject.parseExample(components.getExample(key))); + componentsObject.addExampleTuple(exampleTuple); } - componentsObject.setExamplesTupleList(examplesTuples); } if( components.getRequestBodies() != null ){ - JastAddList<RequestBodiesTuple> requestBodiesTuples = new JastAddList<>(); for( String key : components.getRequestBodies().keySet() ){ + RequestBodyTuple requestBodyTuple = new RequestBodyTuple(); if( components.getRequestBody(key).isRef() ){ - RequestBodyReferenceTuple requestBody = new RequestBodyReferenceTuple(); - requestBody.setName(key); - requestBody.setRef(components.getRequestBody(key).getRef()); - requestBodiesTuples.add(requestBody); + RequestBodyObject requestBodyObject = new RequestBodyObject(); + requestBodyObject.setRef(components.getRequestBody(key).getRef()); + requestBodyTuple.setKey(key); + requestBodyTuple.setRequestBodyObject(requestBodyObject); + componentsObject.addRequestBodyTuple(requestBodyTuple); } - else { - RequestBodyObjectTuple requestBody = new RequestBodyObjectTuple(); - requestBody.setName(key); - requestBody.setRequestBodyObject(RequestBodyObject.parseRequestBody(components.getRequestBody(key))); - requestBodiesTuples.add(requestBody); + else{ + requestBodyTuple.setKey(key); + requestBodyTuple.setRequestBodyObject(RequestBodyObject.parseRequestBody(components.getRequestBody(key))); + componentsObject.addRequestBodyTuple(requestBodyTuple); } } - componentsObject.setRequestBodiesTupleList(requestBodiesTuples); } if( components.getHeaders() != null ){ - JastAddList<HeadersTuple> headersTuples = new JastAddList<>(); for( String key : components.getHeaders().keySet() ){ + HeaderTuple headerTuple = new HeaderTuple(); if( components.getHeader(key).isRef() ){ - HeaderReferenceTuple header = new HeaderReferenceTuple(); - header.setName(key); - header.setRef(components.getHeader(key).getRef()); - headersTuples.add(header); + HeaderObject headerObject = new HeaderObject(); + headerObject.setRef(components.getHeader(key).getRef()); + headerTuple.setKey(key); + headerTuple.setHeaderObject(headerObject); + componentsObject.addHeaderTuple(headerTuple); } - else { - HeaderObjectTuple header = new HeaderObjectTuple(); - header.setName(key); - header.setHeaderObject(HeaderObject.parseHeader(components.getHeader(key))); - headersTuples.add(header); + else{ + headerTuple.setKey(key); + headerTuple.setHeaderObject(HeaderObject.parseHeader(components.getHeader(key))); + componentsObject.addHeaderTuple(headerTuple); } } - componentsObject.setHeadersTupleList(headersTuples); } if( components.getSecuritySchemes() != null ){ - JastAddList<SecuritySchemesTuple> securitySchemesTuples = new JastAddList<>(); for( String key : components.getSecuritySchemes().keySet() ){ + SecuritySchemeTuple securitySchemeTuple = new SecuritySchemeTuple(); if( components.getSecurityScheme(key).isRef() ){ - SecuritySchemeReferenceTuple securityScheme = new SecuritySchemeReferenceTuple(); - securityScheme.setName(key); - securityScheme.setRef(components.getSecurityScheme(key).getRef()); - securitySchemesTuples.add(securityScheme); + SecuritySchemeObject securitySchemeObject = new SecuritySchemeObject(); + securitySchemeObject.setRef(components.getSecurityScheme(key).getRef()); + securitySchemeTuple.setKey(key); + securitySchemeTuple.setSecuritySchemeObject(securitySchemeObject); + componentsObject.addSecuritySchemeTuple(securitySchemeTuple); } - else { - SecuritySchemeObjectTuple securityScheme = new SecuritySchemeObjectTuple(); - securityScheme.setName(key); - securityScheme.setSecuritySchemeObject(SecuritySchemeObject.parseSecurityScheme(components.getSecurityScheme(key))); - securitySchemesTuples.add(securityScheme); + else{ + securitySchemeTuple.setKey(key); + securitySchemeTuple.setSecuritySchemeObject(SecuritySchemeObject.parseSecurityScheme(components.getSecurityScheme(key))); + componentsObject.addSecuritySchemeTuple(securitySchemeTuple); } } - componentsObject.setSecuritySchemesTupleList(securitySchemesTuples); } if( components.getLinks() != null ){ - JastAddList<LinksTuple> linksTuples = new JastAddList<>(); for( String key : components.getLinks().keySet() ){ + LinkTuple linkTuple = new LinkTuple(); if( components.getLink(key).isRef() ){ - LinkReferenceTuple link = new LinkReferenceTuple(); - link.setName(key); - link.setRef(components.getLink(key).getRef()); - linksTuples.add(link); + LinkObject linkObject = new LinkObject(); + linkObject.setRef(components.getLink(key).getRef()); + linkTuple.setKey(key); + linkTuple.setLinkObject(linkObject); + componentsObject.addLinkTuple(linkTuple); } - else { - LinkObjectTuple link = new LinkObjectTuple(); - link.setName(key); - link.setLinkObject(LinkObject.parseLink(components.getLink(key))); - linksTuples.add(link); + else{ + linkTuple.setKey(key); + linkTuple.setLinkObject(LinkObject.parseLink(components.getLink(key))); + componentsObject.addLinkTuple(linkTuple); } } - componentsObject.setLinksTupleList(linksTuples); } if( components.getCallbacks() != null ){ - JastAddList<CallbacksTuple> callbacksTuples = new JastAddList<>(); for( String key : components.getCallbacks().keySet() ){ + CallbackTuple callbackTuple = new CallbackTuple(); if( components.getCallback(key).isRef() ){ - CallbackReferenceTuple callback = new CallbackReferenceTuple(); - callback.setName(key); - callback.setRef(components.getLink(key).getRef()); - callbacksTuples.add(callback); + CallbackObject callbackObject = new CallbackObject(); + callbackObject.setRef(components.getCallback(key).getRef()); + callbackTuple.setKey(key); + callbackTuple.setCallbackObject(callbackObject); + componentsObject.addCallbackTuple(callbackTuple); } - else { - CallbackObjectTuple callback = new CallbackObjectTuple(); - callback.setName(key); - callback.setCallbackObject(CallbackObject.parseCallback(components.getCallback(key))); - callbacksTuples.add(callback); + else{ + callbackTuple.setKey(key); + callbackTuple.setCallbackObject(CallbackObject.parseCallback(components.getCallback(key))); + componentsObject.addCallbackTuple(callbackTuple); } } - componentsObject.setCallbacksTupleList(callbacksTuples); } return componentsObject; } -public static PathsObject PathsObject.parsePaths(OpenApi3 api3){ - PathsObject pathsObject = new PathsObject(); - - for ( String key : api3.getPaths().keySet() ){ - pathsObject.setRef( key ); - pathsObject.setPathItemObject( PathItemObject.parsePath(api3.getPath(key)) ); - } - - return pathsObject; - } +public static PathItem PathItem.parsePath(Path path){ + PathItem pathItem = new PathItem(); -public static PathItemObject PathItemObject.parsePath(Path path){ - PathItemObject pathItemObject = new PathItemObject(); if( path.getRef() != null ) - pathItemObject.setRef( path.getRef() ); + pathItem.setRef(path.getRef()); if( path.getSummary() != null ) - pathItemObject.setSummary( path.getSummary() ); + pathItem.setSummary(path.getSummary()); if( path.getDescription() != null ) - pathItemObject.setDescription( path.getDescription() ); + pathItem.setDescription(path.getDescription()); if( path.getGet() != null ){ Get get = new Get(); get.setOperationObject( OperationObject.parseOperation( path.getGet() ) ); - pathItemObject.setGet(get); + pathItem.setGet(get); } if( path.getPut() != null ){ Put put = new Put(); put.setOperationObject( OperationObject.parseOperation( path.getPut() ) ); - pathItemObject.setPut(put); + pathItem.setPut(put); } if( path.getPost() != null ){ Post post = new Post(); post.setOperationObject( OperationObject.parseOperation( path.getPost() ) ); - pathItemObject.setPost(post); + pathItem.setPost(post); } if( path.getDelete() != null ){ Delete delete = new Delete(); delete.setOperationObject( OperationObject.parseOperation( path.getDelete() ) ); - pathItemObject.setDelete(delete); + pathItem.setDelete(delete); } if( path.getOptions() != null ){ Options options = new Options(); options.setOperationObject( OperationObject.parseOperation( path.getOptions() ) ); - pathItemObject.setOptions(options); + pathItem.setOptions(options); } if( path.getHead() != null ){ Head head = new Head(); head.setOperationObject( OperationObject.parseOperation( path.getHead() ) ); - pathItemObject.setHead(head); + pathItem.setHead(head); } if( path.getPatch() != null ){ Patch patch = new Patch(); patch.setOperationObject( OperationObject.parseOperation( path.getPatch() ) ); - pathItemObject.setPatch(patch); + pathItem.setPatch(patch); } if( path.getTrace() != null ){ Trace trace = new Trace(); trace.setOperationObject( OperationObject.parseOperation( path.getTrace() ) ); - pathItemObject.setTrace(trace); + pathItem.setTrace(trace); } if( path.getServers() != null ){ for(Server s : path.getServers()) - pathItemObject.addServerObject( ServerObject.parseServer(s)); + pathItem.addServerObject( ServerObject.parseServer(s)); } if( path.getParameters() != null ){ for(Parameter p : path.getParameters()){ if( p.isRef() ) { ParameterObject parameterObject = new ParameterObject(); parameterObject.setRef(p.getRef()); - pathItemObject.addParameterObject(parameterObject); + pathItem.addParameterObject(parameterObject); } else - pathItemObject.addParameterObject(ParameterObject.parseParameter(p)); + pathItem.addParameterObject(ParameterObject.parseParameter(p)); } } - return pathItemObject; + return pathItem; } public static OperationObject OperationObject.parseOperation(Operation operation){ OperationObject operationObject = new OperationObject(); - DeprecatedBoolean deprecatedBoolean = new DeprecatedBoolean(); - - deprecatedBoolean.setDeprecatedBoolean(operation.getDeprecated()); - operationObject.setDeprecatedBoolean(deprecatedBoolean); + if( operation.getDeprecated() != null ) + operationObject.setDeprecatedBoolean(operation.getDeprecated()); if( operation.getTags() != null ){ for(String t : operation.getTags()) { de.tudresden.inf.st.openapi.ast.Tag tag = new de.tudresden.inf.st.openapi.ast.Tag(); @@ -359,7 +344,7 @@ public static OperationObject OperationObject.parseOperation(Operation operation if( operation.getDescription() != null ) operationObject.setDescription( operation.getDescription() ); if( operation.getExternalDocs() != null ) - operationObject.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(operation.getExternalDocs()) ); + operationObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(operation.getExternalDocs())); if( operation.getOperationId() != null ) operationObject.setOperationID( operation.getOperationId() ); if( operation.getParameters() != null ){ @@ -369,27 +354,16 @@ public static OperationObject OperationObject.parseOperation(Operation operation if( operation.getRequestBody() != null ) operationObject.setRequestBodyObject( RequestBodyObject.parseRequestBody( operation.getRequestBody() ) ); if( operation.getResponses() != null ){ - ResponsesObject responsesObject = new ResponsesObject(); - for( String key : operation.getResponses().keySet()){ - ResponseObject responseObject; - responseObject = ResponseObject.parseResponse(operation.getResponse(key)); - responseObject.setName(key); - responsesObject.addHTTPStatusCode(responseObject); - } - operationObject.setResponsesObject(responsesObject); + for( String key : operation.getResponses().keySet()) + operationObject.addResponseTuple(new ResponseTuple(key, ResponseObject.parseResponse(operation.getResponse(key)))); } if( operation.getCallbacks() != null ){ - CallbackObjectTuple callbackObjectTuple = new CallbackObjectTuple(); - for( String key : operation.getCallbacks().keySet() ){ - callbackObjectTuple.setName(key); - callbackObjectTuple.setCallbackObject(CallbackObject.parseCallback(operation.getCallback(key))); - operationObject.addCallbacksTuple(callbackObjectTuple); - } + for( String key : operation.getCallbacks().keySet() ) + operationObject.addCallbackTuple(new CallbackTuple(key, CallbackObject.parseCallback(operation.getCallback(key)))); } - if( operation.getSecurityRequirements() != null ){ - for( SecurityRequirement sr : operation.getSecurityRequirements() ) - operationObject.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(sr)); + for( SecurityRequirement s : operation.getSecurityRequirements() ) + operationObject.addSecurityRequirementObject(SecurityRequirementObject.parseSecurityRequirement(s)); } if( operation.getServers() != null ){ for( Server s : operation.getServers() ) @@ -399,53 +373,55 @@ public static OperationObject OperationObject.parseOperation(Operation operation return operationObject; } -public static ExternalDocumentationObject ExternalDocumentationObject.parseExternalDocs(ExternalDocs externalDocs){ - ExternalDocumentationObject externalDocumentationObject = new ExternalDocumentationObject(); +public static ExternalDocObject ExternalDocObject.parseExternalDocs(ExternalDocs externalDocs){ + ExternalDocObject externalDocObject = new ExternalDocObject(); + if( externalDocs.getDescription() != null ) - externalDocumentationObject.setDescription( externalDocs.getDescription() ); - externalDocumentationObject.setUrl( externalDocs.getUrl() ); + externalDocObject.setDescription(externalDocs.getDescription()); + if( externalDocs.getUrl() != null ) + externalDocObject.setUrl(externalDocObject.getUrl()); + if( externalDocs.getExtensions() != null ) { + for( String key : externalDocs.getExtensions().keySet() ) + externalDocObject.addExtension(new Extension(key, externalDocs.getExtensions().get(key))); + } - return externalDocumentationObject; + return externalDocObject; } public static ParameterObject ParameterObject.parseParameter(Parameter parameter){ ParameterObject parameterObject = new ParameterObject(); + if( parameter.isRef() ) + parameterObject.setRef(parameter.getRef()); + if( parameter.getName() != null ) parameterObject.setName(parameter.getName()); + if( parameter.getIn() != null ) parameterObject.setIn(parameter.getIn()); - if( parameter.getRequired() == null ) - parameterObject.setRequired(false); - else - parameterObject.setRequired(parameter.getRequired()); - if( parameter.getDescription() != null ) - parameterObject.setDescription( parameter.getDescription() ); + parameterObject.setDescription(parameter.getDescription()); if( parameter.getDeprecated() != null ) - parameterObject.setDeprecatedBoolean( parameter.getDeprecated() ); + parameterObject.setDeprecatedBoolean(parameter.getDeprecated()); if( parameter.getStyle() != null ) parameterObject.setStyle( parameter.getStyle() ); if( parameter.getExplode() != null ) parameterObject.setExplode( parameter.getExplode() ); if( parameter.getAllowReserved() != null ) parameterObject.setAllowReserved( parameter.getAllowReserved() ); - if( parameter.getSchema() != null ){ - SchemaObject schema = new SchemaObject(); - schema = SchemaObject.parseSchema(parameter.getSchema()); - if( parameter.getSchema().isRef() ) - schema.setRef(parameter.getSchema().getRef()); - parameterObject.setSchemaObject(schema); - } + if( parameter.getSchema() != null ) + parameterObject.setSchemaObject(SchemaObject.parseSchema(parameter.getSchema())); if( parameter.getExample() != null ) parameterObject.setExample( parameter.getExample() ); if( parameter.getExamples() != null ){ for( String key : parameter.getExamples().keySet() ) - parameterObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(parameter.getExample(key)))); + parameterObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(parameter.getExample(key)))); } if( parameter.getContentMediaTypes() != null ){ for( String key : parameter.getContentMediaTypes().keySet() ) - parameterObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(parameter.getContentMediaType(key)))); + parameterObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(parameter.getContentMediaType(key)))); } + if( parameter.getRequired() != null ) + parameterObject.setRequired(parameter.getRequired()); return parameterObject; } @@ -455,14 +431,14 @@ public static RequestBodyObject RequestBodyObject.parseRequestBody(org.openapi4j if( requestBody.getContentMediaTypes() != null ) { for (String key : requestBody.getContentMediaTypes().keySet()) - requestBodyObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(requestBody.getContentMediaType(key)))); + requestBodyObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(requestBody.getContentMediaType(key)))); } if( requestBody.getDescription() != null ) requestBodyObject.setDescription(requestBody.getDescription()); if( requestBody.getRequired() != null ) requestBodyObject.setRequired( requestBody.getRequired() ); if( requestBody.isRef() ) - requestBodyObject.setRef(requestBody.getRef()); + requestBodyObject.setRef(requestBody.getRef()); return requestBodyObject; } @@ -470,20 +446,17 @@ public static RequestBodyObject RequestBodyObject.parseRequestBody(org.openapi4j public static MediaTypeObject MediaTypeObject.parseMediaType(MediaType mediaType){ MediaTypeObject mediaTypeObject = new MediaTypeObject(); - if( mediaType.getSchema() != null ) { - SchemaObject schema = new SchemaObject(); - schema = SchemaObject.parseSchema(mediaType.getSchema()); - mediaTypeObject.setSchemaObject(schema); - } + if( mediaType.getSchema() != null ) + mediaTypeObject.setSchemaObject(SchemaObject.parseSchema(mediaType.getSchema())); if( mediaType.getExample() != null ) - mediaTypeObject.setExample( mediaType.getExample() ); + mediaTypeObject.setExample(mediaType.getExample()); if( mediaType.getExamples() != null ){ for( String key : mediaType.getExamples().keySet() ) - mediaTypeObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(mediaType.getExample(key)))); + mediaTypeObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(mediaType.getExample(key)))); } if( mediaType.getEncodings() != null ){ for( String key : mediaType.getEncodings().keySet() ) - mediaTypeObject.addEncodingTuple(new EncodingObjectTuple(key, EncodingObject.parseEncoding(mediaType.getEncoding(key)))); + mediaTypeObject.addEncodingTuple(new EncodingTuple(key, EncodingObject.parseEncoding(mediaType.getEncoding(key)))); } return mediaTypeObject; @@ -496,13 +469,16 @@ public static EncodingObject EncodingObject.parseEncoding(EncodingProperty encod encodingObject.setContentType( encodingProperty.getContentType() ); if( encodingProperty.getHeaders() != null ){ for( String key : encodingProperty.getHeaders().keySet() ) - encodingObject.addHeadersTuple(new HeaderObjectTuple(key, HeaderObject.parseHeader(encodingProperty.getHeader(key)))); + encodingObject.addHeaderTuple(new HeaderTuple(key, HeaderObject.parseHeader(encodingProperty.getHeader(key)))); } if( encodingProperty.getStyle() != null ) encodingObject.setStyle( encodingProperty.getStyle() ); if( encodingProperty.getExplode() != null ) encodingObject.setExplode( encodingProperty.getExplode() ); - // if( encodingProperty.getAllowReserved() != null ) /** parser for allowReserved non-existent **/ + if( encodingProperty.getExtensions() != null ){ + for( String key : encodingProperty.getExtensions().keySet() ) + encodingObject.addExtension(new Extension(key, encodingProperty.getExtensions().get(key))); + } return encodingObject; } @@ -510,19 +486,21 @@ public static EncodingObject EncodingObject.parseEncoding(EncodingProperty encod public static ResponseObject ResponseObject.parseResponse(Response response){ ResponseObject responseObject = new ResponseObject(); - responseObject.setDescription( response.getDescription() ); - + if( response.isRef() ) + responseObject.setRef(response.getRef()); + if( response.getDescription() != null ) + responseObject.setDescription(response.getDescription()); if( response.getHeaders() != null ){ for( String key : response.getHeaders().keySet() ) - responseObject.addHeadersTuple( new HeaderObjectTuple(key, HeaderObject.parseHeader(response.getHeader(key))) ); + responseObject.addHeaderTuple( new HeaderTuple(key, HeaderObject.parseHeader(response.getHeader(key))) ); } if( response.getContentMediaTypes() != null ){ for( String key : response.getContentMediaTypes().keySet() ) - responseObject.addContentTuple( new ContentObjectTuple(key, MediaTypeObject.parseMediaType(response.getContentMediaType(key))) ); + responseObject.addContentTuple( new ContentTuple(key, MediaTypeObject.parseMediaType(response.getContentMediaType(key))) ); } if( response.getLinks() != null ){ for( String key : response.getLinks().keySet() ) - responseObject.addLinksTuple( new LinkObjectTuple(key, LinkObject.parseLink(response.getLink(key))) ); + responseObject.addLinkTuple( new LinkTuple(key, LinkObject.parseLink(response.getLink(key))) ); } return responseObject; @@ -533,7 +511,7 @@ public static CallbackObject CallbackObject.parseCallback(Callback callback){ if( callback.getCallbackPaths() != null ){ for( String key : callback.getCallbackPaths().keySet() ) - callbackObject.addExpression(new Expression(key, PathItemObject.parsePath(callback.getCallbackPath(key)))); + callbackObject.addExpression(new Expression(key, PathItem.parsePath(callback.getCallbackPath(key)))); } return callbackObject; @@ -557,6 +535,8 @@ public static ExampleObject ExampleObject.parseExample(Example example){ public static LinkObject LinkObject.parseLink(Link link){ LinkObject linkObject = new LinkObject(); + if( link.isRef() ) + linkObject.setRef(link.getRef()); if( link.getOperationRef() != null ) linkObject.setOperationRef( link.getOperationRef() ); if( link.getOperationId() != null ) @@ -592,12 +572,14 @@ public static HeaderObject HeaderObject.parseHeader(Header header){ headerObject.setExample( header.getExample() ); if( header.getExamples() != null ){ for( String key : header.getExamples().keySet() ) - headerObject.addExamplesTuple(new ExampleObjectTuple(key, ExampleObject.parseExample(header.getExample(key)))); + headerObject.addExampleTuple(new ExampleTuple(key, ExampleObject.parseExample(header.getExample(key)))); } if( header.getContentMediaTypes() != null ){ for( String key : header.getContentMediaTypes().keySet() ) - headerObject.addContentTuple(new ContentObjectTuple(key, MediaTypeObject.parseMediaType(header.getContentMediaType(key)))); + headerObject.addContentTuple(new ContentTuple(key, MediaTypeObject.parseMediaType(header.getContentMediaType(key)))); } + if( header.getSchema() != null ) + headerObject.setSchemaObject(SchemaObject.parseSchema(header.getSchema())); return headerObject; } @@ -610,7 +592,7 @@ public static TagObject TagObject.parseTag(org.openapi4j.parser.model.v3.Tag tag if( tag.getDescription() != null ) tagObject.setDescription( tag.getDescription() ); if( tag.getExternalDocs() != null ) - tagObject.setExternalDocumentationObject( ExternalDocumentationObject.parseExternalDocs(tag.getExternalDocs()) ); + tagObject.setExternalDocObject( ExternalDocObject.parseExternalDocs(tag.getExternalDocs()) ); return tagObject; } @@ -618,11 +600,10 @@ public static TagObject TagObject.parseTag(org.openapi4j.parser.model.v3.Tag tag public static SchemaObject SchemaObject.parseSchema (org.openapi4j.parser.model.v3.Schema schema) { SchemaObject schemaObject = new SchemaObject(); - if( schema.getAdditionalProperties() != null ){ - AdditionalProperties additionalProperties = new AdditionalProperties(); - additionalProperties.setSchemaObject(parseSchema(schema.getAdditionalProperties())); - schemaObject.setAdditionalProperties(additionalProperties); - } + if( schema.isRef() ) + schemaObject.setRef(schema.getRef()); + if( schema.getAdditionalProperties() != null ) + schemaObject.setAdditionalProperties(parseSchema(schema.getAdditionalProperties())); if( schema.getAdditionalPropertiesAllowed() != null ) schemaObject.setAdditionalPropertiesAllowed(schema.getAdditionalPropertiesAllowed()); if( schema.getDefault() != null ) @@ -634,8 +615,8 @@ public static SchemaObject SchemaObject.parseSchema (org.openapi4j.parser.model. if( schema.getDiscriminator() != null ) schemaObject.setDiscriminatorObject(DiscriminatorObject.parseDiscriminator(schema.getDiscriminator())); if( schema.getEnums() != null ){ - EnumObj enumObj = new EnumObj(); for( Object o : schema.getEnums() ){ + EnumObj enumObj = new EnumObj(); enumObj.setEnumOb(o); schemaObject.addEnumObj(enumObj); } @@ -647,7 +628,7 @@ public static SchemaObject SchemaObject.parseSchema (org.openapi4j.parser.model. if( schema.getExclusiveMinimum() != null ) schemaObject.setExclusiveMinimum(schema.getExclusiveMinimum()); if( schema.getExternalDocs() != null ) - schemaObject.setExternalDocumentationObject(ExternalDocumentationObject.parseExternalDocs(schema.getExternalDocs())); + schemaObject.setExternalDocObject(ExternalDocObject.parseExternalDocs(schema.getExternalDocs())); if( schema.getFormat() != null ) schemaObject.setFormat(schema.getFormat()); if( schema.getItemsSchema() != null ){ @@ -683,34 +664,35 @@ public static SchemaObject SchemaObject.parseSchema (org.openapi4j.parser.model. if( schema.getPattern() != null ) schemaObject.setPattern(schema.getPattern()); if( schema.getProperties() != null ){ + for( String key : schema.getProperties().keySet() ){ PropertyItem propertyItem = new PropertyItem(); - for( String key : schema.getProperties().keySet() ) schemaObject.addPropertyItem(new PropertyItem(key, parseSchema(schema.getProperty(key)))); } + } if( schema.getRequiredFields() != null ){ - RequiredField requiredField = new RequiredField(); for( String s : schema.getRequiredFields() ){ + RequiredField requiredField = new RequiredField(); requiredField.setValue(s); schemaObject.addRequiredField(requiredField); } } if( schema.getAllOfSchemas() != null ){ - AllOfSchema allOfSchema = new AllOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAllOfSchemas()){ + AllOfSchema allOfSchema = new AllOfSchema(); allOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addAllOfSchema(allOfSchema); } } if( schema.getAnyOfSchemas() != null ){ - AnyOfSchema anyOfSchema = new AnyOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getAnyOfSchemas()){ + AnyOfSchema anyOfSchema = new AnyOfSchema(); anyOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addAnyOfSchema(anyOfSchema); } } if( schema.getOneOfSchemas() != null ){ - OneOfSchema oneOfSchema = new OneOfSchema(); for(org.openapi4j.parser.model.v3.Schema schemaItem : schema.getOneOfSchemas()){ + OneOfSchema oneOfSchema = new OneOfSchema(); oneOfSchema.setSchemaObject(parseSchema(schemaItem)); schemaObject.addOneOfSchema(oneOfSchema); } @@ -767,15 +749,13 @@ public static XmlObject XmlObject.parseXml (Xml xml) { public static SecuritySchemeObject SecuritySchemeObject.parseSecurityScheme(SecurityScheme securityScheme){ SecuritySchemeObject securitySchemeObject = new SecuritySchemeObject(); - Flows flows = new Flows(); securitySchemeObject.setType( securityScheme.getType() ); securitySchemeObject.setName( securityScheme.getName() ); securitySchemeObject.setIn( securityScheme.getIn() ); securitySchemeObject.setScheme( securityScheme.getScheme() ); securitySchemeObject.setOpenIdConnectUrl( securityScheme.getOpenIdConnectUrl() ); - flows.setOAuthFlowsObject( OAuthFlowsObject.parseOAuthFlows(securityScheme.getFlows()) ); - securitySchemeObject.setFlows( flows ); + securitySchemeObject.setOAuthFlowsObject( OAuthFlowsObject.parseOAuthFlows(securityScheme.getFlows()) ); if( securityScheme.getDescription() != null ) securitySchemeObject.setDescription( securityScheme.getDescription() ); diff --git a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java index 70cb8aa4..95114e34 100644 --- a/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java +++ b/src/main/java/de/tudresden/inf/st/openapi/OpenAPIMain.java @@ -33,7 +33,7 @@ public class OpenAPIMain { ValidationResults results = new ValidationResults(); String fileName = "link-example.json"; - FileWriter writer = new FileWriter("./gen-api-ex/callback-example_generated.json"); + //FileWriter writer = new FileWriter("./gen-api-ex/callback-example_generated.json"); URL expUrl = OpenAPIMain.class.getClassLoader().getResource(fileName); File file = null; @@ -55,11 +55,8 @@ public class OpenAPIMain { results = OpenApi3Validator.instance().validate(api3); - System.out.println(results.isValid()); - System.out.println(api.toNode().equals(api3.toNode())); - - if( api.getPath("/2.0/repositories/{username}").getGet().getResponse("200").getContentMediaType("application/json").getSchema() != null ) - System.out.println(api.getPath("/2.0/repositories/{username}").getGet().getResponse("200").getContentMediaType("application/json").getSchema().getItemsSchema().getRef()); + if( api.getPath("/2.0/repositories/{username}").getGet().getOperationId() != null ) + System.out.println(api.getPath("/2.0/repositories/{username}").getGet().getOperationId()); //writer.write(api3.toNode().toPrettyString()); diff --git a/src/test/java/openapi/OpenAPIMain_test.java b/src/test/java/openapi/OpenAPIMain_test.java index 2e7b4a59..29a65fc7 100644 --- a/src/test/java/openapi/OpenAPIMain_test.java +++ b/src/test/java/openapi/OpenAPIMain_test.java @@ -66,10 +66,10 @@ public class OpenAPIMain_test { api3 = OpenAPIObject.composeOpenAPI(openApi); // check, if the composed openAPI object is valid - results = OpenApi3Validator.instance().validate(api); - System.out.println("Is the source object valid? : " + results.isValid()); - results = OpenApi3Validator.instance().validate(api3); - System.out.println("Is the generated object valid? : " + results.isValid()); + //results = OpenApi3Validator.instance().validate(api); + //System.out.println("Is the source object valid? : " + results.isValid()); + //results = OpenApi3Validator.instance().validate(api3); + //System.out.println("Is the generated object valid? : " + results.isValid()); // compare if api (source object) is equivalent to api3 (generated object) compareJson(api3.toNode(), api.toNode(), Paths.get(file)); -- GitLab