X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fstatistics%2Fservices%2FOpendaylightMeterStatisticsServiceImpl.java;h=ecee95ef785df4229edf5bcafe0ee42c70996a36;hb=b55780a64bdcd852e705d01255d837dab8996325;hp=4c1c4d0ced1890b2786652446cbc936e1d9693fc;hpb=0def27b981bf0c830c6d4fb618e1a74b729e8255;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightMeterStatisticsServiceImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightMeterStatisticsServiceImpl.java index 4c1c4d0ced..ecee95ef78 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightMeterStatisticsServiceImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightMeterStatisticsServiceImpl.java @@ -7,17 +7,9 @@ */ package org.opendaylight.openflowplugin.impl.statistics.services; -import com.google.common.base.Function; -import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.Future; -import org.opendaylight.openflowjava.protocol.api.util.BinContent; import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext; -import org.opendaylight.openflowplugin.api.openflow.device.RequestContext; import org.opendaylight.openflowplugin.api.openflow.device.RequestContextStack; -import org.opendaylight.openflowplugin.api.openflow.device.Xid; -import org.opendaylight.openflowplugin.impl.services.CommonService; -import org.opendaylight.openflowplugin.impl.services.RequestInputUtils; -import org.opendaylight.openflowplugin.impl.util.StatisticsServiceUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterConfigStatisticsOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInput; @@ -27,127 +19,39 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111. import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetMeterStatisticsOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInputBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCaseBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter._case.MultipartRequestMeterBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter.config._case.MultipartRequestMeterConfigBuilder; import org.opendaylight.yangtools.yang.common.RpcResult; -/** - * @author joe - */ -public class OpendaylightMeterStatisticsServiceImpl extends CommonService implements OpendaylightMeterStatisticsService { - - - public OpendaylightMeterStatisticsServiceImpl(final RequestContextStack requestContextStack, DeviceContext deviceContext) { - super(requestContextStack, deviceContext); +public class OpendaylightMeterStatisticsServiceImpl implements OpendaylightMeterStatisticsService { + private final AllMeterConfigStatsService allMeterConfig; + private final AllMeterStatsService allMeterStats; + private final MeterFeaturesService meterFeatures; + private final MeterStatsService meterStats; + + public OpendaylightMeterStatisticsServiceImpl(final RequestContextStack requestContextStack, final DeviceContext deviceContext) { + allMeterConfig = new AllMeterConfigStatsService(requestContextStack, deviceContext); + allMeterStats = new AllMeterStatsService(requestContextStack, deviceContext); + meterFeatures = new MeterFeaturesService(requestContextStack, deviceContext); + meterStats = new MeterStatsService(requestContextStack, deviceContext); } @Override public Future> getAllMeterConfigStatistics( final GetAllMeterConfigStatisticsInput input) { - return handleServiceCall(new Function, - ListenableFuture>>() { - - @Override - public ListenableFuture> apply(final RequestContext requestContext) { - - MultipartRequestMeterConfigCaseBuilder caseBuilder = - new MultipartRequestMeterConfigCaseBuilder(); - MultipartRequestMeterConfigBuilder mprMeterConfigBuild = - new MultipartRequestMeterConfigBuilder(); - mprMeterConfigBuild.setMeterId(new MeterId(BinContent.intToUnsignedLong( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common - .types.rev130731.Meter.OFPMALL.getIntValue()))); - caseBuilder.setMultipartRequestMeterConfig(mprMeterConfigBuild.build()); - - final Xid xid = requestContext.getXid(); - MultipartRequestInputBuilder mprInput = RequestInputUtils - .createMultipartHeader(MultipartType.OFPMPMETERCONFIG, xid.getValue(), getVersion()); - mprInput.setMultipartRequestBody(caseBuilder.build()); - MultipartRequestInput multipartRequestInput = mprInput.build(); - return StatisticsServiceUtil.getRpcResultListenableFuture(xid, multipartRequestInput, getDeviceContext()); - } - }); - + return allMeterConfig.handleServiceCall(input); } @Override public Future> getAllMeterStatistics(final GetAllMeterStatisticsInput input) { - - return handleServiceCall( - new Function, ListenableFuture>>() { - @Override - public ListenableFuture> apply(final RequestContext requestContext) { - - MultipartRequestMeterCaseBuilder caseBuilder = - new MultipartRequestMeterCaseBuilder(); - MultipartRequestMeterBuilder mprMeterBuild = - new MultipartRequestMeterBuilder(); - mprMeterBuild.setMeterId(new MeterId(BinContent.intToUnsignedLong( - org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common - .types.rev130731.Meter.OFPMALL.getIntValue()))); - caseBuilder.setMultipartRequestMeter(mprMeterBuild.build()); - - final Xid xid = requestContext.getXid(); - MultipartRequestInputBuilder mprInput = RequestInputUtils - .createMultipartHeader(MultipartType.OFPMPMETER, xid.getValue(), getVersion()); - mprInput.setMultipartRequestBody(caseBuilder.build()); - MultipartRequestInput multipartRequestInput = mprInput.build(); - return StatisticsServiceUtil.getRpcResultListenableFuture(xid, multipartRequestInput, getDeviceContext()); - } - } - ); - + return allMeterStats.handleServiceCall(input); } @Override public Future> getMeterFeatures(final GetMeterFeaturesInput input) { - return handleServiceCall( - new Function, ListenableFuture>>() { - @Override - public ListenableFuture> apply(final RequestContext requestContext) { - - MultipartRequestMeterFeaturesCaseBuilder mprMeterFeaturesBuild = - new MultipartRequestMeterFeaturesCaseBuilder(); - - final Xid xid = requestContext.getXid(); - MultipartRequestInputBuilder mprInput = - RequestInputUtils.createMultipartHeader(MultipartType.OFPMPMETERFEATURES, xid.getValue(), getVersion()); - mprInput.setMultipartRequestBody(mprMeterFeaturesBuild.build()); - MultipartRequestInput multipartRequestInput = mprInput.build(); - return StatisticsServiceUtil.getRpcResultListenableFuture(xid, multipartRequestInput, getDeviceContext()); - } - }); + return meterFeatures.handleServiceCall(input); } @Override public Future> getMeterStatistics(final GetMeterStatisticsInput input) { - return handleServiceCall( - new Function, ListenableFuture>>() { - @Override - public ListenableFuture> apply(final RequestContext requestContext) { - MultipartRequestMeterCaseBuilder caseBuilder = - new MultipartRequestMeterCaseBuilder(); - MultipartRequestMeterBuilder mprMeterBuild = - new MultipartRequestMeterBuilder(); - mprMeterBuild.setMeterId(new MeterId(input.getMeterId().getValue())); - caseBuilder.setMultipartRequestMeter(mprMeterBuild.build()); - - final Xid xid = requestContext.getXid(); - MultipartRequestInputBuilder mprInput = - RequestInputUtils.createMultipartHeader(MultipartType.OFPMPMETER, xid.getValue(), getVersion()); - mprInput.setMultipartRequestBody(caseBuilder.build()); - MultipartRequestInput multipartRequestInput = mprInput.build(); - return StatisticsServiceUtil.getRpcResultListenableFuture(xid, multipartRequestInput, getDeviceContext()); - } - }); - + return meterStats.handleServiceCall(input); } - }