Example usage for com.google.common.escape Escaper escape

List of usage examples for com.google.common.escape Escaper escape

Introduction

In this page you can find the example usage for com.google.common.escape Escaper escape.

Prototype

public abstract String escape(String string);

Source Link

Document

Returns the escaped form of a given literal string.

Usage

From source file:org.eclipse.mylyn.wikitext.core.util.DefaultXmlStreamWriter.java

private void printEscaped(PrintWriter writer, CharSequence s, boolean attribute) {
    Escaper escaper = attribute ? attributeEscaper : contentEscaper;
    writer.write(escaper.escape(s.toString()));
}

From source file:android.databinding.tool.LayoutXmlProcessor.java

public void writeInfoClass(/*Nullable*/ File sdkDir, File xmlOutDir, File exportClassListTo,
        boolean enableDebugLogs, boolean printEncodedErrorLogs) {
    Escaper javaEscaper = SourceCodeEscapers.javaCharEscaper();
    final String sdkPath = sdkDir == null ? null : javaEscaper.escape(sdkDir.getAbsolutePath());
    final Class annotation = BindingBuildInfo.class;
    final String layoutInfoPath = javaEscaper.escape(xmlOutDir.getAbsolutePath());
    final String exportClassListToPath = exportClassListTo == null ? ""
            : javaEscaper.escape(exportClassListTo.getAbsolutePath());
    String classString = "package " + RESOURCE_BUNDLE_PACKAGE + ";\n\n" + "import "
            + annotation.getCanonicalName() + ";\n\n" + "@" + annotation.getSimpleName() + "(buildId=\""
            + mBuildId + "\", " + "modulePackage=\"" + mResourceBundle.getAppPackage() + "\", " + "sdkRoot="
            + "\"" + (sdkPath == null ? "" : sdkPath) + "\"," + "layoutInfoDir=\"" + layoutInfoPath + "\","
            + "exportClassListTo=\"" + exportClassListToPath + "\"," + "isLibrary=" + mIsLibrary + ","
            + "minSdk=" + mMinSdk + "," + "enableDebugLogs=" + enableDebugLogs + "," + "printEncodedError="
            + printEncodedErrorLogs + ")\n" + "public class " + CLASS_NAME + " {}\n";
    mFileWriter.writeToFile(RESOURCE_BUNDLE_PACKAGE + "." + CLASS_NAME, classString);
}

From source file:com.addthis.hydra.task.source.DataSourceHttp.java

private void writeData(HttpURLConnection conn) throws IOException {
    conn.setRequestProperty("Content-Type", contentType);
    try (OutputStream os = conn.getOutputStream()) {
        switch (contentType) {
        case "application/json":
            Jackson.defaultMapper().writeValue(os, data);
            break;
        case "application/x-www-form-urlencoded": {
            Escaper escaper = UrlEscapers.urlFormParameterEscaper();
            StringBuilder content = new StringBuilder();
            Iterator<Map.Entry<String, JsonNode>> fields = data.fields();
            while (fields.hasNext()) {
                Map.Entry<String, JsonNode> field = fields.next();
                content.append(escaper.escape(field.getKey()));
                content.append("=");
                content.append(escaper.escape(field.getValue().asText()));
                if (fields.hasNext()) {
                    content.append("&");
                }// w  w  w  .  j a v  a 2s.com
            }
            String contentString = content.toString();
            log.info("First {} characters of POST body are {}", LOG_TRUNCATE_CHARS,
                    LessStrings.trunc(contentString, LOG_TRUNCATE_CHARS));
            os.write(contentString.getBytes());
            break;
        }
        default:
            throw new IllegalStateException("Unknown content type " + contentType);
        }
        os.flush();
    }
}

From source file:com.github.foobar27.myhtml4j.example.Element.java

@Override
public String toHtml() {
    Escaper escaper = HtmlEscapers.htmlEscaper();
    StringBuilder sb = new StringBuilder();
    sb.append("<");
    sb.append(tag);//from ww w . ja va  2s . co m
    for (Map.Entry<String, List<String>> as : attributes.entrySet()) {
        String key = as.getKey();
        for (String value : as.getValue()) {
            sb.append(" ");
            sb.append(key);
            if (value != null) {
                sb.append("=\"");
                sb.append(escaper.escape(value));
                sb.append("\"");
            }
        }
    }
    sb.append(">");

    for (Node child : getChildren()) {
        sb.append(child.toHtml());
    }

    sb.append("</");
    sb.append(tag);
    sb.append(">");
    return sb.toString();
}

From source file:org.eobjects.analyzer.beans.codec.UrlEncoderTransformer.java

@Override
public String[] transform(final InputRow inputRow) {
    final String value = inputRow.getValue(column);
    if (value == null) {
        return new String[1];
    }// w w w  .  j ava2  s. c  o m
    final Escaper escaper;
    switch (targetFormat) {
    case FORM_PARAMETER:
        escaper = UrlEscapers.urlFormParameterEscaper();
        break;
    case FRAGMENT:
        escaper = UrlEscapers.urlFragmentEscaper();
        break;
    case PATH_SEGMENT:
        escaper = UrlEscapers.urlPathSegmentEscaper();
        break;
    default:
        throw new UnsupportedOperationException();
    }
    final String escaped = escaper.escape(value);
    return new String[] { escaped };
}

