Improve DtaContainerCodecProtype.loadInstance()
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / DataContainerCodecPrototype.java
index a625c7ef409d128b05b3dc0ae877d6b7c4bd07af..2a6abd3d7942472a169cdb8dfbac015303d0f5e2 100644 (file)
@@ -34,6 +34,7 @@ import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypedDataSchemaNode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -161,7 +162,7 @@ final class DataContainerCodecPrototype<T extends WithStatus> implements NodeCon
 
     static DataContainerCodecPrototype<EffectiveModelContext> rootPrototype(final CodecContextFactory factory) {
         final EffectiveModelContext schema = factory.getRuntimeContext().getEffectiveModelContext();
-        final NodeIdentifier arg = NodeIdentifier.create(schema.getQName());
+        final NodeIdentifier arg = NodeIdentifier.create(SchemaContext.NAME);
         return new DataContainerCodecPrototype<>(DataRoot.class, arg, schema, factory);
     }
 
@@ -221,9 +222,9 @@ final class DataContainerCodecPrototype<T extends WithStatus> implements NodeCon
     }
 
     private @NonNull DataContainerCodecContext<?, T> loadInstance() {
-        final DataContainerCodecContext<?, T> tmp = createInstance();
-        final Object witness = INSTANCE.compareAndExchangeRelease(this, null, tmp);
-        return witness == null ? tmp : (DataContainerCodecContext<?, T>) witness;
+        final var tmp = createInstance();
+        final var witness = (DataContainerCodecContext<?, T>) INSTANCE.compareAndExchangeRelease(this, null, tmp);
+        return witness == null ? tmp : witness;
     }
 
     @SuppressWarnings({ "rawtypes", "unchecked" })
@@ -246,6 +247,7 @@ final class DataContainerCodecPrototype<T extends WithStatus> implements NodeCon
         throw new IllegalArgumentException("Unsupported type " + getBindingClass() + " " + schema);
     }
 
+    // FIXME: eliminate with above createInstance() item
     boolean isChoice() {
         return schema instanceof ChoiceSchemaNode;
     }