From: Robert Varga Date: Thu, 2 Sep 2021 19:23:37 +0000 (+0200) Subject: Adopt odlparent-10.0.0/yangtools-8.0.0-SNAPSHOT X-Git-Tag: v9.0.0~22 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=11408d627adca7eb71ac956c3ad01f75b6b91596 Adopt odlparent-10.0.0/yangtools-8.0.0-SNAPSHOT Bump upstream versions to pick up dependency upgrades and major features from yangtools. Also adjust code to package movements and fix test models now that unique components are validated by YANG parser. Change-Id: Id15dd16daea9fe80af030103069d999129b28cf6 Signed-off-by: Robert Varga --- diff --git a/artifacts/pom.xml b/artifacts/pom.xml index 67a6b9f063..a5b43cbe05 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/binding/binding-parent/pom.xml b/binding/binding-parent/pom.xml index 7d4b366ea9..5efff38165 100644 --- a/binding/binding-parent/pom.xml +++ b/binding/binding-parent/pom.xml @@ -54,7 +54,7 @@ org.opendaylight.yangtools yang-maven-plugin - 7.0.14 + 8.0.0-SNAPSHOT org.opendaylight.mdsal diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/MatchBuilderPath.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/MatchBuilderPath.java index 24fcfc22ab..e50af0f26d 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/MatchBuilderPath.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/MatchBuilderPath.java @@ -9,7 +9,6 @@ package org.opendaylight.mdsal.binding.api.query; import com.google.common.annotations.Beta; import java.io.Serializable; -import java.math.BigDecimal; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.binding.BaseIdentity; @@ -19,6 +18,7 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.Identifiable; import org.opendaylight.yangtools.yang.binding.Identifier; import org.opendaylight.yangtools.yang.binding.TypeObject; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -79,7 +79,7 @@ public interface MatchBuilderPath ex * @return A {@link ValueMatchBuilder} * @throws NullPointerException if methodRef is null */ - @NonNull ComparableMatchBuilder leaf(Decimal64LeafReference methodRef); + @NonNull ComparableMatchBuilder leaf(Decimal64LeafReference methodRef); /** * Match an {@code empty} leaf's value. @@ -223,7 +223,7 @@ public interface MatchBuilderPath ex } @FunctionalInterface - public interface Decimal64LeafReference

extends LeafReference { + public interface Decimal64LeafReference

extends LeafReference { } diff --git a/binding/mdsal-binding-api/src/test/java/org/opendaylight/mdsal/binding/api/query/QueryBuilderExamples.java b/binding/mdsal-binding-api/src/test/java/org/opendaylight/mdsal/binding/api/query/QueryBuilderExamples.java index eb63fe2f25..cfa8086949 100644 --- a/binding/mdsal-binding-api/src/test/java/org/opendaylight/mdsal/binding/api/query/QueryBuilderExamples.java +++ b/binding/mdsal-binding-api/src/test/java/org/opendaylight/mdsal/binding/api/query/QueryBuilderExamples.java @@ -7,7 +7,6 @@ */ package org.opendaylight.mdsal.binding.api.query; -import java.math.BigDecimal; import org.mockito.Mock; import org.opendaylight.yang.gen.v1.mdsal.query.norev.Foo; import org.opendaylight.yang.gen.v1.mdsal.query.norev.first.grp.System; @@ -17,6 +16,7 @@ import org.opendaylight.yang.gen.v1.mdsal.query.norev.third.grp.AffectedUsers; import org.opendaylight.yang.gen.v1.mdsal426.norev.BooleanCont; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns._default.value.test.norev.DecimalContainer; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Uint64; @SuppressWarnings("exports") @@ -150,7 +150,7 @@ public class QueryBuilderExamples { .querySubtree(InstanceIdentifier.create(DecimalContainer.class)) .matching() .leaf(DecimalContainer::getDecimalLeaf5) - .valueEquals(BigDecimal.ONE) + .valueEquals(Decimal64.valueOf("1.0")) .build(); } } diff --git a/binding/mdsal-binding-dom-adapter/pom.xml b/binding/mdsal-binding-dom-adapter/pom.xml index 367d324ba3..121dc5a410 100644 --- a/binding/mdsal-binding-dom-adapter/pom.xml +++ b/binding/mdsal-binding-dom-adapter/pom.xml @@ -56,15 +56,23 @@ org.osgi - osgi.annotation + org.osgi.annotation.versioning org.osgi - osgi.core + org.osgi.framework org.osgi - osgi.cmpn + org.osgi.service.component + + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.util.tracker diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionProviderServiceAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionProviderServiceAdapter.java index d4b63b5ee4..df1b933e1a 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionProviderServiceAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionProviderServiceAdapter.java @@ -34,7 +34,8 @@ import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.binding.Action; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.YangConstants; @@ -125,13 +126,14 @@ public final class ActionProviderServiceAdapter extends AbstractBindingAdapter> userFuture = implementation.invoke(instance, diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeListenerAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeListenerAdapter.java index 31296762d6..61240d57f4 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeListenerAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeListenerAdapter.java @@ -14,7 +14,7 @@ import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; /** * Adapter wrapping Binding {@link DataTreeChangeListener} and exposing it as {@link DOMDataTreeChangeListener} diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMTransactionChainAdapter.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMTransactionChainAdapter.java index 9ccb36df53..dad9227be2 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMTransactionChainAdapter.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMTransactionChainAdapter.java @@ -15,7 +15,6 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.function.Function; import java.util.function.Supplier; import org.opendaylight.mdsal.binding.api.ReadTransaction; @@ -86,8 +85,6 @@ final class BindingDOMTransactionChainAdapter implements TransactionChain, Deleg }; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private > F listenForFailure(final WriteTransaction tx, final F future) { Futures.addCallback(future, new FutureCallback() { @Override @@ -104,8 +101,6 @@ final class BindingDOMTransactionChainAdapter implements TransactionChain, Deleg return future; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private void failTransactionChain(final WriteTransaction tx, final Throwable throwable) { /* * We asume correct state change for underlaying transaction diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralType.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralType.java index 3673d783f9..7fabbeab78 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralType.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralType.java @@ -25,7 +25,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; /** * Defines structural mapping of Normalized Node to Binding data addressable by Instance Identifier. Not all binding diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java index 31711cd7be..3c485f4694 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java @@ -10,7 +10,6 @@ package org.opendaylight.mdsal.binding.dom.adapter; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.lang.reflect.Method; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -91,8 +90,6 @@ abstract class ContextReferenceExtractor { */ abstract @Nullable InstanceIdentifier extract(DataObject obj); - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private static @Nullable Method findGetValueMethod(final Class type, final Class returnType) { try { final Method method = type.getMethod(GET_VALUE_NAME); diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataObjectModification.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataObjectModification.java index 6ee2ff26a1..29cb1cdf2c 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataObjectModification.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataObjectModification.java @@ -9,7 +9,7 @@ package org.opendaylight.mdsal.binding.dom.adapter; import static com.google.common.base.Verify.verify; import static java.util.Objects.requireNonNull; -import static org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType.UNMODIFIED; +import static org.opendaylight.yangtools.yang.data.tree.api.ModificationType.UNMODIFIED; import com.google.common.base.MoreObjects; import java.util.ArrayList; @@ -33,7 +33,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java index 5773430629..8c89a5a128 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java @@ -22,7 +22,7 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeCandidate; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; /** * Lazily translated {@link DataTreeModification} based on {@link DataTreeCandidate}. diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcResultUtil.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcResultUtil.java index e9190f2670..179f276cd0 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcResultUtil.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcResultUtil.java @@ -12,8 +12,8 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMActionResult; import org.opendaylight.mdsal.dom.api.DOMRpcResult; +import org.opendaylight.yangtools.yang.common.ErrorSeverity; import org.opendaylight.yangtools.yang.common.RpcError; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorSeverity; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultMatchBuilderPath.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultMatchBuilderPath.java index e6d4667873..23f23f1774 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultMatchBuilderPath.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultMatchBuilderPath.java @@ -9,7 +9,6 @@ package org.opendaylight.mdsal.binding.dom.adapter.query; import static java.util.Objects.requireNonNull; -import java.math.BigDecimal; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.query.ComparableMatchBuilder; import org.opendaylight.mdsal.binding.api.query.MatchBuilderPath; @@ -24,6 +23,7 @@ import org.opendaylight.yangtools.yang.binding.Identifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder; import org.opendaylight.yangtools.yang.binding.TypeObject; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -71,7 +71,7 @@ final class DefaultMatchBuilderPath } @Override - public ComparableMatchBuilder leaf(final Decimal64LeafReference methodRef) { + public ComparableMatchBuilder leaf(final Decimal64LeafReference methodRef) { return comparableFor(methodRef); } diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapterTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapterTest.java index 4ec75095ec..6447d76447 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapterTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapterTest.java @@ -31,7 +31,7 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; @RunWith(MockitoJUnitRunner.StrictStubs.class) public class BindingDOMDataTreeCommitCohortAdapterTest { diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointListenerAdapterTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointListenerAdapterTest.java index 82b61b2f31..ebb605d87e 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointListenerAdapterTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointListenerAdapterTest.java @@ -12,7 +12,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoInteractions; import com.google.common.util.concurrent.MoreExecutors; import org.junit.Before; @@ -60,13 +60,13 @@ public class BindingDOMMountPointListenerAdapterTest { public void onMountPointCreatedWithExceptionTest() throws Exception { reset(listener); bindingDOMMountPointListenerAdapter.onMountPointCreated(YangInstanceIdentifier.empty()); - verifyZeroInteractions(listener); + verifyNoInteractions(listener); } @Test public void onMountPointRemovedWithExceptionTest() throws Exception { reset(listener); bindingDOMMountPointListenerAdapter.onMountPointRemoved(YangInstanceIdentifier.empty()); - verifyZeroInteractions(listener); + verifyNoInteractions(listener); } } \ No newline at end of file diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralTypeTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralTypeTest.java index f6c1589707..4469c0c076 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralTypeTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralTypeTest.java @@ -14,7 +14,7 @@ import static org.mockito.Mockito.mock; import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; public class BindingStructuralTypeTest { @Test diff --git a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModificationTest.java b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModificationTest.java index 3b62fb8629..8812f7b3ef 100644 --- a/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModificationTest.java +++ b/binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModificationTest.java @@ -21,7 +21,7 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; public class LazyDataTreeModificationTest { @Test diff --git a/binding/mdsal-binding-dom-codec-osgi/pom.xml b/binding/mdsal-binding-dom-codec-osgi/pom.xml index fe2c76eb76..eb2ac4e547 100644 --- a/binding/mdsal-binding-dom-codec-osgi/pom.xml +++ b/binding/mdsal-binding-dom-codec-osgi/pom.xml @@ -30,11 +30,15 @@ org.osgi - osgi.core + org.osgi.framework org.osgi - osgi.cmpn + org.osgi.service.component + + + org.osgi + org.osgi.service.component.annotations diff --git a/binding/mdsal-binding-dom-codec/pom.xml b/binding/mdsal-binding-dom-codec/pom.xml index 0f1f37bcd7..07b063cc24 100644 --- a/binding/mdsal-binding-dom-codec/pom.xml +++ b/binding/mdsal-binding-dom-codec/pom.xml @@ -54,7 +54,7 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java index 41d79d8713..b1fbf23dc4 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java @@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.binding.BindingObject; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -26,12 +27,13 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; */ abstract class AbstractBindingNormalizedNodeCache extends CacheLoader { - private final LoadingCache cache = CacheBuilder.newBuilder().weakValues().build(this); - + private final LoadingCache cache; private final @NonNull C rootContext; + @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "False positive") AbstractBindingNormalizedNodeCache(final C rootContext) { this.rootContext = requireNonNull(rootContext); + cache = CacheBuilder.newBuilder().weakValues().build(this); } /** diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java index e170ccd254..6100d4db20 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java @@ -18,6 +18,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.MultimapBuilder.SetMultimapBuilder; import com.google.common.collect.Multimaps; import com.google.common.collect.SetMultimap; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; @@ -266,8 +267,9 @@ final class ChoiceNodeCodecContext extends DataContainerCo .yangPathArgumentChild(arg); } - @SuppressWarnings("unchecked") @Override + @SuppressWarnings("unchecked") + @SuppressFBWarnings(value = "NP_NONNULL_RETURN_VIOLATION", justification = "See FIXME below") public D deserialize(final NormalizedNode data) { checkArgument(data instanceof ChoiceNode); final ChoiceNode casted = (ChoiceNode) data; diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java index 189d443abc..aa6dd00d8f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java @@ -24,7 +24,6 @@ import org.opendaylight.yangtools.yang.common.Ordering; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; -import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; abstract class KeyedListNodeCodecContext, D extends DataObject & Identifiable> extends ListNodeCodecContext { @@ -70,9 +69,8 @@ abstract class KeyedListNodeCodecContext, D extends Data final ListRuntimeType type = prototype.getType(); final IdentifiableItemCodec codec = prototype.getFactory().getPathArgumentCodec(bindingClass, type); - return type.statement().findFirstEffectiveSubstatementArgument(OrderedByEffectiveStatement.class) - .orElse(Ordering.SYSTEM) == Ordering.SYSTEM ? new Unordered<>(prototype, keyMethod, codec) - : new Ordered<>(prototype, keyMethod, codec); + return type.statement().ordering() == Ordering.SYSTEM ? new Unordered<>(prototype, keyMethod, codec) + : new Ordered<>(prototype, keyMethod, codec); } @Override diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java index 29bbebf469..8b80d4152b 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java @@ -18,7 +18,6 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.util.concurrent.UncheckedExecutionException; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; @@ -318,8 +317,6 @@ final class SchemaRootCodecContext extends DataContainerCo * @param qname input or output QName with namespace same as RPC * @return input or output schema. Returns null if RPC does not have input/output specified. */ - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private static @Nullable ContainerLike getRpcDataSchema(final @NonNull RpcDefinition rpc, final @NonNull QName qname) { requireNonNull(rpc, "Rpc Schema must not be null"); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java index 41710c97c7..6e4bbdb85f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java @@ -83,14 +83,12 @@ final class UnionTypeCodec extends ReflectionBasedCodec { @Override public Object serialize(final Object input) { - if (input != null) { - for (final UnionValueOptionContext valCtx : typeCodecs) { - final Object domValue = valCtx.serialize(input); - if (domValue != null) { - return domValue; - } + for (final UnionValueOptionContext valCtx : typeCodecs) { + final Object domValue = valCtx.serialize(input); + if (domValue != null) { + return domValue; } } - return null; + throw new IllegalStateException("No codec matched value " + input); } } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierSerializeDeserializeTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierSerializeDeserializeTest.java index 9b4ad7e90f..e000547f16 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierSerializeDeserializeTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierSerializeDeserializeTest.java @@ -219,6 +219,7 @@ public class InstanceIdentifierSerializeDeserializeTest extends AbstractBindingC NodeIdentifier.create(Foo.QNAME)); final var ex = assertThrows(IncorrectNestingException.class, () -> codecContext.fromYangInstanceIdentifier(yiid)); - assertEquals("Argument (urn:odl:actions)foo is not valid child of list lst", ex.getMessage()); + assertEquals("Argument (urn:odl:actions)foo is not valid child of " + + "EmptyListEffectiveStatement{argument=(urn:odl:actions)lst}", ex.getMessage()); } } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java index ea6453e76a..15f64e2e4b 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java @@ -14,7 +14,6 @@ import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -327,8 +326,6 @@ final class CollisionDomain { return MoreObjects.toStringHelper(this).add("gen", gen).toString(); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private @NonNull Member addMember(final @NonNull Member member) { if (members.isEmpty()) { members = new ArrayList<>(); @@ -337,8 +334,6 @@ final class CollisionDomain { return member; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private static @NonNull String packageString(final AbstractQName component) { // Replace dashes with dots, as dashes are not allowed in package names return component.getLocalName().replace('-', '.'); diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java index e9f744db9a..ee9cef9df6 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java @@ -13,7 +13,6 @@ import org.opendaylight.mdsal.binding.model.ri.Types; import org.opendaylight.mdsal.binding.runtime.api.LeafListRuntimeType; import org.opendaylight.yangtools.yang.common.Ordering; import org.opendaylight.yangtools.yang.model.api.stmt.LeafListEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; /** * Generator corresponding to a {@code leaf-list} statement. @@ -30,16 +29,11 @@ final class LeafListGenerator // List, we will try to narrow the return type in subclasses. final Type type = super.methodReturnType(builderFactory); final boolean isObject = Types.objectType().equals(type); - final Ordering ordering = statement().findFirstEffectiveSubstatementArgument(OrderedByEffectiveStatement.class) - .orElse(Ordering.SYSTEM); - switch (ordering) { - case SYSTEM: - return isObject ? Types.setTypeWildcard() : Types.setTypeFor(type); - case USER: - return isObject ? Types.listTypeWildcard() : Types.listTypeFor(type); - default: - throw new IllegalStateException("Unexpected ordering " + ordering); + + if (statement().ordering() == Ordering.SYSTEM) { + return isObject ? Types.setTypeWildcard() : Types.setTypeFor(type); } + return isObject ? Types.listTypeWildcard() : Types.listTypeFor(type); } @Override diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java index a7c464e392..9bc44ba413 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java @@ -26,7 +26,6 @@ import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.common.Ordering; import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ListEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** @@ -92,13 +91,8 @@ final class ListGenerator extends CompositeSchemaTreeGenerator) stmt).getIdentifier(); - final Optional> child = - target.get(SchemaTreeAwareEffectiveStatement.Namespace.class, qname); - child.ifPresent(builder::add); + target.get(SchemaTreeNamespace.class, qname).ifPresent(builder::add); } else { builder.add(stmt); } @@ -83,8 +81,7 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement } @Override - public > Optional get(final Class namespace, - final K identifier) { + public > Optional get(final Class namespace, final K identifier) { return Optional.empty(); } @@ -94,7 +91,7 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement } @Override - public Collection> effectiveSubstatements() { + public List> effectiveSubstatements() { return substatements; } @@ -160,10 +157,4 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement public AugmentEffectiveStatement asEffectiveStatement() { return this; } - - @Override - @Deprecated(forRemoval = true) - public Optional getOriginalDefinition() { - return schemaDelegate.getOriginalDefinition(); - } } diff --git a/binding/mdsal-binding-generator/src/test/resources/augment-relative-xpath-models/ietf-interfaces@2012-11-15.yang b/binding/mdsal-binding-generator/src/test/resources/augment-relative-xpath-models/ietf-interfaces@2012-11-15.yang index 4518e0e58f..132eafe981 100644 --- a/binding/mdsal-binding-generator/src/test/resources/augment-relative-xpath-models/ietf-interfaces@2012-11-15.yang +++ b/binding/mdsal-binding-generator/src/test/resources/augment-relative-xpath-models/ietf-interfaces@2012-11-15.yang @@ -17,7 +17,6 @@ module ietf-interfaces { list interface { key "name"; - unique "type location"; leaf name { type string; diff --git a/binding/mdsal-binding-generator/src/test/resources/augment-test-models/ietf-interfaces@2012-11-15.yang b/binding/mdsal-binding-generator/src/test/resources/augment-test-models/ietf-interfaces@2012-11-15.yang index 4518e0e58f..132eafe981 100644 --- a/binding/mdsal-binding-generator/src/test/resources/augment-test-models/ietf-interfaces@2012-11-15.yang +++ b/binding/mdsal-binding-generator/src/test/resources/augment-test-models/ietf-interfaces@2012-11-15.yang @@ -17,7 +17,6 @@ module ietf-interfaces { list interface { key "name"; - unique "type location"; leaf name { type string; diff --git a/binding/mdsal-binding-generator/src/test/resources/ietf-models/ietf-interfaces.yang b/binding/mdsal-binding-generator/src/test/resources/ietf-models/ietf-interfaces.yang index 481a5d2ed1..1805229767 100644 --- a/binding/mdsal-binding-generator/src/test/resources/ietf-models/ietf-interfaces.yang +++ b/binding/mdsal-binding-generator/src/test/resources/ietf-models/ietf-interfaces.yang @@ -87,7 +87,7 @@ module ietf-interfaces { list interface { key "name"; - unique "type location"; + unique "location"; description "The list of interfaces on the device."; @@ -466,4 +466,4 @@ module ietf-interfaces { } } } -} \ No newline at end of file +} diff --git a/binding/mdsal-binding-java-api-generator/pom.xml b/binding/mdsal-binding-java-api-generator/pom.xml index 9ed8ce220f..b4496fd569 100644 --- a/binding/mdsal-binding-java-api-generator/pom.xml +++ b/binding/mdsal-binding-java-api-generator/pom.xml @@ -39,6 +39,7 @@ org.eclipse.xtend org.eclipse.xtend.lib + 2.26.0 com.google.guava @@ -64,6 +65,18 @@ org.eclipse.xtend xtend-maven-plugin + 2.26.0 + + + + compile + + + ${maven.compiler.release} + ${project.build.directory}/generated-sources/xtend + + + diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractRangeGenerator.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractRangeGenerator.java index 7cdd75d9e5..27c580f9af 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractRangeGenerator.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractRangeGenerator.java @@ -35,7 +35,7 @@ abstract class AbstractRangeGenerator> { addGenerator(b, new ShortRangeGenerator()); addGenerator(b, new IntegerRangeGenerator()); addGenerator(b, new LongRangeGenerator()); - addGenerator(b, new BigDecimalRangeGenerator()); + addGenerator(b, new Decimal64RangeGenerator()); addGenerator(b, new Uint8RangeGenerator()); addGenerator(b, new Uint16RangeGenerator()); addGenerator(b, new Uint32RangeGenerator()); diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGenerator.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGenerator.java deleted file mode 100644 index 185cf49fe3..0000000000 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGenerator.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * 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.mdsal.binding.java.api.generator; - -import java.math.BigDecimal; -import java.math.BigInteger; - -final class BigDecimalRangeGenerator extends AbstractBigRangeGenerator { - BigDecimalRangeGenerator() { - super(BigDecimal.class); - } - - @Override - protected String format(final BigDecimal value) { - if (BigDecimal.ZERO.equals(value)) { - return "java.math.BigDecimal.ZERO"; - } - if (BigDecimal.ONE.equals(value)) { - return "java.math.BigDecimal.ONE"; - } - if (BigDecimal.TEN.equals(value)) { - return "java.math.BigDecimal.TEN"; - } - - // FIXME: can we do something better? - return "new java.math.BigDecimal(\"" + value + "\")"; - } - - @Override - @Deprecated - protected BigDecimal convert(final Number value) { - if (value instanceof BigInteger) { - return new BigDecimal((BigInteger)value); - } else if (value instanceof Byte) { - return new BigDecimal(value.intValue()); - } else if (value instanceof Short) { - return new BigDecimal(value.intValue()); - } else if (value instanceof Integer) { - return new BigDecimal(value.intValue()); - } else { - return BigDecimal.valueOf(value.longValue()); - } - } -} diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend index 5f021cd6a8..ef932e6e9b 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend @@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.java.api.generator import static java.util.Objects.requireNonNull import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.BINARY_TYPE import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.BOOLEAN_TYPE +import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.DECIMAL64_TYPE import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.EMPTY_TYPE import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INSTANCE_IDENTIFIER import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INT16_TYPE @@ -61,6 +62,7 @@ class ClassTemplate extends BaseTemplate { static val Comparator PROP_COMPARATOR = Comparator.comparing([prop | prop.name]) static val VALUEOF_TYPES = Set.of( BOOLEAN_TYPE, + DECIMAL64_TYPE, INT8_TYPE, INT16_TYPE, INT32_TYPE, diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGenerator.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGenerator.java new file mode 100644 index 0000000000..e4b5696fdf --- /dev/null +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGenerator.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * 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.mdsal.binding.java.api.generator; + +import org.opendaylight.yangtools.yang.common.Decimal64; +import org.opendaylight.yangtools.yang.common.Uint16; +import org.opendaylight.yangtools.yang.common.Uint8; + +final class Decimal64RangeGenerator extends AbstractBigRangeGenerator { + Decimal64RangeGenerator() { + super(Decimal64.class); + } + + @Override + protected String format(final Decimal64 value) { + return "org.opendaylight.yangtools.yang.common.Decimal64.valueOf(\"" + value + "\")"; + } + + @Override + @Deprecated + protected Decimal64 convert(final Number value) { + if (value instanceof Byte || value instanceof Short || value instanceof Integer + || value instanceof Uint8 || value instanceof Uint16) { + return Decimal64.valueOf(value.intValue()); + } else { + return Decimal64.valueOf(value.longValue()); + } + } +} diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java index cb0e5c5499..0b3a936f5b 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java @@ -50,8 +50,8 @@ import org.opendaylight.mdsal.binding.model.ri.Types; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.CodeHelpers; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.XMLNamespace; +//import org.opendaylight.yangtools.yang.common.QName; +//import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DocumentedNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; @@ -413,9 +413,9 @@ class JavaFileTemplate { if (node instanceof SchemaNode) { final SchemaNode schema = (SchemaNode) node; - sb.append("The schema path to identify an instance is\n"); - appendPath(sb.append(""), def.getModule(), schema.getPath().getPathFromRoot()); - sb.append("\n"); +// sb.append("The schema path to identify an instance is\n"); +// appendPath(sb.append(""), def.getModule(), schema.getPath().getPathFromRoot()); +// sb.append("\n"); if (hasBuilderClass(schema)) { final String builderName = type.getName() + BindingMapping.BUILDER_SUFFIX; @@ -455,24 +455,24 @@ class JavaFileTemplate { } } - private static void appendPath(final StringBuilder sb, final ModuleEffectiveStatement module, - final List path) { - if (!path.isEmpty()) { - // FIXME: this is module name, while when we switch, we end up using QName.toString() -- which is weird - sb.append(module.argument().getLocalName()); - XMLNamespace currentNamespace = path.get(0).getNamespace(); - - for (QName pathElement : path) { - final XMLNamespace elementNamespace = pathElement.getNamespace(); - if (!elementNamespace.equals(currentNamespace)) { - sb.append(pathElement); - currentNamespace = elementNamespace; - } else { - sb.append(pathElement.getLocalName()); - } - } - } - } +// private static void appendPath(final StringBuilder sb, final ModuleEffectiveStatement module, +// final List path) { +// if (!path.isEmpty()) { +// // FIXME: this is module name, while when we switch, we end up using QName.toString() -- which is weird +// sb.append(module.argument().getLocalName()); +// XMLNamespace currentNamespace = path.get(0).getNamespace(); +// +// for (QName pathElement : path) { +// final XMLNamespace elementNamespace = pathElement.getNamespace(); +// if (!elementNamespace.equals(currentNamespace)) { +// sb.append(pathElement); +// currentNamespace = elementNamespace; +// } else { +// sb.append(pathElement.getLocalName()); +// } +// } +// } +// } private static boolean hasBuilderClass(final SchemaNode schemaNode) { return schemaNode instanceof ContainerSchemaNode || schemaNode instanceof ListSchemaNode diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGeneratorTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGeneratorTest.java deleted file mode 100644 index c732c65b91..0000000000 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGeneratorTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * 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.mdsal.binding.java.api.generator; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.math.BigDecimal; -import java.math.BigInteger; -import org.junit.Test; - -public class BigDecimalRangeGeneratorTest { - - @Test - @Deprecated - public void convertTest() { - BigDecimalRangeGenerator generator = new BigDecimalRangeGenerator(); - assertEquals(BigDecimal.valueOf(1L), generator.convert(1L)); - assertEquals(BigDecimal.valueOf(1), generator.convert(new BigInteger("1"))); - assertEquals(BigDecimal.valueOf(1), generator.convert(new Byte("1"))); - assertEquals(BigDecimal.valueOf(1), generator.convert(new Short("1"))); - assertEquals(BigDecimal.valueOf(1), generator.convert(new Integer("1"))); - assertNotNull(generator.format(BigDecimal.TEN)); - } -} \ No newline at end of file diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java index d629cf0a90..8eb368002a 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java @@ -25,7 +25,6 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.lang.reflect.WildcardType; -import java.math.BigDecimal; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; @@ -38,6 +37,7 @@ import org.junit.Test; import org.opendaylight.mdsal.binding.model.ri.TypeConstants; import org.opendaylight.yangtools.yang.binding.ChildOf; import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -400,7 +400,7 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.assertContainsMethod(nodesClass, b.getClass(), "getIdBinary"); CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdBits", "getIdBits", loader); CompilationTestUtils.assertContainsMethod(nodesClass, Boolean.class, "getIdBoolean"); - CompilationTestUtils.assertContainsMethod(nodesClass, BigDecimal.class, "getIdDecimal64"); + CompilationTestUtils.assertContainsMethod(nodesClass, Decimal64.class, "getIdDecimal64"); CompilationTestUtils.assertContainsMethod(nodesClass, Empty.class, "getIdEmpty"); CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdEnumeration", "getIdEnumeration", loader); testReturnTypeIdentityref(nodesClass, "getIdIdentityref", pkg + ".Alg"); @@ -429,10 +429,10 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.assertContainsRestrictionCheck(builderObj, method, expectedMsg, arg); method = CompilationTestUtils.assertContainsMethod(builderClass, builderClass, "setIdDecimal64", - BigDecimal.class); - final List> rangeConstraints = new ArrayList<>(); - rangeConstraints.add(Range.closed(new BigDecimal("1.5"), new BigDecimal("5.5"))); - Object arg1 = new BigDecimal("1.4"); + Decimal64.class); + final List> rangeConstraints = new ArrayList<>(); + rangeConstraints.add(Range.closed(Decimal64.valueOf("1.5"), Decimal64.valueOf("5.5"))); + Object arg1 = Decimal64.valueOf("1.4"); expectedMsg = String.format("Invalid range: %s, expected: %s.", arg1, rangeConstraints); CompilationTestUtils.assertContainsRestrictionCheck(builderObj, method, expectedMsg, arg1); diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGeneratorTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGeneratorTest.java new file mode 100644 index 0000000000..83df185a4c --- /dev/null +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGeneratorTest.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * 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.mdsal.binding.java.api.generator; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.math.BigInteger; +import org.junit.Test; +import org.opendaylight.yangtools.yang.common.Decimal64; + +public class Decimal64RangeGeneratorTest { + @Test + @Deprecated + public void convertTest() { + Decimal64RangeGenerator generator = new Decimal64RangeGenerator(); + Decimal64 one = Decimal64.valueOf(1); + assertEquals(one, generator.convert(1L)); + assertEquals(one, generator.convert(new BigInteger("1"))); + assertEquals(one, generator.convert(Byte.valueOf("1"))); + assertEquals(one, generator.convert(Short.valueOf("1"))); + assertEquals(one, generator.convert(Integer.valueOf("1"))); + assertNotNull(generator.format(Decimal64.valueOf("10"))); + } +} \ No newline at end of file diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java index 296395920e..773c36b1ed 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java @@ -15,18 +15,17 @@ import com.google.common.collect.Range; import java.io.File; import java.lang.reflect.Constructor; import java.lang.reflect.Method; -import java.math.BigDecimal; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.junit.Test; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; /** * Test correct code generation. - * */ public class TypedefCompilationTest extends BaseCompilationTest { private static final String VAL = "_value"; @@ -223,50 +222,50 @@ public class TypedefCompilationTest extends BaseCompilationTest { // typedef my-decimal-type assertFalse(myDecimalTypeClass.isInterface()); - CompilationTestUtils.assertContainsField(myDecimalTypeClass, VAL, BigDecimal.class); + CompilationTestUtils.assertContainsField(myDecimalTypeClass, VAL, Decimal64.class); CompilationTestUtils.assertContainsFieldWithValue(myDecimalTypeClass, "serialVersionUID", Long.TYPE, - 3143735729419861095L, BigDecimal.class); + 3143735729419861095L, Decimal64.class); assertEquals(3, myDecimalTypeClass.getDeclaredFields().length); - CompilationTestUtils.assertContainsMethod(myDecimalTypeClass, BigDecimal.class, "getValue"); - expectedConstructor = CompilationTestUtils.assertContainsConstructor(myDecimalTypeClass, BigDecimal.class); + CompilationTestUtils.assertContainsMethod(myDecimalTypeClass, Decimal64.class, "getValue"); + expectedConstructor = CompilationTestUtils.assertContainsConstructor(myDecimalTypeClass, Decimal64.class); CompilationTestUtils.assertContainsConstructor(myDecimalTypeClass, myDecimalTypeClass); assertEquals(2, myDecimalTypeClass.getDeclaredConstructors().length); - CompilationTestUtils.assertContainsMethod(myDecimalTypeClass, BigDecimal.class, GET_VAL); + CompilationTestUtils.assertContainsMethod(myDecimalTypeClass, Decimal64.class, GET_VAL); CompilationTestUtils.assertContainsDefaultMethods(myDecimalTypeClass); defInst = CompilationTestUtils.assertContainsMethod(myDecimalTypeClass, myDecimalTypeClass, "getDefaultInstance", String.class); assertEquals(7, myDecimalTypeClass.getDeclaredMethods().length); - List> decimalRangeConstraints = new ArrayList<>(); - decimalRangeConstraints.add(Range.closed(new BigDecimal("1.5"), new BigDecimal("5.5"))); - arg = new BigDecimal("1.4"); + List> decimalRangeConstraints = new ArrayList<>(); + decimalRangeConstraints.add(Range.closed(Decimal64.valueOf("1.5"), Decimal64.valueOf("5.5"))); + arg = Decimal64.valueOf("1.4"); expectedMsg = String.format("Invalid range: %s, expected: %s.", arg, decimalRangeConstraints); CompilationTestUtils.assertContainsRestrictionCheck(expectedConstructor, expectedMsg, arg); - obj = expectedConstructor.newInstance(new BigDecimal("3.14")); + obj = expectedConstructor.newInstance(Decimal64.valueOf("3.14")); assertEquals(obj, defInst.invoke(null, "3.14")); // typedef my-decimal-type2 assertFalse(myDecimalType2Class.isInterface()); - CompilationTestUtils.assertContainsField(myDecimalType2Class, VAL, BigDecimal.class); + CompilationTestUtils.assertContainsField(myDecimalType2Class, VAL, Decimal64.class); CompilationTestUtils.assertContainsFieldWithValue(myDecimalType2Class, "serialVersionUID", Long.TYPE, - -672265764962082714L, BigDecimal.class); + -672265764962082714L, Decimal64.class); assertEquals(3, myDecimalType2Class.getDeclaredFields().length); - CompilationTestUtils.assertContainsMethod(myDecimalType2Class, BigDecimal.class, "getValue"); - expectedConstructor = CompilationTestUtils.assertContainsConstructor(myDecimalType2Class, BigDecimal.class); + CompilationTestUtils.assertContainsMethod(myDecimalType2Class, Decimal64.class, "getValue"); + expectedConstructor = CompilationTestUtils.assertContainsConstructor(myDecimalType2Class, Decimal64.class); CompilationTestUtils.assertContainsConstructor(myDecimalType2Class, myDecimalType2Class); assertEquals(2, myDecimalType2Class.getDeclaredConstructors().length); - CompilationTestUtils.assertContainsMethod(myDecimalType2Class, BigDecimal.class, GET_VAL); + CompilationTestUtils.assertContainsMethod(myDecimalType2Class, Decimal64.class, GET_VAL); CompilationTestUtils.assertContainsDefaultMethods(myDecimalType2Class); defInst = CompilationTestUtils.assertContainsMethod(myDecimalType2Class, myDecimalType2Class, "getDefaultInstance", String.class); assertEquals(7, myDecimalType2Class.getDeclaredMethods().length); - List> decimal2RangeConstraints = new ArrayList<>(); - decimal2RangeConstraints.add(Range.closed(new BigDecimal("0"), new BigDecimal("1"))); - arg = new BigDecimal("1.4"); + List> decimal2RangeConstraints = new ArrayList<>(); + decimal2RangeConstraints.add(Range.closed(Decimal64.valueOf("0.0"), Decimal64.valueOf("1.0"))); + arg = Decimal64.valueOf("1.4"); expectedMsg = String.format("Invalid range: %s, expected: %s.", arg, decimal2RangeConstraints); CompilationTestUtils.assertContainsRestrictionCheck(expectedConstructor, expectedMsg, arg); - obj = expectedConstructor.newInstance(new BigDecimal("0.14")); + obj = expectedConstructor.newInstance(Decimal64.valueOf("0.14")); assertEquals(obj, defInst.invoke(null, "0.14")); // typedef union-ext1 diff --git a/binding/mdsal-binding-java-api-generator/src/test/resources/yang/ietf-interfaces@2012-11-15.yang b/binding/mdsal-binding-java-api-generator/src/test/resources/yang/ietf-interfaces@2012-11-15.yang index 481a5d2ed1..1805229767 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/resources/yang/ietf-interfaces@2012-11-15.yang +++ b/binding/mdsal-binding-java-api-generator/src/test/resources/yang/ietf-interfaces@2012-11-15.yang @@ -87,7 +87,7 @@ module ietf-interfaces { list interface { key "name"; - unique "type location"; + unique "location"; description "The list of interfaces on the device."; @@ -466,4 +466,4 @@ module ietf-interfaces { } } } -} \ No newline at end of file +} diff --git a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BaseYangTypes.java b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BaseYangTypes.java index 3de70abddd..9174293379 100644 --- a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BaseYangTypes.java +++ b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BaseYangTypes.java @@ -7,8 +7,8 @@ */ package org.opendaylight.mdsal.binding.model.ri; -import java.math.BigDecimal; import org.opendaylight.mdsal.binding.model.api.Type; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -56,7 +56,7 @@ public final class BaseYangTypes { /** * {@code Type} representation of {@code decimal64} YANG type. */ - public static final Type DECIMAL64_TYPE = Types.typeForClass(BigDecimal.class); + public static final Type DECIMAL64_TYPE = Types.typeForClass(Decimal64.class); /** * {@code Type} representation of {@code uint8} YANG type. diff --git a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationTypeBuilderImpl.java b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationTypeBuilderImpl.java index 1ec33da90f..90d8f35a40 100644 --- a/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationTypeBuilderImpl.java +++ b/binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationTypeBuilderImpl.java @@ -30,14 +30,16 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation @Override public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) { - if (packageName != null && name != null) { - final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(JavaTypeName.create(packageName, name)); - if (!this.annotationBuilders.contains(builder)) { - this.annotationBuilders = LazyCollections.lazyAdd(this.annotationBuilders, builder); + final var typeName = JavaTypeName.create(packageName, name); + for (var builder : annotationBuilders) { + if (typeName.equals(builder.getIdentifier())) { return builder; } } - return null; + + final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(typeName); + annotationBuilders = LazyCollections.lazyAdd(annotationBuilders, builder); + return builder; } private boolean addParameter(final ParameterImpl param) { @@ -68,7 +70,7 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation @Override public AnnotationType build() { - return new AnnotationTypeImpl(getIdentifier(), this.annotationBuilders, this.parameters); + return new AnnotationTypeImpl(getIdentifier(), annotationBuilders, parameters); } @Override @@ -92,26 +94,26 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation for (final AnnotationTypeBuilder builder : annotationBuilders) { a.add(builder.build()); } - this.annotations = ImmutableList.copyOf(a); + annotations = ImmutableList.copyOf(a); final List p = new ArrayList<>(); for (final AnnotationType.Parameter parameter : parameters) { p.add(parameter.getName()); } - this.paramNames = ImmutableList.copyOf(p); + paramNames = ImmutableList.copyOf(p); this.parameters = parameters.isEmpty() ? Collections.emptyList() : Collections.unmodifiableList(parameters); } @Override public List getAnnotations() { - return this.annotations; + return annotations; } @Override public Parameter getParameter(final String paramName) { if (paramName != null) { - for (final AnnotationType.Parameter parameter : this.parameters) { + for (final AnnotationType.Parameter parameter : parameters) { if (parameter.getName().equals(paramName)) { return parameter; } @@ -122,17 +124,17 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation @Override public List getParameters() { - return this.parameters; + return parameters; } @Override public List getParameterNames() { - return this.paramNames; + return paramNames; } @Override public boolean containsParameters() { - return !this.parameters.isEmpty(); + return !parameters.isEmpty(); } @Override @@ -153,35 +155,35 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation ParameterImpl(final String name, final String value) { this.name = name; this.value = value; - this.values = Collections.emptyList(); + values = Collections.emptyList(); } ParameterImpl(final String name, final List values) { this.name = name; this.values = values; - this.value = null; + value = null; } @Override public String getName() { - return this.name; + return name; } @Override public String getValue() { - return this.value; + return value; } @Override public List getValues() { - return this.values; + return values; } @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + Objects.hashCode(this.name); + result = prime * result + Objects.hashCode(name); return result; } @@ -197,18 +199,18 @@ final class AnnotationTypeBuilderImpl extends AbstractType implements Annotation return false; } final ParameterImpl other = (ParameterImpl) obj; - return Objects.equals(this.name, other.name); + return Objects.equals(name, other.name); } @Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("ParameterImpl [name="); - builder.append(this.name); + builder.append(name); builder.append(", value="); - builder.append(this.value); + builder.append(value); builder.append(", values="); - builder.append(this.values); + builder.append(values); builder.append("]"); return builder.toString(); } diff --git a/binding/mdsal-binding-model-ri/src/test/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationBuilderTest.java b/binding/mdsal-binding-model-ri/src/test/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationBuilderTest.java index 488569f7a1..3740f6c023 100644 --- a/binding/mdsal-binding-model-ri/src/test/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationBuilderTest.java +++ b/binding/mdsal-binding-model-ri/src/test/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationBuilderTest.java @@ -11,6 +11,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -242,13 +244,14 @@ public class AnnotationBuilderTest { AnnotationTypeBuilder annotationTypeBuilder = new AnnotationTypeBuilderImpl( JavaTypeName.create("my.package", "MyName")); - assertNull(annotationTypeBuilder.addAnnotation("my.package", null)); - assertNull(annotationTypeBuilder.addAnnotation(null, "MyName")); + assertThrows(NullPointerException.class, () -> annotationTypeBuilder.addAnnotation("my.package", null)); + assertThrows(NullPointerException.class, () -> annotationTypeBuilder.addAnnotation(null, "MyName")); assertNotNull(annotationTypeBuilder.addAnnotation("java.lang", "Deprecated")); - assertNotNull(annotationTypeBuilder.addAnnotation("my.package2", "MyName2")); - assertNull(annotationTypeBuilder.addAnnotation("my.package2", "MyName2")); + final var builder = annotationTypeBuilder.addAnnotation("my.package2", "MyName2"); + assertNotNull(builder); + assertSame(builder, annotationTypeBuilder.addAnnotation("my.package2", "MyName2")); AnnotationType annotationTypeInstance = annotationTypeBuilder.build(); diff --git a/binding/mdsal-binding-runtime-osgi/pom.xml b/binding/mdsal-binding-runtime-osgi/pom.xml index 7fc0d80f10..98867d12bf 100644 --- a/binding/mdsal-binding-runtime-osgi/pom.xml +++ b/binding/mdsal-binding-runtime-osgi/pom.xml @@ -30,11 +30,15 @@ org.osgi - osgi.core + org.osgi.framework org.osgi - osgi.cmpn + org.osgi.service.component + + + org.osgi + org.osgi.service.component.annotations diff --git a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java index 1ab8e07a87..8cce7aabf0 100644 --- a/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java +++ b/binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import com.google.common.collect.ListMultimap; import com.google.common.collect.MultimapBuilder; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -201,8 +200,6 @@ public final class ModuleInfoSnapshotResolver implements Mutable { return next; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void unregister(final ImmutableList regInfos) { for (RegisteredModuleInfo regInfo : regInfos) { if (!regInfo.decRef()) { diff --git a/binding/mdsal-binding-test-utils/pom.xml b/binding/mdsal-binding-test-utils/pom.xml index 0dc567b1be..482dc16581 100644 --- a/binding/mdsal-binding-test-utils/pom.xml +++ b/binding/mdsal-binding-test-utils/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent - 9.0.13 + 10.0.0 diff --git a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java index fe28b6f6b5..6ed39fd65c 100644 --- a/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java +++ b/binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java @@ -11,7 +11,6 @@ import static java.util.Objects.requireNonNull; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.Futures; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicInteger; @@ -102,8 +101,6 @@ public class DataBrokerFailuresImpl extends ForwardingDataBroker implements Data this.commitAndThrowException = true; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private FluentFuture handleCommit( final Supplier> commitMethod) { if (howManyFailingCommits.decrementAndGet() == -1) { diff --git a/binding/pom.xml b/binding/pom.xml index 50304742d5..75fce4643c 100644 --- a/binding/pom.xml +++ b/binding/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/binding/yang-binding/pom.xml b/binding/yang-binding/pom.xml index f848d05eaf..1a62730c32 100644 --- a/binding/yang-binding/pom.xml +++ b/binding/yang-binding/pom.xml @@ -42,6 +42,8 @@ org.powermock powermock-reflect + 2.0.9 + test diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java index b378a703ba..92f26f8006 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java @@ -15,6 +15,7 @@ import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.VerifyException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -416,6 +417,8 @@ public final class CodeHelpers { return (Set) set; } + @SuppressFBWarnings(value = "DCN_NULLPOINTER_EXCEPTION", + justification = "Internal NPE->IAE conversion") private static void checkCollectionField(final @NonNull Class requiredClass, final @NonNull String fieldName, final @Nullable Collection collection) { if (collection != null) { diff --git a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java index a928582ac0..526ba6d028 100644 --- a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java +++ b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java @@ -10,7 +10,8 @@ package org.opendaylight.mdsal.common.api; import static java.util.Objects.requireNonNull; import org.opendaylight.yangtools.concepts.HierarchicalIdentifier; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; /** @@ -29,7 +30,7 @@ public class DataValidationFailedException extends TransactionCommitFailedExcept public

> DataValidationFailedException(final Class

pathType, final P path, final String message, final Throwable cause) { - super(message, cause, RpcResultBuilder.newError(ErrorType.APPLICATION, "invalid-value", message, null, + super(message, cause, RpcResultBuilder.newError(ErrorType.APPLICATION, ErrorTag.INVALID_VALUE, message, null, path != null ? path.toString() : null, cause)); this.pathType = requireNonNull(pathType, "path type must not be null"); this.path = requireNonNull(path, "path must not be null."); diff --git a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java index a5d2c11dfe..037777a6fa 100644 --- a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java +++ b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java @@ -5,35 +5,27 @@ * 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.mdsal.common.api; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - /** -* Failure of asynchronous transaction commit caused by failure -* of optimistic locking. -* This exception is raised and returned when transaction commit -* failed, because other transaction finished successfully -* and modified same data as failed transaction. -* Clients may recover from this error condition by -* retrieving current state and submitting new updated -* transaction. -* +* Failure of asynchronous transaction commit caused by failure of optimistic locking. This exception is raised and +* returned when transaction commit failed, because other transaction finished successfully and modified same data as +* failed transaction. Clients may recover from this error condition by retrieving current state and submitting a new +* updated transaction. */ public class OptimisticLockFailedException extends TransactionCommitFailedException { - private static final long serialVersionUID = 1L; public OptimisticLockFailedException(final String message, final Throwable cause) { - super(message, cause, RpcResultBuilder.newError(ErrorType.APPLICATION, "resource-denied", - message, null, null, cause)); + super(message, cause, + RpcResultBuilder.newError(ErrorType.APPLICATION, ErrorTag.RESOURCE_DENIED, message, null, null, cause)); } public OptimisticLockFailedException(final String message) { this(message, null); } - } diff --git a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java index 33e6d1c3c6..c667f86a7f 100644 --- a/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java +++ b/common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java @@ -8,8 +8,9 @@ package org.opendaylight.mdsal.common.api; import java.util.function.Supplier; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcError; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; /** @@ -23,14 +24,11 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder; */ public class TransactionCommitDeadlockException extends TransactionCommitFailedException { private static final long serialVersionUID = 1L; - private static final String DEADLOCK_MESSAGE = - "An attempt to block on a ListenableFuture via a get method from a write " - + - "transaction submit was detected that would result in deadlock. The commit " - + - "result must be obtained asynchronously, e.g. via Futures#addCallback, to avoid deadlock."; + private static final String DEADLOCK_MESSAGE = "An attempt to block on a ListenableFuture via a get method from a " + + "write transaction submit was detected that would result in deadlock. The commit result must be obtained " + + "asynchronously, e.g. via Futures#addCallback, to avoid deadlock."; private static final RpcError DEADLOCK_RPCERROR = - RpcResultBuilder.newError(ErrorType.APPLICATION, "lock-denied", DEADLOCK_MESSAGE); + RpcResultBuilder.newError(ErrorType.APPLICATION, ErrorTag.LOCK_DENIED, DEADLOCK_MESSAGE); public static final Supplier DEADLOCK_EXCEPTION_SUPPLIER = () -> new TransactionCommitDeadlockException(DEADLOCK_MESSAGE, DEADLOCK_RPCERROR); diff --git a/common/pom.xml b/common/pom.xml index bfbf16253e..150ad97906 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/docs/pom.xml b/docs/pom.xml index 4b3a75cf06..ed323e2a8d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -612,8 +612,8 @@ https://commons.apache.org/proper/commons-lang/javadocs/api-3.10/ https://commons.apache.org/proper/commons-codec/apidocs/ - https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/9.0.13/ - https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/7.0.14/ + https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/10.0.0/ + https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/8.0.0-SNAPSHOT/ diff --git a/dom/dom-parent/pom.xml b/dom/dom-parent/pom.xml index eac4e22483..4cb72bdd9f 100644 --- a/dom/dom-parent/pom.xml +++ b/dom/dom-parent/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent bundle-parent - 9.0.13 + 10.0.0 @@ -29,7 +29,7 @@ org.opendaylight.yangtools yangtools-artifacts - 7.0.14 + 8.0.0-SNAPSHOT pom import diff --git a/dom/mdsal-dom-api/pom.xml b/dom/mdsal-dom-api/pom.xml index 46fb699016..98427fcfa6 100644 --- a/dom/mdsal-dom-api/pom.xml +++ b/dom/mdsal-dom-api/pom.xml @@ -29,6 +29,10 @@ org.opendaylight.yangtools yang-data-api + + org.opendaylight.yangtools + yang-data-tree-api + org.opendaylight.yangtools yang-model-api diff --git a/dom/mdsal-dom-api/src/main/java/module-info.java b/dom/mdsal-dom-api/src/main/java/module-info.java index 9961f54e6e..35d55a2b93 100644 --- a/dom/mdsal-dom-api/src/main/java/module-info.java +++ b/dom/mdsal-dom-api/src/main/java/module-info.java @@ -11,6 +11,7 @@ module org.opendaylight.mdsal.dom.api { requires transitive org.opendaylight.yangtools.yang.common; requires transitive org.opendaylight.yangtools.yang.data.api; + requires transitive org.opendaylight.yangtools.yang.data.tree.api; requires transitive org.opendaylight.yangtools.yang.model.api; requires transitive org.opendaylight.yangtools.yang.repo.api; requires transitive org.opendaylight.yangtools.yang.repo.spi; diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCandidate.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCandidate.java index f843134638..55d5aa0983 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCandidate.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCandidate.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; /** * An encapsulation of a data tree modification. This candidate is ready for atomic commit to the diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java index 4ac6106280..21954323c5 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java @@ -10,7 +10,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.EventListener; import java.util.List; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; /** * Interface implemented by classes interested in receiving notifications about data tree changes. It provides @@ -31,8 +31,8 @@ public interface DOMDataTreeChangeListener extends EventListener { * A data change event may be triggered spuriously, e.g. such that data before and after compare as equal. * Implementations of this interface are expected to recover from such events. Event producers are expected to exert * reasonable effort to suppress such events. In other words, it is completely acceptable to observe - * a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode}, which reports - * a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType} other than UNMODIFIED, while + * a {@link org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode}, which reports + * a {@link org.opendaylight.yangtools.yang.data.tree.api.ModificationType} other than UNMODIFIED, while * the before- and after- data items compare as equal. * * @param changes List of change events, may not be null or empty. diff --git a/dom/mdsal-dom-broker/pom.xml b/dom/mdsal-dom-broker/pom.xml index 8589224361..e2f0fdc3cd 100644 --- a/dom/mdsal-dom-broker/pom.xml +++ b/dom/mdsal-dom-broker/pom.xml @@ -85,7 +85,11 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations + + + org.osgi + org.osgi.service.metatype.annotations diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java index 827ba73187..aa53c2afb9 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java @@ -5,7 +5,6 @@ * 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.mdsal.dom.broker; import static java.util.Objects.requireNonNull; @@ -14,7 +13,6 @@ import com.google.common.base.Preconditions; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Collection; import java.util.Map; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; @@ -139,16 +137,12 @@ final class DOMDataBrokerTransactionChainImpl extends AbstractDOMForwardedTransa listener.onTransactionChainSuccessful(this); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private void transactionCompleted() { if (COUNTER_UPDATER.decrementAndGet(this) == 0 && state == State.CLOSING) { finishClose(); } } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private void transactionFailed(final DOMDataTreeWriteTransaction tx, final Throwable cause) { state = State.FAILED; LOG.debug("Transaction chain {} failed.", this, cause); diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMMountPointServiceImpl.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMMountPointServiceImpl.java index 4fd4724589..80d0c80ee3 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMMountPointServiceImpl.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMMountPointServiceImpl.java @@ -11,7 +11,6 @@ import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.requireNonNull; import com.google.common.collect.MutableClassToInstanceMap; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -71,8 +70,6 @@ public final class DOMMountPointServiceImpl implements DOMMountPointService { LOG.info("DOMMountPointService deactivated"); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") @SuppressWarnings("checkstyle:IllegalCatch") private ObjectRegistration registerMountPoint(final SimpleDOMMountPoint mountPoint) { final YangInstanceIdentifier mountPointId = mountPoint.getIdentifier(); @@ -96,8 +93,6 @@ public final class DOMMountPointServiceImpl implements DOMMountPointService { }; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") @SuppressWarnings("checkstyle:IllegalCatch") private void unregisterMountPoint(final YangInstanceIdentifier mountPointId) { synchronized (mountPoints) { diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java index dcb332a22d..76323b059e 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java @@ -25,7 +25,6 @@ import com.google.common.collect.Sets; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ThreadFactoryBuilder; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -156,8 +155,6 @@ public final class DOMRpcRouter extends AbstractRegistration return rpcProviderService; } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void removeRpcImplementation(final DOMRpcImplementation implementation, final Set rpcs) { final DOMRpcRoutingTable oldTable = routingTable; @@ -167,8 +164,6 @@ public final class DOMRpcRouter extends AbstractRegistration listenerNotifier.execute(() -> notifyRemoved(newTable, implementation)); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void removeRpcImplementations(final Map map) { final DOMRpcRoutingTable oldTable = routingTable; final DOMRpcRoutingTable newTable = (DOMRpcRoutingTable) oldTable.removeAll(map); @@ -177,8 +172,6 @@ public final class DOMRpcRouter extends AbstractRegistration listenerNotifier.execute(() -> notifyRemoved(newTable, map.values())); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void removeActionImplementation(final DOMActionImplementation implementation, final Set actions) { final DOMActionRoutingTable oldTable = actionRoutingTable; @@ -188,28 +181,20 @@ public final class DOMRpcRouter extends AbstractRegistration listenerNotifier.execute(() -> notifyActionChanged(newTable, implementation)); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void removeListener(final ListenerRegistration reg) { listeners = ImmutableList.copyOf(Collections2.filter(listeners, input -> !reg.equals(input))); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void removeActionListener(final ListenerRegistration reg) { actionListeners = ImmutableList.copyOf(Collections2.filter(actionListeners, input -> !reg.equals(input))); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void notifyAdded(final DOMRpcRoutingTable newTable, final DOMRpcImplementation impl) { for (Registration l : listeners) { l.addRpc(newTable, impl); } } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void notifyAdded(final DOMRpcRoutingTable newTable, final Collection impls) { for (Registration l : listeners) { @@ -219,16 +204,12 @@ public final class DOMRpcRouter extends AbstractRegistration } } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void notifyRemoved(final DOMRpcRoutingTable newTable, final DOMRpcImplementation impl) { for (Registration l : listeners) { l.removeRpc(newTable, impl); } } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private synchronized void notifyRemoved(final DOMRpcRoutingTable newTable, final Collection impls) { for (Registration l : listeners) { diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java index a1b19c1ea3..808c51506a 100644 --- a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java +++ b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java @@ -30,9 +30,9 @@ import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; public class DOMDataTreeChangeListenerTest extends AbstractDatastoreTest { diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java index b2dd818d15..39947d728b 100644 --- a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java +++ b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java @@ -44,11 +44,11 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; public class DOMDataTreeListenerTest extends AbstractDatastoreTest { diff --git a/dom/mdsal-dom-inmemory-datastore/pom.xml b/dom/mdsal-dom-inmemory-datastore/pom.xml index c0d8cd5ab1..8b62879d44 100644 --- a/dom/mdsal-dom-inmemory-datastore/pom.xml +++ b/dom/mdsal-dom-inmemory-datastore/pom.xml @@ -58,6 +58,10 @@ org.opendaylight.yangtools yang-data-impl + + org.opendaylight.yangtools + yang-data-tree-ri + org.opendaylight.yangtools yang-model-api diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java index 2f83695e20..d47a04a6a2 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java @@ -11,7 +11,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.util.concurrent.ListenableFuture; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; final class ChainedTransactionCommitImpl extends InMemoryDOMStoreThreePhaseCommitCohort { private final DOMStoreTransactionChainImpl txChain; @@ -31,5 +31,4 @@ final class ChainedTransactionCommitImpl extends InMemoryDOMStoreThreePhaseCommi txChain.transactionCommited(getTransaction()); return ret; } - } \ No newline at end of file diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java index 6f512e2024..6bdbdae106 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java @@ -12,8 +12,8 @@ import static java.util.Objects.requireNonNull; import org.opendaylight.mdsal.dom.spi.store.AbstractSnapshotBackedTransactionChain; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; final class DOMStoreTransactionChainImpl extends AbstractSnapshotBackedTransactionChain { private final InMemoryDOMDataStore store; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java index aa36a99cca..6ed525f1ae 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java @@ -29,13 +29,13 @@ import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.util.ExecutorServiceUtil; import org.opendaylight.yangtools.util.concurrent.EqualityQueuedNotificationManager; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; -import org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTreeFactory; +import org.opendaylight.yangtools.yang.data.tree.api.DataTree; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; +import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener; import org.slf4j.Logger; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java index abd32900f9..d7de64d02c 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java @@ -19,10 +19,10 @@ import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; +import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java index 4b1ace022c..d98697ecde 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java @@ -21,9 +21,9 @@ import org.opendaylight.yangtools.util.concurrent.EqualityQueuedNotificationMana import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.spi.DataTreeCandidates; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java index 145f8aed67..3c1c811eab 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java @@ -30,14 +30,15 @@ import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedTransactions; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorSeverity; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.ErrorSeverity; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException; +import org.opendaylight.yangtools.yang.data.tree.api.ConflictingModificationAppliedException; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException; @RunWith(MockitoJUnitRunner.StrictStubs.class) public class InMemoryDOMStoreThreePhaseCommitCohortTest { @@ -83,7 +84,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { final var error = errors.get(0); assertEquals(ErrorSeverity.ERROR, error.getSeverity()); assertEquals(ErrorType.APPLICATION, error.getErrorType()); - assertEquals("resource-denied", error.getTag()); + assertEquals(ErrorTag.RESOURCE_DENIED, error.getTag()); } @Test @@ -99,7 +100,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { final var error = errors.get(0); assertEquals(ErrorSeverity.ERROR, error.getSeverity()); assertEquals(ErrorType.APPLICATION, error.getErrorType()); - assertEquals("operation-failed", error.getTag()); + assertEquals(ErrorTag.OPERATION_FAILED, error.getTag()); } @Test @@ -161,4 +162,4 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { final var future = cohort.canCommit(); return assertThrows(ExecutionException.class, future::get).getCause(); } -} \ No newline at end of file +} diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDataStoreTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDataStoreTest.java index e906038908..9e6b7f2264 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDataStoreTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDataStoreTest.java @@ -35,10 +35,10 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; public class InMemoryDataStoreTest { diff --git a/dom/mdsal-dom-schema-osgi/pom.xml b/dom/mdsal-dom-schema-osgi/pom.xml index 39ce1650bb..b9982ca56a 100644 --- a/dom/mdsal-dom-schema-osgi/pom.xml +++ b/dom/mdsal-dom-schema-osgi/pom.xml @@ -30,15 +30,23 @@ org.osgi - osgi.annotation + org.osgi.annotation.versioning org.osgi - osgi.core + org.osgi.framework org.osgi - osgi.cmpn + org.osgi.service.component + + + org.osgi + org.osgi.service.component.annotations + + + org.osgi + org.osgi.util.tracker org.apache.karaf.features diff --git a/dom/mdsal-dom-spi/pom.xml b/dom/mdsal-dom-spi/pom.xml index d9c77241cd..d0cdf3ecee 100644 --- a/dom/mdsal-dom-spi/pom.xml +++ b/dom/mdsal-dom-spi/pom.xml @@ -28,6 +28,14 @@ org.opendaylight.yangtools odlext-model-api + + org.opendaylight.yangtools + yang-data-tree-api + + + org.opendaylight.yangtools + yang-data-tree-spi + diff --git a/dom/mdsal-dom-spi/src/main/java/module-info.java b/dom/mdsal-dom-spi/src/main/java/module-info.java index 2154c148ae..00222a53b1 100644 --- a/dom/mdsal-dom-spi/src/main/java/module-info.java +++ b/dom/mdsal-dom-spi/src/main/java/module-info.java @@ -11,6 +11,7 @@ module org.opendaylight.mdsal.dom.spi { exports org.opendaylight.mdsal.dom.spi.store; requires transitive org.opendaylight.mdsal.dom.api; + requires transitive org.opendaylight.yangtools.yang.data.tree.api; requires transitive org.opendaylight.yangtools.yang.model.api; requires transitive org.opendaylight.yangtools.yang.repo.api; requires transitive org.opendaylight.yangtools.yang.repo.spi; @@ -18,6 +19,7 @@ module org.opendaylight.mdsal.dom.spi { requires org.opendaylight.yangtools.odlext.model.api; requires org.opendaylight.yangtools.util; requires org.opendaylight.yangtools.yang.data.api; + requires org.opendaylight.yangtools.yang.data.tree.spi; requires org.slf4j; // Annotations diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java index aec8e492f5..68645e8d12 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java @@ -20,8 +20,9 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMActionResult; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcError; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -37,7 +38,7 @@ public final class SimpleDOMActionResult implements DOMActionResult, Immutable { } public SimpleDOMActionResult(final ContainerNode output) { - this.errors = ImmutableList.of(); + errors = ImmutableList.of(); this.output = requireNonNull(output); } @@ -52,8 +53,8 @@ public final class SimpleDOMActionResult implements DOMActionResult, Immutable { // As per RFC7950 page 80 (top) public static SimpleDOMActionResult ofMalformedMessage(final Exception cause) { - return new SimpleDOMActionResult(ImmutableList.of(RpcResultBuilder.newError(ErrorType.RPC, "malformed-message", - cause.getMessage(), null, null, requireNonNull(cause))), null); + return new SimpleDOMActionResult(ImmutableList.of(RpcResultBuilder.newError(ErrorType.RPC, + ErrorTag.MALFORMED_MESSAGE, cause.getMessage(), null, null, requireNonNull(cause))), null); } @Override diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisher.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisher.java index a8f4b011a3..c4f43d19eb 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisher.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisher.java @@ -22,10 +22,10 @@ import org.opendaylight.mdsal.dom.spi.AbstractRegistrationTree; import org.opendaylight.mdsal.dom.spi.RegistrationTreeNode; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; +import org.opendaylight.yangtools.yang.data.tree.spi.DataTreeCandidates; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChain.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChain.java index 46018d06d3..85012c39b2 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChain.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChain.java @@ -16,8 +16,8 @@ import java.util.Map.Entry; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedReadTransaction.TransactionClosePrototype; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransaction.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransaction.java index 0f61bfb8ea..babefecaaf 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransaction.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransaction.java @@ -18,7 +18,7 @@ import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransaction.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransaction.java index c710151901..3de4dc2c5e 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransaction.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransaction.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransaction.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransaction.java index d982343fa3..40df9af016 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransaction.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransaction.java @@ -10,7 +10,7 @@ package org.opendaylight.mdsal.dom.spi.store; import com.google.common.annotations.Beta; import java.util.Optional; import org.eclipse.jdt.annotation.NonNullByDefault; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; /** * Interface implemented by {@link DOMStoreTransaction}s which are backed by a {@link DataTreeSnapshot}. diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java index e7a0a9218b..85e9fc2870 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java @@ -13,7 +13,7 @@ import com.google.common.annotations.Beta; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedReadTransaction.TransactionClosePrototype; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; /** * Public utility class for instantiating snapshot-backed transactions. diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransaction.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransaction.java index 0efe472816..babb8ed003 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransaction.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransaction.java @@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisherTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisherTest.java index f3b87f45bf..d0d4611ad0 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisherTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisherTest.java @@ -19,9 +19,9 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.mdsal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; public class AbstractDOMStoreTreeChangePublisherTest extends AbstractDOMStoreTreeChangePublisher { diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java index 1d59166d82..ca43ae6591 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; @RunWith(MockitoJUnitRunner.StrictStubs.class) public class AbstractSnapshotBackedTransactionChainTest { diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransactionTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransactionTest.java index 1dce26f15e..eb3e2fb73a 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransactionTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransactionTest.java @@ -23,7 +23,7 @@ import org.junit.Test; import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; @SuppressWarnings("checkstyle:IllegalCatch") public class SnapshotBackedReadTransactionTest { diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransactionTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransactionTest.java index 409edc9bb0..b568c45a75 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransactionTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransactionTest.java @@ -23,8 +23,8 @@ import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; public class SnapshotBackedReadWriteTransactionTest { diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactionsTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactionsTest.java index 647082ffdf..b36e2ab06d 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactionsTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactionsTest.java @@ -13,8 +13,8 @@ import static org.mockito.Mockito.mock; import org.junit.Test; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; public class SnapshotBackedTransactionsTest { @Test diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java index 81c456df92..ae8ce6c3f5 100644 --- a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java +++ b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java @@ -27,8 +27,8 @@ import org.junit.Test; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeSnapshot; public class SnapshotBackedWriteTransactionTest { diff --git a/dom/pom.xml b/dom/pom.xml index 34fe93d8e2..ba47f06d2b 100644 --- a/dom/pom.xml +++ b/dom/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/entityownership/mdsal-eos-binding-adapter/pom.xml b/entityownership/mdsal-eos-binding-adapter/pom.xml index 3722196ab1..b4572a6173 100644 --- a/entityownership/mdsal-eos-binding-adapter/pom.xml +++ b/entityownership/mdsal-eos-binding-adapter/pom.xml @@ -58,7 +58,7 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations diff --git a/entityownership/mdsal-eos-dom-simple/src/main/java/org/opendaylight/mdsal/eos/dom/simple/SimpleDOMEntityOwnershipService.java b/entityownership/mdsal-eos-dom-simple/src/main/java/org/opendaylight/mdsal/eos/dom/simple/SimpleDOMEntityOwnershipService.java index 8399c48982..4247194c95 100644 --- a/entityownership/mdsal-eos-dom-simple/src/main/java/org/opendaylight/mdsal/eos/dom/simple/SimpleDOMEntityOwnershipService.java +++ b/entityownership/mdsal-eos-dom-simple/src/main/java/org/opendaylight/mdsal/eos/dom/simple/SimpleDOMEntityOwnershipService.java @@ -19,7 +19,6 @@ import com.google.common.collect.HashBasedTable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Multimap; import com.google.common.collect.Table; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Collection; import java.util.Optional; import java.util.UUID; @@ -112,8 +111,6 @@ public class SimpleDOMEntityOwnershipService implements DOMEntityOwnershipServic } } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private void removeEntity(final DOMEntity entity) { synchronized (entities) { entities.remove(entity.getType(), entity.getIdentifier()); diff --git a/entityownership/pom.xml b/entityownership/pom.xml index 7880040831..0a9c9ff749 100644 --- a/entityownership/pom.xml +++ b/entityownership/pom.xml @@ -10,7 +10,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/features/feature-parent/pom.xml b/features/feature-parent/pom.xml index f42961e0a8..dcb69b01b6 100644 --- a/features/feature-parent/pom.xml +++ b/features/feature-parent/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent single-feature-parent - 9.0.13 + 10.0.0 @@ -27,7 +27,7 @@ org.opendaylight.yangtools yangtools-artifacts - 7.0.14 + 8.0.0-SNAPSHOT pom import diff --git a/features/features-mdsal-experimental/pom.xml b/features/features-mdsal-experimental/pom.xml index ecd3363de1..3646abdd2a 100644 --- a/features/features-mdsal-experimental/pom.xml +++ b/features/features-mdsal-experimental/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 9.0.13 + 10.0.0 diff --git a/features/features-mdsal/pom.xml b/features/features-mdsal/pom.xml index f90d7a65f1..8504789280 100644 --- a/features/features-mdsal/pom.xml +++ b/features/features-mdsal/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 9.0.13 + 10.0.0 diff --git a/features/odl-mdsal-binding-api/src/main/feature/feature.xml b/features/odl-mdsal-binding-api/src/main/feature/feature.xml index 060c5d5669..7b4498074b 100644 --- a/features/odl-mdsal-binding-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-binding-base/src/main/feature/feature.xml b/features/odl-mdsal-binding-base/src/main/feature/feature.xml index 4cc7021d88..d2aeca77f4 100644 --- a/features/odl-mdsal-binding-base/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-base/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-common + odl-yangtools-common diff --git a/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml b/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml index 23a60014a7..aa150baa65 100644 --- a/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml @@ -1,7 +1,7 @@ - odl-yangtools-data - odl-yangtools-parser + odl-yangtools-data + odl-yangtools-parser diff --git a/features/odl-mdsal-common/src/main/feature/feature.xml b/features/odl-mdsal-common/src/main/feature/feature.xml index f193e02eab..a762fe3c1d 100644 --- a/features/odl-mdsal-common/src/main/feature/feature.xml +++ b/features/odl-mdsal-common/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-common + odl-yangtools-common diff --git a/features/odl-mdsal-dom-api/src/main/feature/feature.xml b/features/odl-mdsal-dom-api/src/main/feature/feature.xml index bd8f33bd19..b8ab1ae7c8 100644 --- a/features/odl-mdsal-dom-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-dom-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-eos-common/src/main/feature/feature.xml b/features/odl-mdsal-eos-common/src/main/feature/feature.xml index d913234246..c45b98603b 100644 --- a/features/odl-mdsal-eos-common/src/main/feature/feature.xml +++ b/features/odl-mdsal-eos-common/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml b/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml index 7df68772a7..c6a447f17d 100644 --- a/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml +++ b/features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-data-api + odl-yangtools-data-api diff --git a/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml b/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml index 23fe06fe6b..76849eedd7 100644 --- a/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml +++ b/features/odl-mdsal-replicate-netty/src/main/feature/feature.xml @@ -3,7 +3,7 @@ mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/sink mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/source - odl-netty-4 - odl-yangtools-codec + odl-netty-4 + odl-yangtools-codec diff --git a/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml b/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml index 61f5e52235..cbe840158f 100644 --- a/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml +++ b/features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - odl-yangtools-netty + odl-yangtools-netty diff --git a/features/pom.xml b/features/pom.xml index a4b9e54587..77c0b89720 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/karaf/pom.xml b/karaf/pom.xml index 4d001a0923..aeb01067a8 100644 --- a/karaf/pom.xml +++ b/karaf/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent karaf4-parent - 9.0.13 + 10.0.0 diff --git a/model/iana/pom.xml b/model/iana/pom.xml index b5aa887e58..d041b5b975 100644 --- a/model/iana/pom.xml +++ b/model/iana/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/model/ietf/pom.xml b/model/ietf/pom.xml index ebe5666b9c..8fa5785f27 100644 --- a/model/ietf/pom.xml +++ b/model/ietf/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/model/pom.xml b/model/pom.xml index da6c7f8daa..5e4799b36f 100644 --- a/model/pom.xml +++ b/model/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/netty/pom.xml b/netty/pom.xml index 4a8d074137..31d9408ec1 100644 --- a/netty/pom.xml +++ b/netty/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/pom.xml b/pom.xml index 9aa08be3df..d303859ea4 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMDataBrokerModification.java b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMDataBrokerModification.java index d7f10102bf..eefbc639f2 100644 --- a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMDataBrokerModification.java +++ b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMDataBrokerModification.java @@ -14,8 +14,8 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteOperations; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModificationCursor; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModificationCursor; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMStoreModification.java b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMStoreModification.java index 491ce47e8e..95e63cf122 100644 --- a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMStoreModification.java +++ b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMStoreModification.java @@ -14,8 +14,8 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModificationCursor; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModificationCursor; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DataTreeCandidateUtils.java b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DataTreeCandidateUtils.java index d7e5d5fb93..cce3b10956 100644 --- a/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DataTreeCandidateUtils.java +++ b/replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DataTreeCandidateUtils.java @@ -11,8 +11,8 @@ import com.google.common.annotations.Beta; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteOperations; import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidates; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.spi.DataTreeCandidates; @Beta public final class DataTreeCandidateUtils { diff --git a/replicate/mdsal-replicate-netty/pom.xml b/replicate/mdsal-replicate-netty/pom.xml index 63f661cdb5..3985858105 100644 --- a/replicate/mdsal-replicate-netty/pom.xml +++ b/replicate/mdsal-replicate-netty/pom.xml @@ -47,7 +47,11 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations + + + org.osgi + org.osgi.service.metatype.annotations diff --git a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/AbstractSourceMessage.java b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/AbstractSourceMessage.java index 5c5eeeb549..95e5407382 100644 --- a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/AbstractSourceMessage.java +++ b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/AbstractSourceMessage.java @@ -12,10 +12,10 @@ import static java.util.Objects.requireNonNull; import java.io.DataOutputStream; import java.io.IOException; import java.util.List; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.codec.binfmt.DataTreeCandidateInputOutput; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; abstract class AbstractSourceMessage { private static final class Empty extends AbstractSourceMessage { diff --git a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SinkRequestHandler.java b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SinkRequestHandler.java index 24904eaaa9..6d0d13080d 100644 --- a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SinkRequestHandler.java +++ b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SinkRequestHandler.java @@ -30,11 +30,11 @@ import org.opendaylight.mdsal.replicate.common.DataTreeCandidateUtils; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.ReusableStreamReceiver; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.codec.binfmt.DataTreeCandidateInputOutput; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.data.impl.schema.ReusableImmutableNormalizedNodeStreamWriter; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SourceRequestHandler.java b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SourceRequestHandler.java index dc5201a419..8928dbadd3 100644 --- a/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SourceRequestHandler.java +++ b/replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SourceRequestHandler.java @@ -22,8 +22,8 @@ import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/replicate/pom.xml b/replicate/pom.xml index 467c0bf92b..80736d0215 100644 --- a/replicate/pom.xml +++ b/replicate/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/singleton-service/mdsal-singleton-dom-impl/src/main/java/org/opendaylight/mdsal/singleton/dom/impl/ClusterSingletonServiceGroupImpl.java b/singleton-service/mdsal-singleton-dom-impl/src/main/java/org/opendaylight/mdsal/singleton/dom/impl/ClusterSingletonServiceGroupImpl.java index 2fae806534..8a283545b6 100644 --- a/singleton-service/mdsal-singleton-dom-impl/src/main/java/org/opendaylight/mdsal/singleton/dom/impl/ClusterSingletonServiceGroupImpl.java +++ b/singleton-service/mdsal-singleton-dom-impl/src/main/java/org/opendaylight/mdsal/singleton/dom/impl/ClusterSingletonServiceGroupImpl.java @@ -22,7 +22,6 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.SettableFuture; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; @@ -491,8 +490,6 @@ final class ClusterSingletonServiceGroupImpl

} } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private void serviceTransitionCompleted() { markDirty(); if (tryLock()) { diff --git a/singleton-service/pom.xml b/singleton-service/pom.xml index 9155419c69..4c42e25125 100644 --- a/singleton-service/pom.xml +++ b/singleton-service/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java index 22311d0e4d..94311cbcfc 100644 --- a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java +++ b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java @@ -22,7 +22,7 @@ import org.eclipse.jdt.annotation.Nullable; * * @author Michael Vorburger.ch */ -class CloseTrackedTrait> implements CloseTracked { +final class CloseTrackedTrait> implements CloseTracked { // NB: It's important that we keep a Throwable here, and not directly the StackTraceElement[] ! // This is because creating a new Throwable() is a lot less expensive in terms of runtime overhead @@ -32,7 +32,7 @@ class CloseTrackedTrait> implements CloseTracked { private final CloseTrackedRegistry closeTrackedRegistry; private final CloseTracked realCloseTracked; - CloseTrackedTrait(CloseTrackedRegistry transactionChainRegistry, CloseTracked realCloseTracked) { + CloseTrackedTrait(final CloseTrackedRegistry transactionChainRegistry, final CloseTracked realCloseTracked) { if (transactionChainRegistry.isDebugContextEnabled()) { // NB: We're NOT doing the (expensive) getStackTrace() here just yet (only below) // TODO When we're on Java 9, then instead use the new java.lang.StackWalker API.. diff --git a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java index f3023e9a64..1bcedd14b4 100644 --- a/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java +++ b/trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java @@ -214,8 +214,6 @@ public class TracingBroker implements TracingDOMDataBroker { writeWatches.add(watch); } - @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", - justification = "https://github.com/spotbugs/spotbugs/issues/811") private boolean isRegistrationWatched(final YangInstanceIdentifier iid, final LogicalDatastoreType store) { if (registrationWatches.isEmpty()) { return true; diff --git a/trace/pom.xml b/trace/pom.xml index f654254eaa..5d8d037214 100644 --- a/trace/pom.xml +++ b/trace/pom.xml @@ -10,7 +10,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0 diff --git a/yanglib/mdsal-yanglib-rfc8525/pom.xml b/yanglib/mdsal-yanglib-rfc8525/pom.xml index 97f2d04921..bcad5444cb 100644 --- a/yanglib/mdsal-yanglib-rfc8525/pom.xml +++ b/yanglib/mdsal-yanglib-rfc8525/pom.xml @@ -57,7 +57,7 @@ org.osgi - osgi.cmpn + org.osgi.service.component.annotations diff --git a/yanglib/pom.xml b/yanglib/pom.xml index 336eb47726..21ef4a875f 100644 --- a/yanglib/pom.xml +++ b/yanglib/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 9.0.13 + 10.0.0