Revert "fix ref to allOf wrapper, add tests (#19986)" (#20446)

This reverts commit 48e8375166d3ef4475450c97a61d0845c7d3ee00.
This commit is contained in:
William Cheng 2025-01-11 19:17:21 +08:00 committed by GitHub
parent 121c82f8fe
commit 066a840dd8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 2 additions and 117 deletions

View File

@ -3875,29 +3875,8 @@ public class DefaultCodegen implements CodegenConfig {
}
Schema original = null;
// process the dereference schema if it's a ref to allOf with a single item
// and certain field(s) (e.g. description, readyOnly, etc) is set
if (p.get$ref() != null) {
Schema derefSchema = ModelUtils.getReferencedSchema(openAPI, p);
if (ModelUtils.isAllOfWithSingleItem(derefSchema) && (
derefSchema.getReadOnly() != null ||
derefSchema.getWriteOnly() != null ||
derefSchema.getDeprecated() != null ||
derefSchema.getDescription() != null ||
derefSchema.getMaxLength() != null ||
derefSchema.getMinLength() != null ||
derefSchema.getMinimum() != null ||
derefSchema.getMaximum() != null ||
derefSchema.getMaximum() != null ||
derefSchema.getMinItems() != null ||
derefSchema.getTitle() != null
)) {
p = ModelUtils.getReferencedSchema(openAPI, p);
}
}
// check if it's allOf (only 1 sub schema) with or without default/nullable/etc set in the top level
if (ModelUtils.isAllOfWithSingleItem(p)) {
if (ModelUtils.isAllOf(p) && p.getAllOf().size() == 1) {
if (p.getAllOf().get(0) instanceof Schema) {
original = p;
p = (Schema) p.getAllOf().get(0);

View File

@ -2031,18 +2031,6 @@ public class ModelUtils {
return false;
}
/**
* Returns true if the schema contains allOf with a single item but
* no properties/oneOf/anyOf defined
*
* @param schema the schema
* @return true if the schema contains allOf but no properties/oneOf/anyOf defined.
*/
public static boolean isAllOfWithSingleItem(Schema schema) {
return (isAllOf(schema) && schema.getAllOf().size() == 1);
}
/**
* Returns true if the schema contains allOf and may or may not have
* properties/oneOf/anyOf defined.

View File

@ -2617,10 +2617,6 @@ components:
minItems: 1
items:
$ref: '#/components/schemas/Scalar'
AllOfRefToString:
allOf:
- $ref: '#/components/schemas/OuterString'
description: testing allOf with a ref to string
NewPet:
type: object
required:
@ -2631,12 +2627,6 @@ components:
type: integer
format: int64
x-is-unique: true
category_ref_to_inline_allof_string:
$ref: '#/components/schemas/AllOfRefToString'
category_inline_allof_string:
allOf:
- $ref: '#/components/schemas/OuterString'
description: testing allOf with a ref to string
category_inline_allof:
allOf:
- type: object

View File

@ -2697,22 +2697,12 @@ components:
$ref: '#/components/schemas/Scalar'
minItems: 1
type: array
AllOfRefToString:
allOf:
- $ref: '#/components/schemas/OuterString'
description: testing allOf with a ref to string
NewPet:
properties:
id:
format: int64
type: integer
x-is-unique: true
category_ref_to_inline_allof_string:
$ref: '#/components/schemas/AllOfRefToString'
category_inline_allof_string:
allOf:
- $ref: '#/components/schemas/OuterString'
description: testing allOf with a ref to string
category_inline_allof:
$ref: '#/components/schemas/NewPet_category_inline_allof'
category_allOf_ref:

View File

@ -8,8 +8,6 @@
| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**id** | **Long** | | [optional] |
|**categoryRefToInlineAllofString** | **String** | testing allOf with a ref to string | [optional] |
|**categoryInlineAllofString** | **String** | testing allOf with a ref to string | [optional] |
|**categoryInlineAllof** | [**NewPetCategoryInlineAllof**](NewPetCategoryInlineAllof.md) | | [optional] |
|**categoryAllOfRef** | [**Category**](Category.md) | | [optional] |
|**categoryAllOfRefDescription** | [**Category**](Category.md) | Adding description to property using allOf | [optional] |

View File

@ -60,16 +60,6 @@ public class NewPet {
@javax.annotation.Nullable
private Long id;
public static final String SERIALIZED_NAME_CATEGORY_REF_TO_INLINE_ALLOF_STRING = "category_ref_to_inline_allof_string";
@SerializedName(SERIALIZED_NAME_CATEGORY_REF_TO_INLINE_ALLOF_STRING)
@javax.annotation.Nullable
private String categoryRefToInlineAllofString;
public static final String SERIALIZED_NAME_CATEGORY_INLINE_ALLOF_STRING = "category_inline_allof_string";
@SerializedName(SERIALIZED_NAME_CATEGORY_INLINE_ALLOF_STRING)
@javax.annotation.Nullable
private String categoryInlineAllofString;
public static final String SERIALIZED_NAME_CATEGORY_INLINE_ALLOF = "category_inline_allof";
@SerializedName(SERIALIZED_NAME_CATEGORY_INLINE_ALLOF)
@javax.annotation.Nullable
@ -193,44 +183,6 @@ public class NewPet {
}
public NewPet categoryRefToInlineAllofString(@javax.annotation.Nullable String categoryRefToInlineAllofString) {
this.categoryRefToInlineAllofString = categoryRefToInlineAllofString;
return this;
}
/**
* testing allOf with a ref to string
* @return categoryRefToInlineAllofString
*/
@javax.annotation.Nullable
public String getCategoryRefToInlineAllofString() {
return categoryRefToInlineAllofString;
}
public void setCategoryRefToInlineAllofString(@javax.annotation.Nullable String categoryRefToInlineAllofString) {
this.categoryRefToInlineAllofString = categoryRefToInlineAllofString;
}
public NewPet categoryInlineAllofString(@javax.annotation.Nullable String categoryInlineAllofString) {
this.categoryInlineAllofString = categoryInlineAllofString;
return this;
}
/**
* testing allOf with a ref to string
* @return categoryInlineAllofString
*/
@javax.annotation.Nullable
public String getCategoryInlineAllofString() {
return categoryInlineAllofString;
}
public void setCategoryInlineAllofString(@javax.annotation.Nullable String categoryInlineAllofString) {
this.categoryInlineAllofString = categoryInlineAllofString;
}
public NewPet categoryInlineAllof(@javax.annotation.Nullable NewPetCategoryInlineAllof categoryInlineAllof) {
this.categoryInlineAllof = categoryInlineAllof;
return this;
@ -446,8 +398,6 @@ public class NewPet {
}
NewPet newPet = (NewPet) o;
return Objects.equals(this.id, newPet.id) &&
Objects.equals(this.categoryRefToInlineAllofString, newPet.categoryRefToInlineAllofString) &&
Objects.equals(this.categoryInlineAllofString, newPet.categoryInlineAllofString) &&
Objects.equals(this.categoryInlineAllof, newPet.categoryInlineAllof) &&
Objects.equals(this.categoryAllOfRef, newPet.categoryAllOfRef) &&
Objects.equals(this.categoryAllOfRefDescription, newPet.categoryAllOfRefDescription) &&
@ -461,7 +411,7 @@ public class NewPet {
@Override
public int hashCode() {
return Objects.hash(id, categoryRefToInlineAllofString, categoryInlineAllofString, categoryInlineAllof, categoryAllOfRef, categoryAllOfRefDescription, categoryAllOfRefDescriptionReadonly, name, photoUrls, tags, status, additionalProperties);
return Objects.hash(id, categoryInlineAllof, categoryAllOfRef, categoryAllOfRefDescription, categoryAllOfRefDescriptionReadonly, name, photoUrls, tags, status, additionalProperties);
}
@Override
@ -469,8 +419,6 @@ public class NewPet {
StringBuilder sb = new StringBuilder();
sb.append("class NewPet {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" categoryRefToInlineAllofString: ").append(toIndentedString(categoryRefToInlineAllofString)).append("\n");
sb.append(" categoryInlineAllofString: ").append(toIndentedString(categoryInlineAllofString)).append("\n");
sb.append(" categoryInlineAllof: ").append(toIndentedString(categoryInlineAllof)).append("\n");
sb.append(" categoryAllOfRef: ").append(toIndentedString(categoryAllOfRef)).append("\n");
sb.append(" categoryAllOfRefDescription: ").append(toIndentedString(categoryAllOfRefDescription)).append("\n");
@ -503,8 +451,6 @@ public class NewPet {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet<String>();
openapiFields.add("id");
openapiFields.add("category_ref_to_inline_allof_string");
openapiFields.add("category_inline_allof_string");
openapiFields.add("category_inline_allof");
openapiFields.add("category_allOf_ref");
openapiFields.add("category_allOf_ref_description");
@ -540,12 +486,6 @@ public class NewPet {
}
}
JsonObject jsonObj = jsonElement.getAsJsonObject();
if ((jsonObj.get("category_ref_to_inline_allof_string") != null && !jsonObj.get("category_ref_to_inline_allof_string").isJsonNull()) && !jsonObj.get("category_ref_to_inline_allof_string").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `category_ref_to_inline_allof_string` to be a primitive type in the JSON string but got `%s`", jsonObj.get("category_ref_to_inline_allof_string").toString()));
}
if ((jsonObj.get("category_inline_allof_string") != null && !jsonObj.get("category_inline_allof_string").isJsonNull()) && !jsonObj.get("category_inline_allof_string").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `category_inline_allof_string` to be a primitive type in the JSON string but got `%s`", jsonObj.get("category_inline_allof_string").toString()));
}
// validate the optional field `category_inline_allof`
if (jsonObj.get("category_inline_allof") != null && !jsonObj.get("category_inline_allof").isJsonNull()) {
NewPetCategoryInlineAllof.validateJsonElement(jsonObj.get("category_inline_allof"));