X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-codec-gson%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2FJSONStringIdentityrefCodec.java;h=032553193bcb40d318750b0e203a240cbd5af6bf;hb=c24d6e2f39acbb11e22b5676bb7481ed52bec461;hp=7e099b4e2d8aa96f35f732e728ee2e9412681ce7;hpb=dcbf1f7b9b958a345204494514d568b59aca6096;p=yangtools.git diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java index 7e099b4e2d..032553193b 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java @@ -7,36 +7,28 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; import com.google.gson.stream.JsonWriter; import java.io.IOException; -import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringIdentityrefCodec; +import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.data.util.ModuleStringIdentityrefCodec; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -final class JSONStringIdentityrefCodec extends AbstractModuleStringIdentityrefCodec implements JSONCodec { - private final SchemaContext context; - - JSONStringIdentityrefCodec(final SchemaContext context) { - this.context = Preconditions.checkNotNull(context); - } - - @Override - protected Module moduleForPrefix(final String prefix) { - return context.findModuleByName(prefix, null); - } - - @Override - protected String prefixForNamespace(final URI namespace) { - final Module module = context.findModuleByNamespaceAndRevision(namespace, null); - return module == null ? null : module.getName(); +final class JSONStringIdentityrefCodec extends ModuleStringIdentityrefCodec implements JSONCodec { + JSONStringIdentityrefCodec(final SchemaContext context, final QNameModule parentModule) { + super(context, parentModule); } @Override - public boolean needQuotes() { - return true; + protected Module moduleForPrefix(@Nonnull final String prefix) { + if (prefix.isEmpty()) { + return context.findModuleByNamespaceAndRevision(parentModuleQname.getNamespace(), + parentModuleQname.getRevision()); + } else { + return context.findModuleByName(prefix, null); + } } /**