static String handleId(String id) { // Shouldn't really happen for this method, but no reason to fail here if (id == null) return null; boolean isAlphanumericLowCase = true; boolean isAlphanumeric = true; for (int i = 0; i < id.length(); i++) { char c = id.charAt(i); if (c >= 65 && c <= 90) { // A-Z isAlphanumericLowCase = false; } else if (!((c >= 48 && c <= 57) // 0-9 || (c == 95) // _ (underscore) || (c >= 97 && c <= 122) // a-z )) { isAlphanumeric = false; isAlphanumericLowCase = false; break; } } if (isAlphanumericLowCase) { return id; } if (isAlphanumeric) { return id.toLowerCase(); } // Check if it's enclosed in quotes. If it is, remove them and unescape internal double quotes return ParseUtils.unDoubleQuote(id); }
@Test(groups = "unit") public void testDoubleUnquote() { assertThat(ParseUtils.unDoubleQuote(null)).isNull(); assertThat(ParseUtils.unDoubleQuote("")).isEqualTo(""); assertThat(ParseUtils.unDoubleQuote(" ")).isEqualTo(" "); assertThat(ParseUtils.unDoubleQuote("\"")).isEqualTo("\""); // malformed string left untouched assertThat(ParseUtils.unDoubleQuote("foo")).isEqualTo("foo"); assertThat(ParseUtils.unDoubleQuote("\"\"")).isEqualTo(""); assertThat(ParseUtils.unDoubleQuote("\" \"")).isEqualTo(" "); assertThat(ParseUtils.unDoubleQuote("\"foo")) .isEqualTo("\"foo"); // malformed string left untouched assertThat(ParseUtils.unDoubleQuote("\"foo\"")).isEqualTo("foo"); assertThat(ParseUtils.unDoubleQuote(" \"foo\" ")).isEqualTo(" \"foo\" "); // considered unquoted assertThat(ParseUtils.unDoubleQuote("\"\"\"foo\"\"\"")).isEqualTo("\"foo\""); assertThat(ParseUtils.unDoubleQuote("\"\"\"")).isEqualTo("\""); assertThat(ParseUtils.unDoubleQuote("\"\"foo\"")).isEqualTo("\"foo"); assertThat(ParseUtils.unDoubleQuote("\"foo\"\"")).isEqualTo("foo\""); }
static String handleId(String id) { // Shouldn't really happen for this method, but no reason to fail here if (id == null) return null; if (alphanumeric.matcher(id).matches()) return id.toLowerCase(); // Check if it's enclosed in quotes. If it is, remove them and unescape internal double quotes return ParseUtils.unDoubleQuote(id); }
static String handleId(String id) { // Shouldn't really happen for this method, but no reason to fail here if (id == null) return null; if (alphanumeric.matcher(id).matches()) return id.toLowerCase(); // Check if it's enclosed in quotes. If it is, remove them and unescape internal double quotes return ParseUtils.unDoubleQuote(id); }
static String handleId(String id) { // Shouldn't really happen for this method, but no reason to fail here if (id == null) return null; if (isAlphanumeric(id)) return id.toLowerCase(); // Check if it's enclosed in quotes. If it is, remove them and unescape internal double quotes return ParseUtils.unDoubleQuote(id); }
@Test(groups = "unit") public void testDoubleUnquote() { assertThat(ParseUtils.unDoubleQuote(null)).isNull(); assertThat(ParseUtils.unDoubleQuote("")).isEqualTo(""); assertThat(ParseUtils.unDoubleQuote(" ")).isEqualTo(" "); assertThat(ParseUtils.unDoubleQuote("\"")).isEqualTo("\""); // malformed string left untouched assertThat(ParseUtils.unDoubleQuote("foo")).isEqualTo("foo"); assertThat(ParseUtils.unDoubleQuote("\"\"")).isEqualTo(""); assertThat(ParseUtils.unDoubleQuote("\" \"")).isEqualTo(" "); assertThat(ParseUtils.unDoubleQuote("\"foo")) .isEqualTo("\"foo"); // malformed string left untouched assertThat(ParseUtils.unDoubleQuote("\"foo\"")).isEqualTo("foo"); assertThat(ParseUtils.unDoubleQuote(" \"foo\" ")).isEqualTo(" \"foo\" "); // considered unquoted assertThat(ParseUtils.unDoubleQuote("\"\"\"foo\"\"\"")).isEqualTo("\"foo\""); assertThat(ParseUtils.unDoubleQuote("\"\"\"")).isEqualTo("\""); assertThat(ParseUtils.unDoubleQuote("\"\"foo\"")).isEqualTo("\"foo"); assertThat(ParseUtils.unDoubleQuote("\"foo\"\"")).isEqualTo("foo\""); }