X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutron-ovsdb%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fgroupbasedpolicy%2Fneutron%2Fovsdb%2Futil%2FEndpointHelper.java;h=979c11717fbfba6ef333ae53af28aa7a9f32bff8;hb=02dd576a2ff7d7a8c304bd74a239c150be1ddd2b;hp=7df6a65aa1f1df2ea8d1d894b6d2f944dc3481a9;hpb=8e06c107791d70e4bf0a7088249910a1fa9637c1;p=groupbasedpolicy.git diff --git a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/EndpointHelper.java b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/EndpointHelper.java index 7df6a65aa..979c11717 100755 --- a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/EndpointHelper.java +++ b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/EndpointHelper.java @@ -10,7 +10,8 @@ package org.opendaylight.groupbasedpolicy.neutron.ovsdb.util; import static org.opendaylight.groupbasedpolicy.util.DataStoreHelper.readFromDs; import static org.opendaylight.groupbasedpolicy.util.IidFactory.endpointIid; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import com.google.common.base.Optional; + import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -23,25 +24,22 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay. import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.OfOverlayContextBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Optional; public class EndpointHelper { - private static final Logger LOG = LoggerFactory.getLogger(EndpointHelper.class); /** * Look up the {@link Endpoint} from the Endpoint Registry. * * @param epKey The {@link EndpointKey} to look up - * @param dataBroker The {@link DataBroker} to use for the transaction + * @param transaction The {@link ReadOnlyTransaction} * @return The corresponding {@link Endpoint}, null if not found */ public static Endpoint lookupEndpoint(EndpointKey epKey, ReadOnlyTransaction transaction) { - Optional optionalEp = readFromDs(LogicalDatastoreType.OPERATIONAL, endpointIid(epKey.getL2Context(),epKey.getMacAddress()), transaction ); + Optional optionalEp = + readFromDs(LogicalDatastoreType.OPERATIONAL, endpointIid(epKey.getL2Context(), epKey.getMacAddress()), + transaction); if (optionalEp.isPresent()) { return optionalEp.get(); } @@ -50,27 +48,22 @@ public class EndpointHelper { /** * Updates an {@link Endpoint} location based on OVSDB Termination point notification. - * * Note this updates the datastore directly. It does not use the Endpoint RPC, as this has * unfortunate side-effects on EndpointL3 augmentations. * - * @param endpoint - * @param nodeIdString - * @param nodeConnectorIdString - * @param rwTx + * @param endpoint the network endpoint + * @param nodeIdString the string representation of the inventory NodeId + * @param nodeConnectorIdString the string representation of the inventory NodeConnectorId + * @param rwTx a reference to ReadWriteTransaction object */ - public static void updateEndpointWithLocation(Endpoint endpoint, String nodeIdString, - String nodeConnectorIdString, ReadWriteTransaction rwTx) { - + public static void updateEndpointWithLocation(Endpoint endpoint, String nodeIdString, String nodeConnectorIdString, + ReadWriteTransaction rwTx) { NodeId invNodeId = new NodeId(nodeIdString); NodeConnectorId ncId = new NodeConnectorId(nodeConnectorIdString); - - OfOverlayContext ofc = endpoint.getAugmentation(OfOverlayContext.class); - OfOverlayContextBuilder ofcBuilder = new OfOverlayContextBuilder(ofc).setNodeConnectorId(ncId).setNodeId(invNodeId); - EndpointBuilder epBuilder = new EndpointBuilder(endpoint); - epBuilder.addAugmentation(OfOverlayContext.class, ofcBuilder.build()); - Endpoint newEp = epBuilder.build(); - rwTx.put(LogicalDatastoreType.OPERATIONAL, IidFactory.endpointIid(newEp.getL2Context(), newEp.getMacAddress()), newEp); + OfOverlayContext newOfOverlayCtx = + new OfOverlayContextBuilder().setNodeId(invNodeId).setNodeConnectorId(ncId).build(); + rwTx.merge(LogicalDatastoreType.OPERATIONAL, + IidFactory.endpointIid(endpoint.getKey()).augmentation(OfOverlayContext.class), newOfOverlayCtx); DataStoreHelper.submitToDs(rwTx); } @@ -78,7 +71,8 @@ public class EndpointHelper { EndpointBuilder epBuilder = new EndpointBuilder(endpoint); Endpoint newEp = epBuilder.build(); epBuilder.removeAugmentation(OfOverlayContext.class); - rwTx.put(LogicalDatastoreType.OPERATIONAL, IidFactory.endpointIid(newEp.getL2Context(), newEp.getMacAddress()), newEp); + rwTx.put(LogicalDatastoreType.OPERATIONAL, IidFactory.endpointIid(newEp.getL2Context(), newEp.getMacAddress()), + newEp); DataStoreHelper.submitToDs(rwTx); }