Parses run-specific settings from a String value @param value The String to parse @return The runIndex % arrayLength'th value of the run array
(String value)
| 411 | * @return The runIndex % arrayLength'th value of the run array |
| 412 | */ |
| 413 | private static String parseRunSetting(String value) { |
| 414 | final String RUN_ARRAY_START = "["; |
| 415 | final String RUN_ARRAY_END = "]"; |
| 416 | final String RUN_ARRAY_DELIM = ";"; |
| 417 | final int MIN_LENGTH = 3; // minimum run is one value. e.g. "[v]" |
| 418 | |
| 419 | if (!value.startsWith(RUN_ARRAY_START) || |
| 420 | !value.endsWith(RUN_ARRAY_END) || |
| 421 | runIndex < 0 || |
| 422 | value.length() < MIN_LENGTH) { |
| 423 | return value; // standard format setting -> return |
| 424 | } |
| 425 | |
| 426 | value = value.substring(1,value.length()-1); // remove brackets |
| 427 | String[] valueArr = value.split(RUN_ARRAY_DELIM); |
| 428 | int arrIndex = runIndex % valueArr.length; |
| 429 | value = valueArr[arrIndex].trim(); |
| 430 | |
| 431 | return value; |
| 432 | } |
| 433 | |
| 434 | /** |
| 435 | * Returns the setting name appended to namespace name(s) on a String |