List of usage examples for com.google.common.primitives Chars toByteArray
@GwtIncompatible("doesn't work") public static byte[] toByteArray(char value)
From source file:org.apache.druid.sql.calcite.expression.DruidExpression.java
private static String escape(final String s) { final StringBuilder escaped = new StringBuilder(); for (int i = 0; i < s.length(); i++) { final char c = s.charAt(i); if (Character.isLetterOrDigit(c) || Arrays.binarySearch(SAFE_CHARS, c) >= 0) { escaped.append(c);/*from w w w .j a va2 s .c om*/ } else { escaped.append("\\u").append(BaseEncoding.base16().encode(Chars.toByteArray(c))); } } return escaped.toString(); }
From source file:io.druid.sql.calcite.planner.Calcites.java
public static String escapeStringLiteral(final String s) { if (s == null) { return "''"; } else {// w ww . j a v a 2 s. co m boolean isPlainAscii = true; final StringBuilder builder = new StringBuilder("'"); for (int i = 0; i < s.length(); i++) { final char c = s.charAt(i); if (Character.isLetterOrDigit(c) || c == ' ') { builder.append(c); if (c > 127) { isPlainAscii = false; } } else { builder.append("\\").append(BaseEncoding.base16().encode(Chars.toByteArray(c))); isPlainAscii = false; } } builder.append("'"); return isPlainAscii ? builder.toString() : "U&" + builder.toString(); } }
From source file:org.apache.druid.sql.calcite.planner.Calcites.java
public static String escapeStringLiteral(final String s) { Preconditions.checkNotNull(s);/*from w w w . j av a 2 s . c o m*/ boolean isPlainAscii = true; final StringBuilder builder = new StringBuilder("'"); for (int i = 0; i < s.length(); i++) { final char c = s.charAt(i); if (Character.isLetterOrDigit(c) || c == ' ') { builder.append(c); if (c > 127) { isPlainAscii = false; } } else { builder.append("\\").append(BaseEncoding.base16().encode(Chars.toByteArray(c))); isPlainAscii = false; } } builder.append("'"); return isPlainAscii ? builder.toString() : "U&" + builder.toString(); }
From source file:org.apache.druid.query.filter.LikeDimFilter.java
@Override public byte[] getCacheKey() { final byte[] dimensionBytes = StringUtils.toUtf8(dimension); final byte[] patternBytes = StringUtils.toUtf8(pattern); final byte[] escapeBytes = escapeChar == null ? new byte[0] : Chars.toByteArray(escapeChar); final byte[] extractionFnBytes = extractionFn == null ? new byte[0] : extractionFn.getCacheKey(); final int sz = 4 + dimensionBytes.length + patternBytes.length + escapeBytes.length + extractionFnBytes.length;// w w w .j a v a 2 s. c o m return ByteBuffer.allocate(sz).put(DimFilterUtils.LIKE_CACHE_ID).put(dimensionBytes) .put(DimFilterUtils.STRING_SEPARATOR).put(patternBytes).put(DimFilterUtils.STRING_SEPARATOR) .put(escapeBytes).put(DimFilterUtils.STRING_SEPARATOR).put(extractionFnBytes).array(); }