forked from loafle/openapi-generator-original
Minor improvements to plantuml
doc generator (#6298)
* minor improvements to plantuml doc generator * various improvements * fix windows batch file
This commit is contained in:
parent
00a706b760
commit
62d103d501
@ -885,6 +885,7 @@ Here is a list of template creators:
|
||||
* AsciiDoc: @man-at-home
|
||||
* HTML Doc 2: @jhitchcock
|
||||
* Confluence Wiki: @jhitchcock
|
||||
* PlantUML: @pburls
|
||||
* Configuration
|
||||
* Apache2: @stkrwork
|
||||
* k6: @mostafa
|
||||
|
2
bin/plantuml-documentation-petstore.sh
Normal file → Executable file
2
bin/plantuml-documentation-petstore.sh
Normal file → Executable file
@ -26,6 +26,6 @@ fi
|
||||
|
||||
# if you've executed sbt assembly previously it will use that instead.
|
||||
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
|
||||
ags="$@ generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g plantuml -o samples/documentation/petstore/plantuml"
|
||||
ags="$@ generate -t modules/openapi-generator/src/main/resources/plantuml -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g plantuml -o samples/documentation/petstore/plantuml"
|
||||
|
||||
java ${JAVA_OPTS} -jar ${executable} ${ags}
|
||||
|
@ -5,6 +5,6 @@ If Not Exist %executable% (
|
||||
)
|
||||
|
||||
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
|
||||
set ags=generate --artifact-id "plantuml-petstore-documentation" -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g plantuml -o samples\documentation\petstore\plantuml
|
||||
set ags=generate -t modules\openapi-generator\src\main\resources\plantuml -i modules\openapi-generator\src\test\resources\3_0\petstore.yaml -g plantuml -o samples\documentation\petstore\plantuml
|
||||
|
||||
java %JAVA_OPTS% -jar %executable% %ags%
|
||||
|
@ -136,7 +136,7 @@ The following generators are available:
|
||||
* [markdown (beta)](generators/markdown.md)
|
||||
* [openapi](generators/openapi.md)
|
||||
* [openapi-yaml](generators/openapi-yaml.md)
|
||||
* [plantuml](generators/plantuml.md)
|
||||
* [plantuml (beta)](generators/plantuml.md)
|
||||
|
||||
|
||||
## SCHEMA generators
|
||||
|
@ -1,14 +1,31 @@
|
||||
/*
|
||||
* Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.openapitools.codegen.languages;
|
||||
|
||||
import org.openapitools.codegen.*;
|
||||
import org.openapitools.codegen.meta.GeneratorMetadata;
|
||||
import org.openapitools.codegen.meta.Stability;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class PlantumlDocumentationCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
public static final String ALL_OF_SUFFIX = "AllOf";
|
||||
|
||||
@ -29,8 +46,12 @@ public class PlantumlDocumentationCodegen extends DefaultCodegen implements Code
|
||||
public PlantumlDocumentationCodegen() {
|
||||
super();
|
||||
|
||||
generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata)
|
||||
.stability(Stability.BETA)
|
||||
.build();
|
||||
|
||||
outputFolder = "generated-code" + File.separator + "plantuml";
|
||||
embeddedTemplateDir = templateDir = "plantuml-documentation";
|
||||
embeddedTemplateDir = templateDir = "plantuml";
|
||||
supportingFiles.add(new SupportingFile("schemas.mustache", "", "schemas.plantuml"));
|
||||
}
|
||||
|
||||
@ -41,7 +62,7 @@ public class PlantumlDocumentationCodegen extends DefaultCodegen implements Code
|
||||
List<Object> modelsList = (List<Object>) models;
|
||||
List<CodegenModel> codegenModelList = modelsList.stream()
|
||||
.filter(listItem -> listItem instanceof HashMap<?, ?>)
|
||||
.map(listItem -> (CodegenModel)((HashMap<?, ?>)listItem).get("model"))
|
||||
.map(listItem -> (CodegenModel) ((HashMap<?, ?>) listItem).get("model"))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<CodegenModel> inlineAllOfCodegenModelList = codegenModelList.stream()
|
||||
@ -118,8 +139,8 @@ public class PlantumlDocumentationCodegen extends DefaultCodegen implements Code
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Map<String, Object>> calculateCompositionRelationshipsFrom(List<Map<String, Object>> entities) {
|
||||
Map<String, List<Map<String, Object>>> entityFieldsMap = entities.stream()
|
||||
.collect(Collectors.toMap(entity -> (String)entity.get("name"), entity -> (List<Map<String, Object>>)entity.get("fields")));
|
||||
Map<String, List<Map<String, Object>>> entityFieldsMap = entities.stream()
|
||||
.collect(Collectors.toMap(entity -> (String) entity.get("name"), entity -> (List<Map<String, Object>>) entity.get("fields")));
|
||||
|
||||
return entityFieldsMap.entrySet().stream()
|
||||
.map(entry -> createRelationshipsFor(entry.getKey(), entry.getValue()))
|
||||
|
@ -3,6 +3,7 @@ org.openapitools.codegen.languages.AdaServerCodegen
|
||||
org.openapitools.codegen.languages.AndroidClientCodegen
|
||||
org.openapitools.codegen.languages.Apache2ConfigCodegen
|
||||
org.openapitools.codegen.languages.ApexClientCodegen
|
||||
org.openapitools.codegen.languages.AsciidocDocumentationCodegen
|
||||
org.openapitools.codegen.languages.AspNetCoreServerCodegen
|
||||
org.openapitools.codegen.languages.AvroSchemaCodegen
|
||||
org.openapitools.codegen.languages.BashClientCodegen
|
||||
@ -29,6 +30,7 @@ org.openapitools.codegen.languages.ErlangClientCodegen
|
||||
org.openapitools.codegen.languages.ErlangProperCodegen
|
||||
org.openapitools.codegen.languages.ErlangServerCodegen
|
||||
org.openapitools.codegen.languages.FlashClientCodegen
|
||||
org.openapitools.codegen.languages.FsharpFunctionsServerCodegen
|
||||
org.openapitools.codegen.languages.FsharpGiraffeServerCodegen
|
||||
org.openapitools.codegen.languages.GoClientCodegen
|
||||
org.openapitools.codegen.languages.GoClientExperimentalCodegen
|
||||
@ -66,6 +68,7 @@ org.openapitools.codegen.languages.JavascriptClosureAngularClientCodegen
|
||||
org.openapitools.codegen.languages.JMeterClientCodegen
|
||||
org.openapitools.codegen.languages.K6ClientCodegen
|
||||
org.openapitools.codegen.languages.LuaClientCodegen
|
||||
org.openapitools.codegen.languages.MarkdownDocumentationCodegen
|
||||
org.openapitools.codegen.languages.MysqlSchemaCodegen
|
||||
org.openapitools.codegen.languages.NimClientCodegen
|
||||
org.openapitools.codegen.languages.NodeJSServerCodegen
|
||||
@ -74,6 +77,7 @@ org.openapitools.codegen.languages.ObjcClientCodegen
|
||||
org.openapitools.codegen.languages.OCamlClientCodegen
|
||||
org.openapitools.codegen.languages.OpenAPIGenerator
|
||||
org.openapitools.codegen.languages.OpenAPIYamlGenerator
|
||||
org.openapitools.codegen.languages.PlantumlDocumentationCodegen
|
||||
org.openapitools.codegen.languages.PerlClientCodegen
|
||||
org.openapitools.codegen.languages.PhpClientCodegen
|
||||
org.openapitools.codegen.languages.PhpLaravelServerCodegen
|
||||
@ -98,11 +102,13 @@ org.openapitools.codegen.languages.RustClientCodegen
|
||||
org.openapitools.codegen.languages.RustServerCodegen
|
||||
org.openapitools.codegen.languages.ScalatraServerCodegen
|
||||
org.openapitools.codegen.languages.ScalaAkkaClientCodegen
|
||||
org.openapitools.codegen.languages.ScalaAkkaHttpServerCodegen
|
||||
org.openapitools.codegen.languages.ScalaFinchServerCodegen
|
||||
org.openapitools.codegen.languages.ScalaHttpClientCodegen
|
||||
org.openapitools.codegen.languages.ScalaGatlingCodegen
|
||||
org.openapitools.codegen.languages.ScalaLagomServerCodegen
|
||||
org.openapitools.codegen.languages.ScalaPlayFrameworkServerCodegen
|
||||
org.openapitools.codegen.languages.ScalaSttpClientCodegen
|
||||
org.openapitools.codegen.languages.ScalazClientCodegen
|
||||
org.openapitools.codegen.languages.SpringCodegen
|
||||
org.openapitools.codegen.languages.StaticDocCodegen
|
||||
@ -121,14 +127,4 @@ org.openapitools.codegen.languages.TypeScriptInversifyClientCodegen
|
||||
org.openapitools.codegen.languages.TypeScriptJqueryClientCodegen
|
||||
org.openapitools.codegen.languages.TypeScriptNodeClientCodegen
|
||||
org.openapitools.codegen.languages.TypeScriptReduxQueryClientCodegen
|
||||
org.openapitools.codegen.languages.TypeScriptRxjsClientCodegen
|
||||
org.openapitools.codegen.languages.FsharpGiraffeServerCodegen
|
||||
org.openapitools.codegen.languages.AsciidocDocumentationCodegen
|
||||
org.openapitools.codegen.languages.FsharpFunctionsServerCodegen
|
||||
|
||||
org.openapitools.codegen.languages.MarkdownDocumentationCodegen
|
||||
org.openapitools.codegen.languages.ScalaSttpClientCodegen
|
||||
|
||||
org.openapitools.codegen.languages.ScalaAkkaHttpServerCodegen
|
||||
|
||||
org.openapitools.codegen.languages.PlantumlDocumentationCodegen
|
||||
org.openapitools.codegen.languages.TypeScriptRxjsClientCodegen
|
@ -13,6 +13,16 @@ entity Category {
|
||||
name: String
|
||||
}
|
||||
|
||||
entity InlineObject {
|
||||
name: String
|
||||
status: String
|
||||
}
|
||||
|
||||
entity InlineObject1 {
|
||||
additionalMetadata: String
|
||||
file: File
|
||||
}
|
||||
|
||||
entity Order {
|
||||
id: Long
|
||||
petId: Long
|
||||
|
Loading…
x
Reference in New Issue
Block a user