/** * Convert a comma delimited list (e.g., a row from a CSV file) into an * array of strings. * @param str the input {@code String} (potentially {@code null} or empty) * @return an array of strings, or the empty array in case of empty input */ public static String[] commaDelimitedListToStringArray(@Nullable String str) { return delimitedListToStringArray(str, ","); }
/** * Take a {@code String} that is a delimited list and convert it into a * {@code String} array. * <p>A single {@code delimiter} may consist of more than one character, * but it will still be considered as a single delimiter string, rather * than as bunch of potential delimiter characters, in contrast to * {@link #tokenizeToStringArray}. * @param str the input {@code String} (potentially {@code null} or empty) * @param delimiter the delimiter between elements (this is a single delimiter, * rather than a bunch individual delimiter characters) * @return an array of the tokens in the list * @see #tokenizeToStringArray */ public static String[] delimitedListToStringArray(@Nullable String str, @Nullable String delimiter) { return delimitedListToStringArray(str, delimiter, null); }
/** * Convert a comma delimited list (e.g., a row from a CSV file) into an * array of strings. * @param str the input {@code String} (potentially {@code null} or empty) * @return an array of strings, or the empty array in case of empty input */ public static String[] commaDelimitedListToStringArray(@Nullable String str) { return delimitedListToStringArray(str, ","); }
/** * Take a {@code String} that is a delimited list and convert it into a * {@code String} array. * <p>A single {@code delimiter} may consist of more than one character, * but it will still be considered as a single delimiter string, rather * than as bunch of potential delimiter characters, in contrast to * {@link #tokenizeToStringArray}. * @param str the input {@code String} (potentially {@code null} or empty) * @param delimiter the delimiter between elements (this is a single delimiter, * rather than a bunch individual delimiter characters) * @return an array of the tokens in the list * @see #tokenizeToStringArray */ public static String[] delimitedListToStringArray(@Nullable String str, @Nullable String delimiter) { return delimitedListToStringArray(str, delimiter, null); }
public static String extractPathVariableFromUrl(int pathParameterIndex, String path) { if (path.startsWith("/")) { path = path.substring(1); } String[] paths = StringUtils.delimitedListToStringArray(path, "/"); if (paths.length!=0 && pathParameterIndex<paths.length) { return paths[pathParameterIndex]; } return null; }
String[] split = StringUtils.delimitedListToStringArray(field, "-"); if (split.length > 2) { throw new IllegalArgumentException("Range has more than two fields: '" +
private void setNumberHits(BitSet bits, String value, int min, int max) { String[] fields = StringUtils.delimitedListToStringArray(value, ","); for (String field : fields) { if (!field.contains("/")) { // Not an incrementer so it must be a range (possibly empty) int[] range = getRange(field, min, max); bits.set(range[0], range[1] + 1); } else { String[] split = StringUtils.delimitedListToStringArray(field, "/"); if (split.length > 2) { throw new IllegalArgumentException("Incrementer has more than two fields: '" + field + "' in expression \"" + this.expression + "\""); } int[] range = getRange(split[0], min, max); if (!split[0].contains("-")) { range[1] = max - 1; } int delta = Integer.parseInt(split[1]); if (delta <= 0) { throw new IllegalArgumentException("Incrementer delta must be 1 or higher: '" + field + "' in expression \"" + this.expression + "\""); } for (int i = range[0]; i <= range[1]; i += delta) { bits.set(i); } } } }
if (arguments instanceof String) { String[] stringArray = StringUtils.delimitedListToStringArray((String) arguments, this.argumentSeparator); if (stringArray.length == 1) { Object argument = stringArray[0];
String[] pathArray = delimitedListToStringArray(pathToUse, FOLDER_SEPARATOR); LinkedList<String> pathElements = new LinkedList<>(); int tops = 0;
try { String javaClassPathProperty = System.getProperty("java.class.path"); for (String path : StringUtils.delimitedListToStringArray( javaClassPathProperty, System.getProperty("path.separator"))) { try {
@Override public void setAsText(String text) throws IllegalArgumentException { setValue(StringUtils.delimitedListToStringArray(text, "-")); } });
@Override public void setAsText(String text) throws IllegalArgumentException { String[] array = StringUtils.delimitedListToStringArray(text, this.separator, this.charsToDelete); if (this.trimValues) { array = StringUtils.trimArrayElements(array); } if (this.emptyArrayAsNull && array.length == 0) { setValue(null); } else { setValue(array); } }
private String fetchMacro(String name) throws Exception { ClassPathResource resource = new ClassPathResource("test.ftl", getClass()); assertTrue(resource.exists()); String all = FileCopyUtils.copyToString(new InputStreamReader(resource.getInputStream())); all = all.replace("\r\n", "\n"); String[] macros = StringUtils.delimitedListToStringArray(all, "\n\n"); for (String macro : macros) { if (macro.startsWith(name)) { return macro.substring(macro.indexOf("\n")).trim(); } } return null; }
@Override public void setAsText(String text) throws IllegalArgumentException { String[] array = StringUtils.delimitedListToStringArray(text, this.separator, this.charsToDelete); if (this.trimValues) { array = StringUtils.trimArrayElements(array); } if (this.emptyArrayAsNull && array.length == 0) { setValue(null); } else { setValue(array); } }
@Test public void testDelimitedListToStringArrayWithNullDelimiter() { String[] sa = StringUtils.delimitedListToStringArray("a,b", null); assertEquals(1, sa.length); assertEquals("a,b", sa[0]); }
@Test public void testDelimitedListToStringArrayWithSemicolon() { String[] sa = StringUtils.delimitedListToStringArray("a;b", ";"); assertEquals(2, sa.length); assertEquals("a", sa[0]); assertEquals("b", sa[1]); }
@Test public void testDelimitedListToStringArrayWithComma() { String[] sa = StringUtils.delimitedListToStringArray("a,b", ","); assertEquals(2, sa.length); assertEquals("a", sa[0]); assertEquals("b", sa[1]); }
public void testTransformList() throws Exception { String result = aggregator.aggregate(Arrays.asList(StringUtils.commaDelimitedListToStringArray("foo,bar"))); String[] array = StringUtils.delimitedListToStringArray(result, LINE_SEPARATOR); assertEquals("foo", array[0]); assertEquals("bar", array[1]); }
@Test public void methodNotAllowed() throws Exception { initServletWithControllers(MethodNotAllowedController.class); MockHttpServletRequest request = new MockHttpServletRequest("GET", "/myPath.do"); MockHttpServletResponse response = new MockHttpServletResponse(); getServlet().service(request, response); assertEquals("Invalid response status", HttpServletResponse.SC_METHOD_NOT_ALLOWED, response.getStatus()); String allowHeader = response.getHeader("Allow"); assertNotNull("No Allow header", allowHeader); Set<String> allowedMethods = new HashSet<>(); allowedMethods.addAll(Arrays.asList(StringUtils.delimitedListToStringArray(allowHeader, ", "))); assertEquals("Invalid amount of supported methods", 6, allowedMethods.size()); assertTrue("PUT not allowed", allowedMethods.contains("PUT")); assertTrue("DELETE not allowed", allowedMethods.contains("DELETE")); assertTrue("HEAD not allowed", allowedMethods.contains("HEAD")); assertTrue("TRACE not allowed", allowedMethods.contains("TRACE")); assertTrue("OPTIONS not allowed", allowedMethods.contains("OPTIONS")); assertTrue("POST not allowed", allowedMethods.contains("POST")); }
@Test public void testDelimitedListToStringArrayWithEmptyString() { String[] sa = StringUtils.delimitedListToStringArray("a,b", ""); assertEquals(3, sa.length); assertEquals("a", sa[0]); assertEquals(",", sa[1]); assertEquals("b", sa[2]); }