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=2b351405b471bef7c1619eda01406cfe9c6e10ef;hb=f3be50ed801e5de305eb46b824e6bc3c6075e4bc;hp=33d9e2ad89fa5fd26afa3c59820429b899041b49;hpb=b5003ab6369181853c830608d40a07c80485a82f;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 33d9e2ad89..2b351405b4 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 @@ -151,10 +151,10 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri return new DataContainerSerializer(BindingCodecContext.this, streamers.get(key)); } }); - private final LoadingCache, DataContainerCodecContext> childrenByClass = + private final LoadingCache, DataContainerCodecContext> childrenByClass = CacheBuilder.newBuilder().build(new CacheLoader<>() { @Override - public DataContainerCodecContext load(final Class key) { + public DataContainerCodecContext load(final Class key) { final var childSchema = context.getTypes().bindingChild(JavaTypeName.create(key)); if (childSchema instanceof ContainerLikeRuntimeType containerLike) { if (childSchema instanceof ContainerRuntimeType container @@ -167,7 +167,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri return list.keyType() == null ? new ListCodecContext<>(key, list, BindingCodecContext.this) : MapCodecContext.of(key, list, BindingCodecContext.this); } else if (childSchema instanceof ChoiceRuntimeType choice) { - return new ChoiceCodecContext<>(key, choice, BindingCodecContext.this); + return new ChoiceCodecContext<>(key.asSubclass(ChoiceIn.class), choice, BindingCodecContext.this); } else if (childSchema == null) { throw DataContainerCodecContext.childNullException(context, key, "%s is not top-level item.", key); } else { @@ -177,15 +177,15 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri }); // FIXME: this could also be a leaf! - private final LoadingCache> childrenByDomArg = + private final LoadingCache> childrenByDomArg = CacheBuilder.newBuilder().build(new CacheLoader<>() { @Override - public DataContainerCodecContext load(final QName qname) throws ClassNotFoundException { + public DataContainerCodecContext load(final QName qname) throws ClassNotFoundException { final var type = context.getTypes(); final var child = type.schemaTreeChild(qname); if (child == null) { final var module = qname.getModule(); - if (context.getEffectiveModelContext().findModule(module).isEmpty()) { + if (context.modelContext().findModule(module).isEmpty()) { throw new MissingSchemaException( "Module " + module + " is not present in current schema context."); } @@ -426,12 +426,12 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri return new BindingToNormalizedStreamWriter(getActionCodec(action).output(), domWriter); } - @NonNull DataContainerCodecContext getCodecContextNode(final InstanceIdentifier binding, + @NonNull DataContainerCodecContext getCodecContextNode(final InstanceIdentifier binding, final List builder) { final var it = binding.getPathArguments().iterator(); final var arg = it.next(); - DataContainerCodecContext current; + DataContainerCodecContext current; final var caseType = arg.getCaseType(); if (caseType.isPresent()) { final @NonNull Class type = caseType.orElseThrow(); @@ -649,7 +649,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri final Class valueType = method.getReturnType(); final ValueCodec codec = getCodec(valueType, leafSchema.getType()); valueNode = LeafNodeCodecContext.of(leafSchema, codec, method.getName(), valueType, - context.getEffectiveModelContext()); + context.modelContext()); } else if (schema instanceof LeafListSchemaNode leafListSchema) { final Optional optType = ClassLoaderUtils.getFirstGenericParameter( method.getGenericReturnType()); @@ -753,10 +753,10 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri @Override @SuppressWarnings("unchecked") - public CommonDataObjectCodecContext getStreamChild(final Class childClass) { + public DataContainerCodecContext getStreamChild(final Class childClass) { final var result = Notification.class.isAssignableFrom(childClass) ? getNotificationContext(childClass) : getOrRethrow(childrenByClass, childClass); - return (CommonDataObjectCodecContext) result; + return (DataContainerCodecContext) result; } @Override