import java.net.URI;
import org.opendaylight.controller.sal.core.api.model.SchemaService;
-import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class InstanceIdentifierCodec extends AbstractModuleStringInstanceIdentifierCodec
implements SchemaContextListener {
+ private static final Logger LOG = LoggerFactory.getLogger(InstanceIdentifierCodec.class);
+
private DataSchemaContextTree dataSchemaContextTree;
private SchemaContext context;
private BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer;
}
@Override
- public void onGlobalContextUpdated(SchemaContext context) {
- this.context = context;
- this.dataSchemaContextTree = DataSchemaContextTree.from(context);
+ public void onGlobalContextUpdated(SchemaContext schemaContext) {
+ this.context = schemaContext;
+ this.dataSchemaContextTree = DataSchemaContextTree.from(schemaContext);
}
public String serialize(InstanceIdentifier<?> iid) {
return serialize(normalizedIid);
}
- public InstanceIdentifier<?> bindingDeserializer(String iidString) throws DeserializationException {
+ public YangInstanceIdentifier getYangInstanceIdentifier(InstanceIdentifier<?> iid) {
+ return bindingNormalizedNodeSerializer.toYangInstanceIdentifier(iid);
+ }
+
+ public InstanceIdentifier<?> bindingDeserializer(String iidString) throws DeserializationException {
YangInstanceIdentifier normalizedYangIid = deserialize(iidString);
- InstanceIdentifier<?> iid = bindingNormalizedNodeSerializer.fromYangInstanceIdentifier(normalizedYangIid);
- return iid;
+ return bindingNormalizedNodeSerializer.fromYangInstanceIdentifier(normalizedYangIid);
}
public InstanceIdentifier<?> bindingDeserializer(YangInstanceIdentifier yangIID) {
- InstanceIdentifier<?> iid = bindingNormalizedNodeSerializer.fromYangInstanceIdentifier(yangIID);
- return iid;
+ return bindingNormalizedNodeSerializer.fromYangInstanceIdentifier(yangIID);
}
+ public InstanceIdentifier<?> bindingDeserializerOrNull(String iidString) {
+ try {
+ return bindingDeserializer(iidString);
+ } catch (DeserializationException e) {
+ LOG.warn("Unable to deserialize iidString", e);
+ }
+ return null;
+ }
}