*/
package org.opendaylight.controller.md.sal.binding.impl;
+import com.google.common.base.Optional;
import org.opendaylight.controller.md.sal.binding.api.MountPointService.MountPointListener;
import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
import org.opendaylight.controller.sal.core.api.mount.MountProvisionListener;
@Override
public void onMountPointCreated(final YangInstanceIdentifier path) {
try {
- final InstanceIdentifier<? extends DataObject> bindingPath = codec.toBinding(path).get();
+ final InstanceIdentifier<? extends DataObject> bindingPath = toBinding(path);
listener.onMountPointCreated(bindingPath);
} catch (final DeserializationException e) {
- BindingDOMMountPointServiceAdapter.LOG.error("Unable to translate mountPoint path {}. Ommiting event.",path,e);
+ BindingDOMMountPointServiceAdapter.LOG.error("Unable to translate mountPoint path {}. Omitting event.",path,e);
}
}
+ private InstanceIdentifier<? extends DataObject> toBinding(final YangInstanceIdentifier path) throws DeserializationException {
+ final Optional<InstanceIdentifier<? extends DataObject>> instanceIdentifierOptional = codec.toBinding(path);
+ if(instanceIdentifierOptional.isPresent()) {
+ return instanceIdentifierOptional.get();
+ } else {
+ throw new DeserializationException("Deserialization unsuccessful, " + instanceIdentifierOptional);
+ }
+ }
+
@Override
public void onMountPointRemoved(final YangInstanceIdentifier path) {
try {
- final InstanceIdentifier<? extends DataObject> bindingPath = codec.toBinding(path).get();
+ final InstanceIdentifier<? extends DataObject> bindingPath = toBinding(path);
listener.onMountPointRemoved(bindingPath);
} catch (final DeserializationException e) {
- BindingDOMMountPointServiceAdapter.LOG.error("Unable to translate mountPoint path {}. Ommiting event.",path,e);
+ BindingDOMMountPointServiceAdapter.LOG.error("Unable to translate mountPoint path {}. Omitting event.",path,e);
}
}
}
\ No newline at end of file
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.builder();
builder
.node(NetworkTopology.QNAME)
+ .node(Topology.QNAME)
.nodeWithKey(Topology.QNAME, QName.create(Topology.QNAME, "topology-id"), TopologyNetconf.QNAME.getLocalName())
+ .node(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.QNAME)
.nodeWithKey(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.QNAME,
QName.create(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.QNAME, "node-id"), name);
return builder.build();
ErrorType.APPLICATION, ErrorTag.OPERATION_NOT_SUPPORTED);
}
- final YangInstanceIdentifier partialPath = builder.toInstance();
+ final YangInstanceIdentifier partialPath = dataNormalizer.toNormalized(builder.build());
final Optional<DOMMountPoint> mountOpt = mountService.getMountPoint(partialPath);
if (!mountOpt.isPresent()) {
LOG.debug("Instance identifier to missing mount point: {}", partialPath);
ErrorType.APPLICATION, ErrorTag.UNKNOWN_ELEMENT);
}
- if (returnJustMountPoint) {
- final YangInstanceIdentifier instance = YangInstanceIdentifier.builder().toInstance();
- return new InstanceIdentifierContext(instance, mountPointSchema, mount,mountPointSchema);
- }
-
- if (strings.size() == 1) {
+ if (returnJustMountPoint || strings.size() == 1) {
final YangInstanceIdentifier instance = YangInstanceIdentifier.builder().toInstance();
return new InstanceIdentifierContext(instance, mountPointSchema, mount,mountPointSchema);
}