X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FBindingCodecContext.java;h=5c03da48c655cba6974272ee4929aa9bf3c530f2;hb=2d6a0b57921b934540c6c198d3351b58e354f98d;hp=5c6b327413ca05a136b0e868115f8ae2e34aca83;hpb=cb0f3a767fa856c220edd674fda4d55dde408c64;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java index 5c6b327413..5c03da48c6 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java @@ -34,7 +34,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Optional; import java.util.ServiceLoader; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import javax.inject.Inject; import javax.inject.Singleton; @@ -435,7 +434,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri } // FIXME: MDSAL-670: this is right for most situations, but we must never return NOOP_CODEC for // valueType=Object.class - return ValueTypeCodec.NOOP_CODEC; + return SchemaUnawareCodec.NOOP_CODEC; } @SuppressWarnings("checkstyle:illegalCatch") @@ -443,15 +442,13 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri private IllegalArgumentCodec getCodecForBindingClass(final Class valueType, final TypeDefinition typeDef) { if (typeDef instanceof IdentityrefTypeDefinition) { - return ValueTypeCodec.encapsulatedValueCodecFor(valueType, typeDef, identityCodec); + return new CompositeValueCodec(valueType, identityCodec); } else if (typeDef instanceof InstanceIdentifierTypeDefinition) { - return ValueTypeCodec.encapsulatedValueCodecFor(valueType, typeDef, instanceIdentifierCodec); + return new CompositeValueCodec(valueType, instanceIdentifierCodec); } else if (typeDef instanceof UnionTypeDefinition) { - final Callable unionLoader = UnionTypeCodec.loader(valueType, (UnionTypeDefinition) typeDef, - this); try { - return unionLoader.call(); - } catch (final Exception e) { + return UnionTypeCodec.of(valueType, (UnionTypeDefinition) typeDef, this); + } catch (Exception e) { throw new IllegalStateException("Unable to load codec for " + valueType, e); } } else if (typeDef instanceof LeafrefTypeDefinition) { @@ -467,7 +464,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri } return getCodec(valueType, def); } - return ValueTypeCodec.getCodecFor(valueType, typeDef); + return SchemaUnawareCodec.of(valueType, typeDef); } @Override