Move SchemaUtils to yang-data-util 03/95803/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 19 Apr 2021 07:40:26 +0000 (09:40 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 19 Apr 2021 07:41:45 +0000 (09:41 +0200)
yang-data-impl placement here is quite hurtful, as we have a few
downstream users. Move the class to yang-data-util, where it is more
accessible and mark it as @Beta for further evolution.

JIRA: YANGTOOLS-1248
Change-Id: If2eeeeb5b2313c3656fe348a3ce99fcf770d0f37
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java [moved from yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java with 92% similarity]

index 6ab9c3440b5b33acd05bd46630d858782505c39b..5411096c1a8dc921f98ab4ca36deb2a0ecae005a 100644 (file)
@@ -14,10 +14,10 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
-import org.opendaylight.yangtools.yang.data.impl.schema.SchemaUtils;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataNodeContainerValidator;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataValidationException;
+import org.opendaylight.yangtools.yang.data.util.NormalizedNodeSchemaUtils;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 
@@ -40,7 +40,7 @@ public class ImmutableChoiceNodeSchemaAwareBuilder extends ImmutableChoiceNodeBu
     @Override
     public DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> withChild(final DataContainerChild child) {
         if (validator == null) {
-            Optional<CaseSchemaNode> detectedCaseOpt = SchemaUtils.detectCase(schema, child);
+            Optional<CaseSchemaNode> detectedCaseOpt = NormalizedNodeSchemaUtils.detectCase(schema, child);
             DataValidationException.checkLegalChild(detectedCaseOpt.isPresent(), child.getIdentifier(), schema);
             validator = new DataNodeContainerValidator(detectedCaseOpt.get());
         }
similarity index 92%
rename from yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java
rename to yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java
index 9aa79ea47027a8c864d7a0ddfc19d68aa3e5d2bd..15b615e616f729e903d7bba7b560517214bf7c4a 100644 (file)
@@ -5,8 +5,9 @@
  * 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.yang.data.impl.schema;
+package org.opendaylight.yangtools.yang.data.util;
 
+import com.google.common.annotations.Beta;
 import java.util.HashSet;
 import java.util.Optional;
 import java.util.Set;
@@ -20,10 +21,10 @@ import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 
-// FIXME: 7.0.0: find a better place for these methods
-@Deprecated
-public final class SchemaUtils {
-    private SchemaUtils() {
+// FIXME: 8.0.0: re-examine usefulness of these methods
+@Beta
+public final class NormalizedNodeSchemaUtils {
+    private NormalizedNodeSchemaUtils() {
         // Hidden on purpose
     }