Remove deprecated MD-SAL APIs The APIs in controller have been deprecated for removal and cannot sustain an upgrade to Guava-28+. Remove them along with all supporting implementations. JIRA: CONTROLLER-1903 Change-Id: I213797b7045cfd7bef744e249614e2b1f6169c1c Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Deprecate old MD-SAL APIs for removal These APIs are slated for removal in Aluminium, make sure our warning is more stern. JIRA: CONTROLLER-1917 Change-Id: Ib4f7dcfd5183b87dd10b9ce2b773a59a548892c9 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Fixup checkstyle Updated checkstyle does not like some our docs, fix them up. Change-Id: I2d4f608fe9c44a56cdcac511cc1e2ae75c03b413 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Deprecate all MD-SAL APIs These APIs have either been completely deprecated or have their replacements in the mdsal project. Mark all of them as deprecated, including their implementations. JIRA: CONTROLLER-1902 Change-Id: I903afcef57c70c1013ab479cfcf31a42f475dc0f Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Reduce JSR305 proliferation retention=runtime annotations are mixing really badly with Java EE injection and Java 11. Make sure we do not use javax.annotation package in APIs and reduce overall proliferation inside implementations. Change-Id: I569815f0336efdc0de662c3b80f0fa6e5dd47d8a Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Introduce ReadTransaction.exists() This method exists in the DOM API, but for some reason it was left out if the Binding API. Introduce it as default methods riding on the read() method and override them in all known implementations, so the request is efficiently routed. JIRA: MDSAL-389 Change-Id: Id56332d6f720396305ac68e40554e62fd17c34fb Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Allow DataObjectModification to address grouping nodes This adds the API and implementation required to address child nodes introduced in cases by the use of a grouping. JIRA: MDSAL-342 Change-Id: I70871dcaa3441fbef81dfb15bfd965d133aa0894 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Add (DOM)Action(Provider) bridges We need to add bridge interfaces which allow NETCONF to expose DOMActionService through Controller's mountpoints. Also add binding equivalents, so users of Controller Binding have access to them. JIRA: MDSAL-283 Change-Id: Ie6b0819345928637df29c5a15bf1634f8932de19 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Deprecate controller APIs Deprecated the high-level interfaces, eg DataBroker. Change-Id: I754e3a5059c05d70616f3bd4ff3a00a05115fead Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Remove DataChangeListener and friends AsyncDataChangeEvent is being kept for now as ovsdb still independently uses it internally. JIRA: TSC-112 Change-Id: Ia68ac1cdf31dec3645f675442db14b7697d63b64 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Default AsyncWriteTransaction.submit() Now that all downstream implementations implement commit(), the deprecated submit() method can be defaulted instead instead of commit(). Change-Id: Idd684bc3fdc7d4f048257154988ef1f7c7811e97 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Add AsyncWriteTransaction.commit() Equivalent to the recent md-sal API addition. The CommitInfo class is re-used from md-sal. I also modified all implementations in the controller to implement commit even though it's defaulted. As soon as implementations in other projects do the same then we can default submit(). Change-Id: I0801d5aa4c197177af838e7fbb71b7766a90e043 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Add default implementation for AsyncWriteTransaction#commit This method has been deprecated for quite some time and time for removal. There are still sub-classes in other projects that override it so first add a default implementation to throw UnsupportedOperationException. When patches are merged in the pther projects, we can remkve this method (and TransactionStatus). Change-Id: I5e3581d50a4f92df3984a663d04ce026a52252b2 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Fix checkstyle violations in sal-binding-api Change-Id: Ic39062434dccf9616675b3616e142600f250c814 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Remove explicit default super-constructor calls The default constructor is called by default (hence its name), no need to call it explicitly. Change-Id: I0f4ac3bf4a1d582b7a9d50beeaa1de6d2f107499 Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
ForwardingRead[Only]/WriteTransaction implementations this came up during https://git.opendaylight.org/gerrit/#/c/63372/ a bit similar (but otherwise unrelated) to my earlier https://git.opendaylight.org/gerrit/#/c/63135/ Change-Id: If669f94b47bf41f49e54c66c6024aeff9805f8d6 Signed-off-by: Michael Vorburger <vorburger@redhat.com>
ForwardingDataBroker as discussed on https://git.opendaylight.org/gerrit/#/c/63120/ Change-Id: I374d2a9f6cbad89f33e453eca270e5cc5f75a224 Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Fix javadocs and enable doclint This eliminates the doclint suppression and fixes up javadoc, so they work with Java 8 out of the box. Change-Id: I7294f0dcd570e3e3c445e54cc8989078175d05d7 Signed-off-by: Robert Varga <rovarga@cisco.com>
Mechanical code cleanup (sal-binding-api) * Remove unnecessary type specifiers (use Java 7 <>) * Remove unnecessary "extends Object" declarations * Remove unnecessary semi-colons * Merge identical catch blocks * Remove redundant modifiers: - enum constructors are private by default - interface properties are public static final by default - interface methods are public abstract by default - interfaces are abstract by default - inner interfaces are static by default - inner classes in interfaces are public static by default Change-Id: Ia2f892083eb30b898fbd544ec62620ee6976a553 Signed-off-by: Stephen Kitt <skitt@redhat.com>
Deprecate DCL in favor of DTCL The DataTreeChangeListener abstraction offers many performance and semantic advantages over DataChangeListener. Although there is no concrete date for DCL removal, @Deprecated annotations are added to DCL API and impl classes to dissuade their use. An example of how to transition from DCL to DTCL is included in this patch: https://git.opendaylight.org/gerrit/#/c/35209/ Change-Id: Ie6d287224f572f157d41bf56c04b02e60ea8bf2a Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>