From: Robert Varga Date: Thu, 13 May 2021 13:03:27 +0000 (+0200) Subject: Remove Handler interface X-Git-Tag: v2.0.0~63 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=8ada2089ecdc76237c8562f333d1f2e2d401fb7b;p=netconf.git Remove Handler interface This interface is utterly useless now, remove it and mark its implementations for further evolution -- which really means eliminating them. JIRA: NETCONF-773 Change-Id: If6dadcaa47aa3eb77ac5b394b40e6946f09975b7 Signed-off-by: Robert Varga --- diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/ActionServiceHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/ActionServiceHandler.java index b6b5eb10ad..6e83d9166f 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/ActionServiceHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/ActionServiceHandler.java @@ -18,8 +18,9 @@ import org.opendaylight.mdsal.dom.api.DOMActionService; /** * Implementation of {@link ActionServiceHandler}. */ +// FIXME: remove this class @Singleton -public class ActionServiceHandler implements Handler { +public class ActionServiceHandler { private final @NonNull DOMActionService actionService; /** @@ -33,7 +34,6 @@ public class ActionServiceHandler implements Handler { this.actionService = requireNonNull(actionService); } - @Override public @NonNull DOMActionService get() { return this.actionService; } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMDataBrokerHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMDataBrokerHandler.java index 8702c4ab3f..73623c6041 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMDataBrokerHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMDataBrokerHandler.java @@ -7,25 +7,27 @@ */ package org.opendaylight.restconf.nb.rfc8040.handlers; +import static java.util.Objects.requireNonNull; + import javax.inject.Inject; import javax.inject.Singleton; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMDataBroker; /** * Implementation of {@link DOMDataBrokerHandler}. */ +// FIXME: remove this class @Singleton -public class DOMDataBrokerHandler implements Handler { - +public class DOMDataBrokerHandler { private final DOMDataBroker broker; @Inject public DOMDataBrokerHandler(final DOMDataBroker broker) { - this.broker = broker; + this.broker = requireNonNull(broker); } - @Override - public DOMDataBroker get() { - return this.broker; + public @NonNull DOMDataBroker get() { + return broker; } } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMMountPointServiceHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMMountPointServiceHandler.java index 6a89d29b99..7d969059b2 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMMountPointServiceHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/DOMMountPointServiceHandler.java @@ -12,13 +12,15 @@ import static java.util.Objects.requireNonNull; import javax.inject.Inject; import javax.inject.Singleton; import org.apache.aries.blueprint.annotation.service.Reference; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.dom.api.DOMMountPointService; /** * Implementation of {@link DOMMountPointServiceHandler}. */ +// FIXME: remove this class @Singleton -public final class DOMMountPointServiceHandler implements Handler { +public final class DOMMountPointServiceHandler { private final DOMMountPointService domMountPointService; /** @@ -32,8 +34,7 @@ public final class DOMMountPointServiceHandler implements Handler specific type go object for handling it - */ -interface Handler { - - /** - * Get prepared object. - * - * @return T - */ - T get(); - - /** - * Update object. - * - * @param object new object to update old object - */ - default void update(final T object) { - - } -} diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/NotificationServiceHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/NotificationServiceHandler.java index 378f891404..ea5cd7bb08 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/NotificationServiceHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/NotificationServiceHandler.java @@ -12,9 +12,9 @@ import javax.inject.Singleton; import org.apache.aries.blueprint.annotation.service.Reference; import org.opendaylight.mdsal.dom.api.DOMNotificationService; +// FIXME: remove this class @Singleton -public class NotificationServiceHandler implements Handler { - +public class NotificationServiceHandler { private final DOMNotificationService notificationService; /** @@ -28,7 +28,6 @@ public class NotificationServiceHandler implements Handler { +public class RpcServiceHandler { private final DOMRpcService rpcService; @Inject @@ -24,7 +25,6 @@ public class RpcServiceHandler implements Handler { this.rpcService = rpcService; } - @Override public DOMRpcService get() { return this.rpcService; } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextHandler.java index 5c126d4dbf..f177962866 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextHandler.java @@ -35,6 +35,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener; import org.opendaylight.yangtools.yang.model.api.Module; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,8 +43,11 @@ import org.slf4j.LoggerFactory; /** * Implementation of {@link SchemaContextHandler}. */ +// FIXME: this really is a service which is maintaining ietf-yang-library contents inside the datastore. It really +// should live in MD-SAL and be a dynamic store fragment. As a first step we should be turning this into a +// completely standalone application. @Singleton -public class SchemaContextHandler implements SchemaContextListenerHandler, AutoCloseable { +public class SchemaContextHandler implements EffectiveModelContextListener, AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(SchemaContextHandler.class); private final AtomicInteger moduleSetId = new AtomicInteger(0); @@ -94,7 +98,6 @@ public class SchemaContextHandler implements SchemaContextListenerHandler, AutoC } } - @Override public EffectiveModelContext get() { return schemaContext; } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextListenerHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextListenerHandler.java deleted file mode 100644 index 9b17436093..0000000000 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextListenerHandler.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.restconf.nb.rfc8040.handlers; - -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener; - -interface SchemaContextListenerHandler extends Handler, EffectiveModelContextListener { - -} diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/TransactionChainHandler.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/TransactionChainHandler.java index 28830dd341..2d7008d7fd 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/TransactionChainHandler.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/TransactionChainHandler.java @@ -24,8 +24,9 @@ import org.slf4j.LoggerFactory; /** * Implementation of {@link TransactionChainHandler}. */ +// FIXME: untangle this class, what good is it, really?! @Singleton -public class TransactionChainHandler implements Handler, AutoCloseable { +public class TransactionChainHandler implements AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(TransactionChainHandler.class); private final DOMTransactionChainListener transactionChainListener = new DOMTransactionChainListener() { @@ -61,7 +62,6 @@ public class TransactionChainHandler implements Handler, Au * After use, is important to close transactionChain by method {@link DOMTransactionChain#close()}. * @return new instance of object {@link DOMTransactionChain} */ - @Override public DOMTransactionChain get() { final DOMTransactionChain transactionChain = dataBroker.createTransactionChain(transactionChainListener); this.transactionChainList.add(transactionChain); @@ -72,7 +72,7 @@ public class TransactionChainHandler implements Handler, Au @Override @PreDestroy public synchronized void close() { - for (DOMTransactionChain transactionChain: this.transactionChainList) { + for (DOMTransactionChain transactionChain : this.transactionChainList) { transactionChain.close(); LOG.trace("Closed TransactionChain({})", transactionChain); }