import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.JdkFutureAdapters;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;
-import javax.annotation.Nullable;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.ProcessFlatBatchOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.ProcessFlatBatchOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flat.batch.service.rev160321.process.flat.batch.input.batch.batch.choice.flat.batch.add.meter._case.FlatBatchAddMeter;
/**
* Transform between FlatBatch API and meter batch API.
*/
-public class FlatBatchMeterAdapters {
+public final class FlatBatchMeterAdapters {
private FlatBatchMeterAdapters() {
- throw new IllegalStateException("This class should not be instantiated.");
}
/**
static <T extends BatchMeterOutputListGrouping> Function<RpcResult<T>, RpcResult<ProcessFlatBatchOutput>>
convertBatchMeterResult(final int stepOffset) {
return new Function<RpcResult<T>, RpcResult<ProcessFlatBatchOutput>>() {
- @Nullable
@Override
- public RpcResult<ProcessFlatBatchOutput> apply(@Nullable final RpcResult<T> input) {
+ public RpcResult<ProcessFlatBatchOutput> apply(final RpcResult<T> input) {
List<BatchFailure> batchFailures = wrapBatchMeterFailuresForFlat(input, stepOffset);
ProcessFlatBatchOutputBuilder outputBuilder =
new ProcessFlatBatchOutputBuilder().setBatchFailure(batchFailures);
convertMeterBatchFutureForChain(final Future<RpcResult<T>> resultUpdateMeterFuture,
final int currentOffset) {
return Futures.transform(JdkFutureAdapters.listenInPoolThread(resultUpdateMeterFuture),
- FlatBatchMeterAdapters.<T>convertBatchMeterResult(currentOffset));
+ FlatBatchMeterAdapters.convertBatchMeterResult(currentOffset),
+ MoreExecutors.directExecutor());
}
}