ovsdb enable checkstyle on error
[ovsdb.git] / southbound / southbound-impl / src / main / java / org / opendaylight / ovsdb / southbound / ovsdb / transact / BridgeUpdateCommand.java
index 96adcb39520dd76bc1f4fd32eb889dd044f865fe..eb70e9ee01c85df6f35f5435036c0108c1665909 100644 (file)
@@ -9,13 +9,15 @@ package org.opendaylight.ovsdb.southbound.ovsdb.transact;
 
 import static org.opendaylight.ovsdb.lib.operations.Operations.op;
 
+import com.google.common.base.Optional;
+import com.google.common.collect.Sets;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
-
 import javax.annotation.Nonnull;
-
+import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
 import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.operations.Insert;
@@ -40,51 +42,44 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.Sets;
-
-public class BridgeUpdateCommand extends AbstractTransactCommand {
+public class BridgeUpdateCommand implements TransactCommand {
 
     private static final Logger LOG = LoggerFactory.getLogger(BridgeUpdateCommand.class);
 
-    public BridgeUpdateCommand(BridgeOperationalState state,
-            AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> changes) {
-        super(state, changes);
+    @Override
+    public void execute(TransactionBuilder transaction, BridgeOperationalState state,
+                        AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> events) {
+        execute(transaction, state, TransactUtils.extractCreatedOrUpdated(events, OvsdbBridgeAugmentation.class));
     }
 
-
-
     @Override
-    public void execute(TransactionBuilder transaction) {
-        Map<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> created =
-                TransactUtils.extractCreated(getChanges(),OvsdbBridgeAugmentation.class);
-        for (Entry<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> ovsdbManagedNodeEntry:
-            created.entrySet()) {
-            updateBridge(transaction,  ovsdbManagedNodeEntry.getKey(), ovsdbManagedNodeEntry.getValue());
-        }
-        Map<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> updated =
-                TransactUtils.extractUpdated(getChanges(),OvsdbBridgeAugmentation.class);
-        for (Entry<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> ovsdbManagedNodeEntry:
-            updated.entrySet()) {
-            updateBridge(transaction,  ovsdbManagedNodeEntry.getKey(), ovsdbManagedNodeEntry.getValue());
-        }
+    public void execute(TransactionBuilder transaction, BridgeOperationalState state,
+                        Collection<DataTreeModification<Node>> modifications) {
+        execute(transaction, state,
+                TransactUtils.extractCreatedOrUpdated(modifications, OvsdbBridgeAugmentation.class));
     }
 
-
+    private void execute(TransactionBuilder transaction, BridgeOperationalState state,
+                        Map<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> createdOrUpdated) {
+        for (Entry<InstanceIdentifier<OvsdbBridgeAugmentation>, OvsdbBridgeAugmentation> ovsdbManagedNodeEntry :
+                createdOrUpdated.entrySet()) {
+            updateBridge(transaction, state, ovsdbManagedNodeEntry.getKey(), ovsdbManagedNodeEntry.getValue());
+        }
+    }
 
     private void updateBridge(
-            TransactionBuilder transaction,
+            TransactionBuilder transaction, BridgeOperationalState state,
             InstanceIdentifier<OvsdbBridgeAugmentation> iid, OvsdbBridgeAugmentation ovsdbManagedNode) {
         LOG.debug("Received request to create ovsdb bridge name: {} uuid: {}",
                     ovsdbManagedNode.getBridgeName(),
                     ovsdbManagedNode.getBridgeUuid());
-        Optional<OvsdbBridgeAugmentation> operationalBridgeOptional =
-                getOperationalState().getOvsdbBridgeAugmentation(iid);
         Bridge bridge = TyperUtils.getTypedRowWrapper(transaction.getDatabaseSchema(), Bridge.class);
         setFailMode(bridge, ovsdbManagedNode);
         setDataPathType(bridge, ovsdbManagedNode);
         setOpenDaylightExternalIds(bridge, iid, ovsdbManagedNode);
         setOpenDaylightOtherConfig(bridge, ovsdbManagedNode);
+        Optional<OvsdbBridgeAugmentation> operationalBridgeOptional =
+                state.getOvsdbBridgeAugmentation(iid);
         if (!operationalBridgeOptional.isPresent()) {
             setName(bridge, ovsdbManagedNode,operationalBridgeOptional);
             setPort(transaction, bridge, ovsdbManagedNode);
@@ -155,7 +150,7 @@ public class BridgeUpdateCommand extends AbstractTransactCommand {
 
         Insert<GenericTableSchema> interfaceInsert = setInterface(transaction,ovsdbManagedNode);
         // Port part
-        String portNamedUuid = "Port_" + SouthboundMapper.getRandomUUID();
+        String portNamedUuid = "Port_" + SouthboundMapper.getRandomUuid();
         Port port = TyperUtils.getTypedRowWrapper(transaction.getDatabaseSchema(), Port.class);
         port.setName(ovsdbManagedNode.getBridgeName().getValue());
         port.setInterfaces(Sets.newHashSet(TransactUtils.extractNamedUuid(interfaceInsert)));
@@ -166,7 +161,7 @@ public class BridgeUpdateCommand extends AbstractTransactCommand {
     private Insert<GenericTableSchema> setInterface(TransactionBuilder transaction,
             OvsdbBridgeAugmentation ovsdbManagedNode) {
         // Interface part
-        String interfaceNamedUuid = "Interface_" + SouthboundMapper.getRandomUUID();
+        String interfaceNamedUuid = "Interface_" + SouthboundMapper.getRandomUuid();
         Interface interfaceOvs = TyperUtils.getTypedRowWrapper(transaction.getDatabaseSchema(), Interface.class);
         interfaceOvs.setName(ovsdbManagedNode.getBridgeName().getValue());
         interfaceOvs.setType(SouthboundMapper.createOvsdbInterfaceType(InterfaceTypeInternal.class));