import java.util.Optional;
import org.opendaylight.yangtools.concepts.Identifiable;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
-public interface DOMMountPoint extends Identifiable<YangInstanceIdentifier> {
+// FIXME: 7.0.0: EffectiveModelContextProvider is probably not accurate here -- we really want to unify access via
+// DOMSchemaService and that in turn needs to account for NMDA
+public interface DOMMountPoint extends Identifiable<YangInstanceIdentifier>, EffectiveModelContextProvider {
<T extends DOMService> Optional<T> getService(Class<T> cls);
-
- SchemaContext getSchemaContext();
}
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.concepts.ObjectRegistration;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public interface DOMMountPointService extends DOMService {
<T extends DOMService> DOMMountPointBuilder addService(Class<T> type,T impl);
- DOMMountPointBuilder addInitialSchemaContext(SchemaContext ctx);
+ DOMMountPointBuilder addInitialSchemaContext(EffectiveModelContext ctx);
ObjectRegistration<DOMMountPoint> register();
}
import org.opendaylight.yangtools.concepts.ObjectRegistration;
import org.opendaylight.yangtools.util.ListenerRegistry;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
private final MutableClassToInstanceMap<DOMService> services = MutableClassToInstanceMap.create();
private final YangInstanceIdentifier path;
- private SchemaContext schemaContext;
+ private EffectiveModelContext schemaContext;
private SimpleDOMMountPoint mountPoint;
}
@Override
- public DOMMountPointBuilder addInitialSchemaContext(final SchemaContext ctx) {
+ public DOMMountPointBuilder addInitialSchemaContext(final EffectiveModelContext ctx) {
schemaContext = requireNonNull(ctx);
return this;
}
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import org.opendaylight.yangtools.concepts.ObjectRegistration;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public class DOMMountPointServiceImplTest {
// Create a mount point with schema context and a DOMService
final DOMMountPointBuilder mountPointBuilder = mountPointService.createMountPoint(PATH);
- final SchemaContext schemaContext = mock(SchemaContext.class);
+ final EffectiveModelContext schemaContext = mock(EffectiveModelContext.class);
mountPointBuilder.addInitialSchemaContext(schemaContext);
final DOMRpcService rpcService = mock(DOMRpcService.class);
doNothing().when(mountPointListener).onMountPointRemoved(PATH);
final ObjectRegistration<DOMMountPoint> mountPointRegistration =
- mountPointService.createMountPoint(PATH).register();
+ mountPointService.createMountPoint(PATH).addInitialSchemaContext(mock(EffectiveModelContext.class))
+ .register();
mountPointService.registerProvisionListener(mountPointListener);
*/
package org.opendaylight.mdsal.dom.spi;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.ClassToInstanceMap;
import com.google.common.collect.ImmutableClassToInstanceMap;
import java.util.Optional;
import org.opendaylight.mdsal.dom.api.DOMMountPoint;
import org.opendaylight.mdsal.dom.api.DOMService;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public final class SimpleDOMMountPoint implements DOMMountPoint {
private final YangInstanceIdentifier identifier;
private final ClassToInstanceMap<DOMService> services;
- private final SchemaContext schemaContext;
+ private final EffectiveModelContext schemaContext;
private SimpleDOMMountPoint(final YangInstanceIdentifier identifier,
- final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
- this.identifier = identifier;
+ final ClassToInstanceMap<DOMService> services, final EffectiveModelContext ctx) {
+ this.identifier = requireNonNull(identifier);
this.services = ImmutableClassToInstanceMap.copyOf(services);
- this.schemaContext = ctx;
+ this.schemaContext = requireNonNull(ctx);
}
public static SimpleDOMMountPoint create(final YangInstanceIdentifier identifier,
- final ClassToInstanceMap<DOMService> services, final SchemaContext ctx) {
+ final ClassToInstanceMap<DOMService> services, final EffectiveModelContext ctx) {
return new SimpleDOMMountPoint(identifier, services, ctx);
}
}
@Override
- public SchemaContext getSchemaContext() {
+ public EffectiveModelContext getEffectiveModelContext() {
return schemaContext;
}
import org.junit.Test;
import org.opendaylight.mdsal.dom.api.DOMService;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public class SimpleDOMMountPointTest {
@Test
public void basicTest() throws Exception {
final YangInstanceIdentifier yangInstanceIdentifier = mock(YangInstanceIdentifier.class);
- final SchemaContext schemaContext = mock(SchemaContext.class);
+ final EffectiveModelContext schemaContext = mock(EffectiveModelContext.class);
final DOMService domService = mock(DOMService.class);
final ClassToInstanceMap<DOMService> classToInstanceMap =
ImmutableClassToInstanceMap.<DOMService>builder().put(DOMService.class, domService).build();