Skip to content

Commit 9574cb2

Browse files
committed
added support for system properties on codegen generator module.
1 parent 5add84a commit 9574cb2

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

modules/swagger-generator/src/main/java/io/swagger/generator/model/Options.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public class Options {
1111
private String modelPackage;
1212
private String modelNamePrefix;
1313
private String modelNameSuffix;
14+
protected List<String> systemProperties;
1415
private List<String> instantiationTypes;
1516
private List<String> typeMappings;
1617
private List<String> additionalProperties;
@@ -101,6 +102,19 @@ public void setModelNameSuffix(String modelNameSuffix) {
101102
this.modelNameSuffix = modelNameSuffix;
102103
}
103104

105+
public Options systemProperties(List<String> systemProperties) {
106+
this.systemProperties = systemProperties;
107+
return this;
108+
}
109+
110+
public List<String> getSystemProperties() {
111+
return systemProperties;
112+
}
113+
114+
public void setSystemProperties(List<String> systemProperties) {
115+
this.systemProperties = systemProperties;
116+
}
117+
104118
public Options instantiationTypes(List<String> instantiationTypes) {
105119
this.instantiationTypes = instantiationTypes;
106120
return this;

modules/swagger-generator/src/main/java/io/swagger/generator/util/GeneratorUtil.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import static io.swagger.codegen.config.CodegenConfiguratorUtils.applyInstantiationTypesKvpList;
1717
import static io.swagger.codegen.config.CodegenConfiguratorUtils.applyLanguageSpecificPrimitivesCsvList;
1818
import static io.swagger.codegen.config.CodegenConfiguratorUtils.applyReservedWordsMappingsKvpList;
19+
import static io.swagger.codegen.config.CodegenConfiguratorUtils.applySystemPropertiesKvpList;
1920
import static io.swagger.codegen.config.CodegenConfiguratorUtils.applyTypeMappingsKvpList;
2021
import static org.apache.commons.lang3.StringUtils.isNotEmpty;
2122

@@ -80,6 +81,9 @@ public static ClientOptInput getClientOptInput(GenerationRequest generationReque
8081
if (options.getRemoveOperationIdPrefix() != null) {
8182
configurator.setRemoveOperationIdPrefix(options.getRemoveOperationIdPrefix());
8283
}
84+
if (options.getSystemProperties() != null) {
85+
applySystemPropertiesKvpList(options.getSystemProperties(), configurator);
86+
}
8387
if (options.getInstantiationTypes() != null) {
8488
applyInstantiationTypesKvpList(options.getInstantiationTypes(), configurator);
8589
}
@@ -157,6 +161,15 @@ public static ClientOptInput getClientOptInput(JsonNode node, String outputDir)
157161
configurator.setRemoveOperationIdPrefix(node.findValue("removeOperationIdPrefix").booleanValue());
158162
}
159163

164+
JsonNode systemPropertiesNode = node.findValue("systemProperties");
165+
if (systemPropertiesNode != null && systemPropertiesNode.isArray()) {
166+
List<String> systemProperties = new ArrayList<>();
167+
for (JsonNode jsonNode : systemPropertiesNode) {
168+
systemProperties.add(jsonNode.textValue());
169+
}
170+
applySystemPropertiesKvpList(systemProperties, configurator);
171+
}
172+
160173
JsonNode instantiationTypesNode = node.findValue("instantiationTypes");
161174
if (instantiationTypesNode != null && instantiationTypesNode.isArray()) {
162175
List<String> instantiationTypes = new ArrayList<>();

modules/swagger-generator/src/main/resources/openapi.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,12 @@ components:
150150
type: "string"
151151
title: "model name suffix"
152152
description: "PrefixSuffix that will be appended to all model names. Default is the empty string."
153+
systemProperties:
154+
type: "array"
155+
items:
156+
type: string
157+
title: "System Properties"
158+
description: "sets specified system properties in the format of name=value,name=value (or multiple options, each with name=value)"
153159
instantiationTypes:
154160
type: "array"
155161
items:

0 commit comments

Comments
 (0)