From 73575fa46421920f2af98d7b7d3dbe63b99e2524 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 13 Feb 2021 00:29:04 +0100 Subject: [PATCH] Move model.repo.util classes to model.repo.spi Most of the classes are simple implementation helpers, move them to model.repo.spi, so that implementations can share them more freely. This eliminates yang-parser-rfc7950's dependency on yang-model-util. JIRA: YANGTOOLS-1052 Change-Id: Ide2dee1e04c08fee0146c4e347dbee900dd59570 Signed-off-by: Robert Varga --- yang/yang-model-api/src/main/java/module-info.java | 1 + .../repo/spi}/AbstractSchemaListenerRegistration.java | 4 +--- .../yang/model/repo/spi}/AbstractSchemaRepository.java | 8 +------- .../yang/model/repo/spi}/AbstractSchemaSourceCache.java | 7 +------ .../repo/spi}/AbstractSchemaSourceRegistration.java | 5 +---- .../yang/model/repo/spi}/RefcountedRegistration.java | 4 +--- .../yang/model/repo/spi/SchemaSourceProvider.java | 4 +++- .../yang/model/repo/spi}/SchemaSourceTransformer.java | 9 ++------- .../yang/model/repo/spi/PotentialSchemaSourceTest.java | 2 ++ .../yang/model/repo/spi}/RefcountedRegistrationTest.java | 3 +-- .../model/repo/spi}/SchemaSourceTransformerTest.java | 6 +----- .../model/repo/util/FilesystemSchemaSourceCache.java | 1 + .../yang/model/repo/util/InMemorySchemaSourceCache.java | 4 +++- .../yang/parser/repo/SharedSchemaRepository.java | 2 +- yang/yang-parser-rfc7950/pom.xml | 4 ---- yang/yang-parser-rfc7950/src/main/java/module-info.java | 1 - .../yang/parser/rfc7950/repo/TextToIRTransformer.java | 2 +- .../parser/rfc7950/repo/YinTextToDomTransformer.java | 2 +- 18 files changed, 22 insertions(+), 47 deletions(-) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/AbstractSchemaListenerRegistration.java (75%) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/AbstractSchemaRepository.java (94%) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/AbstractSchemaSourceCache.java (88%) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/AbstractSchemaSourceRegistration.java (82%) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/RefcountedRegistration.java (86%) rename yang/{yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi}/SchemaSourceTransformer.java (88%) rename yang/{yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi}/RefcountedRegistrationTest.java (92%) rename yang/{yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util => yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi}/SchemaSourceTransformerTest.java (94%) diff --git a/yang/yang-model-api/src/main/java/module-info.java b/yang/yang-model-api/src/main/java/module-info.java index 9c987acab1..fb5c743c6d 100644 --- a/yang/yang-model-api/src/main/java/module-info.java +++ b/yang/yang-model-api/src/main/java/module-info.java @@ -23,4 +23,5 @@ module org.opendaylight.yangtools.yang.model.api { // Annotations requires static transitive org.eclipse.jdt.annotation; requires static com.github.spotbugs.annotations; + requires static org.checkerframework.checker.qual; } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaListenerRegistration.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaListenerRegistration.java similarity index 75% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaListenerRegistration.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaListenerRegistration.java index 336f63440c..488acbf8b2 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaListenerRegistration.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaListenerRegistration.java @@ -5,11 +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.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import org.opendaylight.yangtools.concepts.AbstractListenerRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaListenerRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener; public abstract class AbstractSchemaListenerRegistration extends AbstractListenerRegistration implements SchemaListenerRegistration { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaRepository.java similarity index 94% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaRepository.java index 816731ad57..d889bf6337 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaRepository.java @@ -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.yang.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFailedFluentFuture; @@ -33,12 +33,6 @@ import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceExcepti import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; -import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaListenerRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceCache.java similarity index 88% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceCache.java index 92567fd498..77f703914d 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceCache.java @@ -5,18 +5,13 @@ * 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.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static java.util.Objects.requireNonNull; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; -import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource; import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource.Costs; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; /** * Abstract base class for cache-type SchemaSourceListeners. It needs to be diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceRegistration.java similarity index 82% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceRegistration.java index a6e12b7d4c..865abf941c 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/AbstractSchemaSourceRegistration.java @@ -5,16 +5,13 @@ * 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.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects.ToStringHelper; import org.opendaylight.yangtools.concepts.AbstractObjectRegistration; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; -import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; public abstract class AbstractSchemaSourceRegistration extends AbstractObjectRegistration> implements SchemaSourceRegistration { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistration.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistration.java similarity index 86% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistration.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistration.java index 087104f8e6..b409df0376 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistration.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistration.java @@ -5,13 +5,11 @@ * 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.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.requireNonNull; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; - final class RefcountedRegistration { private final SchemaSourceRegistration reg; private int refcount = 1; diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceProvider.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceProvider.java index 06c0a2a5cc..d5a7fbc974 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceProvider.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceProvider.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.repo.spi; import com.google.common.annotations.Beta; import com.google.common.util.concurrent.ListenableFuture; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -44,6 +45,7 @@ public interface SchemaSourceProvider { * * @param sourceIdentifier source identifier * @return future source representation, if supplied YANG module is available + * @throws NullPointerException if {@code sourceIdentifier} is null */ - ListenableFuture getSource(SourceIdentifier sourceIdentifier); + @NonNull ListenableFuture getSource(@NonNull SourceIdentifier sourceIdentifier); } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformer.java similarity index 88% rename from yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java rename to yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformer.java index 28539bbfaf..30764f5741 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformer.java @@ -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.yang.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static java.util.Objects.requireNonNull; @@ -18,11 +18,6 @@ import java.util.Map; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; -import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; public class SchemaSourceTransformer implements SchemaSourceListener, SchemaSourceProvider { @@ -51,7 +46,7 @@ public class SchemaSourceTransformer getSource(final SourceIdentifier sourceIdentifier) { + public final ListenableFuture getSource(final SourceIdentifier sourceIdentifier) { return Futures.transformAsync(provider.getSchemaSource(sourceIdentifier, srcClass), function, MoreExecutors.directExecutor()); } diff --git a/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSourceTest.java b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSourceTest.java index 26236f26e0..951a8842ac 100644 --- a/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSourceTest.java +++ b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSourceTest.java @@ -29,7 +29,9 @@ public class PotentialSchemaSourceTest { @Mock public SourceIdentifier sourceIdentifier; + @SuppressWarnings("exports") public PotentialSchemaSource source; + @SuppressWarnings("exports") public PotentialSchemaSource same; @Before diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistrationTest.java b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistrationTest.java similarity index 92% rename from yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistrationTest.java rename to yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistrationTest.java index 7762797528..ec8f6bdf0f 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/RefcountedRegistrationTest.java +++ b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/RefcountedRegistrationTest.java @@ -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.yang.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -18,7 +18,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; @RunWith(MockitoJUnitRunner.class) public class RefcountedRegistrationTest { diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformerTest.java similarity index 94% rename from yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java rename to yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformerTest.java index 6fa740ee19..f852cd17cc 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java +++ b/yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/SchemaSourceTransformerTest.java @@ -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.yang.model.repo.util; +package org.opendaylight.yangtools.yang.model.repo.spi; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -28,11 +28,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangSchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.YinXmlSchemaSource; -import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource; import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource.Costs; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider; -import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; @RunWith(MockitoJUnitRunner.class) public class SchemaSourceTransformerTest { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java index 1c6b3c5108..a62eb5342f 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java @@ -40,6 +40,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; +import org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaSourceCache; import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource.Costs; import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; import org.slf4j.Logger; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/InMemorySchemaSourceCache.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/InMemorySchemaSourceCache.java index 1e2fc94f14..3d8bd7e6e9 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/InMemorySchemaSourceCache.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/InMemorySchemaSourceCache.java @@ -21,6 +21,7 @@ import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; +import org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaSourceCache; import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource.Costs; import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration; import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; @@ -28,6 +29,7 @@ import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; @Beta public class InMemorySchemaSourceCache extends AbstractSchemaSourceCache implements AutoCloseable { + // FIXME: 7.0.0: use a java.util.Cleaner? private final List> regs = Collections.synchronizedList(new ArrayList<>()); private final FinalizableReferenceQueue queue = new FinalizableReferenceQueue(); private final Cache cache; @@ -65,7 +67,7 @@ public class InMemorySchemaSourceCache ext cache.put(source.getIdentifier(), source); final SchemaSourceRegistration reg = register(source.getIdentifier()); - final FinalizablePhantomReference ref = new FinalizablePhantomReference(source, queue) { + final FinalizablePhantomReference ref = new FinalizablePhantomReference<>(source, queue) { @Override public void finalizeReferent() { reg.close(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java index de2d89d1b5..ca490683c5 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java @@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.EffectiveModelContextFacto import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactoryConfiguration; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; -import org.opendaylight.yangtools.yang.model.repo.util.AbstractSchemaRepository; +import org.opendaylight.yangtools.yang.model.repo.spi.AbstractSchemaRepository; import org.opendaylight.yangtools.yang.parser.impl.YangParserFactoryImpl; /** diff --git a/yang/yang-parser-rfc7950/pom.xml b/yang/yang-parser-rfc7950/pom.xml index 5b0179ea79..c2e0dfc927 100644 --- a/yang/yang-parser-rfc7950/pom.xml +++ b/yang/yang-parser-rfc7950/pom.xml @@ -42,10 +42,6 @@ org.opendaylight.yangtools yang-model-spi - - org.opendaylight.yangtools - yang-model-util - org.opendaylight.yangtools yang-parser-api diff --git a/yang/yang-parser-rfc7950/src/main/java/module-info.java b/yang/yang-parser-rfc7950/src/main/java/module-info.java index bfe9ffc282..8f32b29515 100644 --- a/yang/yang-parser-rfc7950/src/main/java/module-info.java +++ b/yang/yang-parser-rfc7950/src/main/java/module-info.java @@ -26,7 +26,6 @@ module org.opendaylight.yangtools.yang.parser.rfc7950 { requires org.opendaylight.yangtools.yang.common; requires org.opendaylight.yangtools.yang.model.api; requires org.opendaylight.yangtools.yang.model.spi; - requires org.opendaylight.yangtools.yang.model.util; requires org.opendaylight.yangtools.yang.parser.antlr; requires org.opendaylight.yangtools.util; requires org.slf4j; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/TextToIRTransformer.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/TextToIRTransformer.java index 6a7a189b44..4bb1616d8c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/TextToIRTransformer.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/TextToIRTransformer.java @@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; -import org.opendaylight.yangtools.yang.model.repo.util.SchemaSourceTransformer; +import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceTransformer; import org.opendaylight.yangtools.yang.parser.rfc7950.ir.AntlrSupport; import org.opendaylight.yangtools.yang.parser.rfc7950.ir.IRSchemaSource; import org.opendaylight.yangtools.yang.parser.rfc7950.ir.IRStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinTextToDomTransformer.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinTextToDomTransformer.java index aa6c332759..42ab4e832a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinTextToDomTransformer.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinTextToDomTransformer.java @@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.YinDomSchemaSource; import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource; import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistry; -import org.opendaylight.yangtools.yang.model.repo.util.SchemaSourceTransformer; +import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceTransformer; import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; -- 2.36.6