From source file:org.sfs.auth.SimpleAuthProvider.java

@Override
public void handleOpenstackKeystoneAuth(SfsRequest httpServerRequest) {
    httpServerRequest.pause();/* w ww .  java  2 s .c  o m*/
    VertxContext<Server> vertxContext = httpServerRequest.vertxContext();

    aVoid().flatMap(aVoid -> {
        final BufferWriteEndableWriteStream bufferWriteStream = new BufferWriteEndableWriteStream();
        LimitedWriteEndableWriteStream limitedWriteStream = new LimitedWriteEndableWriteStream(
                bufferWriteStream, MAX_AUTH_REQUEST_SIZE);
        return pump(httpServerRequest, limitedWriteStream).map(aVoid1 -> bufferWriteStream.toBuffer());
    }).map(new HttpBodyLogger()).map(new BufferToJsonObject()).map(jsonObject -> {
        JsonObject authJsonObject = jsonObject.getJsonObject("auth");
        JsonObject passwordCredentialsJson = authJsonObject.getJsonObject("passwordCredentials");
        String username = passwordCredentialsJson.getString("username");
        String password = passwordCredentialsJson.getString("password");
        String tenantName = authJsonObject.getString("tenantName");
        if (tenantName == null) {
            tenantName = "default";
        }

        Set<String> selectedRoles = new HashSet<>();

        for (Map.Entry<Role, Collection<User>> entry : roles.asMap().entrySet()) {
            Role role = entry.getKey();
            Collection<User> users = entry.getValue();
            for (User user : users) {
                if (equal(user.getUsername(), username) && equal(user.getPassword(), password)) {
                    selectedRoles.add(role.value());
                }
            }
        }

        if (selectedRoles.isEmpty()) {
            JsonObject errorJson = new JsonObject().put("message", "Invalid Credentials");
            throw new HttpRequestValidationException(HTTP_FORBIDDEN, errorJson);
        }

        Escaper escaper = urlPathSegmentEscaper();

        String serviceUrl = getRemoteServiceUrl(httpServerRequest);
        serviceUrl = format("%s/openstackswift001/%s", serviceUrl, escaper.escape(tenantName));

        JsonObject endpointJsonObject = new JsonObject().put("region", "ORD").put("tenantId", tenantName)
                .put("publicURL", serviceUrl).put("internalURL", serviceUrl);

        JsonArray endpointsJsonArray = new JsonArray().add(endpointJsonObject);

        JsonObject serviceCatalogJsonObject = new JsonObject().put("type", "object-store")
                .put("name", "openstackswift001").put("endpoints", endpointsJsonArray);

        JsonArray serviceCatalogJsonArray = new JsonArray().add(serviceCatalogJsonObject);

        JsonObject userJsonObject = new JsonObject().put("username", username)
                .put("roles_links", new JsonArray()).put("id", username);

        JsonArray roles = new JsonArray();
        for (String selectedRole : selectedRoles) {
            roles.add(selectedRole);
        }

        userJsonObject = userJsonObject.put("roles", roles);

        Calendar expiresDt = getInstance();
        expiresDt.setTimeInMillis(currentTimeMillis() + 86400000);

        JsonObject tokenJsonObject = new JsonObject().put("audit_ids", new JsonArray())
                .put("expires", toDateTimeString(expiresDt)).put("issued_at", toDateTimeString(getInstance()))
                .put("id", base64().encode((username + ":" + password).getBytes(UTF_8)));

        JsonObject metadataJsonObject = new JsonObject().put("is_admin", 0).put("roles", new JsonArray());

        return new JsonObject().put("access", new JsonObject().put("serviceCatalog", serviceCatalogJsonArray)
                .put("token", tokenJsonObject).put("user", userJsonObject).put("metadata", metadataJsonObject));
    }).single().subscribe(new ConnectionCloseTerminus<JsonObject>(httpServerRequest) {
        @Override
        public void onNext(JsonObject authenticationResponse) {
            Buffer buffer = buffer(authenticationResponse.encode(), UTF_8.toString());
            httpServerRequest.response().setStatusCode(HTTP_OK)
                    .putHeader(CONTENT_LENGTH, valueOf(buffer.length())).write(buffer);
        }
    });
}

From source file:aeon.compiler.generators.querybuilder.PersisterQueryBuilderGeneratorImpl.java

private String getFieldsAsStrings() {
    final Escaper escaper = Escapers.builder().addEscape('"', "\\\"").build();

    final FluentIterable<String> asStrings = getSqliteContext().getFieldContext().getFields()
            .transform(new Function<SqliteField, String>() {
                @Override/*from  w w  w .j  a va2s .  co m*/
                public String apply(final SqliteField input) {
                    return "\"" + escaper.escape(input.getName().asEscapedName()) + "\"";
                }
            });

    return Joiner.on(", ").join(asStrings);
}

