public static void registerPrefixMappings(String prefixMappings) { // eg w:prefixMappings="xmlns:ns0='http://schemas.medchart'" // according to the spec, whitespace is the delimiter if (prefixMappings==null || prefixMappings.equals("") ) return; // we get one of these each time we encounter a w:dataBinding // element in a content control; pity it is not done just // once! // first tokenise on space StrTokenizer tokens = new org.apache.commons.lang3.text.StrTokenizer(prefixMappings); while (tokens.hasNext() ) { String token = tokens.nextToken(); //log.debug("Got: " + token); int pos = token.indexOf("="); String prefix = token.substring(6, pos); // drop xmlns: //log.debug("Got: " + prefix); String uri = token.substring(pos+2, token.lastIndexOf("'")); //log.debug("Got: " + uri); namespaces.put(prefix, uri); } }
@Test public void testCloneNull() { final StrTokenizer tokenizer = new StrTokenizer((char[]) null); // Start sanity check assertNull(tokenizer.nextToken()); tokenizer.reset(); assertNull(tokenizer.nextToken()); // End sanity check final StrTokenizer clonedTokenizer = (StrTokenizer) tokenizer.clone(); tokenizer.reset(); assertNull(tokenizer.nextToken()); assertNull(clonedTokenizer.nextToken()); }
@Test public void testCloneReset() { final char[] input = new char[]{'a'}; final StrTokenizer tokenizer = new StrTokenizer(input); // Start sanity check assertEquals("a", tokenizer.nextToken()); tokenizer.reset(input); assertEquals("a", tokenizer.nextToken()); // End sanity check final StrTokenizer clonedTokenizer = (StrTokenizer) tokenizer.clone(); input[0] = 'b'; tokenizer.reset(input); assertEquals("b", tokenizer.nextToken()); assertEquals("a", clonedTokenizer.nextToken()); }
void testEmpty(final StrTokenizer tokenizer) { this.checkClone(tokenizer); assertFalse(tokenizer.hasNext()); assertFalse(tokenizer.hasPrevious()); assertNull(tokenizer.nextToken()); assertEquals(0, tokenizer.size()); try { tokenizer.next(); fail(); } catch (final NoSuchElementException ex) {} }
void testXSVAbc(final StrTokenizer tokenizer) { this.checkClone(tokenizer); assertEquals(-1, tokenizer.previousIndex()); assertEquals(0, tokenizer.nextIndex()); assertNull(tokenizer.previousToken()); assertEquals("A", tokenizer.nextToken()); assertEquals(1, tokenizer.nextIndex()); assertEquals("b", tokenizer.nextToken()); assertEquals(2, tokenizer.nextIndex()); assertEquals("c", tokenizer.nextToken()); assertEquals(3, tokenizer.nextIndex()); assertNull(tokenizer.nextToken()); assertEquals(3, tokenizer.nextIndex()); assertEquals("c", tokenizer.previousToken()); assertEquals(2, tokenizer.nextIndex()); assertEquals("b", tokenizer.previousToken()); assertEquals(1, tokenizer.nextIndex()); assertEquals("A", tokenizer.previousToken()); assertEquals(0, tokenizer.nextIndex()); assertNull(tokenizer.previousToken()); assertEquals(0, tokenizer.nextIndex()); assertEquals(-1, tokenizer.previousIndex()); assertEquals(3, tokenizer.size()); }
StrMatcher delims = StrMatcher.charSetMatcher(new char[] {' ', ',', '\n'}); StrTokenizer str = new StrTokenizer(match.toString(), delims); while (str.hasNext()) { System.out.println("Token:[" + str.nextToken() + "]"); }
public static void registerPrefixMappings(String prefixMappings) { // eg w:prefixMappings="xmlns:ns0='http://schemas.medchart'" // according to the spec, whitespace is the delimiter if (prefixMappings==null || prefixMappings.equals("") ) return; // we get one of these each time we encounter a w:dataBinding // element in a content control; pity it is not done just // once! // first tokenise on space StrTokenizer tokens = new org.apache.commons.lang3.text.StrTokenizer(prefixMappings); while (tokens.hasNext() ) { String token = tokens.nextToken(); //log.debug("Got: " + token); int pos = token.indexOf("="); String prefix = token.substring(6, pos); // drop xmlns: //log.debug("Got: " + prefix); String uri = token.substring(pos+2, token.lastIndexOf("'")); //log.debug("Got: " + uri); namespaces.put(prefix, uri); } }
/** * Note that because it is user input, the rendered heading must be escaped * * @param headingsString the user input heading string * @return a list of DetailsHeadings in order provided by the headingString */ private static List<DetailsHeading> buildHeadingsFromParameter(String headingsString) { final Set<DetailsHeading> headings = newLinkedHashSet(); final StrTokenizer tokenizer = StrTokenizer.getCSVInstance(headingsString); while (tokenizer.hasNext()) { final String heading = tokenizer.nextToken(); if (isNotBlank(heading)) { String escapedHeading = escapeHtml4(heading); headings.add(new DetailsHeading(escapedHeading, escapedHeading)); } } return new ArrayList<>(headings); }
protected Object executeScript(Sequence sequence, String sqlScript) { EntityManager em = persistence.getEntityManager(getDataStore(sequence)); StrTokenizer tokenizer = new StrTokenizer(sqlScript, SequenceSupport.SQL_DELIMITER); Object value = null; Connection connection = em.getConnection(); while (tokenizer.hasNext()) { String sql = tokenizer.nextToken(); try { PreparedStatement statement = connection.prepareStatement(sql); try { if (statement.execute()) { ResultSet rs = statement.getResultSet(); if (rs.next()) value = rs.getLong(1); } } finally { DbUtils.closeQuietly(statement); } } catch (SQLException e) { throw new IllegalStateException("Error executing SQL for getting next number", e); } } return value; }
@Override public Entity parse(String line) { tokenizer.reset(line); lineNo += 1; EntityBuilder builder = newEntityBuilder() .setId(lineNo + baseId); // since ID is already set, a subsequent ID column will properly override for (TypedName column: fileColumns) { String value = tokenizer.nextToken(); if (value != null && column != null) { Object parsed; try { parsed = column.parseString(value); } catch (IllegalArgumentException e) { throw new DataAccessException("line " + lineNo + ": error parsing column " + column, e); } builder.setAttribute(column, parsed); } } return builder.build(); } }