From 180542781e0a81f4f39ec703befd5f33036b3df2 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 4 Sep 2017 11:44:52 +0200 Subject: [PATCH] Disconnect mdsal-bind-dom-codec yangtools/mdsal APIs Remove compatibility bridging between the two APIs, so that users do not pull in yangtools APIs in their imports. Change-Id: If763721458354ba92422ac7465735714646f61d0 Signed-off-by: Robert Varga --- .../dom/codec/api/BindingCodecTree.java | 6 +---- .../codec/api/BindingCodecTreeFactory.java | 7 +----- .../dom/codec/api/BindingCodecTreeNode.java | 18 +-------------- .../BindingNormalizedNodeCachingCodec.java | 5 ++-- .../codec/api/BindingNormalizedNodeCodec.java | 7 +----- .../api/BindingNormalizedNodeSerializer.java | 11 +-------- .../BindingNormalizedNodeWriterFactory.java | 23 ++++--------------- 7 files changed, 12 insertions(+), 65 deletions(-) diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTree.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTree.java index 7fbd0f390c..b0b75e549f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTree.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTree.java @@ -14,7 +14,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.SchemaPath; /** - * * Navigable tree representing hierarchy of Binding to Normalized Node codecs * * This navigable tree is associated to conrete set of YANG models, represented by SchemaContext and @@ -22,17 +21,14 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; * * TODO: Add more detailed documentation **/ -public interface BindingCodecTree extends org.opendaylight.yangtools.binding.data.codec.api.BindingCodecTree { +public interface BindingCodecTree { - @Override @Nullable BindingCodecTreeNode getSubtreeCodec(InstanceIdentifier path); - @Override @Nullable BindingCodecTreeNode getSubtreeCodec(YangInstanceIdentifier path); - @Override @Nullable BindingCodecTreeNode getSubtreeCodec(SchemaPath path); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeFactory.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeFactory.java index e295f14b18..14505d085f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeFactory.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeFactory.java @@ -11,11 +11,9 @@ import com.google.common.annotations.Beta; import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -public interface BindingCodecTreeFactory extends - org.opendaylight.yangtools.binding.data.codec.api.BindingCodecTreeFactory { +public interface BindingCodecTreeFactory { /** - * * Creates Binding Codec Tree for specified Binding runtime context. * * @param context @@ -23,11 +21,9 @@ public interface BindingCodecTreeFactory extends * instantiated. * @return Binding Codec Tree for specified Binding runtime context. */ - @Override BindingCodecTree create(BindingRuntimeContext context); /** - * * Creates Binding Codec Tree for specified Binding runtime context. * * @param context @@ -39,7 +35,6 @@ public interface BindingCodecTreeFactory extends * deserialization in multi-classloader environment. * @return Binding Codec Tree for specified Binding runtime context. */ - @Override @Beta BindingCodecTree create(SchemaContext context, Class... bindingClasses); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeNode.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeNode.java index 9345c2ab9b..6943433667 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeNode.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingCodecTreeNode.java @@ -22,14 +22,11 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre /** * Subtree codec specific to model subtree between Java Binding and * NormalizedNode. - * */ @Beta -public interface BindingCodecTreeNode extends BindingNormalizedNodeCodec, - org.opendaylight.yangtools.binding.data.codec.api.BindingCodecTreeNode { +public interface BindingCodecTreeNode extends BindingNormalizedNodeCodec { /** - * * Returns binding class of interface which represents API of current * schema node. * @@ -38,12 +35,10 @@ public interface BindingCodecTreeNode extends BindingNorma * * @return interface which defines API of binding representation of data. */ - @Override @Nonnull Class getBindingClass(); /** - * * Returns child context as if it was walked by * {@link BindingStreamEventWriter}. This means that to enter case, one must * issue getChild(ChoiceClass).getChild(CaseClass). @@ -53,12 +48,10 @@ public interface BindingCodecTreeNode extends BindingNorma * @throws IllegalArgumentException * If supplied child class is not valid in specified context. */ - @Override @Nonnull BindingCodecTreeNode streamChild(@Nonnull Class childClass); /** - * * Returns child context as if it was walked by * {@link BindingStreamEventWriter}. This means that to enter case, one must * issue getChild(ChoiceClass).getChild(CaseClass). @@ -73,7 +66,6 @@ public interface BindingCodecTreeNode extends BindingNorma * @return Context of child or Optional absent is supplied class is not * applicable in context. */ - @Override Optional> possibleStreamChild(@Nonnull Class childClass); /** @@ -85,7 +77,6 @@ public interface BindingCodecTreeNode extends BindingNorma * @throws IllegalArgumentException * If supplied argument does not represent valid child. */ - @Override @Nonnull BindingCodecTreeNode yangPathArgumentChild(@Nonnull YangInstanceIdentifier.PathArgument child); @@ -102,13 +93,11 @@ public interface BindingCodecTreeNode extends BindingNorma * @throws IllegalArgumentException * If supplied argument does not represent valid child. */ - @Override @Nonnull BindingCodecTreeNode bindingPathArgumentChild(@Nonnull InstanceIdentifier.PathArgument arg, @Nullable List builder); /** - * * Returns codec which uses caches serialization / deserialization results * * Caching may introduce performance penalty to serialization / deserialization @@ -118,12 +107,10 @@ public interface BindingCodecTreeNode extends BindingNorma * @param cacheSpecifier Set of objects, for which cache may be in place * @return Codec whihc uses cache for serialization / deserialization. */ - @Override @Nonnull BindingNormalizedNodeCachingCodec createCachingCodec(@Nonnull ImmutableCollection> cacheSpecifier); - @Override @Beta void writeAsNormalizedNode(T data, NormalizedNodeStreamWriter writer); @@ -136,7 +123,6 @@ public interface BindingCodecTreeNode extends BindingNorma * representation for current node (e.g. case). * @throws IllegalArgumentException If supplied {@code arg} is not valid. */ - @Override @Beta @Nullable YangInstanceIdentifier.PathArgument serializePathArgument(@Nullable InstanceIdentifier.PathArgument arg); @@ -149,10 +135,8 @@ public interface BindingCodecTreeNode extends BindingNorma * representation for current node (e.g. choice or case). * @throws IllegalArgumentException If supplied {@code arg} is not valid. */ - @Override @Beta @Nullable InstanceIdentifier.PathArgument deserializePathArgument(@Nullable YangInstanceIdentifier.PathArgument arg); - @Override Object getSchema(); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCachingCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCachingCodec.java index be388ab9ae..08a52655ad 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCachingCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCachingCodec.java @@ -19,9 +19,8 @@ import org.opendaylight.yangtools.yang.binding.DataObject; * @param Binding representtion of data */ @Beta -public interface BindingNormalizedNodeCachingCodec extends - org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeCachingCodec, - BindingNormalizedNodeCodec, AutoCloseable { +public interface BindingNormalizedNodeCachingCodec extends BindingNormalizedNodeCodec, + AutoCloseable { /** * Invoking close will invalidate this codec and any of its child * codecs and will invalidate cache. diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCodec.java index b5297f808c..b950182dec 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeCodec.java @@ -13,16 +13,13 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; /** - * * Codec providing serialization and deserializiation between Binding * and NormalizedNode representation of data. * - * * @param Binding representation of data */ @Beta -public interface BindingNormalizedNodeCodec extends - org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeCodec { +public interface BindingNormalizedNodeCodec { /** * Converts from Normalized Node to Binding representation of data. @@ -30,7 +27,6 @@ public interface BindingNormalizedNodeCodec extends * @param data Normalized Node representation of data * @return Binding representation of data */ - @Override @Nonnull T deserialize(@Nonnull NormalizedNode data); /** @@ -39,7 +35,6 @@ public interface BindingNormalizedNodeCodec extends * @param data Binding representation of data * @return Normalized Node representation of data */ - @Override @Nonnull NormalizedNode serialize(@Nonnull T data); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java index 599c58730a..d710933c08 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java @@ -23,8 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; * Serialization service, which provides two-way serialization between Java * Binding Data representation and NormalizedNode representation. */ -public interface BindingNormalizedNodeSerializer extends - org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer { +public interface BindingNormalizedNodeSerializer { /** * Translates supplied Binding Instance Identifier into NormalizedNode @@ -36,7 +35,6 @@ public interface BindingNormalizedNodeSerializer extends * @throws IllegalArgumentException * If supplied Instance Identifier is not valid. */ - @Override YangInstanceIdentifier toYangInstanceIdentifier(@Nonnull InstanceIdentifier binding); /** @@ -48,7 +46,6 @@ public interface BindingNormalizedNodeSerializer extends * @return Binding Instance Identifier, or null if the instance identifier * is not representable. */ - @Override @Nullable InstanceIdentifier fromYangInstanceIdentifier(@Nonnull YangInstanceIdentifier dom); @@ -64,7 +61,6 @@ public interface BindingNormalizedNodeSerializer extends * @throws IllegalArgumentException * If supplied Instance Identifier is not valid. */ - @Override Entry> toNormalizedNode( InstanceIdentifier path, T data); @@ -76,7 +72,6 @@ public interface BindingNormalizedNodeSerializer extends * @param data NormalizedNode representing data * @return DOM Instance Identifier */ - @Override @Nullable Entry, DataObject> fromNormalizedNode(@Nonnull YangInstanceIdentifier path, NormalizedNode data); @@ -88,7 +83,6 @@ public interface BindingNormalizedNodeSerializer extends * @param data NormalizedNode representing data * @return Binding representation of Notification */ - @Override @Nullable Notification fromNormalizedNodeNotification(@Nonnull SchemaPath path,@Nonnull ContainerNode data); /** @@ -98,7 +92,6 @@ public interface BindingNormalizedNodeSerializer extends * @param data NormalizedNode representing data * @return Binding representation of RPC data */ - @Override @Nullable DataObject fromNormalizedNodeRpcData(@Nonnull SchemaPath path,@Nonnull ContainerNode data); /** @@ -107,7 +100,6 @@ public interface BindingNormalizedNodeSerializer extends * @param data NormalizedNode representing notification data * @return NormalizedNode representation of notification */ - @Override @Nonnull ContainerNode toNormalizedNodeNotification(@Nonnull Notification data); /** @@ -116,6 +108,5 @@ public interface BindingNormalizedNodeSerializer extends * @param data NormalizedNode representing rpc data * @return NormalizedNode representation of rpc data */ - @Override @Nonnull ContainerNode toNormalizedNodeRpcData(@Nonnull DataContainer data); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeWriterFactory.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeWriterFactory.java index 6614bb08e0..8a41021a04 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeWriterFactory.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeWriterFactory.java @@ -17,17 +17,11 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; /** - * * Factory for {@link BindingStreamEventWriter}, which provides stream writers - * which translates data and delegates calls to - * {@link NormalizedNodeStreamWriter}. - * + * which translates data and delegates calls to {@link NormalizedNodeStreamWriter}. */ -public interface BindingNormalizedNodeWriterFactory extends - org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeWriterFactory { - +public interface BindingNormalizedNodeWriterFactory { /** - * * Creates a {@link BindingStreamEventWriter} for data tree path which will * translate to NormalizedNode model and invoke proper events on supplied * {@link NormalizedNodeStreamWriter}. @@ -49,12 +43,10 @@ public interface BindingNormalizedNodeWriterFactory extends * which will write to supplied {@link NormalizedNodeStreamWriter}. * @throws IllegalArgumentException If supplied Instance Identifier is not valid. */ - @Override - @Nonnull Entry newWriterAndIdentifier(@Nonnull InstanceIdentifier path, - @Nonnull NormalizedNodeStreamWriter domWriter); + @Nonnull Entry newWriterAndIdentifier( + @Nonnull InstanceIdentifier path, @Nonnull NormalizedNodeStreamWriter domWriter); /** - * * Creates a {@link BindingStreamEventWriter} for data tree path which will * translate to NormalizedNode model and invoke proper events on supplied * {@link NormalizedNodeStreamWriter}. @@ -71,14 +63,12 @@ public interface BindingNormalizedNodeWriterFactory extends * which will write to supplied {@link NormalizedNodeStreamWriter}. * @throws IllegalArgumentException If supplied Instance Identifier is not valid. */ - @Override @Nonnull BindingStreamEventWriter newWriter(@Nonnull InstanceIdentifier path, @Nonnull NormalizedNodeStreamWriter domWriter); /** - * - * Creates a {@link BindingStreamEventWriter} for rpc data which will + * Creates a {@link BindingStreamEventWriter} for RPC data which will * translate to NormalizedNode model and invoke proper events on supplied * {@link NormalizedNodeStreamWriter}. * @@ -89,13 +79,11 @@ public interface BindingNormalizedNodeWriterFactory extends * @return {@link BindingStreamEventWriter} which will write to supplied * {@link NormalizedNodeStreamWriter}. */ - @Override @Nonnull BindingStreamEventWriter newRpcWriter(@Nonnull Class rpcInputOrOutput, @Nonnull NormalizedNodeStreamWriter domWriter); /** - * * Creates a {@link BindingStreamEventWriter} for notification which will * translate to NormalizedNode model and invoke proper events on supplied * {@link NormalizedNodeStreamWriter}. @@ -107,7 +95,6 @@ public interface BindingNormalizedNodeWriterFactory extends * @return {@link BindingStreamEventWriter} which will write to supplied * {@link NormalizedNodeStreamWriter}. */ - @Override @Nonnull BindingStreamEventWriter newNotificationWriter(@Nonnull Class notification, @Nonnull NormalizedNodeStreamWriter domWriter); -- 2.36.6