use of org.w3c.dom.Text in project sling by apache.
the class XmlRenderer method testFailure.
@Override
public void testFailure(Failure failure) throws Exception {
super.testFailure(failure);
failures.add(failure.getDescription());
Element nested = doc.createElement("failure");
Element currentTest = testElements.get(failure.getDescription());
currentTest.appendChild(nested);
String message = failure.getMessage();
if (message != null && message.length() > 0) {
nested.setAttribute("message", message);
}
nested.setAttribute("type", failure.getClass().getName());
String strace = getException(failure.getException());
strace = BaseTestRunner.getFilteredTrace(strace);
Text trace = doc.createTextNode(strace);
nested.appendChild(trace);
}
use of org.w3c.dom.Text in project winery by eclipse.
the class GenericArtifactsResource method storeProperties.
private void storeProperties(ArtifactTemplateId artifactTemplateId, DefinitionsChildId typeId, String name) {
// We generate the properties by hand instead of using JAX-B as using JAX-B causes issues at org.eclipse.winery.common.ModelUtilities.getPropertiesKV(TEntityTemplate):
// getAny() does not always return "w3c.dom.element" anymore
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
GenericArtifactsResource.LOGGER.error(e.getMessage(), e);
return;
}
Document doc = builder.newDocument();
String namespace = QNames.QNAME_ARTIFACT_TYPE_WAR.getNamespaceURI();
Element root = doc.createElementNS(namespace, "WSProperties");
doc.appendChild(root);
Element element = doc.createElementNS(namespace, "ServiceEndpoint");
Text text = doc.createTextNode("/services/" + name + "Port");
element.appendChild(text);
root.appendChild(element);
element = doc.createElementNS(namespace, "PortType");
text = doc.createTextNode("{" + typeId.getNamespace().getDecoded() + "}" + name);
element.appendChild(text);
root.appendChild(element);
element = doc.createElementNS(namespace, "InvocationType");
text = doc.createTextNode("SOAP/HTTP");
element.appendChild(text);
root.appendChild(element);
Properties properties = new Properties();
properties.setAny(root);
final IRepository repository = RepositoryFactory.getRepository();
final TArtifactTemplate artifactTemplate = repository.getElement(artifactTemplateId);
artifactTemplate.setProperties(properties);
try {
repository.setElement(artifactTemplateId, artifactTemplate);
} catch (IOException e) {
throw new WebApplicationException(e);
}
}
use of org.w3c.dom.Text in project gradle by gradle.
the class ClassDocPropertiesBuilder method build.
/**
* Builds the properties of the given class
*/
void build(ClassDoc classDoc) {
Element thead = getChild(classDoc.getPropertiesTable(), "thead");
Element tr = getChild(thead, "tr");
List<Element> header = children(tr, "td");
if (header.size() < 1) {
throw new RuntimeException(String.format("Expected at least 1 <td> in <thead>/<tr>, found: %s", header));
}
Map<String, Element> inheritedValueTitleMapping = new HashMap<String, Element>();
List<Element> valueTitles = new ArrayList<Element>();
for (int i = 1; i < header.size(); i++) {
Element element = header.get(i);
Element override = findChild(element, "overrides");
if (override != null) {
element.removeChild(override);
inheritedValueTitleMapping.put(override.getTextContent(), element);
}
Node firstChild = element.getFirstChild();
if (firstChild instanceof Text) {
firstChild.setTextContent(firstChild.getTextContent().replaceFirst("^\\s+", ""));
}
Node lastChild = element.getLastChild();
if (lastChild instanceof Text) {
lastChild.setTextContent(lastChild.getTextContent().replaceFirst("\\s+$", ""));
}
valueTitles.add(element);
}
// adding the properties from the super class onto the inheriting class
Map<String, PropertyDoc> props = new TreeMap<String, PropertyDoc>();
List<ClassDoc> superTypes = classDoc.getSuperTypes();
for (ClassDoc superType : superTypes) {
LOG.info("Getting properties for {}", superType.getName());
for (PropertyDoc propertyDoc : superType.getClassProperties()) {
Map<String, ExtraAttributeDoc> additionalValues = new LinkedHashMap<String, ExtraAttributeDoc>();
for (ExtraAttributeDoc attributeDoc : propertyDoc.getAdditionalValues()) {
String key = attributeDoc.getKey();
if (inheritedValueTitleMapping.get(key) != null) {
ExtraAttributeDoc newAttribute = new ExtraAttributeDoc(inheritedValueTitleMapping.get(key), attributeDoc.getValueCell());
additionalValues.put(newAttribute.getKey(), newAttribute);
} else {
additionalValues.put(key, attributeDoc);
}
}
props.put(propertyDoc.getName(), propertyDoc.forClass(classDoc, additionalValues.values()));
}
}
for (Element row : children(classDoc.getPropertiesTable(), "tr")) {
List<Element> cells = children(row, "td");
if (cells.size() != header.size()) {
throw new RuntimeException(String.format("Expected %s <td> elements in <tr>, found: %s", header.size(), tr));
}
String propName = cells.get(0).getTextContent().trim();
PropertyMetaData property = classDoc.getClassMetaData().findProperty(propName);
if (property == null) {
throw new RuntimeException(String.format("No metadata for property '%s.%s'. Available properties: %s", classDoc.getName(), propName, classDoc.getClassMetaData().getPropertyNames()));
}
Map<String, ExtraAttributeDoc> additionalValues = new LinkedHashMap<String, ExtraAttributeDoc>();
if (!superTypes.isEmpty()) {
PropertyDoc overriddenProp = props.get(propName);
if (overriddenProp != null) {
for (ExtraAttributeDoc attributeDoc : overriddenProp.getAdditionalValues()) {
additionalValues.put(attributeDoc.getKey(), attributeDoc);
}
}
}
for (int i = 1; i < header.size(); i++) {
if (cells.get(i).getFirstChild() == null) {
continue;
}
ExtraAttributeDoc attributeDoc = new ExtraAttributeDoc(valueTitles.get(i - 1), cells.get(i));
additionalValues.put(attributeDoc.getKey(), attributeDoc);
}
PropertyDoc propertyDoc = new PropertyDoc(property, javadocConverter.parse(property, listener).getDocbook(), new ArrayList<ExtraAttributeDoc>(additionalValues.values()));
if (propertyDoc.getDescription() == null) {
throw new RuntimeException(String.format("Docbook content for '%s.%s' does not contain a description paragraph.", classDoc.getName(), propName));
}
props.put(propName, propertyDoc);
}
for (PropertyDoc propertyDoc : props.values()) {
classDoc.addClassProperty(propertyDoc);
}
}
use of org.w3c.dom.Text in project gradle by gradle.
the class JavadocConverter method adjustGetterComment.
private void adjustGetterComment(DocCommentImpl docComment) {
// Replace 'Returns the ...' with 'The ...'
List<Element> nodes = docComment.getDocbook();
if (nodes.isEmpty()) {
return;
}
Element firstNode = nodes.get(0);
if (!firstNode.getNodeName().equals("para") || !(firstNode.getFirstChild() instanceof Text)) {
return;
}
Text comment = (Text) firstNode.getFirstChild();
Pattern getterPattern = Pattern.compile("returns\\s+(the|whether)\\s+", Pattern.CASE_INSENSITIVE);
Matcher matcher = getterPattern.matcher(comment.getData());
if (matcher.lookingAt()) {
String theOrWhether = matcher.group(1).toLowerCase(Locale.US);
comment.setData(StringUtils.capitalize(theOrWhether) + " " + comment.getData().substring(matcher.end()));
}
}
use of org.w3c.dom.Text in project Lucee by lucee.
the class XMLTextStruct method replaceWholeText.
// used only with java 7, do not set @Override
public Text replaceWholeText(String content) throws DOMException {
Text oldText = text;
Document doc = XMLUtil.getDocument(text);
Text newText = doc.createTextNode(content);
Node parent = oldText.getParentNode();
parent.replaceChild(XMLCaster.toRawNode(newText), XMLCaster.toRawNode(oldText));
return oldText;
}
Aggregations