Reduce object creation in findMatchingItemMetadata()
Closes gh-13473
This commit is contained in:
parent
27bb4614a9
commit
f34fb5f1ee
|
@ -145,10 +145,11 @@ public class ConfigurationMetadata {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemMetadata findMatchingItemMetadata(ItemMetadata metadata) {
|
private ItemMetadata findMatchingItemMetadata(ItemMetadata metadata) {
|
||||||
List<ItemMetadata> candidates = getCandidates(metadata.getName());
|
List<ItemMetadata> candidates = this.items.get(metadata.getName());
|
||||||
if (candidates.isEmpty()) {
|
if (candidates == null || candidates.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
candidates = new ArrayList<>(candidates);
|
||||||
candidates.removeIf((itemMetadata) -> !itemMetadata.hasSameType(metadata));
|
candidates.removeIf((itemMetadata) -> !itemMetadata.hasSameType(metadata));
|
||||||
if (candidates.size() > 1 && metadata.getType() != null) {
|
if (candidates.size() > 1 && metadata.getType() != null) {
|
||||||
candidates.removeIf(
|
candidates.removeIf(
|
||||||
|
@ -165,11 +166,6 @@ public class ConfigurationMetadata {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ItemMetadata> getCandidates(String name) {
|
|
||||||
List<ItemMetadata> candidates = this.items.get(name);
|
|
||||||
return (candidates != null ? new ArrayList<>(candidates) : new ArrayList<>());
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean nullSafeEquals(Object o1, Object o2) {
|
private boolean nullSafeEquals(Object o1, Object o2) {
|
||||||
if (o1 == o2) {
|
if (o1 == o2) {
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue