import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState;
import static java.util.Objects.requireNonNull;
-import static org.opendaylight.netconf.sal.rest.api.Draft02.RestConfModule.MODULES_CONTAINER_QNAME;
-import static org.opendaylight.netconf.sal.rest.api.Draft02.RestConfModule.MODULE_LIST_QNAME;
-import static org.opendaylight.netconf.sal.rest.api.Draft02.RestConfModule.STREAMS_CONTAINER_QNAME;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Predicates;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
-import org.opendaylight.netconf.sal.rest.api.Draft02.RestConfModule;
+import org.opendaylight.netconf.sal.rest.api.Draft02;
import org.opendaylight.netconf.sal.rest.api.RestconfService;
import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext;
import org.opendaylight.netconf.sal.streams.listeners.ListenerAdapter;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
.appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true)
.appendOffset("+HH:MM", "Z").toFormatter();
- private static final @NonNull QName RESTCONF = QName.create(RestConfModule.IETF_RESTCONF_QNAME, "restconf");
-
- private static final YangInstanceIdentifier MODULES = YangInstanceIdentifier.builder()
- .node(RESTCONF)
- .node(RESTCONF)
- .node(MODULES_CONTAINER_QNAME)
- .build();
- private static final YangInstanceIdentifier MODULE = YangInstanceIdentifier.builder()
- .node(RESTCONF)
- .node(RESTCONF)
- .node(MODULES_CONTAINER_QNAME)
- .node(MODULE_LIST_QNAME)
- .build();
- private static final YangInstanceIdentifier STREAMS = YangInstanceIdentifier.builder()
- .node(RESTCONF)
- .node(RESTCONF)
- .node(STREAMS_CONTAINER_QNAME)
- .build();
-
- private static final SchemaNodeIdentifier MODULES_SCHEMA_IDENTIFIER =
- Absolute.of(RESTCONF, RESTCONF, MODULES_CONTAINER_QNAME);
- private static final SchemaNodeIdentifier MODULE_SCHEMA_IDENTIFIER =
- Absolute.of(RESTCONF, RESTCONF, MODULES_CONTAINER_QNAME, MODULE_LIST_QNAME);
- private static final SchemaNodeIdentifier STREAMS_SCHEMA_IDENTIFIER =
- Absolute.of(RESTCONF, RESTCONF, STREAMS_CONTAINER_QNAME);
-
private final BrokerFacade broker;
private final ControllerContext controllerContext;
final Module restconfModule = getRestconfModule();
final DataSchemaNode modulesSchemaNode = controllerContext.getRestconfModuleRestConfSchemaNode(
- restconfModule, RestConfModule.MODULES_CONTAINER_SCHEMA_NODE);
+ restconfModule, Draft02.RestConfModule.MODULES_CONTAINER_SCHEMA_NODE);
checkState(modulesSchemaNode instanceof ContainerSchemaNode);
final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> moduleContainerBuilder =
SchemaAwareBuilders.containerBuilder((ContainerSchemaNode) modulesSchemaNode);
moduleContainerBuilder.withChild(allModuleMap);
- return new NormalizedNodeContext(new InstanceIdentifierContext<>(MODULES, MODULES_SCHEMA_IDENTIFIER,
- modulesSchemaNode, null, schemaContext), moduleContainerBuilder.build(),
- QueryParametersParser.parseWriterParameters(uriInfo));
+ return new NormalizedNodeContext(new InstanceIdentifierContext(null, modulesSchemaNode, null, schemaContext),
+ moduleContainerBuilder.build(), QueryParametersParser.parseWriterParameters(uriInfo));
}
/**
throw new RestconfDocumentedException(errMsg, ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE);
}
- final InstanceIdentifierContext<?> mountPointIdentifier =
+ final InstanceIdentifierContext mountPointIdentifier =
controllerContext.toMountPointIdentifier(identifier);
final DOMMountPoint mountPoint = mountPointIdentifier.getMountPoint();
final MapNode mountPointModulesMap = makeModuleMapNode(controllerContext.getAllModules(mountPoint));
final Module restconfModule = getRestconfModule();
final DataSchemaNode modulesSchemaNode = controllerContext.getRestconfModuleRestConfSchemaNode(
- restconfModule, RestConfModule.MODULES_CONTAINER_SCHEMA_NODE);
+ restconfModule, Draft02.RestConfModule.MODULES_CONTAINER_SCHEMA_NODE);
checkState(modulesSchemaNode instanceof ContainerSchemaNode);
final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> moduleContainerBuilder =
moduleContainerBuilder.withChild(mountPointModulesMap);
return new NormalizedNodeContext(
- new InstanceIdentifierContext<>(MODULES, MODULES_SCHEMA_IDENTIFIER, modulesSchemaNode, mountPoint,
+ new InstanceIdentifierContext(null, modulesSchemaNode, mountPoint,
controllerContext.getGlobalSchema()),
moduleContainerBuilder.build(), QueryParametersParser.parseWriterParameters(uriInfo));
}
DOMMountPoint mountPoint = null;
final EffectiveModelContext schemaContext;
if (identifier.contains(ControllerContext.MOUNT)) {
- final InstanceIdentifierContext<?> mountPointIdentifier =
+ final InstanceIdentifierContext mountPointIdentifier =
controllerContext.toMountPointIdentifier(identifier);
mountPoint = mountPointIdentifier.getMountPoint();
module = controllerContext.findModuleByNameAndRevision(mountPoint, nameRev.getKey(),
final MapNode moduleMap = makeModuleMapNode(modules);
final DataSchemaNode moduleSchemaNode = controllerContext
- .getRestconfModuleRestConfSchemaNode(restconfModule, RestConfModule.MODULE_LIST_SCHEMA_NODE);
+ .getRestconfModuleRestConfSchemaNode(restconfModule, Draft02.RestConfModule.MODULE_LIST_SCHEMA_NODE);
checkState(moduleSchemaNode instanceof ListSchemaNode);
return new NormalizedNodeContext(
- new InstanceIdentifierContext<>(MODULE, MODULE_SCHEMA_IDENTIFIER, moduleSchemaNode, mountPoint,
- schemaContext), moduleMap,
+ new InstanceIdentifierContext(null, moduleSchemaNode, mountPoint, schemaContext), moduleMap,
QueryParametersParser.parseWriterParameters(uriInfo));
}
final Set<String> availableStreams = Notificator.getStreamNames();
final Module restconfModule = getRestconfModule();
final DataSchemaNode streamSchemaNode = controllerContext
- .getRestconfModuleRestConfSchemaNode(restconfModule, RestConfModule.STREAM_LIST_SCHEMA_NODE);
+ .getRestconfModuleRestConfSchemaNode(restconfModule, Draft02.RestConfModule.STREAM_LIST_SCHEMA_NODE);
checkState(streamSchemaNode instanceof ListSchemaNode);
final CollectionNodeBuilder<MapEntryNode, SystemMapNode> listStreamsBuilder =
}
final DataSchemaNode streamsContainerSchemaNode = controllerContext.getRestconfModuleRestConfSchemaNode(
- restconfModule, RestConfModule.STREAMS_CONTAINER_SCHEMA_NODE);
+ restconfModule, Draft02.RestConfModule.STREAMS_CONTAINER_SCHEMA_NODE);
checkState(streamsContainerSchemaNode instanceof ContainerSchemaNode);
final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> streamsContainerBuilder =
streamsContainerBuilder.withChild(listStreamsBuilder.build());
return new NormalizedNodeContext(
- new InstanceIdentifierContext<>(STREAMS, STREAMS_SCHEMA_IDENTIFIER, streamsContainerSchemaNode,
- null, schemaContext),
+ new InstanceIdentifierContext(null, streamsContainerSchemaNode, null, schemaContext),
streamsContainerBuilder.build(), QueryParametersParser.parseWriterParameters(uriInfo));
}
throw new RestconfDocumentedException(errMsg, ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE);
}
- final InstanceIdentifierContext<?> mountPointIdentifier =
- controllerContext.toMountPointIdentifier(identifier);
+ final InstanceIdentifierContext mountPointIdentifier = controllerContext.toMountPointIdentifier(identifier);
final DOMMountPoint mountPoint = mountPointIdentifier.getMountPoint();
final var entry = OperationsResourceUtils.contextForModelContext(modelContext(mountPoint), mountPoint);
return new NormalizedNodeContext(entry.getKey(), entry.getValue());
throw new WebApplicationException(Response.Status.NO_CONTENT);
} else {
return new NormalizedNodeContext(
- new InstanceIdentifierContext<>(null, resultNodeSchema, mountPoint, schemaContext),
+ new InstanceIdentifierContext(null, resultNodeSchema, mountPoint, schemaContext),
resultData, QueryParametersParser.parseWriterParameters(uriInfo));
}
}
final EffectiveModelContext schemaContext;
if (identifier.contains(ControllerContext.MOUNT)) {
// mounted RPC call - look up mount instance.
- final InstanceIdentifierContext<?> mountPointId = controllerContext.toMountPointIdentifier(identifier);
+ final InstanceIdentifierContext mountPointId = controllerContext.toMountPointIdentifier(identifier);
mountPoint = mountPointId.getMountPoint();
schemaContext = modelContext(mountPoint);
final int startOfRemoteRpcName =
//
// This is legacy code, so if anybody cares to do that refactor, feel free to contribute, but I am not
// doing that work.
- return new NormalizedNodeContext(new InstanceIdentifierContext<>(null, rpc, mountPoint, schemaContext), result,
+ return new NormalizedNodeContext(new InstanceIdentifierContext(null, rpc, mountPoint, schemaContext), result,
QueryParametersParser.parseWriterParameters(uriInfo));
}
}
}
- final InstanceIdentifierContext<?> iiWithData = controllerContext.toInstanceIdentifier(identifier);
+ final InstanceIdentifierContext iiWithData = controllerContext.toInstanceIdentifier(identifier);
final DOMMountPoint mountPoint = iiWithData.getMountPoint();
NormalizedNode data = null;
final YangInstanceIdentifier normalizedII = iiWithData.getInstanceIdentifier();
@Override
public NormalizedNodeContext readOperationalData(final String identifier, final UriInfo uriInfo) {
- final InstanceIdentifierContext<?> iiWithData = controllerContext.toInstanceIdentifier(identifier);
+ final InstanceIdentifierContext iiWithData = controllerContext.toInstanceIdentifier(identifier);
final DOMMountPoint mountPoint = iiWithData.getMountPoint();
NormalizedNode data = null;
final YangInstanceIdentifier normalizedII = iiWithData.getInstanceIdentifier();
requireNonNull(identifier);
- final InstanceIdentifierContext<?> iiWithData = payload.getInstanceIdentifierContext();
+ final InstanceIdentifierContext iiWithData = payload.getInstanceIdentifierContext();
validateInput(iiWithData.getSchemaNode(), payload);
validateTopLevelNodeName(payload, iiWithData.getInstanceIdentifier());
*/
private static void validateListKeysEqualityInPayloadAndUri(final NormalizedNodeContext payload) {
checkArgument(payload != null);
- final InstanceIdentifierContext<?> iiWithData = payload.getInstanceIdentifierContext();
+ final InstanceIdentifierContext iiWithData = payload.getInstanceIdentifierContext();
final PathArgument lastPathArgument = iiWithData.getInstanceIdentifier().getLastPathArgument();
final SchemaNode schemaNode = iiWithData.getSchemaNode();
final NormalizedNode data = payload.getData();
throw new RestconfDocumentedException("Input is required.", ErrorType.PROTOCOL, ErrorTag.MALFORMED_MESSAGE);
}
final DOMMountPoint mountPoint = payload.getInstanceIdentifierContext().getMountPoint();
- final InstanceIdentifierContext<?> iiWithData = payload.getInstanceIdentifierContext();
+ final InstanceIdentifierContext iiWithData = payload.getInstanceIdentifierContext();
final YangInstanceIdentifier normalizedII = iiWithData.getInstanceIdentifier();
boolean insertUsed = false;
@Override
public Response deleteConfigurationData(final String identifier) {
- final InstanceIdentifierContext<?> iiWithData = controllerContext.toInstanceIdentifier(identifier);
+ final InstanceIdentifierContext iiWithData = controllerContext.toInstanceIdentifier(identifier);
final DOMMountPoint mountPoint = iiWithData.getMountPoint();
final YangInstanceIdentifier normalizedII = iiWithData.getInstanceIdentifier();
if (response != null) {
// prepare node with value of location
- final InstanceIdentifierContext<?> iid = prepareIIDSubsStreamOutput();
+ final InstanceIdentifierContext iid = prepareIIDSubsStreamOutput();
final NormalizedNodeBuilder<NodeIdentifier, Object, LeafNode<Object>> builder =
ImmutableLeafNodeBuilder.create().withValue(response.toString());
builder.withNodeIdentifier(
* @return {@link InstanceIdentifierContext} of location leaf for
* notification
*/
- private InstanceIdentifierContext<?> prepareIIDSubsStreamOutput() {
+ private InstanceIdentifierContext prepareIIDSubsStreamOutput() {
final QName qnameBase = QName.create("subscribe:to:notification", "2016-10-28", "notifi");
final EffectiveModelContext schemaCtx = controllerContext.getGlobalSchema();
final DataSchemaNode location = ((ContainerSchemaNode) schemaCtx
path.add(NodeIdentifier.create(qnameBase));
path.add(NodeIdentifier.create(QName.create(qnameBase, "location")));
- return new InstanceIdentifierContext<SchemaNode>(YangInstanceIdentifier.create(path), location, null,
- schemaCtx);
+ return new InstanceIdentifierContext(YangInstanceIdentifier.create(path), location, null, schemaCtx);
}
/**
requireNonNull(modules);
final Module restconfModule = getRestconfModule();
final DataSchemaNode moduleSchemaNode = controllerContext
- .getRestconfModuleRestConfSchemaNode(restconfModule, RestConfModule.MODULE_LIST_SCHEMA_NODE);
+ .getRestconfModuleRestConfSchemaNode(restconfModule, Draft02.RestConfModule.MODULE_LIST_SCHEMA_NODE);
checkState(moduleSchemaNode instanceof ListSchemaNode);
final CollectionNodeBuilder<MapEntryNode, SystemMapNode> listModuleBuilder =