Adopt odlparent-10.0.0/yangtools-8.0.0-SNAPSHOT 79/97379/60
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Sep 2021 19:23:37 +0000 (21:23 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 8 Mar 2022 20:21:16 +0000 (21:21 +0100)
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 <robert.varga@pantheon.tech>
133 files changed:
artifacts/pom.xml
binding/binding-parent/pom.xml
binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/query/MatchBuilderPath.java
binding/mdsal-binding-api/src/test/java/org/opendaylight/mdsal/binding/api/query/QueryBuilderExamples.java
binding/mdsal-binding-dom-adapter/pom.xml
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ActionProviderServiceAdapter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeChangeListenerAdapter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMTransactionChainAdapter.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralType.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/ContextReferenceExtractor.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataObjectModification.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModification.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/RpcResultUtil.java
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultMatchBuilderPath.java
binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMDataTreeCommitCohortAdapterTest.java
binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointListenerAdapterTest.java
binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingStructuralTypeTest.java
binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/LazyDataTreeModificationTest.java
binding/mdsal-binding-dom-codec-osgi/pom.xml
binding/mdsal-binding-dom-codec/pom.xml
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingNormalizedNodeCache.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ChoiceNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/SchemaRootCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeCodec.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierSerializeDeserializeTest.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CollisionDomain.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TargetAugmentEffectiveStatement.java
binding/mdsal-binding-generator/src/test/resources/augment-relative-xpath-models/ietf-interfaces@2012-11-15.yang
binding/mdsal-binding-generator/src/test/resources/augment-test-models/ietf-interfaces@2012-11-15.yang
binding/mdsal-binding-generator/src/test/resources/ietf-models/ietf-interfaces.yang
binding/mdsal-binding-java-api-generator/pom.xml
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractRangeGenerator.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGenerator.java [deleted file]
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGenerator.java [new file with mode: 0644]
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/BigDecimalRangeGeneratorTest.java [deleted file]
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/Decimal64RangeGeneratorTest.java [new file with mode: 0644]
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/resources/yang/ietf-interfaces@2012-11-15.yang
binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BaseYangTypes.java
binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationTypeBuilderImpl.java
binding/mdsal-binding-model-ri/src/test/java/org/opendaylight/mdsal/binding/model/ri/generated/type/builder/AnnotationBuilderTest.java
binding/mdsal-binding-runtime-osgi/pom.xml
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java
binding/mdsal-binding-test-utils/pom.xml
binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/DataBrokerFailuresImpl.java
binding/pom.xml
binding/yang-binding/pom.xml
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/DataValidationFailedException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/OptimisticLockFailedException.java
common/mdsal-common-api/src/main/java/org/opendaylight/mdsal/common/api/TransactionCommitDeadlockException.java
common/pom.xml
docs/pom.xml
dom/dom-parent/pom.xml
dom/mdsal-dom-api/pom.xml
dom/mdsal-dom-api/src/main/java/module-info.java
dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCandidate.java
dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java
dom/mdsal-dom-broker/pom.xml
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMMountPointServiceImpl.java
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMRpcRouter.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java
dom/mdsal-dom-inmemory-datastore/pom.xml
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java
dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java
dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDataStoreTest.java
dom/mdsal-dom-schema-osgi/pom.xml
dom/mdsal-dom-spi/pom.xml
dom/mdsal-dom-spi/src/main/java/module-info.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisher.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChain.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransaction.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransaction.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractDOMStoreTreeChangePublisherTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/AbstractSnapshotBackedTransactionChainTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadTransactionTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedReadWriteTransactionTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactionsTest.java
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedWriteTransactionTest.java
dom/pom.xml
entityownership/mdsal-eos-binding-adapter/pom.xml
entityownership/mdsal-eos-dom-simple/src/main/java/org/opendaylight/mdsal/eos/dom/simple/SimpleDOMEntityOwnershipService.java
entityownership/pom.xml
features/feature-parent/pom.xml
features/features-mdsal-experimental/pom.xml
features/features-mdsal/pom.xml
features/odl-mdsal-binding-api/src/main/feature/feature.xml
features/odl-mdsal-binding-base/src/main/feature/feature.xml
features/odl-mdsal-binding-runtime-api/src/main/feature/feature.xml
features/odl-mdsal-common/src/main/feature/feature.xml
features/odl-mdsal-dom-api/src/main/feature/feature.xml
features/odl-mdsal-eos-common/src/main/feature/feature.xml
features/odl-mdsal-exp-yanglib-api/src/main/feature/feature.xml
features/odl-mdsal-replicate-netty/src/main/feature/feature.xml
features/odl-mdsal-rfc8294-netty/src/main/feature/feature.xml
features/pom.xml
karaf/pom.xml
model/iana/pom.xml
model/ietf/pom.xml
model/pom.xml
netty/pom.xml
pom.xml
replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMDataBrokerModification.java
replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DOMStoreModification.java
replicate/mdsal-replicate-common/src/main/java/org/opendaylight/mdsal/replicate/common/DataTreeCandidateUtils.java
replicate/mdsal-replicate-netty/pom.xml
replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/AbstractSourceMessage.java
replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SinkRequestHandler.java
replicate/mdsal-replicate-netty/src/main/java/org/opendaylight/mdsal/replicate/netty/SourceRequestHandler.java
replicate/pom.xml
singleton-service/mdsal-singleton-dom-impl/src/main/java/org/opendaylight/mdsal/singleton/dom/impl/ClusterSingletonServiceGroupImpl.java
singleton-service/pom.xml
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/CloseTrackedTrait.java
trace/mdsal-trace-impl/src/main/java/org/opendaylight/mdsal/trace/impl/TracingBroker.java
trace/pom.xml
yanglib/mdsal-yanglib-rfc8525/pom.xml
yanglib/pom.xml

index 67a6b9f063a6e8e093a0cdf82177bd17abc4821f..a5b43cbe05a3ac4685a614efa78ed28d8e57d4b3 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>9.0.13</version>
+      <version>10.0.0</version>
       <relativePath/>
     </parent>
 
index 7d4b366ea9453819b90250ba79c554367bd6eeee..5efff381654f7d36408ca77f783ff37318c80d1c 100644 (file)
@@ -54,7 +54,7 @@
                         <plugin>
                             <groupId>org.opendaylight.yangtools</groupId>
                             <artifactId>yang-maven-plugin</artifactId>
-                            <version>7.0.14</version>
+                            <version>8.0.0-SNAPSHOT</version>
                             <dependencies>
                                 <dependency>
                                     <groupId>org.opendaylight.mdsal</groupId>
index 24fcfc22ab745077396ff77bc81c62e21b987ff0..e50af0f26d667c7e5d1f7b1de8491d20ed769781 100644 (file)
@@ -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<O extends DataObject, T extends DataObject> ex
      * @return A {@link ValueMatchBuilder}
      * @throws NullPointerException if methodRef is null
      */
-    @NonNull ComparableMatchBuilder<O, BigDecimal> leaf(Decimal64LeafReference<T> methodRef);
+    @NonNull ComparableMatchBuilder<O, Decimal64> leaf(Decimal64LeafReference<T> methodRef);
 
     /**
      * Match an {@code empty} leaf's value.
@@ -223,7 +223,7 @@ public interface MatchBuilderPath<O extends DataObject, T extends DataObject> ex
     }
 
     @FunctionalInterface
-    public interface Decimal64LeafReference<P> extends LeafReference<P, BigDecimal> {
+    public interface Decimal64LeafReference<P> extends LeafReference<P, Decimal64> {
 
     }
 
index eb63fe2f25847556b7129ac9704e5d395c0fdf71..cfa8086949ec0ad2475eea8e80ca91209dbf6a03 100644 (file)
@@ -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();
     }
 }
index 367d324ba381ebcb105e716f366b044636132c37..121dc5a41077fd14e57ab0d519a7838dd9bc0c4d 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.annotation</artifactId>
+            <artifactId>org.osgi.annotation.versioning</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
+            <artifactId>org.osgi.framework</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.tracker</artifactId>
         </dependency>
 
         <dependency>
index d4b63b5ee49fea5809053e5740ae382a3372bf2c..df1b933e1ad18f830e65f86b7c84040a15575533 100644 (file)
@@ -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<D
                 // Not representable: return an error
                 LOG.debug("Path {} is not representable in binding, rejecting invocation", path);
                 return Futures.immediateFuture(new SimpleDOMActionResult(List.of(RpcResultBuilder.newError(
-                    ErrorType.APPLICATION, "invalid-value", "Supplied path cannot be represented"))));
+                    ErrorType.APPLICATION, ErrorTag.INVALID_VALUE, "Supplied path cannot be represented"))));
             }
             if (instance.isWildcarded()) {
                 // A wildcard path: return an error
                 LOG.debug("Path {} maps to a wildcard {}, rejecting invocation", path, instance);
                 return Futures.immediateFuture(new SimpleDOMActionResult(List.of(RpcResultBuilder.newError(
-                    ErrorType.APPLICATION, "invalid-value", "Supplied path does not identify a concrete instance"))));
+                    ErrorType.APPLICATION, ErrorTag.INVALID_VALUE,
+                    "Supplied path does not identify a concrete instance"))));
             }
 
             final ListenableFuture<RpcResult<?>> userFuture = implementation.invoke(instance,
index 31296762d6c9bb165694d81a8992db0dc2c80c96..61240d57f43692fe379a433762e5227a0d134e81 100644 (file)
@@ -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}
index 9ccb36df532dcb320e02bf2d7b0cc36fdc740100..dad9227be2e710549a0ff7d3eca797d2e1af1189 100644 (file)
@@ -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 <T, F extends ListenableFuture<T>> F listenForFailure(final WriteTransaction tx, final F future) {
         Futures.addCallback(future, new FutureCallback<T>() {
             @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
index 3673d783f9fcacf4a952154d14b973158a3977f8..7fabbeab785d6f752c2ff3419bd13c5534b52ec2 100644 (file)
@@ -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
index 31711cd7be0abb00918a680b9771d92fb4593639..3c485f46944364bcb5902eb6844f18727d71ac4f 100644 (file)
@@ -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);
index 6ee2ff26a105f922d24fbdaa46e9495e2700c693..29cb1cdf2c1c1fcff76568ca639c36c8fd63091a 100644 (file)
@@ -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;
 
index 5773430629231d324ab941a3522a9d4a5a8f97cf..8c89a5a128ded5f30c7a1ae38ab7dc42d8bad367 100644 (file)
@@ -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}.
index e9190f26702bf93e4d1ebeca4cd7055ed7fa3558..179f276cd08afda147eebe9cd19a6675194db534 100644 (file)
@@ -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;
 
index e6d46678730c193980b42cd417976e3b1b9834a3..23f23f17740c131ff583b8c40831ce584d2bbb83 100644 (file)
@@ -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<O extends DataObject, T extends DataObject>
     }
 
     @Override
-    public ComparableMatchBuilder<O, BigDecimal> leaf(final Decimal64LeafReference<T> methodRef) {
+    public ComparableMatchBuilder<O, Decimal64> leaf(final Decimal64LeafReference<T> methodRef) {
         return comparableFor(methodRef);
     }
 
index 4ec75095ec31cdd346cc2b3c8ede0af561217a72..6447d764471b388e9be30c7fd3e30e4fef4e2463 100644 (file)
@@ -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 {
index 82b61b2f3106b49a2ec03f68692b13e68fb08c3a..ebb605d87ed2beac89e0f95b5142913c11c703b9 100644 (file)
@@ -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
index f6c1589707a70f371651b2ef33be882fa6d51de5..4469c0c07646f7047b4ba3a226a18023dfddf270 100644 (file)
@@ -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
index 3b62fb8629960064462077da7f81a3d3234b0900..8812f7b3efcd4b61d328f38df15ab8ef7bc20d2f 100644 (file)
@@ -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
index fe2c76eb76618c770f4b2c5b907f8b70914edc88..eb2ac4e547da86e0b191cc19af3701a015f2441e 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
+            <artifactId>org.osgi.framework</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
index 0f1f37bcd7817345cedbff698b2f069805e86b8a..07b063cc24cc5709cbc00391f0f4be5019bb3fd9 100644 (file)
@@ -54,7 +54,7 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
index 41d79d871328f098dc4c72403fafaaec46fd45c2..b1fbf23dc469a2add7e6f1ee8ec48a782d7f0c04 100644 (file)
@@ -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<T extends BindingObject, C extends NodeCodecContext>
         extends CacheLoader<T, NormalizedNode> {
-    private final LoadingCache<T, NormalizedNode> cache = CacheBuilder.newBuilder().weakValues().build(this);
-
+    private final LoadingCache<T, NormalizedNode> 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);
     }
 
     /**
index e170ccd254ab0b417fff3c4317a50aa658b9d62b..6100d4db209e08b715689758243ce6da79fef5f3 100644 (file)
@@ -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<D extends DataObject> 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;
index 189d443abcc9e26e1722f266db214af503f0e0a8..aa6dd00d8f11512f465bfef15af0512cee374459 100644 (file)
@@ -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<I extends Identifier<D>, D extends DataObject & Identifiable<I>>
         extends ListNodeCodecContext<D> {
@@ -70,9 +69,8 @@ abstract class KeyedListNodeCodecContext<I extends Identifier<D>, 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
index 29bbebf469e3cc52de1fbefae5a4c862c2bce3e2..8b80d4152ba5e6b6f7f51a5bef96aab6d44cc41a 100644 (file)
@@ -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<D extends DataObject> 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");
index 41710c97c77a304a5bb34a02c57b981ed5ec0b55..6e4bbdb85f22c16693197aae621abd7cc198c37f 100644 (file)
@@ -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);
     }
 }
index 9b4ad7e90f12261194a094c491a42d30f3d8597e..e000547f16696173ace68e1b8b6967ff2bd0fba7 100644 (file)
@@ -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());
     }
 }
index ea6453e76ac546d4e4f1b46439474f5cb5c56f9e..15f64e2e4b82aa5b5194f6c1c9339a1669059073 100644 (file)
@@ -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('-', '.');
index e9f744db9a337e098ebfbab48a6ca93ff5e67b0e..ee9cef9df6e92cbd9fa28b293789ff70de157cf1 100644 (file)
@@ -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<Object>, 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
index a7c464e392f5f54e07824a5a9d7a5e6c3073dea4..9bc44ba413f641c280165fcfa3f2a9aa49595bbc 100644 (file)
@@ -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<ListEffectiveStat
     Type methodReturnType(final TypeBuilderFactory builderFactory) {
         final Type generatedType = super.methodReturnType(builderFactory);
         // We are wrapping the generated type in either a List or a Map based on presence of the key
-        if (keyGen != null) {
-            final Ordering ordering = statement()
-                .findFirstEffectiveSubstatementArgument(OrderedByEffectiveStatement.class)
-                .orElse(Ordering.SYSTEM);
-            if (ordering == Ordering.SYSTEM) {
-                return Types.mapTypeFor(keyGen.getGeneratedType(builderFactory), generatedType);
-            }
+        if (keyGen != null && statement().ordering() == Ordering.SYSTEM) {
+            return Types.mapTypeFor(keyGen.getGeneratedType(builderFactory), generatedType);
         }
 
         return Types.listTypeFor(generatedType);
index 89d5fd690cace434e806fe134bc08605069b542b..65544db7f25e464ff7d6c0bf8fcd1ed6d17e529c 100644 (file)
@@ -52,9 +52,7 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement
         for (var stmt : stmts) {
             if (stmt instanceof SchemaTreeEffectiveStatement) {
                 final var qname = ((SchemaTreeEffectiveStatement<?>) stmt).getIdentifier();
-                final Optional<? extends SchemaTreeEffectiveStatement<?>> 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 <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
-            final K identifier) {
+    public <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace, final K identifier) {
         return Optional.empty();
     }
 
@@ -94,7 +91,7 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement
     }
 
     @Override
-    public Collection<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
+    public List<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
         return substatements;
     }
 
@@ -160,10 +157,4 @@ final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement
     public AugmentEffectiveStatement asEffectiveStatement() {
         return this;
     }
-
-    @Override
-    @Deprecated(forRemoval = true)
-    public Optional<AugmentationSchemaNode> getOriginalDefinition() {
-        return schemaDelegate.getOriginalDefinition();
-    }
 }
index 4518e0e58f5ddf7908967a17ce623c5715f70be5..132eafe981c4263c13c660b9d73c9a3524c644ff 100644 (file)
@@ -17,7 +17,6 @@ module ietf-interfaces {
 
     list interface {
       key "name";
-      unique "type location";
 
       leaf name {
         type string;
index 4518e0e58f5ddf7908967a17ce623c5715f70be5..132eafe981c4263c13c660b9d73c9a3524c644ff 100644 (file)
@@ -17,7 +17,6 @@ module ietf-interfaces {
 
     list interface {
       key "name";
-      unique "type location";
 
       leaf name {
         type string;
index 481a5d2ed13319119127253002b67da8d58276b4..180522976708b952bbe8bfcc2f233e282784c5ea 100644 (file)
@@ -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
+}
index 9ed8ce220fec7f4047b81b55c2adee643d6d858e..b4496fd56924d41b3bcafb93b8a543838aae1697 100644 (file)
@@ -39,6 +39,7 @@
         <dependency>
             <groupId>org.eclipse.xtend</groupId>
             <artifactId>org.eclipse.xtend.lib</artifactId>
+            <version>2.26.0</version>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
             <plugin>
                 <groupId>org.eclipse.xtend</groupId>
                 <artifactId>xtend-maven-plugin</artifactId>
+                <version>2.26.0</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>compile</goal>
+                        </goals>
+                        <configuration>
+                            <javaSourceVersion>${maven.compiler.release}</javaSourceVersion>
+                            <outputDirectory>${project.build.directory}/generated-sources/xtend</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
index 7cdd75d9e5bf37fd4293437bee6bc27416828bd7..27c580f9af18f29306e8c8c1a6d111bb7f925863 100644 (file)
@@ -35,7 +35,7 @@ abstract class AbstractRangeGenerator<T extends Number & Comparable<T>> {
         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 (file)
index 185cf49..0000000
+++ /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<BigDecimal> {
-    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());
-        }
-    }
-}
index 5f021cd6a83596b2cc14d6e0c1e69dfde2242cb1..ef932e6e9bbd82b8ca93049d02b23f6e2e31fbbb 100644 (file)
@@ -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<GeneratedProperty> 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 (file)
index 0000000..e4b5696
--- /dev/null
@@ -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<Decimal64> {
+    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());
+        }
+    }
+}
index cb0e5c5499a6fbc42b72218f18e822908b55a222..0b3a936f5b8ee863907b977908a0a0e3672b212c 100644 (file)
@@ -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("<i>"), def.getModule(), schema.getPath().getPathFromRoot());
-                    sb.append("</i>\n");
+//                    sb.append("The schema path to identify an instance is\n");
+//                    appendPath(sb.append("<i>"), def.getModule(), schema.getPath().getPathFromRoot());
+//                    sb.append("</i>\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<QName> 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<QName> 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 (file)
index c732c65..0000000
+++ /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
index d629cf0a900e233e483c4bcf3655206e893c2b02..8eb368002a29485f514f86d4cc5fcfdf02e12cbf 100644 (file)
@@ -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<Range<BigDecimal>> 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<Range<Decimal64>> 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 (file)
index 0000000..83df185
--- /dev/null
@@ -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
index 296395920e8c8225de0830d817cda0f65945d882..773c36b1edf588a51c3bb19a3f966e70137ae5e3 100644 (file)
@@ -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<Range<BigDecimal>> decimalRangeConstraints = new ArrayList<>();
-        decimalRangeConstraints.add(Range.closed(new BigDecimal("1.5"), new BigDecimal("5.5")));
-        arg = new BigDecimal("1.4");
+        List<Range<Decimal64>> 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<Range<BigDecimal>> decimal2RangeConstraints = new ArrayList<>();
-        decimal2RangeConstraints.add(Range.closed(new BigDecimal("0"), new BigDecimal("1")));
-        arg = new BigDecimal("1.4");
+        List<Range<Decimal64>> 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
index 481a5d2ed13319119127253002b67da8d58276b4..180522976708b952bbe8bfcc2f233e282784c5ea 100644 (file)
@@ -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
+}
index 3de70abddd5d0522071b2ab80320afe65ebd059f..917429337972e27f61b542c88917a3086744f3a8 100644 (file)
@@ -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.
index 1ec33da90f6927e1304fa86034146f9996956893..90d8f35a40848d0ee318f5e9a63073705f1d4dfd 100644 (file)
@@ -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<String> 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<AnnotationType> 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<Parameter> getParameters() {
-            return this.parameters;
+            return parameters;
         }
 
         @Override
         public List<String> 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<String> 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<String> 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();
         }
index 488569f7a14c8105fffafd1f0bfbc435b551fb92..3740f6c0233b5defeec550b213696360ec847884 100644 (file)
@@ -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();
 
index 7fc0d80f108d9d8a592069b7f42c897314dc573d..98867d12bf8f453cf47cb3aecb95f00493b82e8d 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
+            <artifactId>org.osgi.framework</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
index 1ab8e07a87fc5228695d762da96fdab0d534d81f..8cce7aabf09e53904211f2f84ce6c948a29a2aa5 100644 (file)
@@ -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<RegisteredModuleInfo> regInfos) {
         for (RegisteredModuleInfo regInfo : regInfos) {
             if (!regInfo.decRef()) {
index 0dc567b1be1514bfa77e30d8c55100d6fa969217..482dc16581ac75f5362927cd510ebad718e82b7a 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index fe28b6f6b55a74b4f48340352793d096e4409e4c..6ed39fd65ccbb6e9fbf0b66c238d022276a09054 100644 (file)
@@ -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<? extends CommitInfo> handleCommit(
             final Supplier<FluentFuture<? extends CommitInfo>> commitMethod) {
         if (howManyFailingCommits.decrementAndGet() == -1) {
index 50304742d5db6c97209219b6d3c89fde78a0d002..75fce4643ccffede264456d7a00f4aaeba1ab499 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index f848d05eaf6605577c8ef7087291b5dab5e8a234..1a62730c324638fb7e4112d9320327f578059f97 100644 (file)
@@ -42,6 +42,8 @@
         <dependency>
             <groupId>org.powermock</groupId>
             <artifactId>powermock-reflect</artifactId>
+            <version>2.0.9</version>
+            <scope>test</scope>
         </dependency>
     </dependencies>
 
index b378a703ba86e688acb52e01afef817f51d5b333..92f26f8006725ea497373ddb4e426b1fb6a2949f 100644 (file)
@@ -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<T>) 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) {
index a928582ac0faa78aea4a9a7fa1ca5ec3c10f71c5..526ba6d028ac20e7280f41ed9e98823ce3833f15 100644 (file)
@@ -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 <P extends HierarchicalIdentifier<P>> DataValidationFailedException(final Class<P> 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.");
index a5d2c11dfe77cfa021114501f83c51e7b5b9515c..037777a6fadd74c569d4983e24004050f8855c02 100644 (file)
@@ -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);
     }
-
 }
index 33e6d1c3c6e7e4907d31a596302def6c6ac51fec..c667f86a7f9d7515d4596e050935eac9e9789038 100644 (file)
@@ -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<Exception> DEADLOCK_EXCEPTION_SUPPLIER =
         () -> new TransactionCommitDeadlockException(DEADLOCK_MESSAGE, DEADLOCK_RPCERROR);
index bfbf16253e5ddb6e8a34a4a57054a280cf9192c5..150ad97906c69a097de92174eda25f243fa40172 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 4b3a75cf06ac81f129d49b86f45df73fbdb16592..ed323e2a8db5b1545515d4f235aceddcef033002 100644 (file)
                         <link>https://commons.apache.org/proper/commons-lang/javadocs/api-3.10/</link>
                         <link>https://commons.apache.org/proper/commons-codec/apidocs/</link>
 
-                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/9.0.13/</link>
-                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/7.0.14/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/10.0.0/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/8.0.0-SNAPSHOT/</link>
                     </links>
                     <groups>
                         <group>
index eac4e22483badd144033e1b158a9accad6c8e691..4cb72bdd9f2e9af2fd65e79f18523bddf92da02b 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -29,7 +29,7 @@
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>7.0.14</version>
+                <version>8.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 46fb699016cf053d7a16627ec584fe279bc33f85..98427fcfa68ae17b3c168ff0c5ec252925bcf217 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-tree-api</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-model-api</artifactId>
index 9961f54e6e699e7d415defd49e901dd3cc837603..35d55a2b937035d130105608b1a306598623f9f6 100644 (file)
@@ -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;
index f84313463844d0cbeb7353a3326410838fce1144..55d5aa09830a934adb37bd05390da2cfd78d4726 100644 (file)
@@ -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
index 4ac6106280dbb8e9c5062070ad649cf147d81724..21954323c5a75acf93b155d9d756be28c9971780 100644 (file)
@@ -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.
index 85892243612ffbd3fdb3a4021a5ac8103b16c630..e2f0fdc3cddd2cd6992aff2ffd07f2656369cde6 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.metatype.annotations</artifactId>
         </dependency>
 
         <dependency>
index 827ba73187394b1a7fcfa6665c98f37b04c50065..aa53c2afb9175ee1f365cfaa6d2e682529942281 100644 (file)
@@ -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);
index 4fd4724589c03f9b192a95dce3cc5dd032035881..80d0c80ee34a53e1420714bce6b476188dbb5b57 100644 (file)
@@ -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<DOMMountPoint> 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) {
index dcb332a22d830d526c06aa66c962c5611ff897c5..76323b059e7dc91f84f26275427d0469417b3c50 100644 (file)
@@ -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<DOMRpcIdentifier> 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<DOMRpcIdentifier, DOMRpcImplementation> 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<DOMActionInstance> 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<? extends DOMRpcAvailabilityListener> 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<? extends AvailabilityListener> 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<? extends DOMRpcImplementation> 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<? extends DOMRpcImplementation> impls) {
         for (Registration<?> l : listeners) {
index a1b19c1ea3ffe8432b0d06d3a29632f3cad557e9..808c51506ab71bf5e858dff2768a77e24ccb7f4b 100644 (file)
@@ -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 {
 
index b2dd818d15650c7faac9df5d643c4e9551f29814..39947d728bf1b907cadc95283bf20d64015c25b1 100644 (file)
@@ -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 {
 
index c0d8cd5ab113482de693c199f229bc801c102688..8b62879d445026a68ee465892335705e616a3133 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-impl</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-tree-ri</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-model-api</artifactId>
index 2f83695e200e3aacbbaf14dcbdf461f447906fc5..d47a04a6a2d874d9021980c0d6ff2a922b275f1d 100644 (file)
@@ -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
index 6f512e202402c30fd5e4162a4b089282ca07081d..6bdbdae106b3799c752faac1019f50762b7327f3 100644 (file)
@@ -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<String> {
     private final InMemoryDOMDataStore store;
index aa36a99ccae4bdd99cced2d645022defae63ddc3..6ed525f1ae0323240b78a23e06cb687dbd064f8e 100644 (file)
@@ -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;
index abd32900f9a4bec3a5d66760d1284083aa4d9cec..d7de64d02c33581adf89ce601485c065b4bd1cec 100644 (file)
@@ -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;
 
index 4b1ace022cb7ca7dc9011bb02bb0a092b6ef6555..d98697ecde6c679e29e7973643f3420a6429f00a 100644 (file)
@@ -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;
 
index 145f8aed6741feeb97f36ea6eb986427317dbcf4..3c1c811eabba741c7b85a6be8d9666f1ebbc2efa 100644 (file)
@@ -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
+}
index e906038908fd5d4bd45e1f20ce450c5de4137074..9e6b7f2264b095b78deeb16e8cd54e2b4de96536 100644 (file)
@@ -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 {
index 39ce1650bb7d778b673993c5d485d3c2a867a565..b9982ca56a14bbea2a93228ed3b66246a5ceea25 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.annotation</artifactId>
+            <artifactId>org.osgi.annotation.versioning</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
+            <artifactId>org.osgi.framework</artifactId>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.tracker</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
index d9c77241cdbfa994358b85767801bb70547fa424..d0cdf3ecee7d8cd62163df985ae9235afa04fa95 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>odlext-model-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-tree-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-tree-spi</artifactId>
+        </dependency>
 
         <!-- Test Dependencies -->
         <dependency>
index 2154c148ae67d9f709386be6ab039f9b670cb4b4..00222a53b181c41168590386edd3ed561f8dc143 100644 (file)
@@ -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
index aec8e492f58043cc5bd1bb37bdc6d9ed24cc3138..68645e8d124f1656ea9ececb3f5c1daa2d63cfe2 100644 (file)
@@ -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
index a8f4b011a3c03e8630e90f6827360c1f52e75a2b..c4f43d19ebf1c7e5944b31ad03fb26134e4f243d 100644 (file)
@@ -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;
 
index 46018d06d3fca82cada9c2182eb87522dbf79a7e..85012c39b2dc727082302cd566b1c8836040a1f5 100644 (file)
@@ -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;
 
index 0f61bfb8ea9d980007f12483b8b5a83c59a6686e..babefecaaffcdbcf1a0e38f6c8bc1e16cc6a681c 100644 (file)
@@ -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;
 
index c7101519014c331d8233a7e39b144c2a62bd7150..3de4dc2c5e7cce740e1b904081e913eefee41e9e 100644 (file)
@@ -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;
 
index d982343fa322ef3d7fdf9d25254f8038721ca69a..40df9af01633d8e3a4061228a6f1f6da2d6750de 100644 (file)
@@ -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}.
index e7a0a9218b1f083f3fde73cdac43ab67c4775406..85e9fc2870af393b7d1bdc7b0914b2f8a56e91fc 100644 (file)
@@ -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.
index 0efe47281635a9d06f63975bfc9c55948937b00a..babb8ed003a7061439689b8d4cbe8102f64a3bd7 100644 (file)
@@ -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;
 
index f3b87f45bfa1977a0dae090c4940a7f9c8b42ed3..d0d4611ad041cddbc1f26a0f1f1604816d28e1aa 100644 (file)
@@ -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 {
 
index 1d59166d82da01cc0ca2aff3d89795f3000d2cbc..ca43ae65917098c412ee9eaa33ed24a235fced1a 100644 (file)
@@ -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 {
index 1dce26f15e5124052312482e0f2ae0a61cae8c34..eb3e2fb73ad01b986ceaca2fbe9e6e9425201610 100644 (file)
@@ -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 {
index 409edc9bb089955b0d7ce3c65dd42304f85ea723..b568c45a75d5cbc2c76a6cd323fbda8c6f1b7c88 100644 (file)
@@ -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 {
 
index 647082ffdfe0ad0614d2697cda86201d71db2745..b36e2ab06dddd711b27fe19cb0356be78cde9ee8 100644 (file)
@@ -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
index 81c456df925a0924c70f0c4b110fd06d04237c22..ae8ce6c3f5603ab04326f529154fc55ccd0beddb 100644 (file)
@@ -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 {
 
index 34fe93d8e25dab61116399515a25db991c3e1974..ba47f06d2b385a17de3190337f37670b96aadd30 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 3722196ab1710a41e5e8235c73f3ff759bee7542..b4572a617340b4e64022b0e9eb8fbbdffcd3348c 100644 (file)
@@ -58,7 +58,7 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
index 8399c4898236f50719eb8d83b4dd3eb75de9f955..4247194c95e60a39a9dbced06ec6f4a7bc5ce2ae 100644 (file)
@@ -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());
index 788004083165a4957b8e5282a5b5cae7bb593e75..0a9c9ff749537a9ab04c1111a61e882fcfc96cb4 100644 (file)
@@ -10,7 +10,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index f42961e0a8cf527e35204f67b3cf7b23b4105150..dcb69b01b62383ab2ac940e416d3f597a4277fac 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
@@ -27,7 +27,7 @@
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>7.0.14</version>
+                <version>8.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index ecd3363de157d9f74bae0e9f3335b4b2e80af1a2..3646abdd2a735602ef72984f44ae33d79a2e98af 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index f90d7a65f1198d6e53ad770c31163ba9a2f221db..8504789280dace79f61046ebbf34250d1615f698 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 060c5d5669e6c3f7b5bc8849ff34e03cc08a8354..7b4498074be5516a6b51621ed90dfd799ec16afa 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-binding-api">
     <feature name="odl-mdsal-binding-api">
-        <feature version="[7,8)">odl-yangtools-data-api</feature>
+        <feature version="[8,9)">odl-yangtools-data-api</feature>
     </feature>
 </features>
index 4cc7021d88270a9d08bf21a8d40d44109723a639..d2aeca77f4b1084e3443adecd03915658d663546 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-binding-base">
     <feature name="odl-mdsal-binding-base">
-        <feature version="[7,8)">odl-yangtools-common</feature>
+        <feature version="[8,9)">odl-yangtools-common</feature>
     </feature>
 </features>
index 23a60014a7cf9be0659d09ce5456beb4b914aa37..aa150baa65728433942250265ba414db1e80dd09 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-runtime-api">
     <feature name="odl-mdsal-binding-runtime-api">
-        <feature version="[7,8)">odl-yangtools-data</feature>
-        <feature version="[7,8)">odl-yangtools-parser</feature>
+        <feature version="[8,9)">odl-yangtools-data</feature>
+        <feature version="[8,9)">odl-yangtools-parser</feature>
     </feature>
 </features>
index f193e02eab43d120d50a8a57c7ea5e9f6f63e174..a762fe3c1d85e8cc93cb5e31a0b428164cb2cda5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-common">
     <feature name="odl-mdsal-common">
-        <feature version="[7,8)">odl-yangtools-common</feature>
+        <feature version="[8,9)">odl-yangtools-common</feature>
     </feature>
 </features>
index bd8f33bd19e54b93ba381d021c5ca4ed67e95d11..b8ab1ae7c8fc19109384651228cd127352a79bf4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-dom-api">
     <feature name="odl-mdsal-dom-api">
-        <feature version="[7,8)">odl-yangtools-data-api</feature>
+        <feature version="[8,9)">odl-yangtools-data-api</feature>
     </feature>
 </features>
index d9132342463f575b9374d46f5abf90d0d49da630..c45b98603b9c2f2be7d0ebbb787e10993ba59749 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-eos-common">
     <feature name="odl-mdsal-eos-common">
-        <feature version="[7,8)">odl-yangtools-data-api</feature>
+        <feature version="[8,9)">odl-yangtools-data-api</feature>
     </feature>
 </features>
index 7df68772a726da68481e854d1c3d89fdac4e7c85..c6a447f17dcd34b4815b4be0ed256d576aad12a5 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-exp-yanglib-api">
     <feature name="odl-mdsal-exp-yanglib-api">
-        <feature version="[7,8)">odl-yangtools-data-api</feature>
+        <feature version="[8,9)">odl-yangtools-data-api</feature>
     </feature>
 </features>
index 23fe06fe6bf40e200e830b1a053d8d784ea9de65..76849eedd7e0312bfd6c1d34feaf8263868049ab 100644 (file)
@@ -3,7 +3,7 @@
     <feature name="odl-mdsal-replicate-netty" version="${project.version}">
         <configfile finalname="etc/org.opendaylight.mdsal.replicate.netty.sink.cfg">mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/sink</configfile>
         <configfile finalname="etc/org.opendaylight.mdsal.replicate.netty.source.cfg">mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/source</configfile>
-        <feature version="[9,10)">odl-netty-4</feature>
-        <feature version="[7,8)">odl-yangtools-codec</feature>
+        <feature version="[10,11)">odl-netty-4</feature>
+        <feature version="[8,9)">odl-yangtools-codec</feature>
     </feature>
 </features>
index 61f5e52235083c7b95adb49d437c06a80c06893e..cbe840158f4aedc0e6b0f4e806c4076524e434f2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-uint24-netty">
     <feature name="odl-mdsal-uint24-netty">
-        <feature version="[7,8)">odl-yangtools-netty</feature>
+        <feature version="[8,9)">odl-yangtools-netty</feature>
     </feature>
 </features>
index a4b9e54587fb6e91872aad18acefbf2974263408..77c0b897205e38e2e08c397c96ddf4d26aebdead 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 4d001a09237261dd94c502aac147b257f7881433..aeb01067a8b8d6be55314c0333c16198004be904 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>9.0.13</version>
+    <version>10.0.0</version>
     <relativePath/>
 </parent>
 
index b5aa887e58b654dd86715598d5489bddf7c12695..d041b5b97540666315d7b8051b74d0afc2f6cf23 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index ebe5666b9cfa1e205d92663c767dcdd5e172117e..8fa5785f272627921d8106a4dcc3b8d7462bdbb5 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index da6c7f8daa81a0a9213c6a94998a94801557b31c..5e4799b36fce1c763da3a9d90f08b52eb121c3d7 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 4a8d074137bccbf5ad901577a10f559744a3b2b1..31d9408ec187855a7059576e2c1ce77e63ca77a6 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index 9aa08be3df1e706e0b4b55f30e525ae2380e3b83..d303859ea424b5a854a98261a2674e57379bdfe4 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index d7f10102bfad6ca4e64ba7fc55f127df1100f6da..eefbc639f212354e29f1d22f9e9deefcd8cbd70b 100644 (file)
@@ -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;
index 491ce47e8e33390f25f6a6722eb327e2a1307e98..95e63cf12288b4a64934d91a8cfc55d4091a068f 100644 (file)
@@ -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;
index d7e5d5fb93387796e5952f63bdc1c6c7ed7f5b17..cce3b109568daaff5bf53c310c9a951befed8a7c 100644 (file)
@@ -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 {
index 63f661cdb5104010d7615024604eb36ba6b9ac54..3985858105864ba69140210b75d0aabe23c69ff5 100644 (file)
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.metatype.annotations</artifactId>
         </dependency>
 
         <dependency>
index 5c5eeeb549eded3431d964a4d139cff70220ace3..95e5407382988ca856a253e0759435eec7a68217 100644 (file)
@@ -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 {
index 24904eaaa982bd70138c82202b79e377ff3e0f1c..6d0d13080de370dd3240ed8c7bfd21432122cf33 100644 (file)
@@ -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;
index dc5201a419d73081bd79dbfca53f92bc33808ed7..8928dbadd3e65974b072a93a925c258a9fde77ae 100644 (file)
@@ -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;
 
index 467c0bf92b27d2caa41802897cd8d2dcfa6c1a85..80736d0215acd5c1d6b2183cc7c28f5f0991e2cd 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 2fae806534da672d4c6ec555ddf6353175c8c835..8a283545b6f7c58152365b546c4183c4dcc538c1 100644 (file)
@@ -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<P extends HierarchicalIdentifier<P>
         }
     }
 
-    @SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD",
-            justification = "https://github.com/spotbugs/spotbugs/issues/811")
     private void serviceTransitionCompleted() {
         markDirty();
         if (tryLock()) {
index 9155419c69c8fa1ca6240720302ad512dfa439ca..4c42e251257f16d888f2f07a0b25d69490a095f8 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 22311d0e4d9d8afabb658e65a59877cf6e25ac18..94311cbcfc3f73cd3202593573e376b37e3915c8 100644 (file)
@@ -22,7 +22,7 @@ import org.eclipse.jdt.annotation.Nullable;
  *
  * @author Michael Vorburger.ch
  */
-class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracked<T> {
+final class CloseTrackedTrait<T extends CloseTracked<T>> implements CloseTracked<T> {
 
     // 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<T extends CloseTracked<T>> implements CloseTracked<T> {
     private final CloseTrackedRegistry<T> closeTrackedRegistry;
     private final CloseTracked<T> realCloseTracked;
 
-    CloseTrackedTrait(CloseTrackedRegistry<T> transactionChainRegistry, CloseTracked<T> realCloseTracked) {
+    CloseTrackedTrait(final CloseTrackedRegistry<T> transactionChainRegistry, final CloseTracked<T> 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..
index f3023e9a647518e1abfecd72a55233358c6ab8c0..1bcedd14b4b7574b1c42d4f650b2e744ead9f1fa 100644 (file)
@@ -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;
index f654254eaaf06a24fa781565aa91471b0698a10a..5d8d0372142d36faf3d3c960c9c662c89a493f0e 100644 (file)
@@ -10,7 +10,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>
 
index 97f2d0492197ee052758b31724806759589d5530..bcad5444cb371a2050ef30dad76ec6713982171c 100644 (file)
@@ -57,7 +57,7 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
index 336eb47726c0a9c9d9c1060a1e4c8ecc58af5458..21ef4a875f421f1a069d724607f566109837a9c4 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>9.0.13</version>
+        <version>10.0.0</version>
         <relativePath/>
     </parent>