Example usage for org.apache.commons.lang3 StringEscapeUtils escapeJson

List of usage examples for org.apache.commons.lang3 StringEscapeUtils escapeJson

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringEscapeUtils escapeJson.

Prototype

public static final String escapeJson(final String input) 

Source Link

Document

Escapes the characters in a String using Json String rules.

Escapes any values it finds into their Json String form.

Usage

From source file:com.jkoolcloud.jesl.net.syslogd.JsonSyslogServerEventHandler.java

@Override
public void event(Object session, SyslogServerIF syslogServer, SocketAddress socketAddress,
        SyslogServerEventIF event) {//w  w  w .jav a2  s  .  c o  m
    long now = System.nanoTime();
    long offset = lastEvent == 0 ? 0 : (System.nanoTime() - lastEvent) / 1000;
    lastEvent = now;

    Date date = (event.getDate() == null ? new Date() : event.getDate());
    String timestamp = fmt.print(date.getTime());

    String facility = SyslogTNT4JEventHandler.getFacilityString(event.getFacility());
    String level = SyslogUtility.getLevelString(event.getLevel());
    String host = event.getHost();
    if (!(event instanceof StructuredSyslogServerEvent)) {
        this.stream.println("{\"offset.usec\":" + offset + ", \"host\":\"" + host + "\", \"facility\":\""
                + facility + "\", \"timestamp\":\"" + timestamp + "\", \"level\":\"" + level + "\", \"msg\":\""
                + StringEscapeUtils.escapeJson(event.getMessage()) + "\"}");
    } else {
        StructuredSyslogServerEvent sevent = (StructuredSyslogServerEvent) event;
        StructuredSyslogMessage sm = sevent.getStructuredMessage();
        Map<?, ?> arttrs = sm.getStructuredData();
        this.stream.println("{\"offset.usec\":" + offset + ", \"host\":\"" + host + "\", \"facility\":\""
                + facility + "\", \"timestamp\":\"" + timestamp + "\", \"level\":\"" + level + "\", \"appl\":\""
                + sevent.getApplicationName() + "\", \"mid\":\""
                + (sm.getMessageId() != null ? sm.getMessageId() : "") + "\", \"pid\":"
                + (sevent.getProcessId() != null && sevent.getProcessId().isEmpty() ? 0 : sevent.getProcessId())
                + ", \"map.size\":" + ((arttrs != null) ? arttrs.size() : 0) + ", \"msg\":\""
                + StringEscapeUtils.escapeJson(event.getMessage()) + "\"}");
    }
}

From source file:com.geemvc.taglib.html.MessageTagSupport.java

@Override
public void doTag() throws JspException {
    if (locale != null && (lang != null || country != null))
        throw new JspException(
                "You can only set one of of either 'locale' or a 'language/country' combination.");

    if (lang != null && country != null)
        locale = new Locale(lang, country);

    else if (lang != null)
        locale = new Locale(lang);

    String label = null;//from   w w  w. j av a  2 s . c om

    // Handle string keys normally.
    if (key instanceof String) {
        label = messageResolver.resolve((String) key, locale, requestContext(), true);
    } else if (key.getClass().isEnum()) {
        // Attempt to resolve <enun-fqn>.<enum-value>.
        label = messageResolver.resolve(
                new StringBuilder(key.getClass().getName()).append(Char.DOT).append(key).toString(),
                requestContext(), true);

        // Attempt to resolve <enun-simple-name>.<enum-value>.
        if (label == null)
            label = messageResolver.resolve(
                    new StringBuilder(key.getClass().getSimpleName()).append(Char.DOT).append(key).toString(),
                    requestContext(), true);
    } else if (key instanceof Boolean) {
        // Attempt to resolve Boolean.true or Boolean.false.
        label = messageResolver.resolve(new StringBuilder(Boolean.class.getSimpleName()).append(Char.DOT)
                .append(String.valueOf(key).toLowerCase()).toString(), requestContext(), true);
    } else {
        throw new JspException("The type '" + key.getClass().getName()
                + "' cannot be used as a message key in MessageTagSupport. Only the types String, Boolean or enums are supported.");
    }

    if (label != null) {
        if (escapeHTML)
            label = StringEscapeUtils.escapeHtml4(label);

        if (escapeJavascript)
            label = StringEscapeUtils.escapeEcmaScript(label);

        if (escapeJson)
            label = StringEscapeUtils.escapeJson(label);

        if (unescapeHTML)
            label = StringEscapeUtils.unescapeHtml4(label);

        if (unescapeJavascript)
            label = StringEscapeUtils.unescapeEcmaScript(label);

        if (unescapeJson)
            label = StringEscapeUtils.unescapeJson(label);
    }

    if (label == null) {
        label = getBodyContent();

        if (label == null)
            label = String.format("???%s???", key);
    }

    // Deal with parameters.
    if (label != null) {
        List<Object> params = messageParameters();

        if (params != null && !params.isEmpty())
            label = MessageFormat.format(label, params.toArray());
    }

    if (!Str.isEmpty(var)) {
        jspContext.setAttribute(var, label, scope());
    } else {
        try {
            jspContext.getOut().write(label);
        } catch (IOException e) {
            throw new JspException(e);
        }
    }
}

