* @throws DataValidationFailedException If modification data is not valid.
* @throws NullPointerException if modification is null
* @throws IllegalArgumentException if modification is unrecognized
+ * @throws DataValidationFailedException if modification would result in inconsistent data tree
*/
void validate(DataTreeModification modification) throws DataValidationFailedException;
* @return candidate data tree
* @throws NullPointerException if modification is null
* @throws IllegalArgumentException if modification is unrecognized
+ * @throws DataValidationFailedException if modification would result in inconsistent data tree
*/
- // FIXME: 4.0.0: throw DataValidationFailedException or similar
- DataTreeCandidateTip prepare(DataTreeModification modification);
+ DataTreeCandidateTip prepare(DataTreeModification modification) throws DataValidationFailedException;
/**
* {@inheritDoc}
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContext;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefDataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefValidation;
}
@BeforeClass
- public static void init() {
+ public static void init() throws DataValidationFailedException {
context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation");
final Set<Module> modules = context.getModules();
}
@Test
- public void dataTreeCanditateValidationTest() {
+ public void dataTreeCanditateValidationTest() throws DataValidationFailedException {
write();
write2();
writeIntoMapEntry();
}
- private static void writeContributors() {
+ private static void writeContributors() throws DataValidationFailedException {
final ContainerSchemaNode contributorContSchemaNode = (ContainerSchemaNode) valModule
.findDataChildByName(odlContributor).get();
}
- private static void writeIntoMapEntry() {
+ private static void writeIntoMapEntry() throws DataValidationFailedException {
final Map<QName, Object> keys = new HashMap<>();
keys.put(name, "New Project");
}
- private static void writeMapEntry() {
+ private static void writeMapEntry() throws DataValidationFailedException {
final Map<QName, Object> keys = new HashMap<>();
keys.put(name, "New Project");
}
- private static void write() {
+ private static void write() throws DataValidationFailedException {
final ContainerSchemaNode contributorContSchemaNode = (ContainerSchemaNode) valModule
.findDataChildByName(odlContributor).get();
assertTrue(exception);
}
- private static void write2() {
+ private static void write2() throws DataValidationFailedException {
final ContainerSchemaNode odlCon = (ContainerSchemaNode) valModule.findDataChildByName(odl).get();
final ContainerSchemaNode con1Con = (ContainerSchemaNode) odlCon.findDataChildByName(con1).get();
return mapEntryBuilder.build();
}
- private static void delete() {
+ private static void delete() throws DataValidationFailedException {
final YangInstanceIdentifier contributorPath = YangInstanceIdentifier
.of(odlContributor);
delete.delete(contributorPath);
delete.ready();
- final DataTreeCandidate deleteContributorsCanditate = inMemoryDataTree
- .prepare(delete);
+ final DataTreeCandidate deleteContributorsCanditate = inMemoryDataTree.prepare(delete);
LOG.debug("*************************");
LOG.debug("Before delete: ");
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContext;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefDataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefValidation;
}
@BeforeClass
- public static void init() {
+ public static void init() throws DataValidationFailedException {
context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation");
final Set<Module> modules = context.getModules();
}
@Test
- public void dataTreeCanditateValidationTest2() {
-
+ public void dataTreeCanditateValidationTest2() throws DataValidationFailedException {
writeDevices();
}
- private static void writeDevices() {
+ private static void writeDevices() throws DataValidationFailedException {
final ContainerSchemaNode devicesContSchemaNode = (ContainerSchemaNode) mainModule.findDataChildByName(devices)
.get();
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefContext;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefDataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.leafref.LeafRefValidation;
}
@BeforeClass
- public static void init() {
+ public static void init() throws DataValidationFailedException {
context = YangParserTestUtils.parseYangResourceDirectory("/leafref-validation");
final Set<Module> modules = context.getModules();
}
@Test
- public void dataTreeCanditateValidationTest2() {
-
+ public void dataTreeCanditateValidationTest2() throws DataValidationFailedException {
writeDevices();
-
mergeDevices();
}
- private static void writeDevices() {
-
+ private static void writeDevices() throws DataValidationFailedException {
final ContainerSchemaNode devicesContSchemaNode = (ContainerSchemaNode) mainModule.findDataChildByName(devices)
.get();
-
final ContainerNode devicesContainer = createDevicesContainer(devicesContSchemaNode);
-
final YangInstanceIdentifier devicesPath = YangInstanceIdentifier.of(devices);
final DataTreeModification writeModification = inMemoryDataTree.takeSnapshot().newModification();
writeModification.write(devicesPath, devicesContainer);
LOG.debug("{}", inMemoryDataTree);
}
- private static void mergeDevices() {
+ private static void mergeDevices() throws DataValidationFailedException {
final ContainerSchemaNode devicesContSchemaNode = (ContainerSchemaNode) mainModule.findDataChildByName(devices)
.get();
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
private DataTree tree;
@Before
- public void setUp() {
+ public void setUp() throws DataValidationFailedException {
tree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL, SCHEMA_CONTEXT);
// Create the top-level container
}
@Test
- public void testDeleteOfNonExistingNode() {
+ public void testDeleteOfNonExistingNode() throws DataValidationFailedException {
final DataTreeModification mod = tree.takeSnapshot().newModification();
mod.delete(TestModel.OUTER_LIST_PATH);
mod.ready();
}
@Before
- public void prepare() {
+ public void prepare() throws DataValidationFailedException {
inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL,
schemaContext);
final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot();
}
@Test
- public void testSealedPrepare() {
+ public void testSealedPrepare() throws DataValidationFailedException {
final DataTreeModification mod = tree.takeSnapshot().newModification();
mod.ready();
tree.prepare(mod);
}
@Test(expected = IllegalArgumentException.class)
- public void testUnsealedPrepare() {
+ public void testUnsealedPrepare() throws DataValidationFailedException {
final DataTreeModification mod = tree.takeSnapshot().newModification();
tree.prepare(mod);
}
}
@Test
- public void parentConcurrentlyDeletedExisting() {
+ public void parentConcurrentlyDeletedExisting() throws DataValidationFailedException {
DataTreeModification initial = tree.takeSnapshot().newModification();
// We write node without creating parent
initial.write(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME));
}
@Before
- public void prepare() {
+ public void prepare() throws DataValidationFailedException {
inMemoryDataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_OPERATIONAL,
schemaContext);
final DataTreeSnapshot initialDataTreeSnapshot = inMemoryDataTree.takeSnapshot();