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();
}
}
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;
}
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);
}
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;
}
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());
}
Aggregations