@Override public Element fromXml(Document doc, E element, Wavelet wavelet) { // Set the text content. We're doing a little mini textview here. StringBuilder value = new StringBuilder(); Doc.N node = doc.getFirstChild(element); boolean first = true; while (node != null) { Doc.T text = doc.asText(node); if (text != null) { value.append(doc.getData(text)); } Doc.E docElement = doc.asElement(node); if (docElement != null && doc.getTagName(docElement).equals(LineContainers.LINE_TAGNAME)) { if (first) { first = false; } else { value.append('\n'); } } node = doc.getNextSibling(node); } return createFormElement(doc, element, value.toString()); } });
doc.getNextSibling(child)) { Doc.E childAsElement = doc.asElement(child); if (childAsElement != null) {
public static Map<Integer, Element> serialize(Document doc, Wavelet wavelet) { Map<Integer, Element> result = Maps.newHashMap(); ApiView apiView = new ApiView(doc, wavelet); Doc.N node = Blips.getBody(doc); if (node != null) { // The node is the body; we're after its children node = doc.getFirstChild(node); } while (node != null) { E element = doc.asElement(node); if (element != null) { Element apiElement = xmlToApiElement(doc, element, wavelet); if (apiElement != null) { result.put(apiView.transformToTextOffset(doc.getLocation(element)), apiElement); } } node = doc.getNextSibling(node); } return result; }
private String getCaption(Document doc, E element) { N node = doc.getFirstChild(element); while (node != null) { E cElement = doc.asElement(node); if (cElement != null && doc.getTagName(cElement).equals(CAPTION_TAG) && doc.getFirstChild(cElement) != null) { return doc.getData(doc.asText(doc.getFirstChild(cElement))); } node = doc.getNextSibling(node); } return null; } });
private void parse(Document doc) { E bodyElement = Blips.getBody(doc); if (bodyElement != null) { N child = doc.getFirstChild(bodyElement); while (child != null) { T asText = doc.asText(child); int xmlPos = doc.getLocation(child); if (asText != null) { bits.add(new Bit(doc.getData(asText), xmlPos)); } else { E xmlElement = doc.asElement(child); if (xmlElement != null) { Element element = ElementSerializer.xmlToApiElement(doc, xmlElement, wavelet); // element can be null, but we still want to note that there // was something unknown. N next = doc.getNextSibling(child); int xmlSize; if (next != null) { xmlSize = doc.getLocation(next) - xmlPos; } else { // At the end of the document. XmlSize is the rest. xmlSize = doc.size() - 1 - xmlPos; } bits.add(new Bit(element, xmlPos, xmlSize)); } } child = doc.getNextSibling(child); } } }
@Override public Element fromXml(Document doc, E element, Wavelet wavelet) { FormElement formElement = createFormElement(doc, element); Doc.N firstChild = doc.getFirstChild(element); // Get the default value from the caption. if (firstChild != null && doc.getTagName(doc.asElement(firstChild)).equals(CAPTION_TAG) && doc.getFirstChild(doc.asElement(firstChild)) != null) { formElement.setDefaultValue(doc.getData(doc.asText(doc.getFirstChild( doc.asElement(firstChild))))); } // Get the value from the last click event. if (firstChild != null && doc.getNextSibling(firstChild) != null && doc.asElement(doc.getFirstChild(doc.getNextSibling(firstChild))) != null && doc.getTagName(doc.asElement(doc.getFirstChild(doc.getNextSibling( firstChild)))).equals(CLICK_TAG)) { formElement.setValue("clicked"); } else { formElement.setValue(formElement.getDefaultValue()); } return formElement; } });
gadget.setProperty("category", doc.getAttribute(child, "name")); child = doc.asElement(doc.getNextSibling(child));