private Map<String, String> getMapping(ComposedSchema composedSchema) { Map<String, String> reverseMapping = new LinkedHashMap<>(); for (Schema schema : composedSchema.getOneOf()) { String ref = schema.get$ref(); if (ref == null) { throw new IllegalArgumentException("invalid oneOf schema"); } String schemaName = refPointer.getRefName(ref); if (schemaName == null) { throw new IllegalArgumentException("invalid schema: " + ref); } reverseMapping.put(ref, schemaName); } if (composedSchema.getDiscriminator().getMapping() != null) { for (String ref : composedSchema.getDiscriminator().getMapping().keySet()) { reverseMapping.put(composedSchema.getDiscriminator().getMapping().get(ref), ref); } } return reverseMapping .entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey)); } }
/** * Recursively look for a discriminator in the interface tree */ private boolean isDiscriminatorInInterfaceTree(ComposedSchema composedSchema, Map<String, Schema> allSchema) { if (composedSchema == null || allSchema == null || allSchema.isEmpty()) { return false; } if (composedSchema.getDiscriminator() != null) { return true; } final List<Schema> interfaces = getInterfaces(composedSchema); if(interfaces == null) { return false; } for (Schema interfaceSchema : interfaces) { if (interfaceSchema.getDiscriminator() != null) { return true; } } return false; }
/** * Recursively look for a discriminator in the interface tree */ private boolean isDiscriminatorInInterfaceTree(ComposedSchema composedSchema, Map<String, Schema> allSchema) { if (composedSchema == null || allSchema == null || allSchema.isEmpty()) { return false; } if (composedSchema.getDiscriminator() != null) { return true; } final List<Schema> interfaces = getInterfaces(composedSchema); if(interfaces == null) { return false; } for (Schema interfaceSchema : interfaces) { if (interfaceSchema.getDiscriminator() != null) { return true; } } return false; }
private void changeDiscriminatorMapping(ComposedSchema composedSchema, String oldRef, String newRef) { Discriminator discriminator = composedSchema.getDiscriminator(); if (!oldRef.equals(newRef) && discriminator != null) { String oldName = RefUtils.computeDefinitionName(oldRef); String newName = RefUtils.computeDefinitionName(newRef); String mappingName = null; if (discriminator.getMapping() != null) { for (String name : discriminator.getMapping().keySet()) { if (oldRef.equals(discriminator.getMapping().get(name))) { mappingName = name; break; } } if (mappingName != null) { discriminator.getMapping().put(mappingName, newRef); } } if (mappingName == null && !oldName.equals(newName)) { if (discriminator.getMapping() == null) { discriminator.setMapping(new HashMap()); } discriminator.getMapping().put(oldName, newRef); } } }
private void changeDiscriminatorMapping(ComposedSchema composedSchema, String oldRef, String newRef) { Discriminator discriminator = composedSchema.getDiscriminator(); if (!oldRef.equals(newRef) && discriminator != null) { String oldName = RefUtils.computeDefinitionName(oldRef); String newName = RefUtils.computeDefinitionName(newRef); String mappingName = null; if (discriminator.getMapping() != null) { for (String name : discriminator.getMapping().keySet()) { if (oldRef.equals(discriminator.getMapping().get(name))) { mappingName = name; break; } } if (mappingName != null) { discriminator.getMapping().put(mappingName, newRef); } } if (mappingName == null && !oldName.equals(newName)) { if (discriminator.getMapping() == null) { discriminator.setMapping(new HashMap()); } discriminator.getMapping().put(oldName, newRef); } } }
private void changeDiscriminatorMapping(ComposedSchema composedSchema, String oldRef, String newRef) { Discriminator discriminator = composedSchema.getDiscriminator(); if (!oldRef.equals(newRef) && discriminator != null) { String oldName = RefUtils.computeDefinitionName(oldRef); String newName = RefUtils.computeDefinitionName(newRef); String mappingName = null; if (discriminator.getMapping() != null) { for (String name : discriminator.getMapping().keySet()) { if (oldRef.equals(discriminator.getMapping().get(name))) { mappingName = name; break; } } if (mappingName != null) { discriminator.getMapping().put(mappingName, newRef); } } if (mappingName == null && !oldName.equals(newName)) { if (discriminator.getMapping() == null) { discriminator.setMapping(new HashMap()); } discriminator.getMapping().put(oldName, newRef); } } }
|| CollectionUtils.isNotEmpty(rightComposedSchema.getOneOf())) { Discriminator leftDis = leftComposedSchema.getDiscriminator(); Discriminator rightDis = rightComposedSchema.getDiscriminator(); if (leftDis == null || rightDis == null