From: Robert Varga Date: Mon, 19 Apr 2021 07:40:26 +0000 (+0200) Subject: Move SchemaUtils to yang-data-util X-Git-Tag: v7.0.0~55 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=d7ff6f94e87a431786d6731d951e876c2b6dfc7e;p=yangtools.git Move SchemaUtils to yang-data-util 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 --- diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java index 6ab9c3440b..5411096c1a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java @@ -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 withChild(final DataContainerChild child) { if (validator == null) { - Optional detectedCaseOpt = SchemaUtils.detectCase(schema, child); + Optional detectedCaseOpt = NormalizedNodeSchemaUtils.detectCase(schema, child); DataValidationException.checkLegalChild(detectedCaseOpt.isPresent(), child.getIdentifier(), schema); validator = new DataNodeContainerValidator(detectedCaseOpt.get()); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java 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 9aa79ea470..15b615e616 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java @@ -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 }