X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Foperations%2Feditconfig%2FDeleteEditConfigStrategy.java;h=e88863c685ace15c486c9b5c263345a81ace9a44;hp=ffe107f8ce726953f376e98327be466f80d69437;hb=6dae254dbc2940d1f0f372d65d69b0e0dda415fe;hpb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/DeleteEditConfigStrategy.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/DeleteEditConfigStrategy.java index ffe107f8ce..e88863c685 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/DeleteEditConfigStrategy.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/DeleteEditConfigStrategy.java @@ -8,33 +8,54 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig; -import java.util.Map; - -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; - +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; import org.opendaylight.controller.config.util.ConfigTransactionClient; +import org.opendaylight.controller.netconf.api.NetconfDocumentedException; +import org.opendaylight.controller.netconf.confignetconfconnector.exception.NetconfConfigHandlingException; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeConfigElement; +import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ServiceRegistryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; +import java.util.Map; + public class DeleteEditConfigStrategy extends AbstractEditConfigStrategy { private static final Logger logger = LoggerFactory.getLogger(DeleteEditConfigStrategy.class); + private final Multimap providedServices; + + public DeleteEditConfigStrategy() { + this.providedServices = HashMultimap.create(); + } + + public DeleteEditConfigStrategy(Multimap providedServices) { + this.providedServices = providedServices; + } + @Override void handleMissingInstance(Map configuration, ConfigTransactionClient ta, - String module, String instance) { - throw new IllegalStateException("Unable to delete " + module + ":" + instance + " , ServiceInstance not found"); + String module, String instance, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { + throw new NetconfConfigHandlingException(String.format("Unable to delete %s : %s , ServiceInstance not found", module ,instance), + NetconfDocumentedException.ErrorType.application, + NetconfDocumentedException.ErrorTag.operation_failed, + NetconfDocumentedException.ErrorSeverity.error); } @Override - void executeStrategy(Map configuration, ConfigTransactionClient ta, ObjectName on) { + void executeStrategy(Map configuration, ConfigTransactionClient ta, ObjectName on, ServiceRegistryWrapper services) throws NetconfConfigHandlingException { try { ta.destroyModule(on); logger.debug("ServiceInstance {} deleted successfully", on); } catch (InstanceNotFoundException e) { - throw new IllegalStateException("Unable to delete " + on, e); + throw new NetconfConfigHandlingException( + String.format("Unable to delete %s because of exception %s" + on, e.getMessage()), + NetconfDocumentedException.ErrorType.application, + NetconfDocumentedException.ErrorTag.operation_failed, + NetconfDocumentedException.ErrorSeverity.error); } } }