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%2FValidate.java;h=38918b18cadb78253ca80ff32a28bf8f0ca36f38;hp=1a7d50e5fabbc91f1359a3295a80f3f0418d6340;hb=b2e81149739c87f0ecc2ce7f06448d7a5d3162b8;hpb=84248dac9ed8aa37e996e39429c8aa8ece473eaf diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/Validate.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/Validate.java index 1a7d50e5fa..38918b18ca 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/Validate.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/Validate.java @@ -9,39 +9,34 @@ package org.opendaylight.controller.netconf.confignetconfconnector.operations; import com.google.common.base.Optional; +import java.util.HashMap; +import java.util.Map; import org.opendaylight.controller.config.api.ValidationException; -import org.opendaylight.controller.config.util.ConfigRegistryClient; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException.ErrorSeverity; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException.ErrorTag; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException.ErrorType; -import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider; -import org.opendaylight.controller.netconf.util.xml.XmlElement; -import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; -import org.opendaylight.controller.netconf.util.xml.XmlUtil; +import org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade; +import org.opendaylight.controller.config.facade.xml.Datastore; +import org.opendaylight.controller.config.util.xml.DocumentedException; +import org.opendaylight.controller.config.util.xml.DocumentedException.ErrorSeverity; +import org.opendaylight.controller.config.util.xml.DocumentedException.ErrorTag; +import org.opendaylight.controller.config.util.xml.DocumentedException.ErrorType; +import org.opendaylight.controller.config.util.xml.XmlElement; +import org.opendaylight.controller.config.util.xml.XmlUtil; +import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; -import java.util.HashMap; -import java.util.Map; - public class Validate extends AbstractConfigNetconfOperation { public static final String VALIDATE = "validate"; - private static final Logger logger = LoggerFactory.getLogger(Validate.class); - - private final TransactionProvider transactionProvider; + private static final Logger LOG = LoggerFactory.getLogger(Validate.class); - public Validate(final TransactionProvider transactionProvider, ConfigRegistryClient configRegistryClient, - String netconfSessionIdForReporting) { - super(configRegistryClient, netconfSessionIdForReporting); - this.transactionProvider = transactionProvider; + public Validate(final ConfigSubsystemFacade configSubsystemFacade, final String netconfSessionIdForReporting) { + super(configSubsystemFacade, netconfSessionIdForReporting); } - private void checkXml(XmlElement xml) throws NetconfDocumentedException { + private void checkXml(XmlElement xml) throws DocumentedException { xml.checkName(VALIDATE); xml.checkNamespace(XmlNetconfConstants.URN_IETF_PARAMS_XML_NS_NETCONF_BASE_1_0); @@ -54,8 +49,8 @@ public class Validate extends AbstractConfigNetconfOperation { Datastore sourceDatastore = Datastore.valueOf(datastoreValue); if (sourceDatastore != Datastore.candidate){ - throw new NetconfDocumentedException( "Only " + Datastore.candidate - + " is supported as source for " + VALIDATE + " but was " + datastoreValue,ErrorType.application,ErrorTag.data_missing,ErrorSeverity.error); + throw new DocumentedException( "Only " + Datastore.candidate + + " is supported as source for " + VALIDATE + " but was " + datastoreValue, ErrorType.application, ErrorTag.data_missing, ErrorSeverity.error); } } @@ -65,25 +60,25 @@ public class Validate extends AbstractConfigNetconfOperation { } @Override - protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws NetconfDocumentedException { + protected Element handleWithNoSubsequentOperations(Document document, XmlElement xml) throws DocumentedException { checkXml(xml); try { - transactionProvider.validateTransaction(); + getConfigSubsystemFacade().validateConfiguration(); } catch (ValidationException e) { - logger.warn("Validation failed", e); - throw NetconfDocumentedException.wrap(e); + LOG.warn("Validation failed", e); + throw DocumentedException.wrap(e); } catch (IllegalStateException e) { - logger.warn("Validation failed", e); + LOG.warn("Validation failed", e); final Map errorInfo = new HashMap<>(); errorInfo .put(ErrorTag.operation_failed.name(), "Datastore is not present. Use 'get-config' or 'edit-config' before triggering 'operations' operation"); - throw new NetconfDocumentedException(e.getMessage(), e, ErrorType.application, ErrorTag.operation_failed, + throw new DocumentedException(e.getMessage(), e, ErrorType.application, ErrorTag.operation_failed, ErrorSeverity.error, errorInfo); } - logger.trace("Datastore {} validated successfully", Datastore.candidate); + LOG.trace("Datastore {} validated successfully", Datastore.candidate); return XmlUtil.createElement(document, XmlNetconfConstants.OK, Optional.absent()); }