*/
package org.opendaylight.mdsal.dom.broker;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.base.Preconditions;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.BiMap;
final BiMap<DOMDataTreeIdentifier, DOMDataTreeShardProducer> idToProducer,
final Map<DOMDataTreeIdentifier, DOMDataTreeProducer> children) {
this.shardMap = ImmutableMap.copyOf(shardMap);
- this.idToProducer = Preconditions.checkNotNull(idToProducer);
- this.children = Preconditions.checkNotNull(children);
+ this.idToProducer = requireNonNull(idToProducer);
+ this.children = requireNonNull(children);
}
static ProducerLayout create(final Map<DOMDataTreeIdentifier, DOMDataTreeShard> shardMap) {
}
ProducerLayout reshard(final Map<DOMDataTreeIdentifier, DOMDataTreeShard> newShardMap) {
+ close();
return new ProducerLayout(newShardMap, mapIdsToProducer(newShardMap), children);
}
"Cannot create transaction since the producer is not mapped to any shard");
return Maps.transformValues(idToProducer, DOMDataTreeShardProducer::createTransaction);
}
+
+ void close() {
+ idToProducer.values().forEach(DOMDataTreeShardProducer::close);
+ }
+
}