import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* @param normalizedNode normalized node you want to convert
* @param rootNode {@link QName} of converted normalized node root
*
- * <p>
- * The input object should be {@link ContainerNode}
- * </p>
+ * <p>
+ * The input object should be {@link ContainerNode}
+ * </p>
*/
@Override
@SuppressWarnings("unchecked")
public <T extends DataObject> Optional<T> getDataObject(
- @Nonnull NormalizedNode<?, ?> normalizedNode,
+ @Nonnull NormalizedNode normalizedNode,
@Nonnull QName rootNode) {
//Preconditions.checkNotNull(normalizedNode);
if (normalizedNode instanceof ContainerNode) {
YangInstanceIdentifier.PathArgument directChildIdentifier =
YangInstanceIdentifier.of(rootNode).getLastPathArgument();
- Optional<NormalizedNode<?, ?>> directChild =
+ Optional<NormalizedNode> directChild =
NormalizedNodes.getDirectChild(normalizedNode, directChildIdentifier);
if (!directChild.isPresent()) {
throw new IllegalStateException(String.format("Could not get the direct child of %s", rootNode));
@Override
@SuppressWarnings("unchecked")
- public <T extends DataObject> Optional<T> getDataObjectFromRpc(
- @Nonnull NormalizedNode<?, ?> normalizedNode,
- @Nonnull SchemaPath rpcSchemaPath) {
+ public <T extends DataObject> Optional<T> getDataObjectFromRpc(@Nonnull NormalizedNode normalizedNode) {
if (! (normalizedNode instanceof ContainerNode)) {
LOG.error("converting normalized node is not ContainerNode. It's actual type is {}",
normalizedNode.getClass().getSimpleName());
return Optional.empty();
}
- T rpcDataObject = (T) codecRegistry.fromNormalizedNodeRpcData(rpcSchemaPath, (ContainerNode) normalizedNode);
+ T rpcDataObject = (T) codecRegistry.fromNormalizedNodeRpcData(
+ Absolute.of(QName.create(schemaContext.getClass().getSimpleName())),
+ (ContainerNode) normalizedNode);
return Optional.ofNullable(rpcDataObject);
}
@Override
- public <T extends DataObject> Optional<NormalizedNode<?, ?>> toNormalizedNodes(@Nonnull T object,
+ public <T extends DataObject> Optional<NormalizedNode> toNormalizedNodes(@Nonnull T object,
Class<T> dataObjectClass) {
- Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> normalizedNode =
+ Entry<YangInstanceIdentifier, NormalizedNode> normalizedNode =
codecRegistry.toNormalizedNode(InstanceIdentifier.create(dataObjectClass), object);
return Optional.ofNullable(normalizedNode.getValue());
}
@Override
public <T extends DataObject> ConvertType<T> dataContainer() {
return (object, objectClass) -> {
- NormalizedNode<?, ?> value =
+ NormalizedNode value =
getCodecRegistry().toNormalizedNode(InstanceIdentifier.create(objectClass), object).getValue();
return Optional.ofNullable(value);
};