io.apiman.gateway.platforms.vertx3.services.PolicyToIngestorServiceVertxEBProxy.java Source code

Java tutorial

Introduction

Here is the source code for io.apiman.gateway.platforms.vertx3.services.PolicyToIngestorServiceVertxEBProxy.java

Source

/*
* Copyright 2014 Red Hat, Inc.
*
* Red Hat licenses this file to you under the Apache License, version 2.0
* (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/

package io.apiman.gateway.platforms.vertx3.services;

import io.apiman.gateway.platforms.vertx3.io.VertxApiResponse;
import io.apiman.gateway.platforms.vertx3.io.VertxPolicyFailure;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.core.Vertx;
import io.vertx.core.eventbus.DeliveryOptions;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

/*
  Generated Proxy code - DO NOT EDIT
  @author Roger the Robot
*/
public class PolicyToIngestorServiceVertxEBProxy implements PolicyToIngestorService {

    private Vertx _vertx;
    private String _address;
    private boolean closed;

    public PolicyToIngestorServiceVertxEBProxy(Vertx vertx, String address) {
        this._vertx = vertx;
        this._address = address;
    }

    @Override
    public void head(VertxApiResponse apiResponse, Handler<AsyncResult<Void>> readyHandler) {
        if (closed) {
            readyHandler.handle(Future.failedFuture(new IllegalStateException("Proxy is closed")));
            return;
        }
        JsonObject _json = new JsonObject();
        _json.put("apiResponse", apiResponse == null ? null : apiResponse.toJson());
        DeliveryOptions _deliveryOptions = new DeliveryOptions();
        _deliveryOptions.addHeader("action", "head");
        _vertx.eventBus().<Void>send(_address, _json, _deliveryOptions, res -> {
            if (res.failed()) {
                readyHandler.handle(Future.failedFuture(res.cause()));
            } else {
                readyHandler.handle(Future.succeededFuture(res.result().body()));
            }
        });
    }

    @Override
    public void write(String chunk) {
        if (closed) {
            throw new IllegalStateException("Proxy is closed");
        }
        JsonObject _json = new JsonObject();
        _json.put("chunk", chunk);
        DeliveryOptions _deliveryOptions = new DeliveryOptions();
        _deliveryOptions.addHeader("action", "write");
        _vertx.eventBus().send(_address, _json, _deliveryOptions);
    }

    @Override
    public void end(Handler<AsyncResult<Void>> resultHandler) {
        if (closed) {
            resultHandler.handle(Future.failedFuture(new IllegalStateException("Proxy is closed")));
            return;
        }
        closed = true;
        JsonObject _json = new JsonObject();
        DeliveryOptions _deliveryOptions = new DeliveryOptions();
        _deliveryOptions.addHeader("action", "end");
        _vertx.eventBus().<Void>send(_address, _json, _deliveryOptions, res -> {
            if (res.failed()) {
                resultHandler.handle(Future.failedFuture(res.cause()));
            } else {
                resultHandler.handle(Future.succeededFuture(res.result().body()));
            }
        });
    }

    @Override
    public void policyFailure(VertxPolicyFailure policyFailure) {
        if (closed) {
            throw new IllegalStateException("Proxy is closed");
        }
        JsonObject _json = new JsonObject();
        _json.put("policyFailure", policyFailure == null ? null : policyFailure.toJson());
        DeliveryOptions _deliveryOptions = new DeliveryOptions();
        _deliveryOptions.addHeader("action", "policyFailure");
        _vertx.eventBus().send(_address, _json, _deliveryOptions);
    }

    private List<Character> convertToListChar(JsonArray arr) {
        List<Character> list = new ArrayList<>();
        for (Object obj : arr) {
            Integer jobj = (Integer) obj;
            list.add((char) jobj.intValue());
        }
        return list;
    }

    private Set<Character> convertToSetChar(JsonArray arr) {
        Set<Character> set = new HashSet<>();
        for (Object obj : arr) {
            Integer jobj = (Integer) obj;
            set.add((char) jobj.intValue());
        }
        return set;
    }

    private <T> Map<String, T> convertMap(Map map) {
        return map;
    }

    private <T> List<T> convertList(List list) {
        return list;
    }

    private <T> Set<T> convertSet(List list) {
        return new HashSet<T>(list);
    }
}