import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import java.net.URI;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Iterator;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanceIdentifierCodec
implements XmlCodec<YangInstanceIdentifier> {
private final @NonNull DataSchemaContextTree dataContextTree;
private final @NonNull XmlCodecFactory codecFactory;
- private final @NonNull SchemaContext context;
+ private final @NonNull EffectiveModelContext context;
- XmlStringInstanceIdentifierCodec(final SchemaContext context, final XmlCodecFactory xmlCodecFactory) {
+ XmlStringInstanceIdentifierCodec(final EffectiveModelContext context, final XmlCodecFactory xmlCodecFactory) {
this.context = requireNonNull(context);
this.dataContextTree = DataSchemaContextTree.from(context);
this.codecFactory = requireNonNull(xmlCodecFactory);
@Override
protected Module moduleForPrefix(final String prefix) {
final String prefixedNS = getNamespaceContext().getNamespaceURI(prefix);
- final Iterator<Module> modules = context.findModules(URI.create(prefixedNS)).iterator();
+ final Iterator<? extends Module> modules = context.findModules(XMLNamespace.of(prefixedNS)).iterator();
return modules.hasNext() ? modules.next() : null;
}
@Override
- protected String prefixForNamespace(final URI namespace) {
- final Iterator<Module> modules = context.findModules(namespace).iterator();
+ protected String prefixForNamespace(final XMLNamespace namespace) {
+ final Iterator<? extends Module> modules = context.findModules(namespace).iterator();
return modules.hasNext() ? modules.next().getName() : null;
}