in tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java [441:483]
void convertShapeReferences(C2jShape c2jShape, Shape shape) {
if (removedShapes.contains(shape.getName())) {
return;
}
Map<String, ShapeMember> shapeMemberMap = new LinkedHashMap<>();
Set<String> required;
if (c2jShape.getRequired() != null) {
required = new LinkedHashSet<>(c2jShape.getRequired());
} else {
required = Collections.emptySet();
}
if (c2jShape.getMembers() != null) {
c2jShape.getMembers().entrySet().stream().filter(entry -> !entry.getValue().isDeprecated()).forEach(entry -> {
ShapeMember shapeMember = convertMember(entry.getValue(), shape, required.contains(entry.getKey()));
shapeMemberMap.put(entry.getKey(), shapeMember);
if (shapeMember.isHostLabel() && !shapeMember.getShape().isString()) {
throw new RuntimeException("Shape marked with 'hostLabel' should be of type 'string': " + shape.getName());
}
if (shapeMember.isEndpointDiscoveryId() && !shapeMember.getShape().isString()) {
throw new RuntimeException("Shape marked with 'endpointdiscoveryid' should be of type 'string': " + shape.getName());
}
});
}
shape.setMembers(shapeMemberMap);
// Shape is a List
if (c2jShape.getMember() != null && !c2jShape.getMember().isDeprecated()) {
shape.setListMember(convertMember(c2jShape.getMember(), shape, false));
}
if (c2jShape.getKey() != null && !c2jShape.getKey().isDeprecated()) {
shape.setMapKey(convertMember(c2jShape.getKey(), shape, false));
}
if (c2jShape.getValue() != null && !c2jShape.getValue().isDeprecated()) {
shape.setMapValue(convertMember(c2jShape.getValue(), shape, false));
}
}