Search in sources :

Example 31 with Text

use of org.jdom2.Text in project pwm by pwm-project.

the class StoredConfigurationImpl method writeConfigProperty.

@Override
public void writeConfigProperty(final ConfigurationProperty propertyName, final String value) {
    domModifyLock.writeLock().lock();
    try {
        final XPathExpression xp = XPathBuilder.xpathForConfigProperty(propertyName);
        final List<Element> propertyElements = xp.evaluate(document);
        for (final Element propertyElement : propertyElements) {
            propertyElement.detach();
        }
        final Element propertyElement = new Element(XML_ELEMENT_PROPERTY);
        propertyElement.setAttribute(new Attribute(XML_ATTRIBUTE_KEY, propertyName.getKey()));
        propertyElement.setContent(new Text(value));
        if (null == XPathBuilder.xpathForConfigProperties().evaluateFirst(document)) {
            final Element configProperties = new Element(XML_ELEMENT_PROPERTIES);
            configProperties.setAttribute(new Attribute(XML_ATTRIBUTE_TYPE, XML_ATTRIBUTE_VALUE_CONFIG));
            document.getRootElement().addContent(configProperties);
        }
        final XPathExpression xp2 = XPathBuilder.xpathForConfigProperties();
        final Element propertiesElement = (Element) xp2.evaluateFirst(document);
        propertyElement.setAttribute(XML_ATTRIBUTE_MODIFY_TIME, JavaHelper.toIsoDate(Instant.now()));
        propertiesElement.setAttribute(XML_ATTRIBUTE_MODIFY_TIME, JavaHelper.toIsoDate(Instant.now()));
        propertiesElement.addContent(propertyElement);
    } finally {
        domModifyLock.writeLock().unlock();
    }
}
Also used : XPathExpression(org.jdom2.xpath.XPathExpression) Attribute(org.jdom2.Attribute) Element(org.jdom2.Element) Text(org.jdom2.Text)

Example 32 with Text

use of org.jdom2.Text in project mycore by MyCoRe-Org.

the class MCRMetaHistoryDate method createXML.

/**
 * This method creates a XML stream for all data in this class, defined by
 * the MyCoRe XML MCRMetaHistoryDate definition for the given subtag.
 *
 * @exception MCRException
 *                if the content of this class is not valid
 * @return a JDOM Element with the XML MCRMetaHistoryDate part
 */
@Override
public org.jdom2.Element createXML() throws MCRException {
    Element elm = super.createXML();
    for (MCRMetaHistoryDateText text : texts) {
        Element elmt = new Element("text");
        elmt.addContent(text.getText());
        elmt.setAttribute("lang", text.getLang(), Namespace.XML_NAMESPACE);
        elm.addContent(elmt);
    }
    elm.addContent(new org.jdom2.Element("calendar").addContent(calendar));
    elm.addContent(new org.jdom2.Element("ivon").addContent(Integer.toString(ivon)));
    elm.addContent(new org.jdom2.Element("von").addContent(getVonToString()));
    elm.addContent(new org.jdom2.Element("ibis").addContent(Integer.toString(ibis)));
    elm.addContent(new org.jdom2.Element("bis").addContent(getBisToString()));
    return elm;
}
Also used : Element(org.jdom2.Element)

Example 33 with Text

use of org.jdom2.Text in project mycore by MyCoRe-Org.

the class MCRMetaHistoryDate method setFromDOM.

/**
 * This method reads the XML input stream part from a DOM part for the
 * metadata of the document.
 *
 * @param element
 *            a relevant JDOM element for the metadata
 */
@Override
public void setFromDOM(org.jdom2.Element element) {
    super.setFromDOM(element);
    // clear
    texts.clear();
    for (Element textElement : element.getChildren("text")) {
        String text = textElement.getText();
        String lang = textElement.getAttributeValue("lang", Namespace.XML_NAMESPACE);
        if (lang != null) {
            setText(text, lang);
        } else {
            setText(text);
        }
    }
    setCalendar(element.getChildTextTrim("calendar"));
    setVonDate(element.getChildTextTrim("von"), calendar);
    setBisDate(element.getChildTextTrim("bis"), calendar);
}
Also used : Element(org.jdom2.Element)

Example 34 with Text

use of org.jdom2.Text in project mycore by MyCoRe-Org.

the class MCRMetaLangText method createXML.

/**
 * This method create a XML stream for all data in this class, defined by
 * the MyCoRe XML MCRMetaLangText definition for the given subtag.
 *
 * @exception MCRException
 *                if the content of this class is not valid
 * @return a JDOM Element with the XML MCRMetaLangText part
 */
@Override
public org.jdom2.Element createXML() throws MCRException {
    Element elm = super.createXML();
    if (form != null && (form = form.trim()).length() != 0) {
        elm.setAttribute("form", form);
    }
    elm.addContent(text);
    return elm;
}
Also used : Element(org.jdom2.Element)

Example 35 with Text

use of org.jdom2.Text in project mycore by MyCoRe-Org.

the class MCRNodeBuilderTest method testBuildingElements.

@Test
public void testBuildingElements() throws JaxenException, JDOMException {
    Element built = new MCRNodeBuilder().buildElement("element", null, null);
    assertNotNull(built);
    assertEquals("element", built.getName());
    assertTrue(built.getText().isEmpty());
    built = new MCRNodeBuilder().buildElement("element", "text", null);
    assertNotNull(built);
    assertEquals("element", built.getName());
    assertEquals("text", built.getText());
    Element root = new Element("root");
    built = new MCRNodeBuilder().buildElement("element", null, root);
    assertNotNull(built);
    assertEquals("element", built.getName());
    assertNotNull(built.getParentElement());
    assertEquals("root", built.getParentElement().getName());
}
Also used : Element(org.jdom2.Element) Test(org.junit.Test)

Aggregations

Element (org.jdom2.Element)83 Document (org.jdom2.Document)36 File (java.io.File)21 ProcessingInstruction (org.jdom2.ProcessingInstruction)17 IOException (java.io.IOException)14 Text (org.jdom2.Text)12 Attribute (org.jdom2.Attribute)11 XMLOutputter (org.jdom2.output.XMLOutputter)10 Test (org.junit.Test)10 HashMap (java.util.HashMap)9 XmlFile (jmri.jmrit.XmlFile)9 ArrayList (java.util.ArrayList)6 JDOMException (org.jdom2.JDOMException)6 StringWriter (java.io.StringWriter)5 NamedIcon (jmri.jmrit.catalog.NamedIcon)5 FileOutputStream (java.io.FileOutputStream)4 LinkedHashMap (java.util.LinkedHashMap)4 FileNotFoundException (java.io.FileNotFoundException)3 URL (java.net.URL)3 Locale (java.util.Locale)3