Example usage for io.vertx.core.json JsonObject getString

List of usage examples for io.vertx.core.json JsonObject getString

Introduction

In this page you can find the example usage for io.vertx.core.json JsonObject getString.

Prototype

public String getString(String key) 

Source Link

Document

Get the string value with the specified key, special cases are addressed for extended JSON types Instant , byte[] and Enum which can be converted to String.

Usage

From source file:org.entcore.common.elasticsearch.ElasticSearch.java

License:Open Source License

public void init(Vertx vertx, JsonObject config) {
    this.vertx = vertx;
    JsonArray serverUris = config.getJsonArray("server-uris");
    String serverUri = config.getString("server-uri");
    if (serverUris == null && serverUri != null) {
        serverUris = new fr.wseduc.webutils.collections.JsonArray().add(serverUri);
    }//  www.  ja va2s. c om

    if (serverUris != null) {
        try {
            URI[] uris = new URI[serverUris.size()];
            for (int i = 0; i < serverUris.size(); i++) {
                uris[i] = new URI(serverUris.getString(i));
            }
            init(uris, vertx, config.getInteger("poolSize", 16), config.getBoolean("keepAlive", true), config);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
    } else {
        log.error("Invalid ElasticSearch URI");
    }
}

From source file:org.entcore.common.elasticsearch.ElasticSearch.java

License:Open Source License

public void init(URI[] uris, Vertx vertx, int poolSize, boolean keepAlive, JsonObject elasticsearchConfig) {
    defaultIndex = elasticsearchConfig.getString("index");
    clients = new ElasticSearchClient[uris.length];
    for (int i = 0; i < uris.length; i++) {
        HttpClientOptions httpClientOptions = new HttpClientOptions().setKeepAlive(keepAlive)
                .setMaxPoolSize(poolSize).setDefaultHost(uris[i].getHost()).setDefaultPort(uris[i].getPort())
                .setConnectTimeout(20000);
        clients[i] = new ElasticSearchClient(i, vertx.createHttpClient(httpClientOptions));
        availableNodes.addIfAbsent(i);//from   w  w w . j a  v a  2 s  . c  o  m
    }
}

From source file:org.entcore.common.events.impl.HttpLocalhostEventStore.java

License:Open Source License

@Override
protected void storeEvent(final JsonObject event, final Handler<Either<String, Void>> handler) {
    HttpClientRequest req = httpClient.post("/infra/event/localhost/store", new Handler<HttpClientResponse>() {
        @Override/*from   w  w  w .  ja v  a  2s  . c  o  m*/
        public void handle(final HttpClientResponse response) {
            if (response.statusCode() == 200) {
                handler.handle(new Either.Right<String, Void>(null));
            } else if (response.statusCode() == 403) {
                handler.handle(new Either.Left<String, Void>(
                        "Error : " + response.statusMessage() + ", Event : " + event.encode()));
            } else {
                response.bodyHandler(new Handler<Buffer>() {
                    @Override
                    public void handle(Buffer b) {
                        if (b.length() > 0) {
                            JsonObject body = new JsonObject(b.toString());
                            handler.handle(new Either.Left<String, Void>(
                                    "Error : " + body.getString("error") + ", Event : " + event.encode()));
                        } else {
                            handler.handle(new Either.Left<String, Void>(
                                    "Error : " + response.statusMessage() + ", Event : " + event.encode()));
                        }
                    }
                });
            }
        }
    });
    req.exceptionHandler(e -> logger.error("Error storing event : " + event.encode(), e));
    req.end(event.encode());
}

From source file:org.entcore.common.http.EntAccessLogger.java

License:Open Source License

@Override
public void log(final HttpServerRequest request, final Handler<Void> handler) {
    request.pause();//from   www  .j ava  2 s  .  c  o m
    UserUtils.getSession(eb, request, true, new Handler<JsonObject>() {
        @Override
        public void handle(JsonObject session) {
            if (session != null) {
                log.trace(formatLog(request) + " - " + session.getString("userId"));
            } else {
                log.trace(formatLog(request));
            }
            request.resume();
            handler.handle(null);
        }
    });
}

From source file:org.entcore.common.http.filter.AbstractActionFilter.java

License:Open Source License

private void authorizeWorkflowAction(JsonObject session, Binding binding, Handler<Boolean> handler) {
    JsonArray actions = session.getJsonArray("authorizedActions");
    if (binding != null && binding.getServiceMethod() != null && actions != null && actions.size() > 0) {
        for (Object a : actions) {
            JsonObject action = (JsonObject) a;
            if (binding.getServiceMethod().equals(action.getString("name"))) {
                handler.handle(true);// w w  w. j a  va2s . c  om
                return;
            }
        }
    }
    if (session.getJsonObject("functions", new JsonObject()).containsKey("SUPER_ADMIN")) {
        handler.handle(true);
        return;
    }
    handler.handle(false);
}

From source file:org.entcore.common.http.filter.BaseResourceProvider.java

License:Open Source License

protected void loadFiltersMapping() {
    loadFilter(DEFAULT, defaultFilter());
    InputStream is = BaseResourceProvider.class.getClassLoader().getResourceAsStream("Filters.json");
    if (is != null) {
        BufferedReader r = null;/*from w w w  .ja  va  2 s. c  o m*/
        try {
            r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String line;
            while ((line = r.readLine()) != null) {
                JsonObject filter = new JsonObject(line);
                String method = filter.getString("method");
                String filterMethod = filter.getString("filter");
                if (filterMethod != null && method != null && !filterMethod.trim().isEmpty()
                        && !method.trim().isEmpty()) {
                    loadFilter(method, filterMethod);
                }
            }
        } catch (IOException e) {
            log.error("Unable to load filters in " + this.getClass().getName(), e);
        } finally {
            if (r != null) {
                try {
                    r.close();
                } catch (IOException e) {
                    log.error("Close inputstream error", e);
                }
            }
        }
    } else {
        log.warn("Not found resource filter file.");
    }
}

From source file:org.entcore.common.http.filter.MongoAppFilter.java

License:Open Source License

public static void executeCountQuery(final HttpServerRequest request, String collection, JsonObject query,
        final int expectedCountResult, final Handler<Boolean> handler) {
    request.pause();//w  w w  . j av a2 s  .  c  o m
    MongoDb mongo = MongoDb.getInstance();
    mongo.count(collection, query, new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> event) {
            request.resume();
            JsonObject res = event.body();
            handler.handle(res != null && "ok".equals(res.getString("status"))
                    && expectedCountResult == res.getInteger("count"));
        }
    });
}