From source file:org.sfs.nodes.RemoteNode.java

@Override
public Observable<Boolean> canReadVolume(String volumeId) {
    return Defer.aVoid().flatMap(aVoid -> nodes.connectFirstAvailable(vertx, hostAndPorts, hostAndPort -> {
        Escaper escaper = urlFragmentEscaper();

        String url = format("http://%s/_internal_node_data/blob/canread?%s=%s", hostAndPort.toString(),
                escaper.escape(VOLUME), escaper.escape(escaper.escape(volumeId)));

        ObservableFuture<HttpClientResponse> handler = RxHelper.observableFuture();

        HttpClientRequest httpClientRequest = httpClient.getAbs(url, httpClientResponse -> {
            httpClientResponse.pause();/*from   w  ww. j a  va2  s .c  om*/
            handler.complete(httpClientResponse);
        }).exceptionHandler(handler::fail).putHeader(X_SFS_REMOTE_NODE_TOKEN, remoteNodeSecret)
                .setTimeout(responseTimeout);
        httpClientRequest.end();

        return handler.map(
                httpClientResponse -> new HttpClientRequestAndResponse(httpClientRequest, httpClientResponse));
    })).map(HttpClientRequestAndResponse::getResponse).flatMap(httpClientResponse -> just(httpClientResponse)
            .flatMap(new HttpClientResponseBodyBuffer()).map(buffer -> {
                int status = httpClientResponse.statusCode();
                if (status >= 400) {
                    throw new HttpClientResponseException(httpClientResponse, buffer);
                }
                return true;
            }));
}

From source file:org.sfs.nodes.RemoteNode.java

@Override
public Observable<Boolean> canWriteVolume(String volumeId) {
    return Defer.aVoid().flatMap(aVoid -> nodes.connectFirstAvailable(vertx, hostAndPorts, hostAndPort -> {
        Escaper escaper = urlFragmentEscaper();

        String url = format("http://%s/_internal_node_data/blob/canwrite?%s=%s", hostAndPort.toString(),
                escaper.escape(VOLUME), escaper.escape(escaper.escape(volumeId)));

        ObservableFuture<HttpClientResponse> handler = RxHelper.observableFuture();

        HttpClientRequest httpClientRequest = httpClient.getAbs(url, httpClientResponse -> {
            httpClientResponse.pause();//  ww  w .  j  av  a 2s  .  c  o m
            handler.complete(httpClientResponse);
        }).exceptionHandler(handler::fail).putHeader(X_SFS_REMOTE_NODE_TOKEN, remoteNodeSecret)
                .setTimeout(responseTimeout);
        httpClientRequest.end();

        return handler.map(
                httpClientResponse -> new HttpClientRequestAndResponse(httpClientRequest, httpClientResponse));
    })).map(HttpClientRequestAndResponse::getResponse).flatMap(httpClientResponse -> just(httpClientResponse)
            .flatMap(new HttpClientResponseBodyBuffer()).map(buffer -> {
                int status = httpClientResponse.statusCode();
                if (status >= 400) {
                    throw new HttpClientResponseException(httpClientResponse, buffer);
                }
                return true;
            }));
}

From source file:org.sfs.nodes.RemoteNode.java

@Override
public Observable<Optional<HeaderBlob>> delete(String volumeId, final long position) {
    return Defer.aVoid().flatMap(aVoid -> nodes.connectFirstAvailable(vertx, hostAndPorts, hostAndPort -> {
        Escaper escaper = urlFragmentEscaper();

        String url = format("http://%s/_internal_node_data/blob?%s=%s&%s=%d", hostAndPort.toString(),
                escaper.escape(VOLUME), escaper.escape(volumeId), escaper.escape(POSITION), position);

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("delete " + url);
        }//w w w .  jav a2  s  .c o m

        ObservableFuture<HttpClientResponse> handler = RxHelper.observableFuture();

        HttpClientRequest httpClientRequest = httpClient.deleteAbs(url, httpClientResponse -> {
            httpClientResponse.pause();
            handler.complete(httpClientResponse);
        }).exceptionHandler(handler::fail).putHeader(X_SFS_REMOTE_NODE_TOKEN, remoteNodeSecret)
                .setTimeout(responseTimeout);
        httpClientRequest.end();

        return handler.map(
                httpClientResponse -> new HttpClientRequestAndResponse(httpClientRequest, httpClientResponse));
    })).map(HttpClientRequestAndResponse::getResponse).flatMap(httpClientResponse -> Defer
            .just(httpClientResponse).flatMap(new HttpClientResponseBodyBuffer()).map(buffer -> {
                int status = httpClientResponse.statusCode();
                if (HTTP_NOT_MODIFIED == status) {
                    return absent();

                } else if (HTTP_NO_CONTENT == status) {
                    return of(new HeaderBlob(httpClientResponse));

                } else {
                    throw new HttpClientResponseException(httpClientResponse, buffer);
                }

            }));
}