summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
2107a0d)
Documents AlwaysFailOperation and DataNodeContainerModificationStrategy
Change-Id: Ibb67dc5f4a829547538ba02c3eac4f995a6fe6ef
Signed-off-by: Robert Varga <rovarga@cisco.com>
import com.google.common.base.Optional;
import com.google.common.primitives.UnsignedLong;
import com.google.common.base.Optional;
import com.google.common.primitives.UnsignedLong;
+/**
+ * An implementation of apply operation which fails to do anything,
+ * consistently. An instance of this class is used by the data tree
+ * if it does not have a SchemaContext attached and hence cannot
+ * perform anything meaningful.
+ */
final class AlwaysFailOperation implements ModificationApplyOperation {
final class AlwaysFailOperation implements ModificationApplyOperation {
@Override
public Optional<StoreMetadataNode> apply(final NodeModification modification,
final Optional<StoreMetadataNode> storeMeta, final UnsignedLong subtreeVersion) {
@Override
public Optional<StoreMetadataNode> apply(final NodeModification modification,
final Optional<StoreMetadataNode> storeMeta, final UnsignedLong subtreeVersion) {
- public void verifyStructure(final NodeModification modification) throws IllegalArgumentException {
+ public void verifyStructure(final NodeModification modification) {
throw new IllegalStateException("Schema Context is not available.");
}
}
\ No newline at end of file
throw new IllegalStateException("Schema Context is not available.");
}
}
\ No newline at end of file
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
+/**
+ * Base strategy for applying changes to a ContainerNode, irrespective of its
+ * actual type.
+ *
+ * @param <T> Type of the container node
+ */
abstract class DataNodeContainerModificationStrategy<T extends DataNodeContainer> extends NormalizedNodeContainerModificationStrategy {
private final T schema;
abstract class DataNodeContainerModificationStrategy<T extends DataNodeContainer> extends NormalizedNodeContainerModificationStrategy {
private final T schema;
*/
package org.opendaylight.controller.md.sal.dom.store.impl.tree.data;
*/
package org.opendaylight.controller.md.sal.dom.store.impl.tree.data;
-import static com.google.common.base.Preconditions.checkState;
-
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.LinkedHashMap;
import java.util.Map;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import com.google.common.base.Optional;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
/**
import com.google.common.base.Predicate;
/**
@GuardedBy("this")
private void checkSealed() {
@GuardedBy("this")
private void checkSealed() {
- checkState(!sealed, "Node Modification is sealed. No further changes allowed.");
+ Preconditions.checkState(!sealed, "Node Modification is sealed. No further changes allowed.");
}
public synchronized void seal() {
}
public synchronized void seal() {