From source file:com.example.appengine.autocomplete.ProductNameAutocompleteJSONServlet.java

private String outputJSONPFromSuggestions(ArrayList<String> suggestions) throws IOException {
    StringBuilder result = new StringBuilder(jsonCallbackFunctionName + "([");
    boolean firstElement = true;
    for (String suggestion : suggestions) {
        if (!firstElement) {
            result.append(",");
        } else {/*from  ww  w  .  j  a va  2s  .  c o m*/
            firstElement = false;
        }
        result.append("\"" + StringEscapeUtils.escapeJson(suggestion) + "\"");
    }
    result.append("])");

    return result.toString();
}

From source file:com.hurence.logisland.processor.hbase.io.JsonFullRowSerializer.java

private void appendString(final StringBuilder jsonBuilder, final String str, final boolean base64encode) {
    jsonBuilder.append("\"");

    // only escape the value when not doing base64
    if (!base64encode) {
        jsonBuilder.append(StringEscapeUtils.escapeJson(str));
    } else {/*  ww  w .j a v a 2s. c o m*/
        jsonBuilder.append(str);
    }

    jsonBuilder.append("\"");
}

From source file:hudson.plugins.sonar.SonarBuildWrapper.java

@VisibleForTesting
static Map<String, String> createVars(SonarInstallation inst) {
    Map<String, String> map = new HashMap<>();

    map.put("SONAR_CONFIG_NAME", inst.getName());
    String hostUrl = getOrDefault(inst.getServerUrl(), "http://localhost:9000");
    map.put("SONAR_HOST_URL", hostUrl);
    String login = getOrDefault(inst.getSonarLogin(), "");
    map.put("SONAR_LOGIN", login);
    String password = getOrDefault(inst.getSonarPassword(), "");
    map.put("SONAR_PASSWORD", password);
    String token = getOrDefault(inst.getServerAuthenticationToken(), "");
    map.put("SONAR_AUTH_TOKEN", token);

    map.put("SONAR_JDBC_URL", getOrDefault(inst.getDatabaseUrl(), ""));

    String jdbcDefault = SQServerVersions.SQ_5_1_OR_LOWER.equals(inst.getServerVersion()) ? DEFAULT_SONAR : "";
    map.put("SONAR_JDBC_USERNAME", getOrDefault(inst.getDatabaseLogin(), jdbcDefault));
    map.put("SONAR_JDBC_PASSWORD", getOrDefault(inst.getDatabasePassword(), jdbcDefault));

    if (StringUtils.isEmpty(inst.getMojoVersion())) {
        map.put("SONAR_MAVEN_GOAL", "sonar:sonar");
    } else {//  w w w  .  j  a v a2s.c  om
        map.put("SONAR_MAVEN_GOAL", SonarUtils.getMavenGoal(inst.getMojoVersion()));
    }

    map.put("SONAR_EXTRA_PROPS", getOrDefault(getAdditionalProps(inst), ""));

    StringBuilder sb = new StringBuilder();
    sb.append("{ \"sonar.host.url\" : \"").append(StringEscapeUtils.escapeJson(hostUrl)).append("\"");
    if (!login.isEmpty() || !token.isEmpty()) {
        sb.append(", \"sonar.login\" : \"")
                .append(StringEscapeUtils.escapeJson(token.isEmpty() ? login : token)).append("\"");
    }
    if (!password.isEmpty()) {
        sb.append(", \"sonar.password\" : \"").append(StringEscapeUtils.escapeJson(password)).append("\"");
    }
    sb.append("}");

    map.put("SONARQUBE_SCANNER_PARAMS", sb.toString());

    // resolve variables against each other
    EnvVars.resolve(map);

    return map;
}

