Skip to content

Commit 0ece706

Browse files
authored
Remove CodegenConfig.fromModel(String, Schema) method (#90)
1 parent 685a4ab commit 0ece706

24 files changed

Lines changed: 287 additions & 260 deletions

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717

1818
package org.openapitools.codegen;
1919

20-
import java.util.List;
21-
import java.util.Map;
22-
import java.util.Set;
23-
2420
import com.samskivert.mustache.Mustache.Compiler;
2521

2622
import io.swagger.v3.oas.models.OpenAPI;
2723
import io.swagger.v3.oas.models.Operation;
2824
import io.swagger.v3.oas.models.media.Schema;
2925
import io.swagger.v3.oas.models.security.SecurityScheme;
3026

27+
import java.util.List;
28+
import java.util.Map;
29+
import java.util.Set;
30+
3131
public interface CodegenConfig {
3232
CodegenType getTag();
3333

@@ -103,8 +103,6 @@ public interface CodegenConfig {
103103

104104
void setOutputDir(String dir);
105105

106-
CodegenModel fromModel(String name, Schema schema);
107-
108106
CodegenModel fromModel(String name, Schema schema, Map<String, Schema> allDefinitions);
109107

110108
CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map<String, Schema> definitions, OpenAPI openAPI);

modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,17 +1369,6 @@ public String toModelName(final String name) {
13691369
return initialCaps(modelNamePrefix + name + modelNameSuffix);
13701370
}
13711371

1372-
/**
1373-
* Convert OAS Model object to Codegen Model object without providing all model definitions
1374-
*
1375-
* @param name the name of the model
1376-
* @param schema OAS Model object
1377-
* @return Codegen Model object
1378-
*/
1379-
public CodegenModel fromModel(String name, Schema schema) {
1380-
return fromModel(name, schema, null);
1381-
}
1382-
13831372
/**
13841373
* Convert OAS Model object to Codegen Model object
13851374
*

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,36 @@
1919

2020
import static com.google.common.base.Strings.isNullOrEmpty;
2121

22-
import java.util.Arrays;
23-
import java.util.Collection;
24-
import java.util.HashMap;
25-
import java.util.HashSet;
26-
import java.util.Iterator;
27-
import java.util.List;
28-
import java.util.ListIterator;
29-
import java.util.Map;
30-
import java.util.Set;
31-
32-
import org.apache.commons.lang3.StringUtils;
3322
import com.google.common.collect.ArrayListMultimap;
3423
import com.google.common.collect.Multimap;
3524

25+
import io.swagger.v3.core.util.Json;
26+
import io.swagger.v3.oas.models.media.ArraySchema;
27+
import io.swagger.v3.oas.models.media.Schema;
28+
29+
import org.apache.commons.lang3.StringUtils;
3630
import org.openapitools.codegen.CliOption;
3731
import org.openapitools.codegen.CodegenConfig;
3832
import org.openapitools.codegen.CodegenConstants;
39-
import org.openapitools.codegen.DefaultCodegen;
4033
import org.openapitools.codegen.CodegenModel;
34+
import org.openapitools.codegen.CodegenOperation;
35+
import org.openapitools.codegen.CodegenParameter;
4136
import org.openapitools.codegen.CodegenProperty;
42-
import org.openapitools.codegen.*;
37+
import org.openapitools.codegen.DefaultCodegen;
4338
import org.openapitools.codegen.utils.ModelUtils;
44-
import io.swagger.v3.oas.models.OpenAPI;
45-
import io.swagger.v3.oas.models.Operation;
46-
import io.swagger.v3.oas.models.media.*;
47-
import io.swagger.v3.oas.models.responses.ApiResponse;
48-
import io.swagger.v3.core.util.Json;
4939
import org.slf4j.Logger;
5040
import org.slf4j.LoggerFactory;
5141

42+
import java.util.Arrays;
43+
import java.util.Collection;
44+
import java.util.HashMap;
45+
import java.util.HashSet;
46+
import java.util.Iterator;
47+
import java.util.List;
48+
import java.util.ListIterator;
49+
import java.util.Map;
50+
import java.util.Set;
51+
5252
public abstract class AbstractEiffelCodegen extends DefaultCodegen implements CodegenConfig {
5353
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractEiffelCodegen.class);
5454

@@ -476,7 +476,7 @@ public CodegenModel fromModel(String name, Schema model, Map<String, Schema> all
476476
CodegenModel codegenModel = super.fromModel(name, model, allDefinitions);
477477
if (allDefinitions != null && codegenModel.parentSchema != null && codegenModel.hasEnums) {
478478
final Schema parentModel = allDefinitions.get(codegenModel.parentSchema);
479-
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel);
479+
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel, allDefinitions);
480480
codegenModel = AbstractEiffelCodegen.reconcileInlineEnums(codegenModel, parentCodegenModel);
481481
}
482482
return codegenModel;

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ public CodegenModel fromModel(String name, Schema model, Map<String, Schema> all
868868
}
869869
if (allDefinitions != null && codegenModel.parentSchema != null && codegenModel.hasEnums) {
870870
final Schema parentModel = allDefinitions.get(codegenModel.parentSchema);
871-
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel);
871+
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel, allDefinitions);
872872
codegenModel = AbstractJavaCodegen.reconcileInlineEnums(codegenModel, parentCodegenModel);
873873
}
874874
return codegenModel;

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ public CodegenModel fromModel(String name, Schema model, Map<String, Schema> all
532532
if (allDefinitions != null && codegenModel != null && codegenModel.parent != null) {
533533
final Schema parentModel = allDefinitions.get(toModelName(codegenModel.parent));
534534
if (parentModel != null) {
535-
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel);
535+
final CodegenModel parentCodegenModel = super.fromModel(codegenModel.parent, parentModel, allDefinitions);
536536
if (codegenModel.hasEnums) {
537537
codegenModel = this.reconcileInlineEnums(codegenModel, parentCodegenModel);
538538
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -816,11 +816,6 @@ public String toInstantiationType(Schema p) {
816816
}
817817
}
818818

819-
@Override
820-
public CodegenModel fromModel(String name, Schema schema) {
821-
return fromModel(name, schema, null);
822-
}
823-
824819
@Override
825820
public CodegenModel fromModel(String name, Schema model, Map<String, Schema> allDefinitions) {
826821
CodegenModel mdl = super.fromModel(name, model, allDefinitions);

modules/openapi-generator/src/test/java/org/openapitools/codegen/csharp/CSharpModelTest.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,25 @@
1717

1818
package org.openapitools.codegen.csharp;
1919

20-
import org.openapitools.codegen.CodegenModel;
21-
import org.openapitools.codegen.CodegenProperty;
22-
import org.openapitools.codegen.DefaultCodegen;
23-
import org.openapitools.codegen.languages.CSharpClientCodegen;
24-
2520
import com.google.common.collect.Sets;
21+
2622
import io.swagger.v3.oas.models.media.ArraySchema;
2723
import io.swagger.v3.oas.models.media.DateTimeSchema;
2824
import io.swagger.v3.oas.models.media.IntegerSchema;
2925
import io.swagger.v3.oas.models.media.MapSchema;
3026
import io.swagger.v3.oas.models.media.Schema;
3127
import io.swagger.v3.oas.models.media.StringSchema;
3228
import io.swagger.v3.parser.util.SchemaTypeUtil;
29+
30+
import org.openapitools.codegen.CodegenModel;
31+
import org.openapitools.codegen.CodegenProperty;
32+
import org.openapitools.codegen.DefaultCodegen;
33+
import org.openapitools.codegen.languages.CSharpClientCodegen;
3334
import org.testng.Assert;
3435
import org.testng.annotations.Test;
3536

37+
import java.util.Collections;
38+
3639
@SuppressWarnings("static-method")
3740
public class CSharpModelTest {
3841

@@ -41,7 +44,7 @@ public void arrayPropertyTest() {
4144
final Schema schema = getArrayTestSchema();
4245

4346
final DefaultCodegen codegen = new CSharpClientCodegen();
44-
final CodegenModel generated = codegen.fromModel("sample", schema);
47+
final CodegenModel generated = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
4548

4649
Assert.assertEquals(generated.name, "sample");
4750
Assert.assertEquals(generated.classname, "Sample");
@@ -68,7 +71,7 @@ public void arrayPropertyCollectionOptionTest() {
6871
final CSharpClientCodegen codegen = new CSharpClientCodegen();
6972
codegen.setUseCollection(true);
7073

71-
final CodegenModel generated = codegen.fromModel("sample", schema);
74+
final CodegenModel generated = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
7275

7376
Assert.assertEquals(generated.name, "sample");
7477
Assert.assertEquals(generated.vars.size(), 2);
@@ -92,7 +95,7 @@ public void arrayPropertyICollectionOptionTest() {
9295
codegen.setUseCollection(true);
9396
codegen.setReturnICollection(true);
9497

95-
final CodegenModel generated = codegen.fromModel("sample", schema);
98+
final CodegenModel generated = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
9699

97100
Assert.assertEquals(generated.name, "sample");
98101
Assert.assertEquals(generated.vars.size(), 2);
@@ -128,7 +131,7 @@ public void simpleModelTest() {
128131
.addRequiredItem("id")
129132
.addRequiredItem("name");
130133
final DefaultCodegen codegen = new CSharpClientCodegen();
131-
final CodegenModel cm = codegen.fromModel("sample", model);
134+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
132135

133136
Assert.assertEquals(cm.name, "sample");
134137
Assert.assertEquals(cm.classname, "Sample");
@@ -174,7 +177,7 @@ public void listPropertyTest() {
174177
.items(new StringSchema()))
175178
.addRequiredItem("id");
176179
final DefaultCodegen codegen = new CSharpClientCodegen();
177-
final CodegenModel cm = codegen.fromModel("sample", model);
180+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
178181

179182
Assert.assertEquals(cm.name, "sample");
180183
Assert.assertEquals(cm.classname, "Sample");
@@ -212,7 +215,7 @@ public void mapPropertyTest() {
212215
.additionalProperties(new StringSchema()))
213216
.addRequiredItem("id");
214217
final DefaultCodegen codegen = new CSharpClientCodegen();
215-
final CodegenModel cm = codegen.fromModel("sample", schema);
218+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
216219

217220
Assert.assertEquals(cm.name, "sample");
218221
Assert.assertEquals(cm.classname, "Sample");
@@ -236,7 +239,7 @@ public void complexPropertyTest() {
236239
.description("a sample model")
237240
.addProperties("children", new Schema().$ref("#/components/schemas/Children"));
238241
final DefaultCodegen codegen = new CSharpClientCodegen();
239-
final CodegenModel cm = codegen.fromModel("sample", schema);
242+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
240243

241244
Assert.assertEquals(cm.name, "sample");
242245
Assert.assertEquals(cm.classname, "Sample");
@@ -258,7 +261,7 @@ public void complexListPropertyTest() {
258261
.addProperties("children", new ArraySchema()
259262
.items(new Schema().$ref("#/components/schemas/Children")));
260263
final DefaultCodegen codegen = new CSharpClientCodegen();
261-
final CodegenModel cm = codegen.fromModel("sample", schema);
264+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
262265

263266
Assert.assertEquals(cm.name, "sample");
264267
Assert.assertEquals(cm.classname, "Sample");
@@ -283,7 +286,7 @@ public void complexMapPropertyTest() {
283286
.addProperties("children", new MapSchema()
284287
.additionalProperties(new Schema().$ref("#/components/schemas/Children")));
285288
final DefaultCodegen codegen = new CSharpClientCodegen();
286-
final CodegenModel cm = codegen.fromModel("sample", schema);
289+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
287290

288291
Assert.assertEquals(cm.name, "sample");
289292
Assert.assertEquals(cm.classname, "Sample");
@@ -308,7 +311,7 @@ public void arrayModelTest() {
308311
.items(new Schema().$ref("#/components/schemas/Children"))
309312
.description("an array model");
310313
final DefaultCodegen codegen = new CSharpClientCodegen();
311-
final CodegenModel cm = codegen.fromModel("sample", schema);
314+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
312315

313316
Assert.assertEquals(cm.name, "sample");
314317
Assert.assertEquals(cm.classname, "Sample");
@@ -325,7 +328,7 @@ public void mapModelTest() {
325328
.description("a map model")
326329
.additionalProperties(new Schema().$ref("#/components/schemas/Children"));
327330
final DefaultCodegen codegen = new CSharpClientCodegen();
328-
final CodegenModel cm = codegen.fromModel("sample", schema);
331+
final CodegenModel cm = codegen.fromModel("sample", schema, Collections.singletonMap("sample", schema));
329332

330333
Assert.assertEquals(cm.name, "sample");
331334
Assert.assertEquals(cm.classname, "Sample");

modules/openapi-generator/src/test/java/org/openapitools/codegen/go/GoModelTest.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,26 @@
1717

1818
package org.openapitools.codegen.go;
1919

20-
import org.openapitools.codegen.languages.GoClientCodegen;
21-
import org.openapitools.codegen.*;
20+
import com.google.common.collect.Sets;
2221

23-
import io.swagger.v3.oas.models.OpenAPI;
24-
import io.swagger.v3.oas.models.Operation;
25-
import io.swagger.v3.oas.models.media.*;
22+
import io.swagger.v3.oas.models.media.ArraySchema;
23+
import io.swagger.v3.oas.models.media.DateTimeSchema;
24+
import io.swagger.v3.oas.models.media.IntegerSchema;
25+
import io.swagger.v3.oas.models.media.MapSchema;
26+
import io.swagger.v3.oas.models.media.Schema;
27+
import io.swagger.v3.oas.models.media.StringSchema;
2628
import io.swagger.v3.parser.util.SchemaTypeUtil;
2729

28-
import com.google.common.collect.Sets;
30+
import org.openapitools.codegen.CodegenModel;
31+
import org.openapitools.codegen.CodegenProperty;
32+
import org.openapitools.codegen.DefaultCodegen;
33+
import org.openapitools.codegen.languages.GoClientCodegen;
2934
import org.testng.Assert;
3035
import org.testng.annotations.DataProvider;
3136
import org.testng.annotations.Test;
3237

38+
import java.util.Collections;
39+
3340
@SuppressWarnings("static-method")
3441
public class GoModelTest {
3542

@@ -43,7 +50,7 @@ public void simpleModelTest() {
4350
.addRequiredItem("id")
4451
.addRequiredItem("name");
4552
final DefaultCodegen codegen = new GoClientCodegen();
46-
final CodegenModel cm = codegen.fromModel("sample", model);
53+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
4754

4855
Assert.assertEquals(cm.name, "sample");
4956
Assert.assertEquals(cm.classname, "Sample");
@@ -91,7 +98,7 @@ public void listPropertyTest() {
9198
.items(new StringSchema()))
9299
.addRequiredItem("id");
93100
final DefaultCodegen codegen = new GoClientCodegen();
94-
final CodegenModel cm = codegen.fromModel("sample", model);
101+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
95102

96103
Assert.assertEquals(cm.name, "sample");
97104
Assert.assertEquals(cm.classname, "Sample");
@@ -127,7 +134,7 @@ public void mapPropertyTest() {
127134
.additionalProperties(new StringSchema()))
128135
.addRequiredItem("id");
129136
final DefaultCodegen codegen = new GoClientCodegen();
130-
final CodegenModel cm = codegen.fromModel("sample", model);
137+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
131138

132139
Assert.assertEquals(cm.name, "sample");
133140
Assert.assertEquals(cm.classname, "Sample");
@@ -151,7 +158,7 @@ public void complexPropertyTest() {
151158
.description("a sample model")
152159
.addProperties("children", new Schema().$ref("#/definitions/Children"));
153160
final DefaultCodegen codegen = new GoClientCodegen();
154-
final CodegenModel cm = codegen.fromModel("sample", model);
161+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
155162

156163
Assert.assertEquals(cm.name, "sample");
157164
Assert.assertEquals(cm.classname, "Sample");
@@ -173,7 +180,7 @@ public void complexListProperty() {
173180
.addProperties("children", new ArraySchema()
174181
.items(new Schema().$ref("#/definitions/Children")));
175182
final DefaultCodegen codegen = new GoClientCodegen();
176-
final CodegenModel cm = codegen.fromModel("sample", model);
183+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
177184

178185
Assert.assertEquals(cm.name, "sample");
179186
Assert.assertEquals(cm.classname, "Sample");
@@ -197,7 +204,7 @@ public void complexMapProperty() {
197204
.addProperties("children", new MapSchema()
198205
.additionalProperties(new Schema().$ref("#/definitions/Children")));
199206
final DefaultCodegen codegen = new GoClientCodegen();
200-
final CodegenModel cm = codegen.fromModel("sample", model);
207+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
201208

202209
Assert.assertEquals(cm.name, "sample");
203210
Assert.assertEquals(cm.classname, "Sample");
@@ -222,7 +229,7 @@ public void arrayModelTest() {
222229
.items(new Schema().$ref("#/definitions/Children"))
223230
.description("an array model");
224231
final DefaultCodegen codegen = new GoClientCodegen();
225-
final CodegenModel cm = codegen.fromModel("sample", model);
232+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
226233

227234
Assert.assertEquals(cm.name, "sample");
228235
Assert.assertEquals(cm.classname, "Sample");
@@ -237,7 +244,7 @@ public void mapModelTest() {
237244
.additionalProperties(new Schema().$ref("#/definitions/Children"))
238245
.description("a map model");
239246
final DefaultCodegen codegen = new GoClientCodegen();
240-
final CodegenModel cm = codegen.fromModel("sample", model);
247+
final CodegenModel cm = codegen.fromModel("sample", model, Collections.singletonMap("sample", model));
241248

242249
Assert.assertEquals(cm.name, "sample");
243250
Assert.assertEquals(cm.classname, "Sample");
@@ -264,7 +271,7 @@ public static Object[][] primeNumbers() {
264271
public void modelNameTest(String name, String expectedName) {
265272
final Schema model = new Schema();
266273
final DefaultCodegen codegen = new GoClientCodegen();
267-
final CodegenModel cm = codegen.fromModel(name, model);
274+
final CodegenModel cm = codegen.fromModel(name, model, Collections.singletonMap(name, model));
268275

269276
Assert.assertEquals(cm.name, name);
270277
Assert.assertEquals(cm.classname, expectedName);

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,9 @@ public void arraysInRequestBody() throws Exception {
191191
@Test
192192
public void nullValuesInComposedSchema() throws Exception {
193193
final JavaClientCodegen codegen = new JavaClientCodegen();
194+
ComposedSchema schema = new ComposedSchema();
194195
CodegenModel result = codegen.fromModel("CompSche",
195-
new ComposedSchema());
196+
schema, Collections.singletonMap("CompSche", schema));
196197
Assert.assertEquals(result.name, "CompSche");
197198
}
198199

0 commit comments

Comments
 (0)