From 4e99f8da93b99168e8f43f68e238ff4e1fdda8cd Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 7 Feb 2019 22:49:40 +0100 Subject: [PATCH] Remove javax.annotation nullness annotations These annotations should not be used and they interfere with Java EE annotations. Migrate/eliminate them as needed. Change-Id: Ifa3a80f2accdba369d916aaffde43025ded20b1b Signed-off-by: Robert Varga --- .../CallHomeAuthorizationProvider.java | 7 +- .../protocol/CallHomeChannelActivator.java | 5 +- .../protocol/CallHomeSessionContext.java | 27 ++++--- .../mount/CallHomeAuthProviderImpl.java | 11 ++- .../mount/CallHomeMountSessionManager.java | 11 ++- .../mdsal/connector/ops/RuntimeRpc.java | 7 +- .../CapabilityChangeNotificationProducer.java | 5 +- .../impl/SessionNotificationProducer.java | 12 ++-- .../OperationalDatastoreListenerTest.java | 6 +- .../netconf/NetconfEventSourceMountTest.java | 10 +-- .../commands/NetconfListDevicesCommand.java | 5 +- .../commands/NetconfShowDeviceCommand.java | 5 +- .../singleton/impl/NetconfNodeManager.java | 3 +- .../impl/NetconfTopologyContext.java | 16 ++--- .../impl/NetconfTopologyManager.java | 30 ++++---- .../singleton/impl/ProxyDOMRpcService.java | 5 +- .../impl/ProxyYangTextSourceProvider.java | 3 +- .../impl/RemoteDeviceConnectorImpl.java | 8 +-- .../impl/actors/NetconfNodeActor.java | 15 ++-- .../singleton/impl/actors/ReadAdapter.java | 5 +- .../singleton/impl/actors/WriteAdapter.java | 3 +- .../messages/rpc/InvokeRpcMessage.java | 9 ++- .../messages/rpc/InvokeRpcMessageReply.java | 20 +++--- .../impl/NetconfConnectorFactoryImpl.java | 3 +- .../topology/impl/NetconfTopologyImpl.java | 3 +- .../util/messages/NetconfMessageUtil.java | 8 +-- .../sal/connect/netconf/NetconfDevice.java | 18 +++-- .../netconf/listener/UncancellableFuture.java | 10 +-- .../netconf/listener/UserPreferences.java | 4 +- .../netconf/sal/KeepaliveSalFacade.java | 27 +++---- .../sal/NetconfDeviceNotificationService.java | 5 +- .../connect/netconf/sal/NetconfDeviceRpc.java | 5 +- .../netconf/sal/NetconfKeystoreAdapter.java | 3 +- .../sal/SchemalessNetconfDeviceRpc.java | 8 +-- .../netconf/sal/tx/AbstractWriteTx.java | 16 ++--- .../netconf/sal/tx/WriteCandidateTx.java | 6 +- .../util/NetconfRpcFutureCallback.java | 3 +- .../test/tool/DummyMonitoringService.java | 26 +++---- .../yanglib/impl/YangLibProvider.java | 20 +++--- .../sal/rest/impl/JsonToPatchBodyReader.java | 31 ++++---- .../StringModuleInstanceIdentifierCodec.java | 19 +++-- .../sal/rest/impl/XmlToPatchBodyReader.java | 26 +++---- .../sal/restconf/api/JSONRestconfService.java | 12 ++-- .../restconf/impl/BatchedExistenceCheck.java | 8 +-- .../impl/JSONRestconfServiceImpl.java | 21 +++--- .../streams/listeners/ListenerAdapter.java | 13 ++-- .../StringModuleInstanceIdentifierCodec.java | 19 +++-- .../patch/JsonToPatchBodyReader.java | 47 ++++++------ .../providers/patch/XmlToPatchBodyReader.java | 24 +++---- .../services/api/JSONRestconfService.java | 10 +-- .../impl/JSONRestconfServiceRfc8040Impl.java | 18 ++--- .../impl/RestconfDataServiceImpl.java | 13 ++-- ...estconfStreamsSubscriptionServiceImpl.java | 5 +- .../rfc8040/rests/utils/ParametersUtil.java | 11 ++- .../rests/utils/ReadDataTransactionUtil.java | 71 ++++++++----------- .../utils/parser/ParserFieldsParameter.java | 35 ++++----- 56 files changed, 332 insertions(+), 444 deletions(-) diff --git a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeAuthorizationProvider.java b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeAuthorizationProvider.java index 85a1cef2f1..ab04ab5547 100644 --- a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeAuthorizationProvider.java +++ b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeAuthorizationProvider.java @@ -9,13 +9,12 @@ package org.opendaylight.netconf.callhome.protocol; import java.net.SocketAddress; import java.security.PublicKey; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Provider responsible for resolving CallHomeAuthorization. */ public interface CallHomeAuthorizationProvider { - /** * Provides authorization parameters for incoming call-home connection. * @@ -23,7 +22,5 @@ public interface CallHomeAuthorizationProvider { * @param serverKey SSH key provided by SSH server on incoming connection * @return {@link CallHomeAuthorization} with authorization information. */ - @Nonnull - CallHomeAuthorization provideAuth(@Nonnull SocketAddress remoteAddress, @Nonnull PublicKey serverKey); - + @NonNull CallHomeAuthorization provideAuth(@NonNull SocketAddress remoteAddress, @NonNull PublicKey serverKey); } diff --git a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeChannelActivator.java b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeChannelActivator.java index 0fad0a5b1b..e217cd3a14 100644 --- a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeChannelActivator.java +++ b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeChannelActivator.java @@ -8,7 +8,7 @@ package org.opendaylight.netconf.callhome.protocol; import io.netty.util.concurrent.Promise; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.client.NetconfClientSession; import org.opendaylight.netconf.client.NetconfClientSessionListener; @@ -26,6 +26,5 @@ public interface CallHomeChannelActivator { * @param listener Client Session Listener to be attached to NETCONF session. * @return Promise with negotiated NETCONF session */ - @Nonnull - Promise activate(@Nonnull NetconfClientSessionListener listener); + @NonNull Promise activate(@NonNull NetconfClientSessionListener listener); } diff --git a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeSessionContext.java b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeSessionContext.java index c1bb615ff2..c69e67bf1c 100644 --- a/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeSessionContext.java +++ b/netconf/callhome-protocol/src/main/java/org/opendaylight/netconf/callhome/protocol/CallHomeSessionContext.java @@ -5,11 +5,11 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.callhome.protocol; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import io.netty.channel.EventLoopGroup; import io.netty.util.concurrent.GlobalEventExecutor; import io.netty.util.concurrent.Promise; @@ -19,7 +19,6 @@ import java.net.SocketAddress; import java.security.PublicKey; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import javax.annotation.Nullable; import javax.annotation.concurrent.GuardedBy; import org.apache.sshd.client.channel.ClientChannel; import org.apache.sshd.client.future.AuthFuture; @@ -28,6 +27,7 @@ import org.apache.sshd.client.session.ClientSession; import org.apache.sshd.client.session.ClientSessionImpl; import org.apache.sshd.common.future.SshFutureListener; import org.apache.sshd.common.session.Session; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.netconf.client.NetconfClientSession; import org.opendaylight.netconf.client.NetconfClientSessionListener; import org.opendaylight.netconf.client.NetconfClientSessionNegotiatorFactory; @@ -53,11 +53,11 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext { CallHomeSessionContext(final ClientSession sshSession, final CallHomeAuthorization authorization, final SocketAddress remoteAddress, final Factory factory) { - this.authorization = Preconditions.checkNotNull(authorization, "authorization"); - Preconditions.checkArgument(this.authorization.isServerAllowed(), "Server was not allowed."); - Preconditions.checkArgument(sshSession instanceof ClientSessionImpl, + this.authorization = requireNonNull(authorization, "authorization"); + checkArgument(this.authorization.isServerAllowed(), "Server was not allowed."); + checkArgument(sshSession instanceof ClientSessionImpl, "sshSession must implement ClientSessionImpl"); - this.factory = Preconditions.checkNotNull(factory, "factory"); + this.factory = requireNonNull(factory, "factory"); this.sshSession = (ClientSessionImpl) sshSession; this.sshSession.setAttribute(SESSION_KEY, this); this.remoteAddress = (InetSocketAddress) this.sshSession.getIoSession().getRemoteAddress(); @@ -80,7 +80,7 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext { netconfChannel.setStreaming(ClientChannel.Streaming.Async); netconfChannel.open().addListener(newSshFutureListener(netconfChannel)); } catch (IOException e) { - throw Throwables.propagate(e); + throw new IllegalStateException(e); } } @@ -159,9 +159,9 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext { Factory(final EventLoopGroup nettyGroup, final NetconfClientSessionNegotiatorFactory negotiatorFactory, final CallHomeNetconfSubsystemListener subsystemListener) { - this.nettyGroup = Preconditions.checkNotNull(nettyGroup, "nettyGroup"); - this.negotiatorFactory = Preconditions.checkNotNull(negotiatorFactory, "negotiatorFactory"); - this.subsystemListener = Preconditions.checkNotNull(subsystemListener); + this.nettyGroup = requireNonNull(nettyGroup, "nettyGroup"); + this.negotiatorFactory = requireNonNull(negotiatorFactory, "negotiatorFactory"); + this.subsystemListener = requireNonNull(subsystemListener); } void remove(final CallHomeSessionContext session) { @@ -176,8 +176,7 @@ class CallHomeSessionContext implements CallHomeProtocolSessionContext { return this.subsystemListener; } - @Nullable - CallHomeSessionContext createIfNotExists(final ClientSession sshSession, + @Nullable CallHomeSessionContext createIfNotExists(final ClientSession sshSession, final CallHomeAuthorization authorization, final SocketAddress remoteAddress) { CallHomeSessionContext session = new CallHomeSessionContext(sshSession, authorization, remoteAddress, this); diff --git a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java index a115bec6c8..276a11b7ca 100644 --- a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java +++ b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java @@ -17,7 +17,6 @@ import java.security.PublicKey; import java.util.Collection; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataObjectModification; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; @@ -69,10 +68,8 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, statusReporter = new CallhomeStatusReporter(broker); } - @Nonnull @Override - public CallHomeAuthorization provideAuth(@Nonnull final SocketAddress remoteAddress, - @Nonnull final PublicKey serverKey) { + public CallHomeAuthorization provideAuth(final SocketAddress remoteAddress, final PublicKey serverKey) { Device deviceSpecific = deviceConfig.get(serverKey); String sessionName; Credentials deviceCred; @@ -133,7 +130,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private final ConcurrentMap byPublicKey = new ConcurrentHashMap<>(); @Override - public void onDataTreeChanged(@Nonnull final Collection> mods) { + public void onDataTreeChanged(final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { DataObjectModification rootNode = dataTreeModification.getRootNode(); process(rootNode); @@ -194,7 +191,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private final ConcurrentMap byPublicKey = new ConcurrentHashMap<>(); @Override - public void onDataTreeChanged(@Nonnull final Collection> mods) { + public void onDataTreeChanged(final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { DataObjectModification rootNode = dataTreeModification.getRootNode(); process(rootNode); @@ -247,7 +244,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private volatile Global current = null; @Override - public void onDataTreeChanged(@Nonnull final Collection> mods) { + public void onDataTreeChanged(final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { current = dataTreeModification.getRootNode().getDataAfter(); } diff --git a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionManager.java b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionManager.java index f26d6ba421..80e82f5e9f 100644 --- a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionManager.java +++ b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionManager.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.callhome.mount; import com.google.common.collect.Multimap; @@ -16,7 +15,8 @@ import java.security.PublicKey; import java.util.Collection; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.netconf.callhome.mount.CallHomeMountSessionContext.CloseCallback; import org.opendaylight.netconf.callhome.protocol.CallHomeChannelActivator; import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext; @@ -28,13 +28,12 @@ public class CallHomeMountSessionManager implements CallHomeMountSessionContext. private final Multimap contextByPublicKey = MultimapBuilder.hashKeys() .hashSetValues().build(); - @Nullable - public CallHomeMountSessionContext getByAddress(InetSocketAddress remoteAddr) { + public @Nullable CallHomeMountSessionContext getByAddress(InetSocketAddress remoteAddr) { return contextByAddress.get(remoteAddr); } - @Nullable - public Collection getByPublicKey(PublicKey publicKey) { + + public @NonNull Collection getByPublicKey(PublicKey publicKey) { return contextByPublicKey.get(publicKey); } diff --git a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java index 5f304d24d4..b16f766c14 100644 --- a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java +++ b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java @@ -14,12 +14,12 @@ import java.util.Collections; import java.util.Map; import java.util.Optional; import java.util.concurrent.ExecutionException; -import javax.annotation.Nullable; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.mdsal.dom.api.DOMRpcService; import org.opendaylight.netconf.api.DocumentedException; @@ -253,9 +253,8 @@ public class RuntimeRpc extends AbstractSingletonNetconfOperation { * @return parsed rpc into normalized node, or null if input schema is null */ @SuppressWarnings("checkstyle:IllegalCatch") - @Nullable - private NormalizedNode rpcToNNode(final XmlElement element, @Nullable final ContainerSchemaNode input) - throws DocumentedException { + private @Nullable NormalizedNode rpcToNNode(final XmlElement element, + final @Nullable ContainerSchemaNode input) throws DocumentedException { if (input == null || input.getChildNodes().isEmpty()) { return null; } diff --git a/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/CapabilityChangeNotificationProducer.java b/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/CapabilityChangeNotificationProducer.java index 7b810a9908..7f68fe1bb6 100644 --- a/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/CapabilityChangeNotificationProducer.java +++ b/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/CapabilityChangeNotificationProducer.java @@ -13,7 +13,6 @@ import com.google.common.collect.Sets; import java.util.Collection; import java.util.Collections; import java.util.Set; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataObjectModification; import org.opendaylight.mdsal.binding.api.DataTreeModification; @@ -42,7 +41,7 @@ public final class CapabilityChangeNotificationProducer extends OperationalDatas private static final Logger LOG = LoggerFactory.getLogger(CapabilityChangeNotificationProducer.class); private final BaseNotificationPublisherRegistration baseNotificationPublisherRegistration; - private final ListenerRegistration capabilityChangeListenerRegistration; + private final ListenerRegistration capabilityChangeListenerRegistration; public CapabilityChangeNotificationProducer(final NetconfNotificationCollector netconfNotificationCollector, final DataBroker dataBroker) { @@ -52,7 +51,7 @@ public final class CapabilityChangeNotificationProducer extends OperationalDatas } @Override - public void onDataTreeChanged(@Nonnull final Collection> changes) { + public void onDataTreeChanged(final Collection> changes) { for (DataTreeModification change : changes) { final DataObjectModification rootNode = change.getRootNode(); final DataObjectModification.ModificationType modificationType = rootNode.getModificationType(); diff --git a/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/SessionNotificationProducer.java b/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/SessionNotificationProducer.java index 3bea088fd8..d5bb772f53 100644 --- a/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/SessionNotificationProducer.java +++ b/netconf/mdsal-netconf-notification/src/main/java/org/opendaylight/netconf/mdsal/notification/impl/SessionNotificationProducer.java @@ -7,9 +7,9 @@ */ package org.opendaylight.netconf.mdsal.notification.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataObjectModification; import org.opendaylight.mdsal.binding.api.DataTreeModification; @@ -40,7 +40,7 @@ public class SessionNotificationProducer extends OperationalDatastoreListener sessionListenerRegistration; public SessionNotificationProducer(final NetconfNotificationCollector netconfNotificationCollector, final DataBroker dataBroker) { @@ -52,7 +52,7 @@ public class SessionNotificationProducer extends OperationalDatastoreListener> changes) { + public void onDataTreeChanged(final Collection> changes) { for (DataTreeModification change : changes) { final DataObjectModification rootNode = change.getRootNode(); final DataObjectModification.ModificationType modificationType = rootNode.getModificationType(); @@ -76,7 +76,7 @@ public class SessionNotificationProducer extends OperationalDatastoreListener op = new OperationalDatastoreListener(instanceIdentifier) { @Override - public void onDataTreeChanged(@Nonnull final Collection collection) { + public void onDataTreeChanged(final Collection> collection) { } }; doReturn(null).when(dataBroker).registerDataTreeChangeListener(any(), any()); @@ -57,5 +56,4 @@ public class OperationalDatastoreListenerTest { assertEquals(testId, argumentId.getValue()); } - } diff --git a/netconf/messagebus-netconf/src/test/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSourceMountTest.java b/netconf/messagebus-netconf/src/test/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSourceMountTest.java index 9b9dca641e..035c0b7722 100644 --- a/netconf/messagebus-netconf/src/test/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSourceMountTest.java +++ b/netconf/messagebus-netconf/src/test/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSourceMountTest.java @@ -12,14 +12,12 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import com.google.common.base.Function; import com.google.common.collect.Lists; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Optional; -import javax.annotation.Nullable; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -130,13 +128,7 @@ public class NetconfEventSourceMountTest { public void testGetAvailableStreams() throws Exception { final List availableStreams = mount.getAvailableStreams(); Assert.assertEquals(2, availableStreams.size()); - final List streamNames = Lists.transform(availableStreams, new Function() { - @Nullable - @Override - public String apply(@Nullable final Stream input) { - return input.getName().getValue(); - } - }); + final List streamNames = Lists.transform(availableStreams, input -> input.getName().getValue()); streamNames.contains(STREAM_1); streamNames.contains(STREAM_2); } diff --git a/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfListDevicesCommand.java b/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfListDevicesCommand.java index c4d5302878..445037be04 100644 --- a/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfListDevicesCommand.java +++ b/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfListDevicesCommand.java @@ -5,17 +5,16 @@ * 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.netconf.console.commands; import com.google.common.annotations.VisibleForTesting; import java.util.Map; -import javax.annotation.Nonnull; import org.apache.karaf.shell.api.action.Action; import org.apache.karaf.shell.api.action.Command; import org.apache.karaf.shell.api.action.lifecycle.Reference; import org.apache.karaf.shell.api.action.lifecycle.Service; import org.apache.karaf.shell.support.table.ShellTable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.console.api.NetconfCommands; import org.opendaylight.netconf.console.utils.NetconfConsoleConstants; @@ -43,7 +42,7 @@ public class NetconfListDevicesCommand implements Action { } @SuppressWarnings("checkstyle:RegexpSinglelineJava") - private static void printDevicesList(@Nonnull final Map> allDevices) { + private static void printDevicesList(final @NonNull Map> allDevices) { final ShellTable table = new ShellTable(); table.column(NetconfConsoleConstants.NETCONF_ID).alignLeft(); table.column(NetconfConsoleConstants.NETCONF_IP).alignLeft(); diff --git a/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfShowDeviceCommand.java b/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfShowDeviceCommand.java index 3245d6b5ef..57d03d0b89 100644 --- a/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfShowDeviceCommand.java +++ b/netconf/netconf-console/src/main/java/org/opendaylight/netconf/console/commands/NetconfShowDeviceCommand.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.console.commands; import com.google.common.annotations.VisibleForTesting; @@ -13,13 +12,13 @@ import com.google.common.base.Strings; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import javax.annotation.Nonnull; import org.apache.karaf.shell.api.action.Action; import org.apache.karaf.shell.api.action.Command; import org.apache.karaf.shell.api.action.Option; import org.apache.karaf.shell.api.action.lifecycle.Reference; import org.apache.karaf.shell.api.action.lifecycle.Service; import org.apache.karaf.shell.support.table.ShellTable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.console.api.NetconfCommands; import org.opendaylight.netconf.console.utils.NetconfConsoleConstants; @@ -95,7 +94,7 @@ public class NetconfShowDeviceCommand implements Action { } @SuppressWarnings("checkstyle:RegexpSinglelineJava") - private static void printDeviceData(@Nonnull final Map>> devices) { + private static void printDeviceData(final @NonNull Map>> devices) { final ShellTable table = new ShellTable(); table.column(NetconfConsoleConstants.NETCONF_ID).alignLeft(); table.column(NetconfConsoleConstants.NETCONF_IP).alignLeft(); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeManager.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeManager.java index 81cc43e3e6..b4b5eb31c8 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeManager.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeManager.java @@ -15,7 +15,6 @@ import akka.pattern.AskTimeoutException; import akka.pattern.Patterns; import akka.util.Timeout; import java.util.Collection; -import javax.annotation.Nonnull; import javax.annotation.concurrent.GuardedBy; import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener; import org.opendaylight.mdsal.binding.api.DataObjectModification; @@ -83,7 +82,7 @@ class NetconfNodeManager } @Override - public void onDataTreeChanged(@Nonnull final Collection> changes) { + public void onDataTreeChanged(final Collection> changes) { for (final DataTreeModification change : changes) { final DataObjectModification rootNode = change.getRootNode(); final NodeId nodeId = NetconfTopologyUtils.getNodeId(rootNode.getIdentifier()); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyContext.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyContext.java index 7adad35340..e13ca2756d 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyContext.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyContext.java @@ -7,6 +7,7 @@ */ package org.opendaylight.netconf.topology.singleton.impl; +import static java.util.Objects.requireNonNull; import static org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologyUtils.DEFAULT_SCHEMA_REPOSITORY; import akka.actor.ActorRef; @@ -14,11 +15,9 @@ import akka.cluster.Cluster; import akka.dispatch.OnComplete; import akka.pattern.Patterns; import akka.util.Timeout; -import com.google.common.base.Preconditions; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.atomic.AtomicBoolean; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMMountPointService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier; @@ -29,6 +28,7 @@ import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologySet import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologyUtils; import org.opendaylight.netconf.topology.singleton.messages.RefreshSetupMasterActorData; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; +import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import scala.concurrent.Future; @@ -53,7 +53,7 @@ class NetconfTopologyContext implements ClusterSingletonService, AutoCloseable { NetconfTopologyContext(final NetconfTopologySetup netconfTopologyDeviceSetup, final ServiceGroupIdentifier serviceGroupIdent, final Timeout actorResponseWaitTime, final DOMMountPointService mountService) { - this.netconfTopologyDeviceSetup = Preconditions.checkNotNull(netconfTopologyDeviceSetup); + this.netconfTopologyDeviceSetup = requireNonNull(netconfTopologyDeviceSetup); this.serviceGroupIdent = serviceGroupIdent; this.actorResponseWaitTime = actorResponseWaitTime; this.mountService = mountService; @@ -93,7 +93,7 @@ class NetconfTopologyContext implements ClusterSingletonService, AutoCloseable { // called when master is down/changed to slave @Override - public ListenableFuture closeServiceInstance() { + public ListenableFuture closeServiceInstance() { if (!closed.get()) { // in case that master changes role to slave, new NodeDeviceManager must be created and listener registered @@ -101,7 +101,7 @@ class NetconfTopologyContext implements ClusterSingletonService, AutoCloseable { } stopDeviceConnectorAndActor(); - return Futures.immediateFuture(null); + return FluentFutures.immediateNullFluentFuture(); } @Override @@ -135,8 +135,8 @@ class NetconfTopologyContext implements ClusterSingletonService, AutoCloseable { * Refresh, if configuration data was changed. * @param setup new setup */ - void refresh(@Nonnull final NetconfTopologySetup setup) { - netconfTopologyDeviceSetup = Preconditions.checkNotNull(setup); + void refresh(final @NonNull NetconfTopologySetup setup) { + netconfTopologyDeviceSetup = requireNonNull(setup); remoteDeviceId = NetconfTopologyUtils.createRemoteDeviceId(netconfTopologyDeviceSetup.getNode().getNodeId(), netconfTopologyDeviceSetup.getNode().augmentation(NetconfNode.class)); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyManager.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyManager.java index f63d4114b6..e315b05500 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyManager.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyManager.java @@ -7,10 +7,11 @@ */ package org.opendaylight.netconf.topology.singleton.impl; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorSystem; import akka.util.Timeout; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; @@ -20,7 +21,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import javax.annotation.Nonnull; import org.opendaylight.aaa.encrypt.AAAEncryptionService; import org.opendaylight.controller.cluster.ActorSystemProvider; import org.opendaylight.controller.config.threadpool.ScheduledThreadPool; @@ -93,18 +93,18 @@ public class NetconfTopologyManager final DOMMountPointService mountPointService, final AAAEncryptionService encryptionService) { - this.dataBroker = Preconditions.checkNotNull(dataBroker); - this.rpcProviderRegistry = Preconditions.checkNotNull(rpcProviderRegistry); - this.clusterSingletonServiceProvider = Preconditions.checkNotNull(clusterSingletonServiceProvider); + this.dataBroker = requireNonNull(dataBroker); + this.rpcProviderRegistry = requireNonNull(rpcProviderRegistry); + this.clusterSingletonServiceProvider = requireNonNull(clusterSingletonServiceProvider); this.keepaliveExecutor = keepaliveExecutor.getExecutor(); this.processingExecutor = MoreExecutors.listeningDecorator(processingExecutor.getExecutor()); - this.actorSystem = Preconditions.checkNotNull(actorSystemProvider).getActorSystem(); - this.eventExecutor = Preconditions.checkNotNull(eventExecutor); - this.clientDispatcher = Preconditions.checkNotNull(clientDispatcher); - this.topologyId = Preconditions.checkNotNull(topologyId); + this.actorSystem = requireNonNull(actorSystemProvider).getActorSystem(); + this.eventExecutor = requireNonNull(eventExecutor); + this.clientDispatcher = requireNonNull(clientDispatcher); + this.topologyId = requireNonNull(topologyId); this.writeTxIdleTimeout = Duration.apply(config.getWriteTransactionIdleTimeout(), TimeUnit.SECONDS); this.mountPointService = mountPointService; - this.encryptionService = Preconditions.checkNotNull(encryptionService); + this.encryptionService = requireNonNull(encryptionService); } @@ -114,7 +114,7 @@ public class NetconfTopologyManager } @Override - public void onDataTreeChanged(@Nonnull final Collection> changes) { + public void onDataTreeChanged(final Collection> changes) { for (final DataTreeModification change : changes) { final DataObjectModification rootNode = change.getRootNode(); final InstanceIdentifier dataModifIdent = change.getRootPath().getRootIdentifier(); @@ -155,9 +155,9 @@ public class NetconfTopologyManager @SuppressWarnings("checkstyle:IllegalCatch") private void startNetconfDeviceContext(final InstanceIdentifier instanceIdentifier, final Node node) { final NetconfNode netconfNode = node.augmentation(NetconfNode.class); - Preconditions.checkNotNull(netconfNode); - Preconditions.checkNotNull(netconfNode.getHost()); - Preconditions.checkNotNull(netconfNode.getHost().getIpAddress()); + requireNonNull(netconfNode); + requireNonNull(netconfNode.getHost()); + requireNonNull(netconfNode.getHost().getIpAddress()); final Timeout actorResponseWaitTime = new Timeout(Duration.create(netconfNode.getActorResponseWaitTime(), "seconds")); @@ -251,7 +251,7 @@ public class NetconfTopologyManager } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { LOG.error("Unable to initialize netconf-topology, {}", throwable); } }, MoreExecutors.directExecutor()); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyDOMRpcService.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyDOMRpcService.java index 4c9afcae3e..2d741241f6 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyDOMRpcService.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyDOMRpcService.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.SettableFuture; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.dom.api.DOMRpcAvailabilityListener; import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.mdsal.dom.api.DOMRpcService; @@ -98,10 +97,8 @@ public class ProxyDOMRpcService implements DOMRpcService { return settableFuture; } - @Nonnull @Override - public ListenerRegistration registerRpcListener( - @Nonnull final T listener) { + public ListenerRegistration registerRpcListener(final T listener) { // NOOP, only proxy throw new UnsupportedOperationException("RegisterRpcListener: DOMRpc service not working in cluster."); } diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyYangTextSourceProvider.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyYangTextSourceProvider.java index aa3bd3872f..c0d1aa4545 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyYangTextSourceProvider.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/ProxyYangTextSourceProvider.java @@ -14,7 +14,6 @@ import akka.pattern.Patterns; import akka.util.Timeout; import java.util.Collections; import java.util.Set; -import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.schema.provider.RemoteYangTextSourceProvider; import org.opendaylight.controller.cluster.schema.provider.impl.YangTextSchemaSourceSerializationProxy; import org.opendaylight.netconf.topology.singleton.messages.YangTextSchemaSourceRequest; @@ -44,7 +43,7 @@ public class ProxyYangTextSourceProvider implements RemoteYangTextSourceProvider @Override public Future getYangTextSchemaSource( - @Nonnull final SourceIdentifier sourceIdentifier) { + final SourceIdentifier sourceIdentifier) { final Future scalaFuture = Patterns.ask(masterRef, new YangTextSchemaSourceRequest(sourceIdentifier), actorResponseWaitTime); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImpl.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImpl.java index a85e6d6776..2593a98bd7 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImpl.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImpl.java @@ -5,14 +5,13 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.topology.singleton.impl; +import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.isNull; import static java.util.Objects.requireNonNull; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -25,7 +24,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; -import javax.annotation.Nullable; import org.opendaylight.aaa.encrypt.AAAEncryptionService; import org.opendaylight.netconf.api.NetconfMessage; import org.opendaylight.netconf.client.NetconfClientSessionListener; @@ -127,7 +125,7 @@ public class RemoteDeviceConnectorImpl implements RemoteDeviceConnector { } @Override - public void onFailure(@Nullable final Throwable throwable) { + public void onFailure(final Throwable throwable) { LOG.error("{}: Connector failed", remoteDeviceId, throwable); } }, MoreExecutors.directExecutor()); @@ -243,7 +241,7 @@ public class RemoteDeviceConnectorImpl implements RemoteDeviceConnector { //non-module capabilities should not exist in yang module capabilities final NetconfSessionPreferences netconfSessionPreferences = NetconfSessionPreferences.fromStrings(capabilities); - Preconditions.checkState(netconfSessionPreferences.getNonModuleCaps().isEmpty(), + checkState(netconfSessionPreferences.getNonModuleCaps().isEmpty(), "List yang-module-capabilities/capability should contain only module based capabilities. " + "Non-module capabilities used: " + netconfSessionPreferences.getNonModuleCaps()); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/NetconfNodeActor.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/NetconfNodeActor.java index 3893b22821..1234ee778b 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/NetconfNodeActor.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/NetconfNodeActor.java @@ -21,9 +21,6 @@ import com.google.common.util.concurrent.MoreExecutors; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; import org.opendaylight.controller.cluster.schema.provider.RemoteYangTextSourceProvider; import org.opendaylight.controller.cluster.schema.provider.impl.RemoteSchemaProvider; @@ -208,7 +205,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { } private void sendYangTextSchemaSourceProxy(final SourceIdentifier sourceIdentifier, final ActorRef sender) { - final ListenableFuture<@NonNull YangTextSchemaSource> schemaSourceFuture = + final ListenableFuture schemaSourceFuture = schemaRepository.getSchemaSource(sourceIdentifier, YangTextSchemaSource.class); Futures.addCallback(schemaSourceFuture, new FutureCallback() { @@ -223,7 +220,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { LOG.debug("{}: getSchemaSource for {} failed", id, sourceIdentifier, throwable); sender.tell(new Failure(throwable), getSelf()); } @@ -241,7 +238,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { Futures.addCallback(rpcResult, new FutureCallback() { @Override - public void onSuccess(@Nullable final DOMRpcResult domRpcResult) { + public void onSuccess(final DOMRpcResult domRpcResult) { LOG.debug("{}: invokeSlaveRpc for {}, domRpcResult: {}", id, schemaPath, domRpcResult); if (domRpcResult == null) { @@ -257,7 +254,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { recipient.tell(new Failure(throwable), getSelf()); } }, MoreExecutors.directExecutor()); @@ -296,7 +293,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { schemaContextFactory.createSchemaContext(sourceIdentifiers); Futures.addCallback(schemaContextFuture, new FutureCallback() { @Override - public void onSuccess(@Nonnull final SchemaContext result) { + public void onSuccess(final SchemaContext result) { executeInSelf(() -> { // Make sure the slaveSalManager instance hasn't changed since we initiated the schema context // resolution. @@ -310,7 +307,7 @@ public class NetconfNodeActor extends AbstractUntypedActor { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { executeInSelf(() -> { if (slaveSalManager == localSlaveSalManager) { final Throwable cause = Throwables.getRootCause(throwable); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/ReadAdapter.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/ReadAdapter.java index 30ed843e08..1fc684a4ff 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/ReadAdapter.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/ReadAdapter.java @@ -12,7 +12,6 @@ import akka.actor.Status.Failure; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import java.util.Optional; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage; @@ -60,7 +59,7 @@ class ReadAdapter { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { sender.tell(new Failure(throwable), self); } }, MoreExecutors.directExecutor()); @@ -79,7 +78,7 @@ class ReadAdapter { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { sender.tell(new Failure(throwable), self); } }, MoreExecutors.directExecutor()); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/WriteAdapter.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/WriteAdapter.java index aaeb0d10b3..de045ebbb3 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/WriteAdapter.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/actors/WriteAdapter.java @@ -14,7 +14,6 @@ import akka.actor.Status.Success; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage; @@ -52,7 +51,7 @@ class WriteAdapter { } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { requester.tell(new Failure(throwable), self); } }, MoreExecutors.directExecutor()); diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessage.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessage.java index 2cea27172a..7a5fcf9550 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessage.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessage.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.topology.singleton.messages.rpc; import java.io.Externalizable; @@ -13,7 +12,7 @@ import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.io.Serializable; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage; import org.opendaylight.netconf.topology.singleton.messages.SchemaPathMessage; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -25,7 +24,7 @@ public class InvokeRpcMessage implements Serializable { private final NormalizedNodeMessage normalizedNodeMessage; public InvokeRpcMessage(final SchemaPathMessage schemaPathMessage, - @Nullable final NormalizedNodeMessage normalizedNodeMessage) { + final @Nullable NormalizedNodeMessage normalizedNodeMessage) { this.schemaPathMessage = schemaPathMessage; this.normalizedNodeMessage = normalizedNodeMessage; } @@ -38,8 +37,8 @@ public class InvokeRpcMessage implements Serializable { return schemaPathMessage.getSchemaPath(); } - @Nullable - public NormalizedNodeMessage getNormalizedNodeMessage() { + + public @Nullable NormalizedNodeMessage getNormalizedNodeMessage() { return normalizedNodeMessage; } diff --git a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessageReply.java b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessageReply.java index e43ab4030d..7d808d1fc1 100644 --- a/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessageReply.java +++ b/netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/messages/rpc/InvokeRpcMessageReply.java @@ -5,9 +5,10 @@ * 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.netconf.topology.singleton.messages.rpc; +import static java.util.Objects.requireNonNull; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.Externalizable; import java.io.IOException; @@ -16,9 +17,8 @@ import java.io.ObjectOutput; import java.io.Serializable; import java.util.Collection; import java.util.LinkedList; -import java.util.Objects; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage; import org.opendaylight.yangtools.yang.common.RpcError; @@ -29,19 +29,17 @@ public class InvokeRpcMessageReply implements Serializable { private final Collection rpcErrors; private final NormalizedNodeMessage normalizedNodeMessage; - public InvokeRpcMessageReply(@Nullable final NormalizedNodeMessage normalizedNodeMessage, - @Nonnull final Collection rpcErrors) { + public InvokeRpcMessageReply(final @Nullable NormalizedNodeMessage normalizedNodeMessage, + final @NonNull Collection rpcErrors) { this.normalizedNodeMessage = normalizedNodeMessage; - this.rpcErrors = Objects.requireNonNull(rpcErrors); + this.rpcErrors = requireNonNull(rpcErrors); } - @Nullable - public NormalizedNodeMessage getNormalizedNodeMessage() { + public @Nullable NormalizedNodeMessage getNormalizedNodeMessage() { return normalizedNodeMessage; } - @Nonnull - public Collection getRpcErrors() { + public @NonNull Collection getRpcErrors() { return rpcErrors; } diff --git a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfConnectorFactoryImpl.java b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfConnectorFactoryImpl.java index 10d41ff6e9..460da7e300 100644 --- a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfConnectorFactoryImpl.java +++ b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfConnectorFactoryImpl.java @@ -9,7 +9,6 @@ package org.opendaylight.netconf.topology.impl; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; -import javax.annotation.Nullable; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; @@ -84,7 +83,7 @@ public class NetconfConnectorFactoryImpl implements NetconfConnectorFactory { transaction.put(LogicalDatastoreType.CONFIGURATION, nodePath, node); transaction.commit().addCallback(new FutureCallback() { @Override - public void onSuccess(@Nullable final CommitInfo result) { + public void onSuccess(final CommitInfo result) { LOG.debug("Node {} was successfully added to the topology", instanceName); } diff --git a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfTopologyImpl.java b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfTopologyImpl.java index 5d88e18f11..62ec92fceb 100644 --- a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfTopologyImpl.java +++ b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/impl/NetconfTopologyImpl.java @@ -11,7 +11,6 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import io.netty.util.concurrent.EventExecutor; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.aaa.encrypt.AAAEncryptionService; import org.opendaylight.controller.config.threadpool.ScheduledThreadPool; import org.opendaylight.controller.config.threadpool.ThreadPool; @@ -117,7 +116,7 @@ public class NetconfTopologyImpl extends AbstractNetconfTopology } @Override - public void onDataTreeChanged(@Nonnull final Collection> collection) { + public void onDataTreeChanged(final Collection> collection) { for (final DataTreeModification change : collection) { final DataObjectModification rootNode = change.getRootNode(); switch (rootNode.getModificationType()) { diff --git a/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/messages/NetconfMessageUtil.java b/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/messages/NetconfMessageUtil.java index a0c2db36c4..f4795aea98 100644 --- a/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/messages/NetconfMessageUtil.java +++ b/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/messages/NetconfMessageUtil.java @@ -11,7 +11,6 @@ import com.google.common.collect.Collections2; import java.util.Collection; import java.util.List; import java.util.Optional; -import javax.annotation.Nonnull; import org.opendaylight.netconf.api.DocumentedException; import org.opendaylight.netconf.api.NetconfDocumentedException; import org.opendaylight.netconf.api.NetconfMessage; @@ -22,10 +21,11 @@ import org.slf4j.LoggerFactory; import org.w3c.dom.Document; public final class NetconfMessageUtil { - private static final Logger LOG = LoggerFactory.getLogger(NetconfMessageUtil.class); - private NetconfMessageUtil() {} + private NetconfMessageUtil() { + + } public static boolean isOKMessage(final NetconfMessage message) throws NetconfDocumentedException { return isOKMessage(message.getDocument()); @@ -75,7 +75,7 @@ public final class NetconfMessageUtil { } List caps = capabilitiesElement.get().getChildElements(XmlNetconfConstants.CAPABILITY); - return Collections2.transform(caps, (@Nonnull final XmlElement input) -> { + return Collections2.transform(caps, input -> { // Trim possible leading/tailing whitespace try { return input.getTextContent().trim(); diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java index d7cddeb365..8d1816f77c 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java @@ -7,9 +7,9 @@ */ package org.opendaylight.netconf.sal.connect.netconf; +import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.requireNonNull; -import com.google.common.base.Preconditions; import com.google.common.base.Predicates; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; @@ -30,7 +30,6 @@ import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; -import javax.annotation.Nonnull; import javax.annotation.concurrent.GuardedBy; import org.opendaylight.mdsal.dom.api.DOMNotification; import org.opendaylight.mdsal.dom.api.DOMRpcResult; @@ -162,7 +161,7 @@ public class NetconfDevice final FutureCallback resolvedSourceCallback = new FutureCallback() { @Override - public void onSuccess(@Nonnull final DeviceSources result) { + public void onSuccess(final DeviceSources result) { addProvidedSourcesToSchemaRegistry(result); setUpSchema(result); } @@ -320,10 +319,10 @@ public class NetconfDevice final SchemaRepository schemaRepository, final SchemaContextFactory schemaContextFactory, final NetconfDeviceSchemasResolver deviceSchemasResolver) { - this.schemaRegistry = Preconditions.checkNotNull(schemaRegistry); - this.schemaRepository = Preconditions.checkNotNull(schemaRepository); - this.schemaContextFactory = Preconditions.checkNotNull(schemaContextFactory); - this.stateSchemasResolver = Preconditions.checkNotNull(deviceSchemasResolver); + this.schemaRegistry = requireNonNull(schemaRegistry); + this.schemaRepository = requireNonNull(schemaRepository); + this.schemaContextFactory = requireNonNull(schemaContextFactory); + this.stateSchemasResolver = requireNonNull(deviceSchemasResolver); } public SchemaSourceRegistry getSchemaRegistry() { @@ -604,9 +603,8 @@ public class NetconfDevice private Collection stripUnavailableSource(final Collection requiredSources, final SourceIdentifier sourceIdToRemove) { final LinkedList sourceIdentifiers = Lists.newLinkedList(requiredSources); - final boolean removed = sourceIdentifiers.remove(sourceIdToRemove); - Preconditions.checkState( - removed, "{}: Trying to remove {} from {} failed", id, sourceIdToRemove, requiredSources); + checkState(sourceIdentifiers.remove(sourceIdToRemove), + "%s: Trying to remove %s from %s failed", id, sourceIdToRemove, requiredSources); return sourceIdentifiers; } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UncancellableFuture.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UncancellableFuture.java index 126ca5680e..52ed4b4c7d 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UncancellableFuture.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UncancellableFuture.java @@ -7,10 +7,10 @@ */ package org.opendaylight.netconf.sal.connect.netconf.listener; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; + import com.google.common.util.concurrent.AbstractFuture; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import javax.annotation.Nullable; final class UncancellableFuture extends AbstractFuture { private volatile boolean uncancellable = false; @@ -40,14 +40,14 @@ final class UncancellableFuture extends AbstractFuture { @SuppressFBWarnings(value = "NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE", justification = "Unrecognised NullableDecl") @Override - public boolean set(@Nullable final V value) { - Preconditions.checkState(uncancellable); + public boolean set(final V value) { + checkState(uncancellable); return super.set(value); } @Override protected boolean setException(final Throwable throwable) { - Preconditions.checkState(uncancellable); + checkState(uncancellable); return super.setException(throwable); } } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UserPreferences.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UserPreferences.java index ad587eac87..9ac222980e 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UserPreferences.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/listener/UserPreferences.java @@ -7,7 +7,7 @@ */ package org.opendaylight.netconf.sal.connect.netconf.listener; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * DTO with user capabilities to override or merge with device specific capabilities. @@ -18,7 +18,7 @@ public class UserPreferences { private final boolean overrideModuleCapabilities; private final boolean overrideNonModuleCapabilities; - public UserPreferences(@Nonnull final NetconfSessionPreferences sessionPreferences, + public UserPreferences(final @NonNull NetconfSessionPreferences sessionPreferences, boolean overrideModuleCapabilities, boolean overrideNonModuleCapabilities) { if (overrideModuleCapabilities && (sessionPreferences.getModuleBasedCaps() == null diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java index 59ce05edca..508eb68a94 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacade.java @@ -7,24 +7,20 @@ */ package org.opendaylight.netconf.sal.connect.netconf.sal; +import static com.google.common.base.Preconditions.checkState; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.getSourceNode; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_GET_CONFIG_NODEID; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_GET_CONFIG_PATH; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_RUNNING_QNAME; -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.Futures; import com.google.common.util.concurrent.MoreExecutors; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMActionService; import org.opendaylight.mdsal.dom.api.DOMNotification; import org.opendaylight.mdsal.dom.api.DOMRpcAvailabilityListener; @@ -121,7 +117,7 @@ public final class KeepaliveSalFacade implements RemoteDeviceHandler { @Override - public void onSuccess(@Nullable final DOMRpcResult result) { + public void onSuccess(final DOMRpcResult result) { // No matter what response we got, // rpc-reply or rpc-error, we got it from device so the netconf session is OK. resetKeepalive(); } @Override - public void onFailure(@Nonnull final Throwable throwable) { + public void onFailure(final Throwable throwable) { // User/Application RPC failed (The RPC did not reach the remote device or .. // TODO what other reasons could cause this ?) // There is no point in keeping this session. Reconnect. @@ -301,12 +297,10 @@ public final class KeepaliveSalFacade implements RemoteDeviceHandler invokeRpc(@Nonnull final SchemaPath type, - final NormalizedNode input) { + public FluentFuture invokeRpc(final SchemaPath type, final NormalizedNode input) { final FluentFuture rpcResultFuture = deviceRpc.invokeRpc(type, input); - Futures.addCallback(rpcResultFuture, resetKeepaliveTask, MoreExecutors.directExecutor()); + rpcResultFuture.addCallback(resetKeepaliveTask, MoreExecutors.directExecutor()); final RequestTimeoutTask timeoutTask = new RequestTimeoutTask(rpcResultFuture); executor.schedule(timeoutTask, defaultRequestTimeoutMillis, TimeUnit.MILLISECONDS); @@ -315,8 +309,7 @@ public final class KeepaliveSalFacade implements RemoteDeviceHandler ListenerRegistration registerRpcListener( - @Nonnull final T listener) { + public ListenerRegistration registerRpcListener(final T listener) { // There is no real communication with the device (yet), no reset here return deviceRpc.registerRpcListener(listener); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceNotificationService.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceNotificationService.java index 2da8ae5355..d6bef5ffa3 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceNotificationService.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceNotificationService.java @@ -11,7 +11,6 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import java.util.Collection; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.dom.api.DOMNotification; import org.opendaylight.mdsal.dom.api.DOMNotificationListener; import org.opendaylight.mdsal.dom.api.DOMNotificationService; @@ -43,7 +42,7 @@ public class NetconfDeviceNotificationService implements DOMNotificationService @Override public synchronized ListenerRegistration registerNotificationListener( - @Nonnull final T listener, @Nonnull final Collection types) { + final T listener, final Collection types) { for (final SchemaPath type : types) { listeners.put(type, listener); } @@ -60,7 +59,7 @@ public class NetconfDeviceNotificationService implements DOMNotificationService @Override public synchronized ListenerRegistration registerNotificationListener( - @Nonnull final T listener, final SchemaPath... types) { + final T listener, final SchemaPath... types) { return registerNotificationListener(listener, Lists.newArrayList(types)); } } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpc.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpc.java index ddb1aa89b4..2bf04875d3 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpc.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpc.java @@ -14,7 +14,6 @@ import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.SettableFuture; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.dom.api.DOMRpcAvailabilityListener; import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier; import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException; @@ -70,10 +69,8 @@ public final class NetconfDeviceRpc implements DOMRpcService { return ret; } - @Nonnull @Override - public ListenerRegistration registerRpcListener( - @Nonnull final T listener) { + public ListenerRegistration registerRpcListener(final T listener) { listener.onRpcAvailable(Collections2.transform(schemaContext.getOperations(), input -> DOMRpcIdentifier.create(input.getPath()))); diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfKeystoreAdapter.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfKeystoreAdapter.java index b1d707f708..e4675a8707 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfKeystoreAdapter.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfKeystoreAdapter.java @@ -26,7 +26,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataObjectModification; @@ -145,7 +144,7 @@ public class NetconfKeystoreAdapter implements ClusteredDataTreeChangeListener> changes) { + public void onDataTreeChanged(final Collection> changes) { LOG.debug("Keystore updated: {}", changes); for (final DataTreeModification change : changes) { diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java index 0cfe7b5b71..1d991e717b 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java @@ -11,8 +11,7 @@ import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.SettableFuture; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMRpcAvailabilityListener; import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException; import org.opendaylight.mdsal.dom.api.DOMRpcResult; @@ -67,7 +66,7 @@ public final class SchemalessNetconfDeviceRpc implements DOMRpcService { } private FluentFuture handleRpc( - @Nonnull final SchemaPath type, @Nullable final NormalizedNode input, + final @NonNull SchemaPath type, final @NonNull NormalizedNode input, final MessageTransformer transformer) { final FluentFuture> delegateFuture = listener.sendRequest( transformer.toRpcRequest(type, input), type.getLastComponent()); @@ -94,9 +93,8 @@ public final class SchemalessNetconfDeviceRpc implements DOMRpcService { return NetconfMessageTransformUtil.NETCONF_URI.equals(type.getLastComponent().getNamespace()); } - @Nonnull @Override - public ListenerRegistration registerRpcListener(@Nonnull final T lsnr) { + public ListenerRegistration registerRpcListener(final T lsnr) { throw new UnsupportedOperationException("Not available for netconf 1.0"); } } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/AbstractWriteTx.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/AbstractWriteTx.java index fa94ad0b45..2ed86685a5 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/AbstractWriteTx.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/AbstractWriteTx.java @@ -7,7 +7,9 @@ */ package org.opendaylight.netconf.sal.connect.netconf.sal.tx; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -19,8 +21,6 @@ import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; -import javax.annotation.Nonnull; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; @@ -65,7 +65,7 @@ public abstract class AbstractWriteTx implements DOMDataTreeWriteTransaction { } protected void checkNotFinished() { - Preconditions.checkState(!isFinished(), "%s: Transaction %s already finished", id, getIdentifier()); + checkState(!isFinished(), "%s: Transaction %s already finished", id, getIdentifier()); } protected boolean isFinished() { @@ -145,7 +145,7 @@ public abstract class AbstractWriteTx implements DOMDataTreeWriteTransaction { } @Override - public @NonNull FluentFuture commit() { + public FluentFuture commit() { final SettableFuture resultFuture = SettableFuture.create(); Futures.addCallback(commitConfiguration(), new FutureCallback>() { @Override @@ -178,7 +178,7 @@ public abstract class AbstractWriteTx implements DOMDataTreeWriteTransaction { final ListenableFuture> result = performCommit(); Futures.addCallback(result, new FutureCallback>() { @Override - public void onSuccess(@Nonnull final RpcResult rpcResult) { + public void onSuccess(final RpcResult rpcResult) { if (rpcResult.isSuccessful()) { listeners.forEach(txListener -> txListener.onTransactionSuccessful(AbstractWriteTx.this)); } else { @@ -201,7 +201,7 @@ public abstract class AbstractWriteTx implements DOMDataTreeWriteTransaction { private void checkEditable(final LogicalDatastoreType store) { checkNotFinished(); - Preconditions.checkArgument(store == LogicalDatastoreType.CONFIGURATION, + checkArgument(store == LogicalDatastoreType.CONFIGURATION, "Can edit only configuration data, not %s", store); } @@ -214,7 +214,7 @@ public abstract class AbstractWriteTx implements DOMDataTreeWriteTransaction { Futures.addCallback(Futures.allAsList(resultsFutures), new FutureCallback>() { @Override - public void onSuccess(@Nonnull final List domRpcResults) { + public void onSuccess(final List domRpcResults) { if (!transformed.isDone()) { extractResult(domRpcResults, transformed); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteCandidateTx.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteCandidateTx.java index f99e765436..13567b1225 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteCandidateTx.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteCandidateTx.java @@ -13,8 +13,6 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.util.Optional; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfRpcFutureCallback; @@ -65,7 +63,7 @@ public class WriteCandidateTx extends AbstractWriteTx { private void lock() { final FutureCallback lockCandidateCallback = new FutureCallback() { @Override - public void onSuccess(@Nonnull final DOMRpcResult result) { + public void onSuccess(final DOMRpcResult result) { if (isSuccess(result)) { if (LOG.isTraceEnabled()) { LOG.trace("Lock candidate successful"); @@ -105,7 +103,7 @@ public class WriteCandidateTx extends AbstractWriteTx { Futures.addCallback(txResult, new FutureCallback>() { @Override - public void onSuccess(@Nullable final RpcResult result) { + public void onSuccess(final RpcResult result) { cleanupOnSuccess(); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcFutureCallback.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcFutureCallback.java index 3259e9d004..31ac09f2de 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcFutureCallback.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcFutureCallback.java @@ -8,7 +8,6 @@ package org.opendaylight.netconf.sal.connect.netconf.util; import com.google.common.util.concurrent.FutureCallback; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.slf4j.Logger; @@ -29,7 +28,7 @@ public class NetconfRpcFutureCallback implements FutureCallback { } @Override - public void onSuccess(@Nonnull final DOMRpcResult result) { + public void onSuccess(final DOMRpcResult result) { if (result.getErrors().isEmpty()) { LOG.trace("{}: {} invoked successfully", id, type); } else { diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java index 973a059586..b844af67e7 100644 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java @@ -15,8 +15,6 @@ import com.google.common.collect.Sets; import java.util.Collections; import java.util.Optional; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.opendaylight.netconf.api.capability.Capability; import org.opendaylight.netconf.api.monitoring.NetconfManagementSession; import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService; @@ -42,21 +40,15 @@ public class DummyMonitoringService implements NetconfMonitoringService { private static final Function CAPABILITY_URI_FUNCTION = capability -> new Uri(capability.getCapabilityUri()); - private static final Function CAPABILITY_SCHEMA_FUNCTION = new Function() { - @Nullable - @Override - public Schema apply(@Nonnull final Capability capability) { - return new SchemaBuilder() - .setIdentifier(capability.getModuleName().get()) - .setNamespace(new Uri(capability.getModuleNamespace().get())) - .setFormat(Yang.class) - .setVersion(capability.getRevision().or("")) - .setLocation(Collections.singletonList(new Location(Enumeration.NETCONF))) - .withKey(new SchemaKey(Yang.class, capability.getModuleName().get(), - capability.getRevision().or(""))) - .build(); - } - }; + private static final Function CAPABILITY_SCHEMA_FUNCTION = capability -> new SchemaBuilder() + .setIdentifier(capability.getModuleName().get()) + .setNamespace(new Uri(capability.getModuleNamespace().get())) + .setFormat(Yang.class) + .setVersion(capability.getRevision().or("")) + .setLocation(Collections.singletonList(new Location(Enumeration.NETCONF))) + .withKey(new SchemaKey(Yang.class, capability.getModuleName().get(), + capability.getRevision().or(""))) + .build(); private final Capabilities capabilities; private final ArrayListMultimap capabilityMultiMap; diff --git a/netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/YangLibProvider.java b/netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/YangLibProvider.java index 48bd4403d5..9791e70b63 100644 --- a/netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/YangLibProvider.java +++ b/netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/YangLibProvider.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yanglib.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Predicate; import com.google.common.base.Strings; import com.google.common.collect.Iterables; @@ -16,7 +18,6 @@ import com.google.common.util.concurrent.MoreExecutors; import java.io.File; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; @@ -62,9 +63,9 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener { public YangLibProvider(final YanglibConfig yanglibConfig, final DataBroker dataBroker, final SharedSchemaRepository schemaRepository) { - this.yanglibConfig = Preconditions.checkNotNull(yanglibConfig); - this.dataBroker = Preconditions.checkNotNull(dataBroker); - this.schemaRepository = Preconditions.checkNotNull(schemaRepository); + this.yanglibConfig = requireNonNull(yanglibConfig); + this.dataBroker = requireNonNull(dataBroker); + this.schemaRepository = requireNonNull(schemaRepository); } @Override @@ -81,9 +82,8 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener { } final File cacheFolderFile = new File(yanglibConfig.getCacheFolder()); - Preconditions.checkArgument(cacheFolderFile.exists(), "cache-folder %s does not exist", cacheFolderFile); - Preconditions.checkArgument(cacheFolderFile.isDirectory(), "cache-folder %s is not a directory", - cacheFolderFile); + checkArgument(cacheFolderFile.exists(), "cache-folder %s does not exist", cacheFolderFile); + checkArgument(cacheFolderFile.isDirectory(), "cache-folder %s is not a directory", cacheFolderFile); final FilesystemSchemaSourceCache cache = new FilesystemSchemaSourceCache<>(schemaRepository, YangTextSchemaSource.class, cacheFolderFile); @@ -126,7 +126,7 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener { tx.commit().addCallback(new FutureCallback() { @Override - public void onSuccess(@Nullable final CommitInfo result) { + public void onSuccess(final CommitInfo result) { LOG.debug("Modules state successfully populated with new modules"); } @@ -155,7 +155,7 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener { tx.commit().addCallback(new FutureCallback() { @Override - public void onSuccess(@Nullable final CommitInfo result) { + public void onSuccess(final CommitInfo result) { LOG.debug("Modules state successfully updated."); } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java index 852e303349..605ba4c526 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/JsonToPatchBodyReader.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.sal.rest.impl; import com.google.common.collect.ImmutableList; @@ -23,13 +22,13 @@ import java.util.List; import java.util.Locale; import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.ext.MessageBodyReader; import javax.ws.rs.ext.Provider; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.sal.rest.api.Draft02; import org.opendaylight.netconf.sal.rest.api.RestconfService; import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; @@ -188,11 +187,11 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param resultCollection collection of parsed edits * @throws IOException if operation fails */ - private void parseByName(@Nonnull final String name, @Nonnull final PatchEdit edit, - @Nonnull final JsonReader in, @Nonnull final InstanceIdentifierContext path, - @Nonnull final StringModuleInstanceIdentifierCodec codec, - @Nonnull final List resultCollection, - @Nonnull final AtomicReference patchId) throws IOException { + private void parseByName(final @NonNull String name, final @NonNull PatchEdit edit, + final @NonNull JsonReader in, final @NonNull InstanceIdentifierContext path, + final @NonNull StringModuleInstanceIdentifierCodec codec, + final @NonNull List resultCollection, + final @NonNull AtomicReference patchId) throws IOException { switch (name) { case "edit" : if (in.peek() == JsonToken.BEGIN_ARRAY) { @@ -228,9 +227,9 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param codec StringModuleInstanceIdentifierCodec codec * @throws IOException if operation fails */ - private void readEditDefinition(@Nonnull final PatchEdit edit, @Nonnull final JsonReader in, - @Nonnull final InstanceIdentifierContext path, - @Nonnull final StringModuleInstanceIdentifierCodec codec) throws IOException { + private void readEditDefinition(final @NonNull PatchEdit edit, final @NonNull JsonReader in, + final @NonNull InstanceIdentifierContext path, + final @NonNull StringModuleInstanceIdentifierCodec codec) throws IOException { final StringBuffer value = new StringBuffer(); in.beginObject(); @@ -280,7 +279,7 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param in JsonReader reader * @throws IOException if operation fails */ - private void readValueNode(@Nonnull final StringBuffer value, @Nonnull final JsonReader in) throws IOException { + private void readValueNode(final @NonNull StringBuffer value, final @NonNull JsonReader in) throws IOException { in.beginObject(); value.append("{"); @@ -317,7 +316,7 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param in JsonReader reader * @throws IOException if operation fails */ - private void readValueObject(@Nonnull final StringBuffer value, @Nonnull final JsonReader in) throws IOException { + private void readValueObject(final @NonNull StringBuffer value, final @NonNull JsonReader in) throws IOException { // read simple leaf value if (in.peek() == JsonToken.STRING) { value.append("\"" + in.nextString() + "\""); @@ -370,8 +369,8 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param in reader JsonReader reader * @return NormalizedNode representing data */ - private static NormalizedNode readEditData(@Nonnull final JsonReader in, - @Nonnull final SchemaNode targetSchemaNode, @Nonnull final InstanceIdentifierContext path) { + private static NormalizedNode readEditData(final @NonNull JsonReader in, + final @NonNull SchemaNode targetSchemaNode, final @NonNull InstanceIdentifierContext path) { final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); JsonParserStream.create(writer, @@ -386,7 +385,7 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @param edit Instance of PatchEdit * @return PatchEntity Patch entity */ - private static PatchEntity prepareEditOperation(@Nonnull final PatchEdit edit) { + private static PatchEntity prepareEditOperation(final @NonNull PatchEdit edit) { if (edit.getOperation() != null && edit.getTargetSchemaNode() != null && checkDataPresence(edit.getOperation(), edit.getData() != null)) { if (edit.getOperation().isWithValue()) { @@ -414,7 +413,7 @@ public class JsonToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider * @return true if data is present when operation requires it or if there are no data when operation does not * allow it, false otherwise */ - private static boolean checkDataPresence(@Nonnull final PatchEditOperation operation, final boolean hasData) { + private static boolean checkDataPresence(final @NonNull PatchEditOperation operation, final boolean hasData) { return operation.isWithValue() == hasData; } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/StringModuleInstanceIdentifierCodec.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/StringModuleInstanceIdentifierCodec.java index ef0c8a3eb5..28460395a3 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/StringModuleInstanceIdentifierCodec.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/StringModuleInstanceIdentifierCodec.java @@ -5,13 +5,12 @@ * 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.netconf.sal.rest.impl; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.net.URI; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; import org.opendaylight.yangtools.yang.model.api.Module; @@ -30,19 +29,19 @@ public final class StringModuleInstanceIdentifierCodec extends AbstractModuleStr private final String defaultPrefix; public StringModuleInstanceIdentifierCodec(final SchemaContext context) { - this.context = Preconditions.checkNotNull(context); + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); this.defaultPrefix = ""; } - StringModuleInstanceIdentifierCodec(final SchemaContext context, @Nonnull final String defaultPrefix) { - this.context = Preconditions.checkNotNull(context); + StringModuleInstanceIdentifierCodec(final SchemaContext context, final @NonNull String defaultPrefix) { + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); this.defaultPrefix = defaultPrefix; } @Override - protected Module moduleForPrefix(@Nonnull final String prefix) { + protected Module moduleForPrefix(final String prefix) { if (prefix.isEmpty() && !this.defaultPrefix.isEmpty()) { return this.context.findModules(this.defaultPrefix).stream().findFirst().orElse(null); } else { @@ -50,15 +49,13 @@ public final class StringModuleInstanceIdentifierCodec extends AbstractModuleStr } } - @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return this.dataContextTree; } - @Nullable @Override - protected String prefixForNamespace(@Nonnull final URI namespace) { + protected String prefixForNamespace(final URI namespace) { return this.context.findModules(namespace).stream().findFirst().map(Module::getName).orElse(null); } } \ No newline at end of file diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java index 4f88e14d5c..b980357d4c 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/XmlToPatchBodyReader.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netconf.sal.rest.impl; import com.google.common.base.Splitter; @@ -21,7 +20,6 @@ import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Optional; -import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; @@ -31,6 +29,7 @@ import javax.ws.rs.ext.Provider; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLStreamException; import javax.xml.transform.dom.DOMSource; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.sal.rest.api.Draft02; import org.opendaylight.netconf.sal.rest.api.RestconfService; import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; @@ -206,8 +205,8 @@ public class XmlToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider i * @param operation Name of current operation * @return List of value elements */ - private static List readValueNodes(@Nonnull final Element element, - @Nonnull final PatchEditOperation operation) { + private static List readValueNodes(final @NonNull Element element, + final @NonNull PatchEditOperation operation) { final Node valueNode = element.getElementsByTagName("value").item(0); if (operation.isWithValue() && valueNode == null) { @@ -245,8 +244,8 @@ public class XmlToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider i * @param revision Module revision * @return Non-conditional XPath */ - private static String prepareNonCondXpath(@Nonnull final DataSchemaNode schemaNode, @Nonnull final String target, - @Nonnull final Element value, @Nonnull final String namespace, @Nonnull final String revision) { + private static String prepareNonCondXpath(final @NonNull DataSchemaNode schemaNode, final @NonNull String target, + final @NonNull Element value, final @NonNull String namespace, final @NonNull String revision) { final Iterator args = Splitter.on("/").split(target.substring(target.indexOf(':') + 1)).iterator(); final StringBuilder nonCondXpath = new StringBuilder(); @@ -279,7 +278,7 @@ public class XmlToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider i * @param keys Iterator of list keys names * @return Iterator of list keys values */ - private static Iterator readKeyValues(@Nonnull final Element value, @Nonnull final Iterator keys) { + private static Iterator readKeyValues(final @NonNull Element value, final @NonNull Iterator keys) { final List result = new ArrayList<>(); while (keys.hasNext()) { @@ -296,16 +295,11 @@ public class XmlToPatchBodyReader extends AbstractIdentifierAwareJaxRsProvider i * @param keyNames Iterator of list keys names * @param keyValues Iterator of list keys values */ - private static void appendKeys(@Nonnull final StringBuilder nonCondXpath, @Nonnull final Iterator keyNames, - @Nonnull final Iterator keyValues) { + private static void appendKeys(final @NonNull StringBuilder nonCondXpath, final @NonNull Iterator keyNames, + final @NonNull Iterator keyValues) { while (keyNames.hasNext()) { - nonCondXpath.append("["); - nonCondXpath.append(keyNames.next().getLocalName()); - nonCondXpath.append("="); - nonCondXpath.append("'"); - nonCondXpath.append(keyValues.next()); - nonCondXpath.append("'"); - nonCondXpath.append("]"); + nonCondXpath.append("[").append(keyNames.next().getLocalName()).append("='").append(keyValues.next()) + .append("']"); } } } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/api/JSONRestconfService.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/api/JSONRestconfService.java index f8083d4428..3fa3654c2a 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/api/JSONRestconfService.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/api/JSONRestconfService.java @@ -8,8 +8,8 @@ package org.opendaylight.netconf.sal.restconf.api; import com.google.common.base.Optional; -import javax.annotation.Nonnull; import javax.ws.rs.core.MultivaluedMap; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yangtools.yang.common.OperationFailedException; @@ -32,7 +32,7 @@ public interface JSONRestconfService { * @param payload the payload data in JSON format. * @throws OperationFailedException if the request fails. */ - void put(String uriPath, @Nonnull String payload) throws OperationFailedException; + void put(String uriPath, @NonNull String payload) throws OperationFailedException; /** * Issues a restconf POST request to the configuration data store. @@ -42,7 +42,7 @@ public interface JSONRestconfService { * @param payload the payload data in JSON format. * @throws OperationFailedException if the request fails. */ - void post(String uriPath, @Nonnull String payload) throws OperationFailedException; + void post(String uriPath, @NonNull String payload) throws OperationFailedException; /** * Issues a restconf DELETE request to the configuration data store. @@ -73,7 +73,7 @@ public interface JSONRestconfService { * @return an Optional containing the output in JSON format if the RPC returns output. * @throws OperationFailedException if the request fails. */ - Optional invokeRpc(@Nonnull String uriPath, Optional input) throws OperationFailedException; + Optional invokeRpc(@NonNull String uriPath, Optional input) throws OperationFailedException; /** * Issues a restconf PATCH request to the configuration data store. @@ -84,7 +84,7 @@ public interface JSONRestconfService { * @return an Optional containing the patch response data in JSON format. * @throws OperationFailedException if the request fails. */ - Optional patch(@Nonnull String uriPath, @Nonnull String payload) throws OperationFailedException; + Optional patch(@NonNull String uriPath, @NonNull String payload) throws OperationFailedException; /** * Subscribe to a stream. @@ -94,6 +94,6 @@ public interface JSONRestconfService { * @return On optional containing the JSON response. * @throws OperationFailedException if the requests fails. */ - Optional subscribeToStream(@Nonnull String identifier, MultivaluedMap params) + Optional subscribeToStream(@NonNull String identifier, MultivaluedMap params) throws OperationFailedException; } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/BatchedExistenceCheck.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/BatchedExistenceCheck.java index c15363dcb6..d8c15248e8 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/BatchedExistenceCheck.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/BatchedExistenceCheck.java @@ -8,8 +8,6 @@ package org.opendaylight.netconf.sal.restconf.impl; 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 com.google.common.util.concurrent.SettableFuture; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; @@ -18,7 +16,6 @@ import java.util.Collection; import java.util.Map.Entry; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; -import javax.annotation.Nonnull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; @@ -44,10 +41,9 @@ final class BatchedExistenceCheck { final BatchedExistenceCheck ret = new BatchedExistenceCheck(children.size()); for (NormalizedNode child : children) { final YangInstanceIdentifier path = parentPath.node(child.getIdentifier()); - final ListenableFuture f = readTx.exists(datastore, path); - Futures.addCallback(f, new FutureCallback() { + readTx.exists(datastore, path).addCallback(new FutureCallback() { @Override - public void onSuccess(@Nonnull final Boolean result) { + public void onSuccess(final Boolean result) { ret.complete(path, result); } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/JSONRestconfServiceImpl.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/JSONRestconfServiceImpl.java index 1cdfbd7a14..f63bee7c04 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/JSONRestconfServiceImpl.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/JSONRestconfServiceImpl.java @@ -7,8 +7,9 @@ */ package org.opendaylight.netconf.sal.restconf.impl; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -17,7 +18,6 @@ import java.io.InputStream; import java.lang.annotation.Annotation; import java.nio.charset.StandardCharsets; import java.util.List; -import javax.annotation.Nonnull; import javax.inject.Inject; import javax.inject.Singleton; import javax.ws.rs.core.MediaType; @@ -72,7 +72,7 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { @SuppressWarnings("checkstyle:IllegalCatch") @Override public void put(final String uriPath, final String payload) throws OperationFailedException { - Preconditions.checkNotNull(payload, "payload can't be null"); + requireNonNull(payload, "payload can't be null"); LOG.debug("put: uriPath: {}, payload: {}", uriPath, payload); @@ -92,9 +92,8 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { @SuppressWarnings("checkstyle:IllegalCatch") @Override - public void post(final String uriPath, final String payload) - throws OperationFailedException { - Preconditions.checkNotNull(payload, "payload can't be null"); + public void post(final String uriPath, final String payload) throws OperationFailedException { + requireNonNull(payload, "payload can't be null"); LOG.debug("post: uriPath: {}, payload: {}", uriPath, payload); @@ -159,7 +158,7 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { @Override public Optional invokeRpc(final String uriPath, final Optional input) throws OperationFailedException { - Preconditions.checkNotNull(uriPath, "uriPath can't be null"); + requireNonNull(uriPath, "uriPath can't be null"); final String actualInput = input.isPresent() ? input.get() : null; @@ -198,7 +197,7 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { throws OperationFailedException { String output = null; - Preconditions.checkNotNull(payload, "payload can't be null"); + requireNonNull(payload, "payload can't be null"); LOG.debug("patch: uriPath: {}, payload: {}", uriPath, payload); @@ -222,8 +221,8 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { @SuppressWarnings("checkstyle:IllegalCatch") @Override - public Optional subscribeToStream(@Nonnull final String identifier, - final MultivaluedMap params) throws OperationFailedException { + public Optional subscribeToStream(final String identifier, final MultivaluedMap params) + throws OperationFailedException { //Note: We use http://127.0.0.1 because the Uri parser requires something there though it does nothing String uri = new StringBuilder("http://127.0.0.1:8081/restconf/streams/stream/").append(identifier).toString(); MultivaluedMap queryParams = params != null ? params : new MultivaluedHashMap(); @@ -240,7 +239,7 @@ public class JSONRestconfServiceImpl implements JSONRestconfService { return Optional.fromNullable(jsonRes); } - private String toJson(final PatchStatusContext patchStatusContext) throws IOException { + private static String toJson(final PatchStatusContext patchStatusContext) throws IOException { final PatchJsonBodyWriter writer = new PatchJsonBodyWriter(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); writer.writeTo(patchStatusContext, PatchStatusContext.class, null, EMPTY_ANNOTATIONS, diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/listeners/ListenerAdapter.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/listeners/ListenerAdapter.java index 5a13a0211c..0e9513a0c6 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/listeners/ListenerAdapter.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/streams/listeners/ListenerAdapter.java @@ -7,13 +7,14 @@ */ package org.opendaylight.netconf.sal.streams.listeners; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.io.IOException; import java.time.Instant; import java.util.Collection; import java.util.Map; import java.util.Map.Entry; -import javax.annotation.Nonnull; import javax.xml.stream.XMLStreamException; import javax.xml.transform.dom.DOMResult; import org.json.XML; @@ -68,15 +69,15 @@ public class ListenerAdapter extends AbstractCommonSubscriber implements Cluster ListenerAdapter(final YangInstanceIdentifier path, final String streamName, final NotificationOutputType outputType, final ControllerContext controllerContext) { register(this); - this.outputType = Preconditions.checkNotNull(outputType); - this.path = Preconditions.checkNotNull(path); - Preconditions.checkArgument(streamName != null && !streamName.isEmpty()); + this.outputType = requireNonNull(outputType); + this.path = requireNonNull(path); + checkArgument(streamName != null && !streamName.isEmpty()); this.streamName = streamName; this.controllerContext = controllerContext; } @Override - public void onDataTreeChanged(@Nonnull final Collection dataTreeCandidates) { + public void onDataTreeChanged(final Collection dataTreeCandidates) { final Instant now = Instant.now(); if (!checkStartStop(now, this)) { return; diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/StringModuleInstanceIdentifierCodec.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/StringModuleInstanceIdentifierCodec.java index 3dc7778782..091e4fc5df 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/StringModuleInstanceIdentifierCodec.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/StringModuleInstanceIdentifierCodec.java @@ -5,13 +5,12 @@ * 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.restconf.nb.rfc8040.codecs; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.net.URI; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; import org.opendaylight.yangtools.yang.model.api.Module; @@ -24,32 +23,30 @@ public final class StringModuleInstanceIdentifierCodec extends AbstractModuleStr private final String defaultPrefix; public StringModuleInstanceIdentifierCodec(final SchemaContext context) { - this.context = Preconditions.checkNotNull(context); + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); this.defaultPrefix = ""; } - public StringModuleInstanceIdentifierCodec(final SchemaContext context, @Nonnull final String defaultPrefix) { - this.context = Preconditions.checkNotNull(context); + public StringModuleInstanceIdentifierCodec(final SchemaContext context, final @NonNull String defaultPrefix) { + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); this.defaultPrefix = defaultPrefix; } @Override - protected Module moduleForPrefix(@Nonnull final String prefix) { + protected Module moduleForPrefix(final String prefix) { final String moduleName = prefix.isEmpty() && !defaultPrefix.isEmpty() ? defaultPrefix : prefix; return context.findModules(moduleName).stream().findFirst().orElse(null); } - @Nonnull @Override public DataSchemaContextTree getDataContextTree() { return this.dataContextTree; } - @Nullable @Override - protected String prefixForNamespace(@Nonnull final URI namespace) { + protected String prefixForNamespace(final URI namespace) { return this.context.findModules(namespace).stream().findFirst().map(Module::getName).orElse(null); } } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/JsonToPatchBodyReader.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/JsonToPatchBodyReader.java index 604d7ba358..f336b7c5ea 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/JsonToPatchBodyReader.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/JsonToPatchBodyReader.java @@ -7,7 +7,9 @@ */ package org.opendaylight.restconf.nb.rfc8040.jersey.providers.patch; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonToken; @@ -21,10 +23,10 @@ import java.util.List; import java.util.Locale; import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; import javax.ws.rs.ext.Provider; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag; @@ -166,11 +168,11 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param resultCollection collection of parsed edits * @throws IOException if operation fails */ - private void parseByName(@Nonnull final String name, @Nonnull final PatchEdit edit, - @Nonnull final JsonReader in, @Nonnull final InstanceIdentifierContext path, - @Nonnull final StringModuleInstanceIdentifierCodec codec, - @Nonnull final List resultCollection, - @Nonnull final AtomicReference patchId) throws IOException { + private void parseByName(final @NonNull String name, final @NonNull PatchEdit edit, + final @NonNull JsonReader in, final @NonNull InstanceIdentifierContext path, + final @NonNull StringModuleInstanceIdentifierCodec codec, + final @NonNull List resultCollection, + final @NonNull AtomicReference patchId) throws IOException { switch (name) { case "edit": if (in.peek() == JsonToken.BEGIN_ARRAY) { @@ -207,9 +209,9 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param codec Draft11StringModuleInstanceIdentifierCodec codec * @throws IOException if operation fails */ - private void readEditDefinition(@Nonnull final PatchEdit edit, @Nonnull final JsonReader in, - @Nonnull final InstanceIdentifierContext path, - @Nonnull final StringModuleInstanceIdentifierCodec codec) throws IOException { + private void readEditDefinition(final @NonNull PatchEdit edit, final @NonNull JsonReader in, + final @NonNull InstanceIdentifierContext path, + final @NonNull StringModuleInstanceIdentifierCodec codec) throws IOException { String deferredValue = null; in.beginObject(); @@ -237,8 +239,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { break; case "value": - Preconditions.checkArgument(edit.getData() == null && deferredValue == null, - "Multiple value entries found"); + checkArgument(edit.getData() == null && deferredValue == null, "Multiple value entries found"); if (edit.getTargetSchemaNode() == null) { final StringBuilder sb = new StringBuilder(); @@ -273,7 +274,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param in JsonReader reader * @throws IOException if operation fails */ - private void readValueNode(@Nonnull final StringBuilder sb, @Nonnull final JsonReader in) throws IOException { + private void readValueNode(final @NonNull StringBuilder sb, final @NonNull JsonReader in) throws IOException { in.beginObject(); sb.append("{\"").append(in.nextName()).append("\":"); @@ -312,7 +313,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param in JsonReader reader * @throws IOException if operation fails */ - private void readValueObject(@Nonnull final StringBuilder sb, @Nonnull final JsonReader in) throws IOException { + private void readValueObject(final @NonNull StringBuilder sb, final @NonNull JsonReader in) throws IOException { // read simple leaf value if (in.peek() == JsonToken.STRING) { sb.append('"').append(in.nextString()).append('"'); @@ -366,8 +367,8 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param in reader JsonReader reader * @return NormalizedNode representing data */ - private static NormalizedNode readEditData(@Nonnull final JsonReader in, - @Nonnull final SchemaNode targetSchemaNode, @Nonnull final InstanceIdentifierContext path) { + private static NormalizedNode readEditData(final @NonNull JsonReader in, + final @NonNull SchemaNode targetSchemaNode, final @NonNull InstanceIdentifierContext path) { final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); JsonParserStream.create(writer, JSONCodecFactorySupplier.RFC7951.getShared(path.getSchemaContext()), @@ -381,7 +382,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @param edit Instance of PatchEdit * @return PatchEntity Patch entity */ - private static PatchEntity prepareEditOperation(@Nonnull final PatchEdit edit) { + private static PatchEntity prepareEditOperation(final @NonNull PatchEdit edit) { if (edit.getOperation() != null && edit.getTargetSchemaNode() != null && checkDataPresence(edit.getOperation(), edit.getData() != null)) { if (!edit.getOperation().isWithValue()) { @@ -409,7 +410,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { * @return true if data is present when operation requires it or if there are no data when operation does not * allow it, false otherwise */ - private static boolean checkDataPresence(@Nonnull final PatchEditOperation operation, final boolean hasData) { + private static boolean checkDataPresence(final @NonNull PatchEditOperation operation, final boolean hasData) { return operation.isWithValue() == hasData; } @@ -428,7 +429,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { } void setId(final String id) { - this.id = Preconditions.checkNotNull(id); + this.id = requireNonNull(id); } PatchEditOperation getOperation() { @@ -436,7 +437,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { } void setOperation(final PatchEditOperation operation) { - this.operation = Preconditions.checkNotNull(operation); + this.operation = requireNonNull(operation); } YangInstanceIdentifier getTarget() { @@ -444,7 +445,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { } void setTarget(final YangInstanceIdentifier target) { - this.target = Preconditions.checkNotNull(target); + this.target = requireNonNull(target); } SchemaNode getTargetSchemaNode() { @@ -452,7 +453,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { } void setTargetSchemaNode(final SchemaNode targetSchemaNode) { - this.targetSchemaNode = Preconditions.checkNotNull(targetSchemaNode); + this.targetSchemaNode = requireNonNull(targetSchemaNode); } NormalizedNode getData() { @@ -460,7 +461,7 @@ public class JsonToPatchBodyReader extends AbstractToPatchBodyReader { } void setData(final NormalizedNode data) { - this.data = Preconditions.checkNotNull(data); + this.data = requireNonNull(data); } void clear() { diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/XmlToPatchBodyReader.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/XmlToPatchBodyReader.java index bf452ec49f..33153a7ef8 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/XmlToPatchBodyReader.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/XmlToPatchBodyReader.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.restconf.nb.rfc8040.jersey.providers.patch; import com.google.common.base.Splitter; @@ -18,13 +17,13 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; -import javax.annotation.Nonnull; import javax.ws.rs.Consumes; import javax.ws.rs.WebApplicationException; import javax.ws.rs.ext.Provider; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.XMLStreamException; import javax.xml.transform.dom.DOMSource; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag; @@ -178,8 +177,8 @@ public class XmlToPatchBodyReader extends AbstractToPatchBodyReader { * @param operation Name of current operation * @return List of value elements */ - private static List readValueNodes(@Nonnull final Element element, - @Nonnull final PatchEditOperation operation) { + private static List readValueNodes(final @NonNull Element element, + final @NonNull PatchEditOperation operation) { final Node valueNode = element.getElementsByTagName("value").item(0); if (operation.isWithValue() && valueNode == null) { @@ -217,8 +216,8 @@ public class XmlToPatchBodyReader extends AbstractToPatchBodyReader { * @param revision Module revision * @return Non-conditional XPath */ - private static String prepareNonCondXpath(@Nonnull final DataSchemaNode schemaNode, @Nonnull final String target, - @Nonnull final Element value, @Nonnull final String namespace, @Nonnull final String revision) { + private static String prepareNonCondXpath(final @NonNull DataSchemaNode schemaNode, final @NonNull String target, + final @NonNull Element value, final @NonNull String namespace, final @NonNull String revision) { final Iterator args = SLASH_SPLITTER.split(target.substring(target.indexOf(':') + 1)).iterator(); final StringBuilder nonCondXpath = new StringBuilder(); @@ -251,7 +250,7 @@ public class XmlToPatchBodyReader extends AbstractToPatchBodyReader { * @param keys Iterator of list keys names * @return Iterator of list keys values */ - private static Iterator readKeyValues(@Nonnull final Element value, @Nonnull final Iterator keys) { + private static Iterator readKeyValues(final @NonNull Element value, final @NonNull Iterator keys) { final List result = new ArrayList<>(); while (keys.hasNext()) { @@ -268,14 +267,11 @@ public class XmlToPatchBodyReader extends AbstractToPatchBodyReader { * @param keyNames Iterator of list keys names * @param keyValues Iterator of list keys values */ - private static void appendKeys(@Nonnull final StringBuilder nonCondXpath, @Nonnull final Iterator keyNames, - @Nonnull final Iterator keyValues) { + private static void appendKeys(final @NonNull StringBuilder nonCondXpath, final @NonNull Iterator keyNames, + final @NonNull Iterator keyValues) { while (keyNames.hasNext()) { - nonCondXpath.append('['); - nonCondXpath.append(keyNames.next().getLocalName()); - nonCondXpath.append("='"); - nonCondXpath.append(keyValues.next()); - nonCondXpath.append("']"); + nonCondXpath.append('[').append(keyNames.next().getLocalName()).append("='").append(keyValues.next()) + .append("']"); } } } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/api/JSONRestconfService.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/api/JSONRestconfService.java index 1d492ba66f..aa5ff15540 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/api/JSONRestconfService.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/api/JSONRestconfService.java @@ -8,7 +8,7 @@ package org.opendaylight.restconf.nb.rfc8040.rests.services.api; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yangtools.yang.common.OperationFailedException; @@ -31,7 +31,7 @@ public interface JSONRestconfService { * @param payload the payload data in JSON format. * @throws OperationFailedException if the request fails. */ - void put(String uriPath, @Nonnull String payload) throws OperationFailedException; + void put(String uriPath, @NonNull String payload) throws OperationFailedException; /** * Issues a restconf POST request to the configuration data store. @@ -41,7 +41,7 @@ public interface JSONRestconfService { * @param payload the payload data in JSON format. * @throws OperationFailedException if the request fails. */ - void post(String uriPath, @Nonnull String payload) throws OperationFailedException; + void post(String uriPath, @NonNull String payload) throws OperationFailedException; /** * Issues a restconf DELETE request to the configuration data store. @@ -72,7 +72,7 @@ public interface JSONRestconfService { * @return an Optional containing the output in JSON format if the RPC returns output. * @throws OperationFailedException if the request fails. */ - Optional invokeRpc(@Nonnull String uriPath, Optional input) throws OperationFailedException; + Optional invokeRpc(@NonNull String uriPath, Optional input) throws OperationFailedException; /** * Issues a restconf PATCH request to the configuration data store. @@ -83,5 +83,5 @@ public interface JSONRestconfService { * @return an Optional containing the patch response data in JSON format. * @throws OperationFailedException if the request fails. */ - Optional patch(@Nonnull String uriPath, @Nonnull String payload) throws OperationFailedException; + Optional patch(@NonNull String uriPath, @NonNull String payload) throws OperationFailedException; } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040Impl.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040Impl.java index 9064dbea4a..642ecabec8 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040Impl.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040Impl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.restconf.nb.rfc8040.rests.services.impl; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -17,10 +18,10 @@ import java.lang.annotation.Annotation; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Optional; -import javax.annotation.Nullable; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; import org.opendaylight.restconf.common.context.NormalizedNodeContext; @@ -73,7 +74,7 @@ public class JSONRestconfServiceRfc8040Impl implements JSONRestconfService, Auto @SuppressWarnings("checkstyle:IllegalCatch") @Override public void put(final String uriPath, final String payload) throws OperationFailedException { - Preconditions.checkNotNull(payload, "payload can't be null"); + requireNonNull(payload, "payload can't be null"); LOG.debug("put: uriPath: {}, payload: {}", uriPath, payload); @@ -91,9 +92,8 @@ public class JSONRestconfServiceRfc8040Impl implements JSONRestconfService, Auto @SuppressWarnings("checkstyle:IllegalCatch") @Override - public void post(final String uriPath, final String payload) - throws OperationFailedException { - Preconditions.checkNotNull(payload, "payload can't be null"); + public void post(final String uriPath, final String payload) throws OperationFailedException { + requireNonNull(payload, "payload can't be null"); LOG.debug("post: uriPath: {}, payload: {}", uriPath, payload); @@ -156,7 +156,7 @@ public class JSONRestconfServiceRfc8040Impl implements JSONRestconfService, Auto @Override public Optional invokeRpc(final String uriPath, final Optional input) throws OperationFailedException { - Preconditions.checkNotNull(uriPath, "uriPath can't be null"); + requireNonNull(uriPath, "uriPath can't be null"); final String actualInput = input.isPresent() ? input.get() : null; @@ -189,7 +189,7 @@ public class JSONRestconfServiceRfc8040Impl implements JSONRestconfService, Auto throws OperationFailedException { String output = null; - Preconditions.checkNotNull(payload, "payload can't be null"); + requireNonNull(payload, "payload can't be null"); LOG.debug("patch: uriPath: {}, payload: {}", uriPath, payload); @@ -215,7 +215,7 @@ public class JSONRestconfServiceRfc8040Impl implements JSONRestconfService, Auto public void close() { } - private NormalizedNodeContext toNormalizedNodeContext(final String uriPath, @Nullable final String payload, + private NormalizedNodeContext toNormalizedNodeContext(final String uriPath, final @Nullable String payload, final boolean isPost) throws OperationFailedException { final InstanceIdentifierContext instanceIdentifierContext = ParserIdentifier.toInstanceIdentifier( uriPath, schemaContextHandler.get(), Optional.of(mountPointServiceHandler.get())); diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java index ab6f26d855..4cf01c5992 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java @@ -7,12 +7,12 @@ */ package org.opendaylight.restconf.nb.rfc8040.rests.services.impl; +import static java.util.Objects.requireNonNull; import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants.CREATE_NOTIFICATION_STREAM; import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants.STREAM_ACCESS_PATH_PART; import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants.STREAM_LOCATION_PATH_PART; import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants.STREAM_PATH; -import com.google.common.base.Preconditions; import java.time.Clock; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -20,10 +20,10 @@ import java.util.List; import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; -import javax.annotation.Nonnull; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMMountPoint; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; @@ -180,7 +180,7 @@ public class RestconfDataServiceImpl implements RestconfDataService { @Override public Response putData(final String identifier, final NormalizedNodeContext payload, final UriInfo uriInfo) { - Preconditions.checkNotNull(payload); + requireNonNull(payload); boolean insertUsed = false; boolean pointUsed = false; @@ -252,7 +252,7 @@ public class RestconfDataServiceImpl implements RestconfDataService { @Override public Response postData(final NormalizedNodeContext payload, final UriInfo uriInfo) { - Preconditions.checkNotNull(payload); + requireNonNull(payload); boolean insertUsed = false; boolean pointUsed = false; @@ -325,8 +325,7 @@ public class RestconfDataServiceImpl implements RestconfDataService { @Override public PatchStatusContext patchData(final PatchContext context, final UriInfo uriInfo) { - Preconditions.checkNotNull(context); - final DOMMountPoint mountPoint = context.getInstanceIdentifierContext().getMountPoint(); + final DOMMountPoint mountPoint = requireNonNull(context).getInstanceIdentifierContext().getMountPoint(); final TransactionChainHandler localTransactionChainHandler; final SchemaContextRef ref; @@ -350,7 +349,7 @@ public class RestconfDataServiceImpl implements RestconfDataService { * mount point reference * @return {@link TransactionChainHandler} */ - private static TransactionChainHandler transactionChainOfMountPoint(@Nonnull final DOMMountPoint mountPoint) { + private static TransactionChainHandler transactionChainOfMountPoint(final @NonNull DOMMountPoint mountPoint) { final Optional domDataBrokerService = mountPoint.getService(DOMDataBroker.class); if (domDataBrokerService.isPresent()) { return new TransactionChainHandler(domDataBrokerService.get()); diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfStreamsSubscriptionServiceImpl.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfStreamsSubscriptionServiceImpl.java index 6d37a2b786..bc1f07c01c 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfStreamsSubscriptionServiceImpl.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfStreamsSubscriptionServiceImpl.java @@ -14,9 +14,9 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; -import javax.annotation.Nonnull; import javax.ws.rs.Path; import javax.ws.rs.core.UriInfo; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMNotificationService; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; @@ -233,8 +233,7 @@ public class RestconfStreamsSubscriptionServiceImpl implements RestconfStreamsSu * * @return start-time */ - @Nonnull - public Instant getStart() { + public @NonNull Instant getStart() { return start; } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ParametersUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ParametersUtil.java index 853face35e..df56c23ecb 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ParametersUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ParametersUtil.java @@ -5,13 +5,12 @@ * 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.restconf.nb.rfc8040.rests.utils; import com.google.common.collect.Sets; import java.util.List; import java.util.Set; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.common.errors.RestconfError; import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag; @@ -33,9 +32,9 @@ final class ParametersUtil { * @param allowedParameters * allowed parameters for operation */ - static void checkParametersTypes(@Nonnull final String operationType, - @Nonnull final Set usedParameters, - @Nonnull final String... allowedParameters) { + static void checkParametersTypes(final @NonNull String operationType, + final @NonNull Set usedParameters, + final @NonNull String... allowedParameters) { final Set notAllowedParameters = Sets.newHashSet(usedParameters); notAllowedParameters.removeAll(Sets.newHashSet(allowedParameters)); @@ -55,7 +54,7 @@ final class ParametersUtil { * @param parameterName * URI parameter name */ - static void checkParameterCount(@Nonnull final List parameterValues, @Nonnull final String parameterName) { + static void checkParameterCount(final @NonNull List parameterValues, final @NonNull String parameterName) { if (parameterValues.size() > 1) { throw new RestconfDocumentedException( "Parameter " + parameterName + " can appear at most once in request URI", diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ReadDataTransactionUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ReadDataTransactionUtil.java index e5b2ba2593..98ea8a346e 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ReadDataTransactionUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/ReadDataTransactionUtil.java @@ -21,9 +21,9 @@ import java.util.Map; import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.ws.rs.core.UriInfo; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; @@ -103,9 +103,8 @@ public final class ReadDataTransactionUtil { * set tagged for {@link WriterParameters} * @return {@link WriterParameters} */ - @Nonnull - public static WriterParameters parseUriParameters(@Nonnull final InstanceIdentifierContext identifier, - @Nullable final UriInfo uriInfo, final boolean tagged) { + public static @NonNull WriterParameters parseUriParameters(final @NonNull InstanceIdentifierContext identifier, + final @Nullable UriInfo uriInfo, final boolean tagged) { return parseParams(identifier, uriInfo, tagged); } @@ -119,9 +118,8 @@ public final class ReadDataTransactionUtil { * URI info * @return {@link WriterParameters} */ - @Nonnull - public static WriterParameters parseUriParameters(@Nonnull final InstanceIdentifierContext identifier, - @Nullable final UriInfo uriInfo) { + public static @NonNull WriterParameters parseUriParameters(final @NonNull InstanceIdentifierContext identifier, + final @Nullable UriInfo uriInfo) { return parseParams(identifier, uriInfo, false); } @@ -208,9 +206,8 @@ public final class ReadDataTransactionUtil { * schema context * @return {@link NormalizedNode} */ - @Nullable - public static NormalizedNode readData(@Nonnull final String valueOfContent, - @Nonnull final TransactionVarsWrapper transactionNode, final SchemaContext schemaContext) { + public static @Nullable NormalizedNode readData(final @NonNull String valueOfContent, + final @NonNull TransactionVarsWrapper transactionNode, final SchemaContext schemaContext) { return readData(valueOfContent, transactionNode, null, schemaContext); } @@ -227,9 +224,8 @@ public final class ReadDataTransactionUtil { * schema context * @return {@link NormalizedNode} */ - @Nullable - public static NormalizedNode readData(@Nonnull final String valueOfContent, - @Nonnull final TransactionVarsWrapper transactionNode, final String withDefa, final SchemaContext ctx) { + public static @Nullable NormalizedNode readData(final @NonNull String valueOfContent, + final @NonNull TransactionVarsWrapper transactionNode, final String withDefa, final SchemaContext ctx) { switch (valueOfContent) { case RestconfDataServiceConstant.ReadData.CONFIG: transactionNode.setLogicalDatastoreType(LogicalDatastoreType.CONFIGURATION); @@ -436,9 +432,8 @@ public final class ReadDataTransactionUtil { * {@link TransactionVarsWrapper} - wrapper for variables * @return {@link NormalizedNode} */ - @Nullable - private static NormalizedNode readDataViaTransaction( - @Nonnull final TransactionVarsWrapper transactionNode) { + private static @Nullable NormalizedNode readDataViaTransaction( + final @NonNull TransactionVarsWrapper transactionNode) { final NormalizedNodeFactory dataFactory = new NormalizedNodeFactory(); try (DOMDataTreeReadTransaction tx = transactionNode.getTransactionChain().newReadOnlyTransaction()) { final FluentFuture>> listenableFuture = tx.read( @@ -461,8 +456,7 @@ public final class ReadDataTransactionUtil { * schema context * @return {@link NormalizedNode} */ - @Nullable - private static NormalizedNode readAllData(@Nonnull final TransactionVarsWrapper transactionNode, + private static @Nullable NormalizedNode readAllData(final @NonNull TransactionVarsWrapper transactionNode, final String withDefa, final SchemaContext ctx) { // PREPARE STATE DATA NODE transactionNode.setLogicalDatastoreType(LogicalDatastoreType.OPERATIONAL); @@ -506,9 +500,8 @@ public final class ReadDataTransactionUtil { * data node of config data * @return {@link NormalizedNode} */ - @Nonnull - private static NormalizedNode mergeStateAndConfigData(@Nonnull final NormalizedNode stateDataNode, - @Nonnull final NormalizedNode configDataNode) { + private static @NonNull NormalizedNode mergeStateAndConfigData( + final @NonNull NormalizedNode stateDataNode, final @NonNull NormalizedNode configDataNode) { validateNodeMerge(stateDataNode, configDataNode); if (configDataNode instanceof RpcDefinition) { return prepareRpcData(configDataNode, stateDataNode); @@ -525,8 +518,8 @@ public final class ReadDataTransactionUtil { * @param configDataNode * data node of config data */ - private static void validateNodeMerge(@Nonnull final NormalizedNode stateDataNode, - @Nonnull final NormalizedNode configDataNode) { + private static void validateNodeMerge(final @NonNull NormalizedNode stateDataNode, + final @NonNull NormalizedNode configDataNode) { final QNameModule moduleOfStateData = stateDataNode.getIdentifier().getNodeType().getModule(); final QNameModule moduleOfConfigData = configDataNode.getIdentifier().getNodeType().getModule(); if (!moduleOfStateData.equals(moduleOfConfigData)) { @@ -543,9 +536,8 @@ public final class ReadDataTransactionUtil { * data node of state data * @return {@link NormalizedNode} */ - @Nonnull - private static NormalizedNode prepareRpcData(@Nonnull final NormalizedNode configDataNode, - @Nonnull final NormalizedNode stateDataNode) { + private static @NonNull NormalizedNode prepareRpcData(final @NonNull NormalizedNode configDataNode, + final @NonNull NormalizedNode stateDataNode) { final DataContainerNodeBuilder mapEntryBuilder = ImmutableNodes .mapEntryBuilder(); mapEntryBuilder.withNodeIdentifier((NodeIdentifierWithPredicates) configDataNode.getIdentifier()); @@ -566,9 +558,8 @@ public final class ReadDataTransactionUtil { * @param mapEntryBuilder * builder for mapping data */ - private static void mapRpcDataNode(@Nonnull final NormalizedNode dataNode, - @Nonnull final DataContainerNodeBuilder< - NodeIdentifierWithPredicates, MapEntryNode> mapEntryBuilder) { + private static void mapRpcDataNode(final @NonNull NormalizedNode dataNode, + final @NonNull DataContainerNodeBuilder mapEntryBuilder) { ((ContainerNode) dataNode).getValue().forEach(mapEntryBuilder::addChild); } @@ -582,9 +573,8 @@ public final class ReadDataTransactionUtil { * @return {@link NormalizedNode} */ @SuppressWarnings("unchecked") - @Nonnull - private static NormalizedNode prepareData(@Nonnull final NormalizedNode configDataNode, - @Nonnull final NormalizedNode stateDataNode) { + private static @NonNull NormalizedNode prepareData(final @NonNull NormalizedNode configDataNode, + final @NonNull NormalizedNode stateDataNode) { if (configDataNode instanceof OrderedMapNode) { final CollectionNodeBuilder builder = Builders .orderedMapBuilder().withNodeIdentifier(((MapNode) configDataNode).getIdentifier()); @@ -679,9 +669,8 @@ public final class ReadDataTransactionUtil { * builder */ private static > void mapValueToBuilder( - @Nonnull final Collection configData, - @Nonnull final Collection stateData, - @Nonnull final NormalizedNodeContainerBuilder builder) { + final @NonNull Collection configData, final @NonNull Collection stateData, + final @NonNull NormalizedNodeContainerBuilder builder) { final Map configMap = configData.stream().collect( Collectors.toMap(NormalizedNode::getIdentifier, Function.identity())); final Map stateMap = stateData.stream().collect( @@ -706,9 +695,8 @@ public final class ReadDataTransactionUtil { * - builder */ private static > void mapDataToBuilder( - @Nonnull final Map configMap, - @Nonnull final Map stateMap, - @Nonnull final NormalizedNodeContainerBuilder builder) { + final @NonNull Map configMap, final @NonNull Map stateMap, + final @NonNull NormalizedNodeContainerBuilder builder) { configMap.entrySet().stream().filter(x -> !stateMap.containsKey(x.getKey())).forEach( y -> builder.addChild(y.getValue())); stateMap.entrySet().stream().filter(x -> !configMap.containsKey(x.getKey())).forEach( @@ -728,9 +716,8 @@ public final class ReadDataTransactionUtil { */ @SuppressWarnings("unchecked") private static > void mergeDataToBuilder( - @Nonnull final Map configMap, - @Nonnull final Map stateMap, - @Nonnull final NormalizedNodeContainerBuilder builder) { + final @NonNull Map configMap, final @NonNull Map stateMap, + final @NonNull NormalizedNodeContainerBuilder builder) { // it is enough to process only config data because operational contains the same data configMap.entrySet().stream().filter(x -> stateMap.containsKey(x.getKey())).forEach( y -> builder.addChild((T) prepareData(y.getValue(), stateMap.get(y.getKey())))); diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/ParserFieldsParameter.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/ParserFieldsParameter.java index ffe010cb19..9bd46d76e0 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/ParserFieldsParameter.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/ParserFieldsParameter.java @@ -5,15 +5,14 @@ * 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.restconf.nb.rfc8040.utils.parser; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag; @@ -42,9 +41,8 @@ public final class ParserFieldsParameter { * @param input input value of fields parameter * @return {@link List} */ - @Nonnull - public static List> parseFieldsParameter(@Nonnull final InstanceIdentifierContext identifier, - @Nonnull final String input) { + public static @NonNull List> parseFieldsParameter(final @NonNull InstanceIdentifierContext identifier, + final @NonNull String input) { final List> parsed = new ArrayList<>(); final SchemaContext context = identifier.getSchemaContext(); final QNameModule startQNameModule = identifier.getSchemaNode().getQName().getModule(); @@ -68,11 +66,9 @@ public final class ParserFieldsParameter { * @param parsed list of results * @param context schema context */ - private static void parseInput(@Nonnull final String input, - @Nonnull final QNameModule startQNameModule, - @Nonnull final DataSchemaContextNode startNode, - @Nonnull final List> parsed, - @Nonnull final SchemaContext context) { + private static void parseInput(final @NonNull String input, final @NonNull QNameModule startQNameModule, + final @NonNull DataSchemaContextNode startNode, + final @NonNull List> parsed, final SchemaContext context) { int currentPosition = 0; int startPosition = 0; DataSchemaContextNode currentNode = startNode; @@ -178,12 +174,9 @@ public final class ParserFieldsParameter { * @param level current nodes level * @return {@link DataSchemaContextNode} */ - @Nonnull - private static DataSchemaContextNode addChildToResult( - @Nonnull final DataSchemaContextNode currentNode, - @Nonnull final String identifier, - @Nonnull final QNameModule currentQNameModule, - @Nonnull final Set level) { + private static @NonNull DataSchemaContextNode addChildToResult( + final @NonNull DataSchemaContextNode currentNode, final @NonNull String identifier, + final @NonNull QNameModule currentQNameModule, final @NonNull Set level) { final QName childQName = QName.create(currentQNameModule, identifier); // resolve parent node @@ -218,10 +211,8 @@ public final class ParserFieldsParameter { * @param qualifiedName qname of initial node * @return {@link DataSchemaContextNode} */ - @Nullable - private static DataSchemaContextNode resolveMixinNode(@Nullable final DataSchemaContextNode node, - @Nonnull final Set level, - @Nonnull final QName qualifiedName) { + private static @Nullable DataSchemaContextNode resolveMixinNode(final @Nullable DataSchemaContextNode node, + final @NonNull Set level, final @NonNull QName qualifiedName) { DataSchemaContextNode currentNode = node; while (currentNode != null && currentNode.isMixin()) { level.add(qualifiedName); @@ -236,7 +227,7 @@ public final class ParserFieldsParameter { * @param input input where to find for closing parenthesis * @return int position of closing parenthesis increased by one */ - private static int findClosingParenthesis(@Nonnull final String input) { + private static int findClosingParenthesis(final @Nullable String input) { int position = 0; int count = 1; -- 2.36.6