- return new AsyncFunction<List<Pair<MasterDatabaseBinding, EndpointForwardingTemplateBySubnet>>, List<RpcResult<Void>>>() {
- @Override
- public ListenableFuture<List<RpcResult<Void>>>
- apply(final List<Pair<MasterDatabaseBinding, EndpointForwardingTemplateBySubnet>> input) throws Exception {
- final ListenableFuture<List<RpcResult<Void>>> result;
- if (input == null || input.isEmpty()) {
- LOG.debug("no pair [epForwardingTemplate, ip-sgt-binding] available for sgt: {}", epPolicyTemplate.getSgt());
- result = Futures.immediateFuture(Collections.singletonList(
- RpcResultBuilder.<Void>failed()
- .withError(RpcError.ErrorType.APPLICATION,
- "no pair [epForwardingTemplate, ip-sgt-binding] available for sgt " + epPolicyTemplate.getSgt())
- .build()));
- } else {
- LOG.trace("processing epPolicyTemplate event for sgt: {}", epPolicyTemplate.getSgt());
- List<ListenableFuture<RpcResult<Void>>> allResults = new ArrayList<>(input.size());
- for (Pair<MasterDatabaseBinding, EndpointForwardingTemplateBySubnet> pair : input) {
- final MasterDatabaseBinding sxpMasterDBBinding = pair.getLeft();
- final EndpointForwardingTemplateBySubnet epForwardingTemplate = pair.getRight();
- if (epForwardingTemplate != null) {
- LOG.trace("processing epPolicyTemplate event with resolved sxpMasterDb entry and " +
- "epForwardingTemplate for sgt/ip-prefix: {}/{}",
- sxpMasterDBBinding.getSecurityGroupTag(), sxpMasterDBBinding.getImplementedInterface());
- allResults.add(sxpMapperReactor.processTemplatesAndSxpMasterDB(
- epPolicyTemplate, epForwardingTemplate, sxpMasterDBBinding));
- }
+ return input -> {
+ final ListenableFuture<List<RpcResult<Void>>> result;
+ if (input == null || input.isEmpty()) {
+ LOG.debug("no pair [epForwardingTemplate, ip-sgt-binding] available for sgt: {}",
+ epPolicyTemplate.getSgt());
+ result =
+ Futures.immediateFuture(Collections.singletonList(
+ RpcResultBuilder.<Void>failed().withError(RpcError.ErrorType.APPLICATION,
+ "no pair [epForwardingTemplate, ip-sgt-binding] available for sgt "
+ + epPolicyTemplate.getSgt()).build()));
+ } else {
+ LOG.trace("processing epPolicyTemplate event for sgt: {}", epPolicyTemplate.getSgt());
+ List<ListenableFuture<RpcResult<Void>>> allResults = new ArrayList<>(input.size());
+ for (Pair<MasterDatabaseBinding, EndpointForwardingTemplateBySubnet> pair : input) {
+ final MasterDatabaseBinding sxpMasterDBBinding = pair.getLeft();
+ final EndpointForwardingTemplateBySubnet epForwardingTemplate = pair.getRight();
+ if (epForwardingTemplate != null) {
+ LOG.trace("processing epPolicyTemplate event with resolved sxpMasterDb entry and "
+ + "epForwardingTemplate for sgt/ip-prefix: {}/{}", sxpMasterDBBinding.getSecurityGroupTag(),
+ sxpMasterDBBinding.getImplementedInterface());
+ allResults.add(
+ sxpMapperReactor.processTemplatesAndSxpMasterDB(epPolicyTemplate, epForwardingTemplate,
+ sxpMasterDBBinding));