@SuppressWarnings({"unchecked"}) private static void changeNamesInColumnElement(Element element, ColumnNameIterator columnNameIterator) { final Iterator<Element> properties = element.elementIterator(); while ( properties.hasNext() ) { final Element property = properties.next(); if ( "column".equals( property.getName() ) ) { final Attribute nameAttr = property.attribute( "name" ); if ( nameAttr != null ) { nameAttr.setText( columnNameIterator.next() ); } } } }
@SuppressWarnings({"unchecked"}) private static void changeNamesInColumnElement(Element element, ColumnNameIterator columnNameIterator) { final Iterator<Element> properties = element.elementIterator(); while ( properties.hasNext() ) { final Element property = properties.next(); if ( "column".equals( property.getName() ) ) { final Attribute nameAttr = property.attribute( "name" ); if ( nameAttr != null ) { nameAttr.setText( columnNameIterator.next() ); } } } }
private void convertModes(final Document doc) { XPath xpathSelector = DocumentHelper.createXPath("/settings/filters/filter/row"); List<?> results = xpathSelector.selectNodes(doc); for (Iterator<?> iter = results.iterator(); iter.hasNext();) { Element elem = (Element) iter.next(); Attribute attr = elem.attribute("mode"); String currentValue = attr.getText(); attr.setText(convertMode(currentValue)); } }
@SuppressWarnings({"unchecked"}) public static void prefixNamesInPropertyElement( Element element, String prefix, ColumnNameIterator columnNameIterator, boolean changeToKey, boolean insertable) { final Iterator<Element> properties = element.elementIterator(); while ( properties.hasNext() ) { final Element property = properties.next(); if ( "property".equals( property.getName() ) || "many-to-one".equals( property.getName() ) ) { final Attribute nameAttr = property.attribute( "name" ); if ( nameAttr != null ) { nameAttr.setText( prefix + nameAttr.getText() ); } changeNamesInColumnElement( property, columnNameIterator ); if ( changeToKey ) { property.setName( "key-" + property.getName() ); } if ( "property".equals( property.getName() ) ) { final Attribute insert = property.attribute( "insert" ); insert.setText( Boolean.toString( insertable ) ); } } } }
private void convertDefaultPriceModes(final Document doc) { XPath xpathSelector = DocumentHelper.createXPath("/settings/marketstat"); List<?> results = xpathSelector.selectNodes(doc); for (Iterator<?> iter = results.iterator(); iter.hasNext();) { Element elem = (Element) iter.next(); Attribute attr = elem.attribute("defaultprice"); if (attr != null) { //May not exist (in early versions) String currentValue = attr.getText(); attr.setText(convertDefaultPriceMode(currentValue)); } } }
void setVersion(final File xml, final int newVersion) throws DocumentException { SAXReader xmlReader = new SAXReader(); Document doc = xmlReader.read(xml); XPath xpathSelector = DocumentHelper.createXPath("/settings"); List<?> results = xpathSelector.selectNodes(doc); for (Iterator<?> iter = results.iterator(); iter.hasNext();) { Element element = (Element) iter.next(); Attribute attr = element.attribute("version"); if (attr == null) { element.add(new DefaultAttribute("version", String.valueOf(newVersion))); } else { attr.setText(String.valueOf(newVersion)); } } try { FileOutputStream fos = new FileOutputStream(xml); OutputFormat outformat = OutputFormat.createPrettyPrint(); outformat.setEncoding("UTF-16"); XMLWriter writer = new XMLWriter(fos, outformat); writer.write(doc); writer.flush(); } catch (IOException ioe) { LOG.error("Failed to update the serttings.xml version number", ioe); throw new RuntimeException(ioe); } }
String typeText = type.getText(); typeText = typeText.replaceAll("ns[0-9]+", namespace.getPrefix()); type.setText(typeText);