From source file:com.networknt.codegen.hybrid.HybridServiceGenerator.java

@Override
public void generate(String targetPath, Object model, Any config) throws IOException {
    // whoever is calling this needs to make sure that model is converted to Map<String, Object>
    String handlerPackage = config.get("handlerPackage").toString();
    boolean overwriteHandler = config.toBoolean("overwriteHandler");
    boolean overwriteHandlerTest = config.toBoolean("overwriteHandlerTest");
    boolean enableHttp = config.toBoolean("enableHttp");
    boolean enableHttps = config.toBoolean("enableHttps");
    boolean enableRegistry = config.toBoolean("enableRegistry");
    boolean supportClient = config.toBoolean("supportClient");
    String version = config.toString("version");

    transfer(targetPath, "", "pom.xml", templates.hybrid.service.pom.template(config));
    //transfer(targetPath, "", "Dockerfile", templates.dockerfile.template(config));
    transfer(targetPath, "", ".gitignore", templates.hybrid.gitignore.template());
    transfer(targetPath, "", "README.md", templates.hybrid.service.README.template());
    transfer(targetPath, "", "LICENSE", templates.hybrid.LICENSE.template());
    transfer(targetPath, "", ".classpath", templates.hybrid.classpath.template());
    transfer(targetPath, "", ".project", templates.hybrid.project.template());

    // config//from   w  w w  . jav  a  2  s  . c o  m
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "service.yml",
            templates.hybrid.serviceYml.template(config));

    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "server.yml",
            templates.hybrid.serverYml.template(
                    config.get("groupId") + "." + config.get("artifactId") + "-" + config.get("version"),
                    enableHttp, "49587", enableHttps, "49588", enableRegistry, version));
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "secret.yml",
            templates.hybrid.secretYml.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "hybrid-security.yml",
            templates.hybrid.securityYml.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "client.yml",
            templates.hybrid.clientYml.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "primary.crt",
            templates.hybrid.primaryCrt.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "secondary.crt",
            templates.hybrid.secondaryCrt.template());

    // logging
    transfer(targetPath, ("src.main.resources").replace(".", separator), "logback.xml",
            templates.hybrid.logback.template());
    transfer(targetPath, ("src.test.resources").replace(".", separator), "logback-test.xml",
            templates.hybrid.logback.template());

    // handler
    Map<String, Object> services = new HashMap<String, Object>();
    Any anyModel = (Any) model;
    String host = anyModel.toString("host");
    String service = anyModel.toString("service");
    List<Any> items = anyModel.get("action").asList();
    if (items != null && items.size() > 0) {
        for (Any item : items) {
            Any any = item.get("example");
            String example = any.valueType() != ValueType.INVALID
                    ? StringEscapeUtils.escapeJson(any.toString()).trim()
                    : "";
            if (!overwriteHandler
                    && checkExist(targetPath, ("src.main.java." + handlerPackage).replace(".", separator),
                            item.get("handler") + ".java")) {
                continue;
            }
            transfer(targetPath, ("src.main.java." + handlerPackage).replace(".", separator),
                    item.get("handler") + ".java",
                    templates.hybrid.handler.template(handlerPackage, host, service, item, example));
            String serviceId = host + "/" + service + "/" + item.get("name") + "/" + item.get("version");
            Map<String, Object> map = new HashMap<>();
            map.put("schema", item.get("schema"));
            map.put("scope", item.get("scope"));
            services.put(serviceId, map);
        }

        // handler test cases
        transfer(targetPath, ("src.test.java." + handlerPackage + ".").replace(".", separator),
                "TestServer.java", templates.hybrid.testServer.template(handlerPackage));
        for (Any item : items) {
            if (!overwriteHandlerTest
                    && checkExist(targetPath, ("src.test.java." + handlerPackage).replace(".", separator),
                            item.get("handler") + "Test.java")) {
                continue;
            }
            transfer(targetPath, ("src.test.java." + handlerPackage).replace(".", separator),
                    item.get("handler") + "Test.java",
                    templates.hybrid.handlerTest.template(handlerPackage, host, service, item));
        }
    }

    // transfer binary files without touching them.
    try (InputStream is = HybridServiceGenerator.class.getResourceAsStream("/binaries/server.keystore")) {
        Files.copy(is,
                Paths.get(targetPath, ("src.test.resources.config").replace(".", separator), "server.keystore"),
                StandardCopyOption.REPLACE_EXISTING);
    }
    try (InputStream is = HybridServiceGenerator.class.getResourceAsStream("/binaries/server.truststore")) {
        Files.copy(is, Paths.get(targetPath, ("src.test.resources.config").replace(".", separator),
                "server.truststore"), StandardCopyOption.REPLACE_EXISTING);
    }

    if (Files.notExists(Paths.get(targetPath, ("src.main.resources.config").replace(".", separator)))) {
        Files.createDirectories(Paths.get(targetPath, ("src.main.resources.config").replace(".", separator)));
    }
    // write the generated schema into the config folder for schema validation.
    JsonStream.serialize(services, new FileOutputStream(FileSystems.getDefault()
            .getPath(targetPath, ("src.main.resources").replace(".", separator), "schema.json").toFile()));
}

