public static Interceptor tokenAuth(String accessToken) { requireNonNull(accessToken, "accessToken is null"); checkArgument(CharMatcher.inRange((char) 33, (char) 126).matchesAllOf(accessToken)); return chain -> chain.proceed(chain.request().newBuilder() .addHeader(AUTHORIZATION, "Bearer " + accessToken) .build()); }
public static List<String> createPartitionValues(List<Type> partitionColumnTypes, Page partitionColumns, int position) { ImmutableList.Builder<String> partitionValues = ImmutableList.builder(); for (int field = 0; field < partitionColumns.getChannelCount(); field++) { Object value = getField(partitionColumnTypes.get(field), partitionColumns.getBlock(field), position); if (value == null) { partitionValues.add(HIVE_DEFAULT_DYNAMIC_PARTITION); } else { String valueString = value.toString(); if (!CharMatcher.inRange((char) 0x20, (char) 0x7E).matchesAllOf(valueString)) { throw new PrestoException(HIVE_INVALID_PARTITION_VALUE, "Hive partition keys can only contain printable ASCII characters (0x20 - 0x7E). Invalid value: " + base16().withSeparator(" ", 2).encode(valueString.getBytes(UTF_8))); } partitionValues.add(valueString); } } return partitionValues.build(); }
static String formatStringLiteral(String s) if (CharMatcher.inRange((char) 0x20, (char) 0x7E).matchesAllOf(s)) { return "'" + s + "'";
public void testToString() { assertToStringWorks("CharMatcher.none()", CharMatcher.anyOf("")); assertToStringWorks("CharMatcher.is('\\u0031')", CharMatcher.anyOf("1")); assertToStringWorks("CharMatcher.isNot('\\u0031')", CharMatcher.isNot('1')); assertToStringWorks("CharMatcher.anyOf(\"\\u0031\\u0032\")", CharMatcher.anyOf("12")); assertToStringWorks("CharMatcher.anyOf(\"\\u0031\\u0032\\u0033\")", CharMatcher.anyOf("321")); assertToStringWorks("CharMatcher.inRange('\\u0031', '\\u0033')", CharMatcher.inRange('1', '3')); }
public void testNoMatches() { doTestNoMatches(CharMatcher.none(), "blah"); doTestNoMatches(is('a'), "bcde"); doTestNoMatches(isNot('a'), "aaaa"); doTestNoMatches(anyOf(""), "abcd"); doTestNoMatches(anyOf("x"), "abcd"); doTestNoMatches(anyOf("xy"), "abcd"); doTestNoMatches(anyOf("CharMatcher"), "zxqy"); doTestNoMatches(noneOf("CharMatcher"), "ChMa"); doTestNoMatches(inRange('p', 'x'), "mom"); doTestNoMatches(forPredicate(Predicates.equalTo('c')), "abe"); doTestNoMatches(inRange('A', 'Z').and(inRange('F', 'K').negate()), "F1a"); doTestNoMatches(CharMatcher.digit(), "\tAz()"); doTestNoMatches(CharMatcher.javaDigit(), "\tAz()"); doTestNoMatches(CharMatcher.digit().and(CharMatcher.ascii()), "\tAz()"); doTestNoMatches(CharMatcher.singleWidth(), "\u05bf\u3000"); }
@GwtIncompatible // java.util.BitSet public void testSetBits() { doTestSetBits(CharMatcher.any()); doTestSetBits(CharMatcher.none()); doTestSetBits(is('a')); doTestSetBits(isNot('a')); doTestSetBits(anyOf("")); doTestSetBits(anyOf("x")); doTestSetBits(anyOf("xy")); doTestSetBits(anyOf("CharMatcher")); doTestSetBits(noneOf("CharMatcher")); doTestSetBits(inRange('n', 'q')); doTestSetBits(forPredicate(Predicates.equalTo('c'))); doTestSetBits(CharMatcher.ascii()); doTestSetBits(CharMatcher.digit()); doTestSetBits(CharMatcher.invisible()); doTestSetBits(CharMatcher.whitespace()); doTestSetBits(inRange('A', 'Z').and(inRange('F', 'K').negate())); }
public void testGeneral() { doTestGeneral(is('a'), 'a', 'b'); doTestGeneral(isNot('a'), 'b', 'a'); doTestGeneral(anyOf("x"), 'x', 'z'); doTestGeneral(anyOf("xy"), 'y', 'z'); doTestGeneral(anyOf("CharMatcher"), 'C', 'z'); doTestGeneral(noneOf("CharMatcher"), 'z', 'C'); doTestGeneral(inRange('p', 'x'), 'q', 'z'); }
public void testEmpty() throws Exception { doTestEmpty(CharMatcher.any()); doTestEmpty(CharMatcher.none()); doTestEmpty(is('a')); doTestEmpty(isNot('a')); doTestEmpty(anyOf("")); doTestEmpty(anyOf("x")); doTestEmpty(anyOf("xy")); doTestEmpty(anyOf("CharMatcher")); doTestEmpty(noneOf("CharMatcher")); doTestEmpty(inRange('n', 'q')); doTestEmpty(forPredicate(Predicates.equalTo('c'))); }
@GwtIncompatible // NullPointerTester public void testNull() throws Exception { doTestNull(CharMatcher.any()); doTestNull(CharMatcher.none()); doTestNull(is('a')); doTestNull(isNot('a')); doTestNull(anyOf("")); doTestNull(anyOf("x")); doTestNull(anyOf("xy")); doTestNull(anyOf("CharMatcher")); doTestNull(noneOf("CharMatcher")); doTestNull(inRange('n', 'q')); doTestNull(forPredicate(Predicates.equalTo('c'))); }
public void testAllMatches() { doTestAllMatches(CharMatcher.any(), "blah"); doTestAllMatches(isNot('a'), "bcde"); doTestAllMatches(is('a'), "aaaa"); doTestAllMatches(noneOf("CharMatcher"), "zxqy"); doTestAllMatches(anyOf("x"), "xxxx"); doTestAllMatches(anyOf("xy"), "xyyx"); doTestAllMatches(anyOf("CharMatcher"), "ChMa"); doTestAllMatches(inRange('m', 'p'), "mom"); doTestAllMatches(forPredicate(Predicates.equalTo('c')), "ccc"); doTestAllMatches(CharMatcher.digit(), "0123456789\u0ED0\u1B59"); doTestAllMatches(CharMatcher.javaDigit(), "0123456789"); doTestAllMatches(CharMatcher.digit().and(CharMatcher.ascii()), "0123456789"); doTestAllMatches(CharMatcher.singleWidth(), "\t0123ABCdef~\u00A0\u2111"); }
public void testPrecomputedOptimizations() { // These are testing behavior that's never promised by the API. // Some matchers are so efficient that it is a waste of effort to // build a precomputed version. CharMatcher m1 = is('x'); assertSame(m1, m1.precomputed()); assertEquals(m1.toString(), m1.precomputed().toString()); CharMatcher m2 = anyOf("Az"); assertSame(m2, m2.precomputed()); assertEquals(m2.toString(), m2.precomputed().toString()); CharMatcher m3 = inRange('A', 'Z'); assertSame(m3, m3.precomputed()); assertEquals(m3.toString(), m3.precomputed().toString()); assertSame(CharMatcher.none(), CharMatcher.none().precomputed()); assertSame(CharMatcher.any(), CharMatcher.any().precomputed()); }
public static Interceptor tokenAuth(String accessToken) { requireNonNull(accessToken, "accessToken is null"); checkArgument(CharMatcher.inRange((char) 33, (char) 126).matchesAllOf(accessToken)); return chain -> chain.proceed(chain.request().newBuilder() .addHeader(AUTHORIZATION, "Bearer " + accessToken) .build()); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = ".*'name'.*") public void test_matches_CharMatcher_String_tooLong() { ArgChecker.matches(CharMatcher.inRange('A', 'Z'), 1, 2, "abc", "name", "[A-Z]+"); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = ".*'name'.*") public void test_matches_CharMatcher_String_nullString() { ArgChecker.matches(CharMatcher.inRange('A', 'Z'), 1, 2, null, "name", "[A-Z]+"); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = ".*'name'.*'123'.*") public void test_matches_CharMatcher_String_noMatch() { ArgChecker.matches(CharMatcher.inRange('A', 'Z'), 1, Integer.MAX_VALUE, "123", "name", "[A-Z]+"); }
public void testToString() { assertToStringWorks("CharMatcher.none()", CharMatcher.anyOf("")); assertToStringWorks("CharMatcher.is('\\u0031')", CharMatcher.anyOf("1")); assertToStringWorks("CharMatcher.isNot('\\u0031')", CharMatcher.isNot('1')); assertToStringWorks("CharMatcher.anyOf(\"\\u0031\\u0032\")", CharMatcher.anyOf("12")); assertToStringWorks("CharMatcher.anyOf(\"\\u0031\\u0032\\u0033\")", CharMatcher.anyOf("321")); assertToStringWorks("CharMatcher.inRange('\\u0031', '\\u0033')", CharMatcher.inRange('1', '3')); }
public void testGeneral() { doTestGeneral(is('a'), 'a', 'b'); doTestGeneral(isNot('a'), 'b', 'a'); doTestGeneral(anyOf("x"), 'x', 'z'); doTestGeneral(anyOf("xy"), 'y', 'z'); doTestGeneral(anyOf("CharMatcher"), 'C', 'z'); doTestGeneral(noneOf("CharMatcher"), 'z', 'C'); doTestGeneral(inRange('p', 'x'), 'q', 'z'); }