Revisit Annotations merging
- avoid extra instantiation/copying when possible
Change-Id: Ia2f74a1fe2ff1176346316565c9bc6786cd7f6e4
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
index ce3ee1a..8bd22d3 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
@@ -86,6 +86,7 @@
*/
public static SparseAnnotations combine(BasicDeviceConfig cfg, SparseAnnotations an) {
DefaultAnnotations.Builder builder = DefaultAnnotations.builder();
+ builder.putAll(an);
if (!Objects.equals(cfg.driver(), an.value(AnnotationKeys.DRIVER))) {
builder.set(AnnotationKeys.DRIVER, cfg.driver());
}
@@ -96,7 +97,7 @@
builder.set(AnnotationKeys.MANAGEMENT_ADDRESS, cfg.managementAddress());
}
- return DefaultAnnotations.union(an, builder.build());
+ return builder.build();
}
/**
diff --git a/core/net/src/main/java/org/onosproject/net/host/impl/BasicHostOperator.java b/core/net/src/main/java/org/onosproject/net/host/impl/BasicHostOperator.java
index dd56217..87f908a 100644
--- a/core/net/src/main/java/org/onosproject/net/host/impl/BasicHostOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/host/impl/BasicHostOperator.java
@@ -80,10 +80,10 @@
*/
public static SparseAnnotations combine(BasicHostConfig cfg, SparseAnnotations an) {
DefaultAnnotations.Builder builder = DefaultAnnotations.builder();
-
+ builder.putAll(an);
combineElementAnnotations(cfg, builder);
- return DefaultAnnotations.union(an, builder.build());
+ return builder.build();
}
/**
diff --git a/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java b/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
index 9247b83..7cb6499 100644
--- a/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/link/impl/BasicLinkOperator.java
@@ -78,6 +78,7 @@
*/
public static SparseAnnotations combine(BasicLinkConfig cfg, SparseAnnotations an) {
DefaultAnnotations.Builder b = DefaultAnnotations.builder();
+ b.putAll(an);
if (cfg.metric() != DEF_METRIC) {
b.set(AnnotationKeys.METRIC, String.valueOf(cfg.metric()));
}
@@ -92,7 +93,7 @@
if (cfg.isDurable() != null) {
b.set(AnnotationKeys.DURABLE, String.valueOf(cfg.isDurable()));
}
- return DefaultAnnotations.union(an, b.build());
+ return b.build();
}
/**