Move (Abstract)IllegalArgumentCodec to yang.data.api.codec 61/100561/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 12 Apr 2022 11:18:46 +0000 (13:18 +0200)
committerRobert Varga <nite@hq.sk>
Fri, 10 Jun 2022 11:39:09 +0000 (11:39 +0000)
The only users of this construct live in yang-data-{api,util,impl}. Move
the contract there and un-deprecate it.

JIRA: YANGTOOLS-1332
Change-Id: Ie19b09e108a4bac8946c080da563fdb9ccdaae6a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
27 files changed:
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/AbstractIllegalArgumentCodec.java [moved from common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractIllegalArgumentCodec.java with 86% similarity]
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/BinaryCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/BitsCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/BooleanCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/DecimalCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/EmptyCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/EnumCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/IdentityrefCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/IllegalArgumentCodec.java [moved from common/concepts/src/main/java/org/opendaylight/yangtools/concepts/IllegalArgumentCodec.java with 67% similarity]
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/InstanceIdentifierCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Int16Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Int32Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Int64Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Int8Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/LeafrefCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/StringCodec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Uint16Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Uint32Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Uint64Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/Uint8Codec.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/UnionCodec.java
data/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/codec/AbstractIllegalArgumentCodecTest.java [moved from common/concepts/src/test/java/org/opendaylight/yangtools/concepts/AbstractIllegalArgumentCodecTest.java with 92% similarity]
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/AbstractDataStringCodec.java
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/DataStringCodec.java
data/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codec/TypeDefinitionAwareCodecTestHelper.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java

similarity index 86%
rename from common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractIllegalArgumentCodec.java
rename to data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/AbstractIllegalArgumentCodec.java
index 011a921f72b07d5e6dee6d807598111416e73dc8..33e0497c648641546e134abe7a38e7e935a0fd1f 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
 
 import static com.google.common.base.Verify.verifyNotNull;
 import static java.util.Objects.requireNonNull;
@@ -19,11 +19,8 @@ import org.eclipse.jdt.annotation.Nullable;
  *
  * @param <S> Serializied (external) type
  * @param <D> Deserialized (internal) type
- * @deprecated This is a base class for implementing IllegalArgumentCodec, without further use. It will be removed with
- *             IllegalArgumentCodec.
  */
 @Beta
