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 {
-
@Override
public Optional<StoreMetadataNode> apply(final NodeModification modification,
final Optional<StoreMetadataNode> storeMeta, final UnsignedLong subtreeVersion) {
}
@Override
- 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
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;
*/
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 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;
/**
@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() {