Merge changes Ic434bf4a,I05a3fb18,I47a3783d,I8234bbfd
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / operations / editconfig / AbstractEditConfigStrategy.java
index 65df965afd1e08167c63f70ba0c56159a085d2db..df4671371d55ef5e06ab3cd29cd13108fd8df08d 100644 (file)
@@ -8,27 +8,27 @@
 
 package org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig;
 
+import java.util.Map;
+import javax.management.InstanceNotFoundException;
+import javax.management.ObjectName;
 import org.opendaylight.controller.config.util.ConfigTransactionClient;
+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.Services;
+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 abstract class AbstractEditConfigStrategy implements EditConfigStrategy {
 
-    private static final Logger logger = LoggerFactory.getLogger(AbstractEditConfigStrategy.class);
+    private static final Logger LOG = LoggerFactory.getLogger(AbstractEditConfigStrategy.class);
 
     @Override
     public void executeConfiguration(String module, String instance, Map<String, AttributeConfigElement> configuration,
-                                     ConfigTransactionClient ta, Services services) {
+                                     ConfigTransactionClient ta, ServiceRegistryWrapper services) throws NetconfConfigHandlingException {
 
         try {
             ObjectName on = ta.lookupConfigBean(module, instance);
-            logger.debug("ServiceInstance for {} {} located successfully under {}", module, instance, on);
+            LOG.debug("ServiceInstance for {} {} located successfully under {}", module, instance, on);
             executeStrategy(configuration, ta, on, services);
         } catch (InstanceNotFoundException e) {
             handleMissingInstance(configuration, ta, module, instance, services);
@@ -36,10 +36,13 @@ public abstract class AbstractEditConfigStrategy implements EditConfigStrategy {
 
     }
 
+    // TODO split missing instances handling strategies from edit config strategies in this hierarchy = REFACTOR
+    // edit configs should not handle missing
+
     abstract void handleMissingInstance(Map<String, AttributeConfigElement> configuration, ConfigTransactionClient ta,
-                                        String module, String instance, Services services);
+                                        String module, String instance, ServiceRegistryWrapper services) throws NetconfConfigHandlingException;
 
     abstract void executeStrategy(Map<String, AttributeConfigElement> configuration, ConfigTransactionClient ta,
-                                  ObjectName objectName, Services services);
+                                  ObjectName objectName, ServiceRegistryWrapper services) throws NetconfConfigHandlingException;
 
 }