-@Deprecated(since = "8.0.0", forRemoval = true)
 public abstract class AbstractIllegalArgumentCodec<S, D> implements IllegalArgumentCodec<S, D> {
     @Override
     public final D deserialize(final S input) {
index 09004c5f633125040fae791049bbaf0db075be68..1f7b4fc15cf32d2427386e0409236b35524e0735 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface BinaryCodec<T> extends IllegalArgumentCodec<T, byte[]> {
 
 }
index 896ec41634250e6d99c85910060d1ff76e409836..0580b9088fd7a4009414164b951e0ad209bcf8b0 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.yang.data.api.codec;
 
 import java.util.Set;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 
 public interface BitsCodec<T> extends IllegalArgumentCodec<T, Set<String>> {
 
index 105b33b1c37ce012602711afb4300d75f378debf..92a93df990efea218d2680dd144044c01224f176 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface BooleanCodec<T> extends IllegalArgumentCodec<T, Boolean> {
 
 }
index b112e58fe3193eb4f29f5b6f850aa3eaf58e8b7d..ad2015c12556c89ad795e6d1beb1ce7d151aeab6 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Decimal64;
 
 public interface DecimalCodec<T> extends IllegalArgumentCodec<T, Decimal64> {
index fe3bfc2b07b2e9d09750e861c8e1eb84364e8a3f..51b4c79154ecf729bb4ee4ca815a27bdd7417b01 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Empty;
 
 public interface EmptyCodec<T> extends IllegalArgumentCodec<T, Empty> {
index 9327cca4b6617ac75d793e7f57951b973d3177d7..d302be7d70125a77aa716fd907789c9403bef1d7 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface EnumCodec<T> extends IllegalArgumentCodec<T, String> {
 
 }
index 639fbc26bff2fa18096f6fc3bccc147800fd3aeb..7897b29f9a09d3cd8800831d42c93c9589c2bd57 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.QName;
 
 public interface IdentityrefCodec<T> extends IllegalArgumentCodec<T, QName> {
similarity index 67%
rename from common/concepts/src/main/java/org/opendaylight/yangtools/concepts/IllegalArgumentCodec.java
rename to data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/codec/IllegalArgumentCodec.java
index dcbd6b0a6b462764e250594e14c33310288d6f54..6a775650fe9f608692e0ad2c05792fd1ecc920f8 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
 
 import com.google.common.annotations.Beta;
 import org.eclipse.jdt.annotation.NonNull;
@@ -16,14 +16,14 @@ import org.eclipse.jdt.annotation.NonNull;
  *
  * @param <S> Serialized (external) type
  * @param <D> Deserialized (internal) type
- * @deprecated This interface ignores a number of complications when dealing with external forms. For one, it assumes
- *             a serdes operation does not have further context than the input -- and this is seldom the case. The other
- *             failing is that it actively discourages use of checked exceptions to deal with errors at the appropriate
- *             level. Based on these, this interface is deprecated for removal without a replacement. Users are
- *             encouraged to define similar interface fitting their needs.
  */
 @Beta
-@Deprecated(since = "8.0.0", forRemoval = true)
+// FIXME: sealed when we have JDK17+
+// FIXME: This interface ignores a number of complications when dealing with external forms. For one, it assumes
+//        a serdes operation does not have further context than the input -- and this is seldom the case. The other
+//        failing is that it actively discourages use of checked exceptions to deal with errors at the appropriate
+//        level. Based on these, this interface is deprecated for removal without a replacement. Users are
+//        encouraged to define similar interface fitting their needs.
 public interface IllegalArgumentCodec<S, D> {
     /**
      * Produce an internal object based on an external object.
index d3950265aa8cad2c05e9bcb9de823421d5bc8e91..30e0718856f1d3858d14868826ed48ea22e9899c 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 
 /**
index 7bd24d0322fd1d273c97ecaf2e362d920900b4a2..35b27b129b669e7687284d59dbfd7daaf9f8690d 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface Int16Codec<T> extends IllegalArgumentCodec<T, Short> {
 
 }
index afc6819be53ae0133566333526e8b1655a5f8796..7d1f5a43ae40f64520080e6e14e650d0d3307d7a 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface Int32Codec<T> extends IllegalArgumentCodec<T,Integer> {
 
 }
index 3cb7f927cdb3d92039102c0496df5a3e01317dcd..bf5d466442eedd12d404aa3b4e3f563debe2b1cc 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface Int64Codec<T> extends IllegalArgumentCodec<T, Long> {
 
 }
index b3d5d720c3f6c144b44886011df9ed8e266379b3..ab37f5e8b760acf3aa5a18a105f0d889c5cd3de0 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface Int8Codec<T> extends IllegalArgumentCodec<T, Byte> {
 
 }
index 056d5606b4588891f889552084b8a25c7e3b3447..c9a0958fbef14cf0714322691b49293b592066ce 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface LeafrefCodec<T> extends IllegalArgumentCodec<T, Object> {
 
 }
index b458469871b3168c95b3b22a4519891a713735c3..8ed3dccf6a131c2a3c0e025ac888beef21be55da 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface StringCodec<T> extends IllegalArgumentCodec<T, String> {
 
 }
index c811fa26ada1e4d27b8bf1387c03a69be2a75bf3..71ed3035ace886a9d2ed5d973f5c92a209b2326a 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Uint16;
 
 /**
index 8a960726a72e93be772be8ae3fe73e8165011e34..f87690cf8fce13a5f6b90fefd3795f4ddba44502 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
 /**
index 247cb0c9e39d18b98c0305d4608b29d4d98c708e..5ad8e6e1b35b092e1f9e47e0fd0614ab731700c5 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Uint64;
 
 /**
index 0bac80f5c38aac59777a389cd151b3539de49f7f..790ad8e531417dee9b507bc145dd1d4fb077bcf0 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.Uint8;
 
 /**
index 853bf57979cc7a7973c08c6e9bcff9a1ba6a02b7..87544d7fd8edeb8c5a62d3071c580b772ed6b702 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.data.api.codec;
 
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
-
 public interface UnionCodec<T> extends IllegalArgumentCodec<T,Object> {
 
 }
similarity index 92%
rename from common/concepts/src/test/java/org/opendaylight/yangtools/concepts/AbstractIllegalArgumentCodecTest.java
rename to data/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/codec/AbstractIllegalArgumentCodecTest.java
index ae85a213018f5944debb97aa7898958656994bd5..af7260a369dc639c566520d4fed1b72924ce79c5 100644 (file)
@@ -5,13 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.concepts;
+package org.opendaylight.yangtools.yang.data.api.codec;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.junit.jupiter.api.Test;
 
-@Deprecated(since = "8.0.0", forRemoval = true)
 public class AbstractIllegalArgumentCodecTest {
     private static final class TestCodec extends AbstractIllegalArgumentCodec<String, String> {
         @Override
index fe3084de550f8b7f4bef8953492ae954bed631a8..cd67cc99d6771148049e0da5a2da1c981ab1a5ec 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.yangtools.yang.data.impl.codec;
 
 import com.google.common.annotations.Beta;
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
 
 // FIXME: 7.0.0: yang-data-api is tied to yang-model-api, hence it should be opinionated to export exceptions
 //               encapsulating YANG-based error information.
index afb69554c3782752724d82a131890562fda12f3f..d5abad9f733efea1de599a20abf21433db6e1493 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.yangtools.yang.data.impl.codec;
 
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
 
 // FIXME: 7.0.0: yang-data-api is tied to yang-model-api, hence it should be opinionated to export exceptions
 //               encapsulating YANG-based error information.
index ed6199507bc24353159f8a67d26547d3494830db..77c9fbf80ba45c4e1753dac8768b6baa9d496999 100644 (file)
@@ -14,8 +14,8 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
index be097463b31a72e6e873725643de8caaefcd5897..e93ec24da9424210024aba89d93121679378a034 100644 (file)
@@ -13,10 +13,10 @@ import com.google.common.base.Splitter;
 import java.util.Iterator;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
 
 abstract class AbstractNamespaceCodec<T> extends AbstractIllegalArgumentCodec<String, T> {
     private static final Splitter COLON_SPLITTER = Splitter.on(':');
index bb67be32eb9e1f2a27890ab14b9451d42520ccf7..1ab6ce58c3d17390277ccc5d563879f6a636d429 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.util;
 
 import static java.util.Objects.requireNonNull;
 
-import org.opendaylight.yangtools.concepts.AbstractIllegalArgumentCodec;
-import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.AbstractIllegalArgumentCodec;
+import org.opendaylight.yangtools.yang.data.api.codec.IllegalArgumentCodec;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;