Implement toString()
- add more debug logs
Change-Id: I1541d66f24d2dde0712a4daef081ca1f49951ef8
diff --git a/core/api/src/main/java/org/onosproject/net/newresource/BandwidthCapacity.java b/core/api/src/main/java/org/onosproject/net/newresource/BandwidthCapacity.java
index f7cb3c4..5121181 100644
--- a/core/api/src/main/java/org/onosproject/net/newresource/BandwidthCapacity.java
+++ b/core/api/src/main/java/org/onosproject/net/newresource/BandwidthCapacity.java
@@ -25,6 +25,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.annotations.Beta;
+import com.google.common.base.MoreObjects;
/**
* Configuration to specify maximum available bandwidth resource (Capacity) on a port.
@@ -82,4 +83,11 @@
return Bandwidth.mbps(v.asDouble());
}
}
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("capacity", capacity())
+ .toString();
+ }
}
diff --git a/core/api/src/main/java/org/onosproject/store/primitives/ConsistentMapBackedJavaMap.java b/core/api/src/main/java/org/onosproject/store/primitives/ConsistentMapBackedJavaMap.java
index 0b67b62..431e404 100644
--- a/core/api/src/main/java/org/onosproject/store/primitives/ConsistentMapBackedJavaMap.java
+++ b/core/api/src/main/java/org/onosproject/store/primitives/ConsistentMapBackedJavaMap.java
@@ -16,6 +16,7 @@
package org.onosproject.store.primitives;
import java.util.Collection;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;
@@ -149,6 +150,23 @@
}
@Override
+ public String toString() {
+ // Map like output
+ StringBuilder sb = new StringBuilder();
+ sb.append('{');
+ Iterator<Entry<K, Versioned<V>>> it = backingMap.entrySet().iterator();
+ while (it.hasNext()) {
+ Entry<K, Versioned<V>> entry = it.next();
+ sb.append(entry.getKey()).append('=').append(entry.getValue().value());
+ if (it.hasNext()) {
+ sb.append(',').append(' ');
+ }
+ }
+ sb.append('}');
+ return sb.toString();
+ }
+
+ @Override
public void forEach(BiConsumer<? super K, ? super V> action) {
entrySet().forEach(e -> action.accept(e.getKey(), e.getValue()));
}
diff --git a/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java b/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
index b8541ee..f13481c 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
@@ -505,11 +505,13 @@
private <K, V> boolean removeValues(TransactionalMap<K, Set<V>> map, K key, List<? extends V> values) {
Set<V> oldValues = map.putIfAbsent(key, new LinkedHashSet<>());
if (oldValues == null) {
+ log.trace("No-Op removing values. key {} did not exist", key);
return true;
}
if (values.stream().allMatch(x -> !oldValues.contains(x))) {
// don't write map because none of the values are stored
+ log.trace("No-Op removing values. key {} did not contain {}", key, values);
return true;
}
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
index 569fc90..e09b624 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
@@ -189,6 +189,11 @@
return javaMap;
}
+ @Override
+ public String toString() {
+ return asJavaMap().toString();
+ }
+
private static <T> T complete(CompletableFuture<T> future) {
try {
return future.get(OPERATION_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
index c8abc04..8cbe99f 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
@@ -29,6 +29,8 @@
import org.onosproject.store.service.TransactionContext;
import org.onosproject.store.service.TransactionalMap;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.util.concurrent.Futures;
@@ -114,4 +116,16 @@
}
}
}
+
+ @Override
+ public String toString() {
+ ToStringHelper s = MoreObjects.toStringHelper(this)
+ .add("transactionId", transactionId)
+ .add("isOpen", isOpen);
+
+ txMaps.entrySet().forEach(e -> {
+ s.add(e.getKey(), e.getValue());
+ });
+ return s.toString();
+ }
}
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
index 3594adb..dfeb4c1 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
@@ -30,6 +30,7 @@
import static com.google.common.base.Preconditions.*;
+import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@@ -193,6 +194,15 @@
return updates;
}
+ // TODO: build expected result Map processing DB updates?
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("backingMap", backingMap)
+ .add("updates", prepareDatabaseUpdates())
+ .toString();
+ }
+
/**
* Discards all changes made to this transactional map.
*/