public static Element xmlToApiElement(Document doc, Doc.E element, Wavelet wavelet) { if (element == null) { return null; } ElementSerializer serializer = tagToSerializer.get(doc.getTagName(element)); if (serializer == null) { return null; } return serializer.fromXml(doc, element, wavelet); }
/** * Checks whether a manifest could be created on a document. */ public static boolean documentHasManifest(Document doc) { // True if the document has a top-level <MANIFEST_TOP_TAG> element. // The schema implies this is the only possible top element. Doc.E top = DocHelper.getFirstChildElement(doc, doc.getDocumentElement()); return (top != null) && doc.getTagName(top).equals(MANIFEST_TOP_TAG); }
@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.E childAsElement = doc.asElement(child); if (childAsElement != null) { String key = doc.getTagName(childAsElement); if (key.equals("state")) { key = key + " " + doc.getAttributes(childAsElement).get("name");
if (doc.getTagName(child).equals("name")) { gadget.setProperty("name", doc.getAttribute(child, "value")); } else if (doc.getTagName(child).equals("title")) { gadget.setProperty("title", doc.getAttribute(child, "value")); } else if (doc.getTagName(child).equals("thumbnail")) { gadget.setProperty("thumbnail", doc.getAttribute(child, "value")); } else if (doc.getTagName(child).equals("pref")) { gadget.setProperty("pref", doc.getAttribute(child, "value")); } else if (doc.getTagName(child).equals("state")) { gadget.setProperty(doc.getAttribute(child, "name"), doc.getAttribute(child, "value")); } else if (doc.getTagName(child).equals("category")) { gadget.setProperty("category", doc.getAttribute(child, "name"));
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; } });
@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; } });