ovsdb enable checkstyle on error
[ovsdb.git] / southbound / southbound-impl / src / main / java / org / opendaylight / ovsdb / southbound / transactions / md / OvsdbOperationalCommandAggregator.java
index 53b35af72733744716417929e5e702881a929342..4aebbbd1d115fb5135c207e931b301974262623b 100644 (file)
@@ -13,25 +13,42 @@ import java.util.List;
 
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.ovsdb.lib.message.TableUpdates;
+import org.opendaylight.ovsdb.lib.notation.Version;
 import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.opendaylight.ovsdb.southbound.OvsdbConnectionInstance;
+import org.opendaylight.ovsdb.southbound.SouthboundConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class OvsdbOperationalCommandAggregator implements TransactionCommand {
 
-
-    private List<TransactionCommand> commands = new ArrayList<TransactionCommand>();
+    private static final Logger LOG = LoggerFactory.getLogger(OvsdbOperationalCommandAggregator.class);
+    private List<TransactionCommand> commands = new ArrayList<>();
 
     public OvsdbOperationalCommandAggregator(OvsdbConnectionInstance key,TableUpdates updates,
             DatabaseSchema dbSchema) {
         commands.add(new OpenVSwitchUpdateCommand(key, updates, dbSchema));
         commands.add(new OvsdbManagersUpdateCommand(key, updates,  dbSchema));
         commands.add(new OvsdbManagersRemovedCommand(key, updates,  dbSchema));
+        commands.add(new OvsdbQosUpdateCommand(key, updates,  dbSchema));
+        commands.add(new OvsdbQosRemovedCommand(key, updates,  dbSchema));
+        commands.add(new OvsdbQueueUpdateCommand(key, updates,  dbSchema));
+        commands.add(new OvsdbQueueRemovedCommand(key, updates,  dbSchema));
         commands.add(new OvsdbBridgeUpdateCommand(key, updates,  dbSchema));
         commands.add(new OvsdbBridgeRemovedCommand(key, updates,  dbSchema));
         commands.add(new OvsdbControllerUpdateCommand(key, updates,  dbSchema));
         commands.add(new OvsdbControllerRemovedCommand(key, updates,  dbSchema));
         commands.add(new OvsdbPortUpdateCommand(key, updates, dbSchema));
         commands.add(new OvsdbPortRemoveCommand(key, updates, dbSchema));
+
+        if (dbSchema.getVersion().compareTo(
+                Version.fromString(SouthboundConstants.AUTOATTACH_SUPPORTED_OVS_SCHEMA_VERSION)) >= 0) {
+            commands.add(new OvsdbAutoAttachUpdateCommand(key, updates, dbSchema));
+            commands.add(new OvsdbAutoAttachRemovedCommand(key, updates, dbSchema));
+        } else {
+            LOG.debug("UNSUPPORTED FUNCTIONALITY: AutoAttach not supported in OVS schema version {}",
+                    dbSchema.getVersion().toString());
+        }
     }
 
     @Override