From source file:com.jkoolcloud.tnt4j.format.JSONFormatter.java

@Override
public String format(Object obj, Object... args) {
    if (obj instanceof TrackingActivity) {
        return format((TrackingActivity) obj);
    } else if (obj instanceof TrackingEvent) {
        return format((TrackingEvent) obj);
    } else if (obj instanceof Snapshot) {
        return format((Snapshot) obj);
    } else if (obj instanceof Property) {
        return format((Property) obj);
    } else {//from w  w  w . ja va  2 s .c  o m
        StringBuilder jsonString = new StringBuilder(1024);
        jsonString.append(START_JSON);
        jsonString.append(JSON_TIME_USEC_LABEL).append(ATTR_SEP).append(Useconds.CURRENT.get())
                .append(ATTR_JSON);

        String msgText = StringEscapeUtils.escapeJson(Utils.format(obj.toString(), args)); // escape double quote chars
        jsonString.append(JSON_MSG_TEXT_LABEL).append(ATTR_SEP).append(Utils.quote(msgText));
        jsonString.append(END_JSON);
        return jsonString.toString();
    }
}

From source file:com.networknt.codegen.eventuate.EventuateHybridServiceGenerator.java

@Override
public void generate(String targetPath, Object model, Any config) throws IOException {
    // whoever is calling this needs to make sure that model is converted to Map<String, Object>
    String handlerPackage = config.get("handlerPackage").toString();
    boolean overwriteHandler = config.toBoolean("overwriteHandler");
    boolean overwriteHandlerTest = config.toBoolean("overwriteHandlerTest");
    boolean enableHttp = config.toBoolean("enableHttp");
    boolean enableHttps = config.toBoolean("enableHttps");
    boolean enableRegistry = config.toBoolean("enableRegistry");
    boolean supportClient = config.toBoolean("supportClient");
    String version = config.toString("version");

    transfer(targetPath, "", "pom.xml", templates.eventuate.hybrid.service.pom.template(config));
    //transfer(targetPath, "", "Dockerfile", templates.dockerfile.template(config));
    transfer(targetPath, "", ".gitignore", templates.eventuate.hybrid.gitignore.template());
    transfer(targetPath, "", "README.md", templates.eventuate.hybrid.service.README.template());
    transfer(targetPath, "", "LICENSE", templates.eventuate.hybrid.LICENSE.template());
    transfer(targetPath, "", ".classpath", templates.eventuate.hybrid.classpath.template());
    transfer(targetPath, "", ".project", templates.eventuate.hybrid.project.template());

    // config/*from  w  w w  .  j  a  v  a  2s . co  m*/
    transfer(targetPath, ("src.main.resources.config").replace(".", separator), "service.yml",
            templates.eventuate.hybrid.serviceYml.template(config));

    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "server.yml",
            templates.eventuate.hybrid.serverYml.template(
                    config.get("groupId") + "." + config.get("artifactId") + "-" + config.get("version"),
                    enableHttp, "49587", enableHttps, "49588", enableRegistry, version));
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "secret.yml",
            templates.eventuate.hybrid.secretYml.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "hybrid-security.yml",
            templates.eventuate.hybrid.securityYml.template());

    if (supportClient) {
        transfer(targetPath, ("src.main.resources.config").replace(".", separator), "client.yml",
                templates.eventuate.hybrid.clientYml.template());
    } else {
        transfer(targetPath, ("src.test.resources.config").replace(".", separator), "client.yml",
                templates.eventuate.hybrid.clientYml.template());
    }

    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "primary.crt",
            templates.eventuate.hybrid.primaryCrt.template());
    transfer(targetPath, ("src.test.resources.config").replace(".", separator), "secondary.crt",
            templates.eventuate.hybrid.secondaryCrt.template());

    // logging
    transfer(targetPath, ("src.main.resources").replace(".", separator), "logback.xml",
            templates.eventuate.hybrid.logback.template());
    transfer(targetPath, ("src.test.resources").replace(".", separator), "logback-test.xml",
            templates.eventuate.hybrid.logback.template());

    // handler
    Map<String, Object> services = new HashMap<String, Object>();
    Any anyModel = (Any) model;
    String host = anyModel.toString("host");
    String service = anyModel.toString("service");
    List<Any> items = anyModel.get("action").asList();
    if (items != null && items.size() > 0) {
        for (Any item : items) {
            Any any = item.get("example");
            String example = any.valueType() != ValueType.INVALID
                    ? StringEscapeUtils.escapeJson(any.toString()).trim()
                    : "";
            if (overwriteHandler)
                transfer(targetPath, ("src.main.java." + handlerPackage).replace(".", separator),
                        item.get("handler") + ".java", templates.eventuate.hybrid.handler
                                .template(handlerPackage, host, service, item, example));
            String serviceId = host + "/" + service + "/" + item.get("name") + "/" + item.get("version");
            Map<String, Object> map = new HashMap<>();
            map.put("schema", item.get("schema"));
            map.put("scope", item.get("scope"));
            services.put(serviceId, map);
        }

        // handler test cases
        transfer(targetPath, ("src.test.java." + handlerPackage + ".").replace(".", separator),
                "TestServer.java", templates.eventuate.hybrid.testServer.template(handlerPackage));
        if (overwriteHandlerTest) {
            for (Any item : items) {
                transfer(targetPath, ("src.test.java." + handlerPackage).replace(".", separator),
                        item.get("handler") + "Test.java",
                        templates.eventuate.hybrid.handlerTest.template(handlerPackage, host, service, item));
            }
        }
    }

    // transfer binary files without touching them.
    try (InputStream is = EventuateHybridServiceGenerator.class
            .getResourceAsStream("/binaries/server.keystore")) {
        Files.copy(is,
                Paths.get(targetPath, ("src.test.resources.config").replace(".", separator), "server.keystore"),
                StandardCopyOption.REPLACE_EXISTING);
    }
    try (InputStream is = EventuateHybridServiceGenerator.class
            .getResourceAsStream("/binaries/server.truststore")) {
        Files.copy(is, Paths.get(targetPath, ("src.test.resources.config").replace(".", separator),
                "server.truststore"), StandardCopyOption.REPLACE_EXISTING);
    }

    if (Files.notExists(Paths.get(targetPath, ("src.main.resources.config").replace(".", separator)))) {
        Files.createDirectories(Paths.get(targetPath, ("src.main.resources.config").replace(".", separator)));
    }
    // write the generated schema into the config folder for schema validation.
    JsonStream.serialize(services, new FileOutputStream(FileSystems.getDefault()
            .getPath(targetPath, ("src.main.resources").replace(".", separator), "schema.json").toFile()));
}

From source file:me.tfeng.toolbox.dust.NodeEngine.java

private void printIsRegisteredExpression(PrintWriter writer, String template) {
    writer.print("dust.cache['");
    writer.print(StringEscapeUtils.escapeJson(template));
    writer.print("'] !== undefined");
}

From source file:me.tfeng.toolbox.dust.NodeEngine.java

private void printRenderScript(PrintWriter writer, String template, String json) {
    writer.print("(function(){var v; dust.render('");
    writer.print(StringEscapeUtils.escapeJson(template));
    writer.print("', JSON.parse('");
    writer.print(StringEscapeUtils.escapeJson(json));
    writer.print("'), function(err, data) {v = data;}); return v})()");
}