[(master)] Remove duplicated code by Git
This commit is contained in:
parent
78744ac9e4
commit
ee3d540607
|
@ -743,44 +743,6 @@ public class JsonParser extends BaseParser implements IJsonLikeParser {
|
|||
theEventWriter.endArray();
|
||||
}
|
||||
|
||||
private void addExtensionMetadata(List<Map.Entry<ResourceMetadataKeyEnum<?>, Object>> extensionMetadataKeys, JsonLikeWriter theEventWriter) throws IOException {
|
||||
if (extensionMetadataKeys.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Map.Entry<ResourceMetadataKeyEnum<?>, Object>> extensionKeys = new ArrayList<>(extensionMetadataKeys.size());
|
||||
List<Map.Entry<ResourceMetadataKeyEnum<?>, Object>> modifierExtensionKeys = new ArrayList<>(extensionKeys.size());
|
||||
for (Map.Entry<ResourceMetadataKeyEnum<?>, Object> entry : extensionMetadataKeys) {
|
||||
if (!((ExtensionDt) entry.getValue()).isModifier()) {
|
||||
extensionKeys.add(entry);
|
||||
} else {
|
||||
modifierExtensionKeys.add(entry);
|
||||
}
|
||||
}
|
||||
|
||||
writeMetadataExtensions(extensionKeys, "extension", theEventWriter);
|
||||
writeMetadataExtensions(extensionKeys, "modifierExtension", theEventWriter);
|
||||
}
|
||||
|
||||
private void writeMetadataExtensions(List<Map.Entry<ResourceMetadataKeyEnum<?>, Object>> extensions, String arrayName, JsonLikeWriter theEventWriter) throws IOException {
|
||||
if (extensions.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
beginArray(theEventWriter, arrayName);
|
||||
for (Map.Entry<ResourceMetadataKeyEnum<?>, Object> key : extensions) {
|
||||
ExtensionDt extension = (ExtensionDt) key.getValue();
|
||||
if (!extension.getAllUndeclaredExtensions().isEmpty()) {
|
||||
throw new IllegalArgumentException("Sub-extensions on metadata isn't supported");
|
||||
}
|
||||
theEventWriter.beginObject();
|
||||
writeOptionalTagWithTextNode(theEventWriter, "url", extension.getUrl());
|
||||
String extensionDatatype = myContext.getRuntimeChildUndeclaredExtensionDefinition().getChildNameByDatatype(extension.getValue().getClass());
|
||||
writeOptionalTagWithTextNode(theEventWriter, extensionDatatype, extension.getValueAsPrimitive());
|
||||
theEventWriter.endObject();
|
||||
}
|
||||
theEventWriter.endArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* This is useful only for the two cases where extensions are encoded as direct children (e.g. not in some object
|
||||
* called _name): resource extensions, and extension extensions
|
||||
|
|
Loading…
Reference in New Issue