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%2FEditConfig.java;h=1fca16433a9ac7d1e3af41c64c9167138b5afd65;hp=d04fdbcc4398a926aca99e374621c00fb6c38510;hb=4f4df9918bc2d1447393edac6fbf3a2d4f9d9186;hpb=0ecc684421b03f8eb53cdd042fb3adc40f6732c7 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditConfig.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditConfig.java index d04fdbcc43..1fca16433a 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditConfig.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/operations/editconfig/EditConfig.java @@ -27,6 +27,7 @@ import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ModuleConfig; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ModuleElementResolved; import org.opendaylight.controller.netconf.confignetconfconnector.operations.AbstractConfigNetconfOperation; +import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfigXmlParser.EditConfigExecution; import org.opendaylight.controller.netconf.confignetconfconnector.transactions.TransactionProvider; import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; @@ -88,9 +89,9 @@ public class EditConfig extends AbstractConfigNetconfOperation { } private void executeTests(ConfigRegistryClient configRegistryClient, - EditConfigXmlParser.EditConfigExecution editConfigExecution) throws NetconfDocumentedException { + EditConfigExecution editConfigExecution) throws NetconfDocumentedException { try { - test(configRegistryClient, editConfigExecution.resolvedXmlElements); + test(configRegistryClient, editConfigExecution.getResolvedXmlElements(), editConfigExecution.getDefaultStrategy()); } catch (IllegalStateException | JmxAttributeValidationException | ValidationException e) { logger.warn("Test phase for {} failed", EditConfigXmlParser.EDIT_CONFIG, e); final Map errorInfo = new HashMap<>(); @@ -102,12 +103,12 @@ public class EditConfig extends AbstractConfigNetconfOperation { } private void test(ConfigRegistryClient configRegistryClient, - Map> resolvedModules) { + Map> resolvedModules, EditStrategyType editStrategyType) { ObjectName taON = transactionProvider.getTestTransaction(); try { // default strategy = replace wipes config - if (EditStrategyType.defaultStrategy() == EditStrategyType.replace) { + if (editStrategyType == EditStrategyType.replace) { transactionProvider.wipeTestTransaction(taON); } setOnTransaction(configRegistryClient, resolvedModules, taON); @@ -122,10 +123,10 @@ public class EditConfig extends AbstractConfigNetconfOperation { ObjectName taON = transactionProvider.getOrCreateTransaction(); // default strategy = replace wipes config - if (EditStrategyType.defaultStrategy() == EditStrategyType.replace) { + if (editConfigExecution.getDefaultStrategy() == EditStrategyType.replace) { transactionProvider.wipeTransaction(); } - setOnTransaction(configRegistryClient, editConfigExecution.resolvedXmlElements, taON); + setOnTransaction(configRegistryClient, editConfigExecution.getResolvedXmlElements(), taON); } private void setOnTransaction(ConfigRegistryClient configRegistryClient, @@ -150,6 +151,7 @@ public class EditConfig extends AbstractConfigNetconfOperation { Map> mBeanEntries) { Map> factories = transform(configRegistryClient, mBeanEntries); + return new Config(factories); } @@ -191,7 +193,7 @@ public class EditConfig extends AbstractConfigNetconfOperation { } catch (IllegalStateException e) { logger.warn("Error parsing xml", e); final Map errorInfo = new HashMap<>(); - errorInfo.put(ErrorTag.missing_attribute.name(), "Missing value for 'target' attribute"); + errorInfo.put(ErrorTag.missing_attribute.name(), "Error parsing xml: " + e.getMessage()); throw new NetconfDocumentedException(e.getMessage(), ErrorType.rpc, ErrorTag.missing_attribute, ErrorSeverity.error, errorInfo); } catch (final IllegalArgumentException e) {