From source file:org.entcore.common.http.filter.ResourceProviderFilter.java

License:Open Source License

protected void loadFiltersMapping() {
    InputStream is = BaseResourceProvider.class.getClassLoader().getResourceAsStream("Filters.json");
    final ServiceLoader<ResourcesProvider> filters = ServiceLoader.load(ResourcesProvider.class);
    Map<String, ResourcesProvider> mf = new HashMap<>();
    for (ResourcesProvider rp : filters) {
        log.debug(rp.getClass().getName());
        mf.put(rp.getClass().getName(), rp);
    }//  w  w w  .  j a  v a2  s .  co m
    if (is != null) {
        BufferedReader r = null;
        try {
            r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            String line;
            while ((line = r.readLine()) != null) {
                JsonObject filter = new JsonObject(line);
                String method = filter.getString("method");
                String f = filter.getString("filter");
                if (f != null && method != null && !f.trim().isEmpty() && !method.trim().isEmpty()) {
                    ResourcesProvider rp = mf.get(f);
                    if (rp != null) {
                        filtersMapping.put(method, rp);
                    } else {
                        log.error("Missing filter " + f);
                    }
                }
            }
        } catch (IOException e) {
            log.error("Unable to load filters in " + this.getClass().getName(), e);
        } finally {
            if (r != null) {
                try {
                    r.close();
                } catch (IOException e) {
                    log.error("Close inputstream error", e);
                }
            }
        }
    } else {
        log.warn("Not found resource filter file.");
    }
}

From source file:org.entcore.common.http.request.JsonHttpServerRequest.java

License:Open Source License

@Override
public MultiMap headers() {
    MultiMap m = new CaseInsensitiveHeaders();
    JsonObject h = object.getJsonObject("headers");
    if (h != null) {
        for (String attr : h.fieldNames()) {
            m.add(attr, h.getString(attr));
        }//from   w w w. j a v  a 2s.c o  m
    }
    return m;
}

From source file:org.entcore.common.http.request.JsonHttpServerRequest.java

License:Open Source License

@Override
public MultiMap params() {
    MultiMap m = new CaseInsensitiveHeaders();
    JsonObject p = object.getJsonObject("params");
    if (p != null) {
        for (String attr : p.fieldNames()) {
            m.add(attr, p.getString(attr));
        }/* w  w  w . j  a  va2  s.  c om*/
    }
    return m;
}