X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fforwardingrules-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2Fconsumer%2Fimpl%2FMeterConsumerImpl.java;h=42d0897fb11ae85182f6a87e83f3015e191f716c;hb=6da86863382c6c850fb2f7c7d2e026d0aa96ae1a;hp=cef259b395629a8681bf748d4f54fdf8761d84c7;hpb=fcccbe2ab580850a63bb25d657bd10ef424b7614;p=controller.git diff --git a/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/MeterConsumerImpl.java b/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/MeterConsumerImpl.java index cef259b395..42d0897fb1 100644 --- a/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/MeterConsumerImpl.java +++ b/opendaylight/md-sal/forwardingrules-manager/src/main/java/org/opendaylight/controller/forwardingrulesmanager/consumer/impl/MeterConsumerImpl.java @@ -39,6 +39,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.Sal import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.SalMeterService; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.UpdateMeterInputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.UpdatedMeterBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.BandType; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemark; @@ -68,15 +69,12 @@ public class MeterConsumerImpl implements IForwardingRulesManager { private ConcurrentMap inactiveMeters; @SuppressWarnings("unused") private IContainer container; - - private IClusterContainerServices clusterMeterContainerService = null; - + private IClusterContainerServices clusterMeterContainerService = null; public MeterConsumerImpl() { InstanceIdentifier path = InstanceIdentifier.builder(Meters.class).toInstance(); meterService = FRMConsumerImpl.getProviderSession().getRpcService(SalMeterService.class); clusterMeterContainerService = FRMConsumerImpl.getClusterContainerService(); - container = FRMConsumerImpl.getContainer(); if (!(cacheStartup())) { @@ -214,22 +212,16 @@ public class MeterConsumerImpl implements IForwardingRulesManager { */ private Status addMeter(InstanceIdentifier path, Meter meterAddDataObject) { MeterKey meterKey = meterAddDataObject.getKey(); - - if (null != meterKey && validateMeter(meterAddDataObject, FRMUtil.operation.ADD).isSuccess()) { - if (meterAddDataObject.isInstall()) { - AddMeterInputBuilder meterBuilder = new AddMeterInputBuilder(); - - meterBuilder.setContainerName(meterAddDataObject.getContainerName()); - meterBuilder.setFlags(meterAddDataObject.getFlags()); - meterBuilder.setMeterBandHeaders(meterAddDataObject.getMeterBandHeaders()); - meterBuilder.setMeterId(meterAddDataObject.getMeterId()); - meterBuilder.setNode(meterAddDataObject.getNode()); - // originalSwMeterView.put(meterKey, meterAddDataObject); - meterService.addMeter(meterBuilder.build()); - } - - // originalSwMeterView.put(meterKey, meterAddDataObject); - } else { + + if (null != meterKey && validateMeter(meterAddDataObject, FRMUtil.operation.ADD).isSuccess()) { + AddMeterInputBuilder meterBuilder = new AddMeterInputBuilder(); + meterBuilder.setContainerName(meterAddDataObject.getContainerName()); + meterBuilder.setFlags(meterAddDataObject.getFlags()); + meterBuilder.setMeterBandHeaders(meterAddDataObject.getMeterBandHeaders()); + meterBuilder.setMeterId(new MeterId(meterAddDataObject.getId())); + meterBuilder.setNode(meterAddDataObject.getNode()); + meterService.addMeter(meterBuilder.build()); + } else { return new Status(StatusCode.BADREQUEST, "Meter Key or attribute validation failed"); } @@ -246,28 +238,14 @@ public class MeterConsumerImpl implements IForwardingRulesManager { private Status updateMeter(InstanceIdentifier path, Meter meterUpdateDataObject) { MeterKey meterKey = meterUpdateDataObject.getKey(); UpdatedMeterBuilder updateMeterBuilder = null; - - if (null != meterKey && validateMeter(meterUpdateDataObject, FRMUtil.operation.UPDATE).isSuccess()) { - - /* if (originalSwMeterView.containsKey(meterKey)) { - originalSwMeterView.remove(meterKey); - originalSwMeterView.put(meterKey, meterUpdateDataObject); - }*/ - - if (meterUpdateDataObject.isInstall()) { - UpdateMeterInputBuilder updateMeterInputBuilder = new UpdateMeterInputBuilder(); - updateMeterBuilder = new UpdatedMeterBuilder(); - updateMeterBuilder.fieldsFrom(meterUpdateDataObject); - updateMeterInputBuilder.setUpdatedMeter(updateMeterBuilder.build()); - - /* if (installedSwMeterView.containsKey(meterKey)) { - installedSwMeterView.remove(meterKey); - installedSwMeterView.put(meterKey, meterUpdateDataObject); - }*/ - - meterService.updateMeter(updateMeterInputBuilder.build()); - } - + + if (null != meterKey && validateMeter(meterUpdateDataObject, FRMUtil.operation.UPDATE).isSuccess()) { UpdateMeterInputBuilder updateMeterInputBuilder = new UpdateMeterInputBuilder(); + updateMeterBuilder = new UpdatedMeterBuilder(); + updateMeterBuilder.fieldsFrom(meterUpdateDataObject); + updateMeterBuilder.setMeterId(new MeterId(meterUpdateDataObject.getId())); + + updateMeterInputBuilder.setUpdatedMeter(updateMeterBuilder.build()); + meterService.updateMeter(updateMeterInputBuilder.build()); } else { return new Status(StatusCode.BADREQUEST, "Meter Key or attribute validation failed"); } @@ -285,20 +263,15 @@ public class MeterConsumerImpl implements IForwardingRulesManager { private Status removeMeter(InstanceIdentifier path, Meter meterRemoveDataObject) { MeterKey meterKey = meterRemoveDataObject.getKey(); - if (null != meterKey && validateMeter(meterRemoveDataObject, FRMUtil.operation.DELETE).isSuccess()) { - if (meterRemoveDataObject.isInstall()) { - RemoveMeterInputBuilder meterBuilder = new RemoveMeterInputBuilder(); - meterBuilder.setContainerName(meterRemoveDataObject.getContainerName()); - meterBuilder.setNode(meterRemoveDataObject.getNode()); - meterBuilder.setFlags(meterRemoveDataObject.getFlags()); - meterBuilder.setMeterBandHeaders(meterRemoveDataObject.getMeterBandHeaders()); - meterBuilder.setMeterId(meterRemoveDataObject.getMeterId()); - meterBuilder.setNode(meterRemoveDataObject.getNode()); - // originalSwMeterView.put(meterKey, meterAddDataObject); - meterService.removeMeter(meterBuilder.build()); - } - - // originalSwMeterView.put(meterKey, meterAddDataObject); + if (null != meterKey && validateMeter(meterRemoveDataObject, FRMUtil.operation.DELETE).isSuccess()) { + RemoveMeterInputBuilder meterBuilder = new RemoveMeterInputBuilder(); + meterBuilder.setContainerName(meterRemoveDataObject.getContainerName()); + meterBuilder.setNode(meterRemoveDataObject.getNode()); + meterBuilder.setFlags(meterRemoveDataObject.getFlags()); + meterBuilder.setMeterBandHeaders(meterRemoveDataObject.getMeterBandHeaders()); + meterBuilder.setMeterId(new MeterId(meterRemoveDataObject.getId())); + meterBuilder.setNode(meterRemoveDataObject.getNode()); + meterService.removeMeter(meterBuilder.build()); } else { return new Status(StatusCode.BADREQUEST, "Meter Key or attribute validation failed"); } @@ -329,18 +302,6 @@ public class MeterConsumerImpl implements IForwardingRulesManager { return returnStatus; } - /* returnResult = doesMeterEntryExists(meter.getKey(), meterName, containerName); - - if (FRMUtil.operation.ADD == operation && returnResult) { - logger.error("Record with same Meter Name exists"); - returnStatus = new Status(StatusCode.BADREQUEST, "Meter record exists"); - return returnStatus; - } else if (!returnResult) { - logger.error("Group record does not exist"); - returnStatus = new Status(StatusCode.BADREQUEST, "Meter record does not exist"); - return returnStatus; - }*/ - for (int i = 0; i < meter.getMeterBandHeaders().getMeterBandHeader().size(); i++) { if (!meter.getFlags().isMeterBurst()) { if (0 < meter.getMeterBandHeaders().getMeterBandHeader().get(i).getBurstSize()) { @@ -377,22 +338,7 @@ public class MeterConsumerImpl implements IForwardingRulesManager { return new Status(StatusCode.SUCCESS); } - /*private boolean doesMeterEntryExists(MeterKey key, String meterName, String containerName) { - if (!originalSwMeterView.containsKey(key)) { - return false; - } - - for (Entry entry : originalSwMeterView.entrySet()) { - if (entry.getValue().getMeterName().equals(meterName)) { - if (entry.getValue().getContainerName().equals(containerName)) { - return true; - } - } - } - return false; - }*/ - - private final class InternalTransaction implements DataCommitTransaction, DataObject> { + final class InternalTransaction implements DataCommitTransaction, DataObject> { private final DataModification, DataObject> modification; @@ -500,7 +446,6 @@ public class MeterConsumerImpl implements IForwardingRulesManager { public org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler.DataCommitTransaction, DataObject> requestCommit( DataModification, DataObject> modification) { // We should verify transaction - System.out.println("Coming in MeterDataCommitHandler"); InternalTransaction transaction = new InternalTransaction(modification); transaction.prepareUpdate(); return transaction; @@ -555,6 +500,7 @@ public class MeterConsumerImpl implements IForwardingRulesManager { } } } + return null; } }