List of usage examples for com.google.gwt.xml.client Node getParentNode
Node getParentNode();
From source file:com.bramosystems.oss.player.playlist.client.impl.SAXParser.java
License:Apache License
private void processNodes(NodeList node) throws ParseException { for (int i = 0; i < node.getLength(); i++) { Node nd = node.item(i); switch (nd.getNodeType()) { case Node.ELEMENT_NODE: HashMap<String, String> attr = new HashMap<String, String>(); NamedNodeMap nnm = nd.getAttributes(); for (int j = 0; j < nnm.getLength(); j++) { Node nm = nnm.item(j); attr.put(nm.getNodeName(), nm.getNodeValue()); }/*from w w w . j av a2s.c o m*/ handler.onNodeStart(nd.getNodeName(), attr, nd.getNamespaceURI()); processNodes(nd.getChildNodes()); handler.onNodeEnd(nd.getNodeName()); break; case Node.TEXT_NODE: handler.setNodeValue(nd.getParentNode().getNodeName(), nd.getNodeValue()); } } }
From source file:com.colinalworth.xmlview.client.ElementCell.java
License:Apache License
/** * @param context//from w w w.j a v a 2 s . c o m * @param value */ private void finishEdit(Node value, com.google.gwt.dom.client.Element target) { ElementCell.ViewState state = updateViewState(lastKey, value, target); String newValue = target.<InputElement>cast().getValue(); boolean valid = true; Element parent = (Element) value.getParentNode(); switch (state.section) { case AttributeName: Attr attr = (Attr) value; //TODO this might lose namespace data parent.removeAttribute(attr.getName()); parent.setAttribute(newValue, attr.getValue()); valid = validator.isAttributeNameValid(parent.getAttributeNode(attr.getName()), parent); break; case AttributeValue: value.setNodeValue(newValue); valid = validator.isAttributeValueValid((Attr) value, parent); break; case Content: ((CharacterData) value).setData(newValue); valid = validator.isContentsValid((CharacterData) value); break; case TagName: Element elt = (Element) value; Element replacement = elt.getOwnerDocument().createElement(newValue); while (elt.getChildNodes().getLength() != 0) { replacement.appendChild(elt.getChildNodes().item(0)); } //TODO this might lose namespace data for (int i = 0; i < elt.getAttributes().getLength(); i++) { Attr a = (Attr) elt.getAttributes().item(i); replacement.setAttribute(a.getName(), a.getValue()); } parent.replaceChild(replacement, elt); valid = validator.isElementNameValid(replacement); } if (!valid) { Window.alert("Seems to be invalid: " + newValue + " in " + parent.getNodeName()); //TODO mark invalid } this.lastKey = null; target.blur(); }
From source file:com.colinalworth.xmlview.client.XmlTreeViewModel.java
License:Apache License
/** * Forces a redraw of the element, or its first visible ancestor * //from w w w. j a v a 2 s . co m * @param node * @param parent */ public void redrawChildren(Node node, Node parent) { ValueUpdater<Node> updater = refreshAccess.get(node); while (updater == null) { updater = refreshAccess.get(parent); parent = parent.getParentNode(); } updater.update(null); }
From source file:fi.jyu.student.jatahama.onlineinquirytool.shared.DOMTreeWalker.java
License:Open Source License
public void gotoNode(Node n) { current = n;//from w w w .j av a 2 s . c om // Must count parents to get correct level Node c = n; level = 0; while (c.getParentNode() != null) { level++; c = c.getParentNode(); } }
From source file:org.gk.engine.client.build.layout.XBoxLayoutData.java
License:Open Source License
public XBoxLayoutData(Node node, List subNodes) { super(node, subNodes); flex = super.getAttribute("flex", ""); max = super.getAttribute("max", ""); min = super.getAttribute("min", ""); Node parentNode = node.getParentNode(); if (parentNode != null) { parentLayout = NodeUtils.getNodeValue(parentNode, "layout", ""); }/* w w w . ja v a 2 s. co m*/ }
From source file:org.gk.engine.client.event.attrib.AddAttribute.java
License:Open Source License
/** * <pre>//w ww. j a v a2 s. c o m * MapkeynodeData(??xml),parentNode(???) * key:parentNode , value: {'nodeId':'??' , 'idx':-1} * @param tree * @param value * </pre> */ private void addTreeNode(gkXMLTreePanelIC tree, Map value) { // nodeId gkMap addInfo = new gkMap(value); assert (addInfo.containsKey(gkXMLTreePanelIC.PARENT_NODE)) : "parentNode not found" + value; assert (addInfo.containsKey(gkXMLTreePanelIC.NODE_DATA)) : "nodeData not found" + value; // parentNode??TreeNode Map parentNodeInfo = addInfo.get(gkXMLTreePanelIC.PARENT_NODE); String parentNodeId = (String) parentNodeInfo.get(gkXMLTreePanelIC.ID); ModelData parentMd = tree.getTree().getStore().findModel(parentNodeId); assert parentMd != null : "parentNode not found exception:" + parentNodeInfo; // xml String nodeData = (String) addInfo.get(gkXMLTreePanelIC.NODE_DATA); Node newXmlNode = XMLParser.parse("<root>" + nodeData + "</root>").getFirstChild(); tree.preprocessNode(tree.getTree().getStore(), newXmlNode, parentMd); Node node = (Node) parentMd.get(gkXMLTreePanelIC.NODE); newXmlNode.getParentNode().removeChild(newXmlNode); node.appendChild(newXmlNode.getFirstChild()); }
From source file:org.gk.engine.client.event.attrib.DelAttribute.java
License:Open Source License
@Override public void setAttributeValue(Component com, Object value) { if (com instanceof gkGridIC) { ((gkGridIC) com).removeRow();/*from ww w.j a v a 2 s.c om*/ } else if (com instanceof gkTreeDirPanelIC) { gkTreeDirPanelIC tree = (gkTreeDirPanelIC) com; ModelData md = null; if (value instanceof Map) { Map info = (Map) value; assert info.containsKey(gkTreeDirPanelIC.ID) : "nodeId not Found " + info; md = tree.getStore().findModel((String) info.get(gkTreeDirPanelIC.ID)); } assert md != null : "can't found TreeNode " + md; tree.getStore().remove(md); } else if (com instanceof gkXMLTreePanelIC) { gkXMLTreePanelIC tree = (gkXMLTreePanelIC) com; TreeStore store = tree.getTree().getStore(); ModelData md = null; if (value instanceof Map) { Map info = (Map) value; assert info.containsKey(gkXMLTreePanelIC.ID) : "nodeId not Found " + info; md = store.findModel((String) info.get(gkXMLTreePanelIC.ID)); } else { md = tree.getTree().getSelectionModel().getSelectedItem(); } assert md != null : "can't found TreeNode " + md; Node node = (Node) md.get(gkXMLTreePanelIC.NODE); node.getParentNode().removeChild(node); store.remove(md); } else if (com instanceof TabPanel) { if (value instanceof String) { TabPanel tabPanel = (TabPanel) com; tabPanel.remove(tabPanel.findItem((String) value, false)); Engine.get().removeComponent((String) value); } } else if (com instanceof ComboBox) { ComboBox combo = (ComboBox) com; // comboBox , ?? Map if (value instanceof String) { // valuecomboPropertyEditorModelData ModelData md = combo.getPropertyEditor().convertStringValue((String) value); // storeModelData combo.getStore().remove(md); // storecomboPropertyEditor combo.getPropertyEditor().setList(combo.getStore().getModels()); // ?value combo.clear(); } } }
From source file:org.gk.ui.client.com.tree.xml.gkTreeHandler.java
License:Open Source License
public gkTreeHandler(TreePanel tree, final Operation op) { new TreePanelDragSource(tree) { /**//from www .ja v a 2 s . c o m * ?drop???TreeNode?path */ @Override protected void onDragDrop(DNDEvent event) { event.setOperation(op); } }; target = new TreePanelDropTarget(tree) { @Override protected void onDragFail(DNDEvent event) { // treetraceMouseOver tree.setTrackMouseOver(true); super.onDragFail(event); } @Override protected void showFeedback(DNDEvent event) { final TreeNode overItem = tree.findNode(event.getTarget()); if (overItem == null) { clearStyles(event); } // :????? if (overItem != null && event.getDropTarget().getComponent() == event.getDragSource().getComponent()) { List<TreeModel> list = event.getData(); ModelData overModel = overItem.getModel(); for (int i = 0; i < list.size(); i++) { ModelData sel = (ModelData) list.get(i).get("model"); if (overModel == sel) { clearStyles(event); return; } List<ModelData> children = tree.getStore().getChildren(sel, true); if (children.contains(overItem.getModel())) { clearStyles(event); return; } } } // ================================ boolean append = feedback == Feedback.APPEND || feedback == Feedback.BOTH; boolean insert = feedback == Feedback.INSERT || feedback == Feedback.BOTH; if (overItem == null) { handleAppend(event, overItem); } else if (insert) { handleInsert(event, overItem); } else if ((!overItem.isLeaf() || isAllowDropOnLeaf()) && append) { handleAppend(event, overItem); } else { if (activeItem != null) { tree.getView().onDropChange(activeItem, false); } status = -1; activeItem = null; appendItem = null; Insert.get().hide(); event.getStatus().setStatus(false); } // if (activeItem == null) { event.getStatus().setStatus(false); } } @Override protected void onDragEnter(DNDEvent event) { removeDuplicateNode(event); super.onDragEnter(event); super.clearStyles(event);// ? IE ???? } private void removeDuplicateNode(DNDEvent event) { List<TreeStoreModel> modelList = (List<TreeStoreModel>) event.getData(); // 1. Parent Node Set<String> parentNodeSet = new HashSet<String>(); for (TreeStoreModel model : modelList) { Node node = model.getModel().get("node"); if (!model.isLeaf()) { parentNodeSet.add(node.toString()); } } // 2.?? Leaf Node (Leaf's Parent in parentNodeSet) Iterator<TreeStoreModel> modelIt = modelList.iterator(); while (modelIt.hasNext()) { TreeStoreModel model = modelIt.next(); Node node = model.getModel().get("node"); if (model.isLeaf()) { if (node.getParentNode() != null && parentNodeSet.contains(node.getParentNode().toString())) { modelIt.remove(); } } else { parentNodeSet.add(node.toString()); } } // 3.? event.getStatus() .update(Format.substitute(event.getDragSource().getStatusText(), modelList.size())); } /** * ? */ @Override protected void onDragDrop(DNDEvent e) { TreePanel srcTree = (TreePanel) e.getDragSource().getComponent(); if (activeItem == null) { super.onDragDrop(e); return; } List treeStoreModelList = (List) e.getData(); // ?XML Node Node dropNode = activeItem.getModel().get("node"); Node dropParentNode = dropNode.getParentNode(); // state=1,activeItem????Node // state=0,?TreeNode // ?xml doc????.??????? if (dropParentNode != null && dropParentNode.toString().equals(dropNode.toString())) { status = -1; } // Copy Mode // 1.???? // 2.?appendChild?? // 3.?? if (Operation.COPY == e.getOperation()) { List newModels = genNewTreeStoreModelList(srcTree, treeStoreModelList); e.setData(newModels); treeStoreModelList = newModels; } List<Node> dragNodeList = getNodeList(treeStoreModelList); String tarNodeId = ""; // 2011/06/28 ??? TreeNode srcTreeNode = srcTree.findNode((Element) e.getDragEvent().getStartElement()); switch (status) { case -1: // ? for (Node node : dragNodeList) { dropNode.appendChild(node); } tarNodeId = TreeUtils.getNodeId(activeItem, srcTreeNode, status); break; case 1: // ? Node siblingNode = dropNode.getNextSibling(); for (Node node : dragNodeList) { dropParentNode.insertBefore(node, siblingNode); } // ? tarNodeId = TreeUtils.getNodeId(activeItem, srcTreeNode, 1); break; case 0: // ? for (Node node : dragNodeList) { dropParentNode.insertBefore(node, dropNode); } // ? tarNodeId = TreeUtils.getNodeId(activeItem, srcTreeNode, 0); break; } // Move Mode // ??tree if (Operation.MOVE == e.getOperation()) { List<TreeModel> sel = e.getData(); for (TreeModel tm : sel) { srcTree.getStore().remove((ModelData) tm.get("model")); } } // update(compositeInfo(srcTree, tree, TreeUtils.getNodeId(srcTreeNode), tarNodeId)); super.onDragDrop(e); } }; target.setAllowSelfAsSource(true); target.setFeedback(Feedback.BOTH); }
From source file:org.gwtcmis.unmarshallers.parser.AtomEntryParser.java
License:Open Source License
/** * @param nodeList node list/* ww w . j a va2 s . c om*/ * @return {@link EntryInfo} */ public static EntryInfo getEntryInfo(NodeList nodeList) { EntryInfo entryInfo = new EntryInfo(); int i = nodeList.getLength() - 1; //parse entry nodes to form entry info while ((i >= 0) && (nodeList.getLength() > 0)) { Node item = nodeList.item(i); String value = (item.getFirstChild() == null) ? "" : item.getFirstChild().getNodeValue(); QName qName = new QName(item.getNodeName(), item.getNamespaceURI()); if (CMIS.ATOM_AUTHOR.equals(qName)) { AtomAuthor author = AtomAuthorParser.parse(item); entryInfo.setAuthor(author); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_CONTENT.equals(qName)) { AtomContentType content = new AtomContentType(); for (int k = 0; k < item.getAttributes().getLength(); k++) { if (item.getAttributes().item(k).getNodeName().equals(CMIS.SOURCE)) { content.setSource(item.getAttributes().item(k).getNodeValue()); } else if (item.getAttributes().item(k).getNodeName().equals(CMIS.TYPE)) { content.setType(item.getAttributes().item(k).getNodeValue()); } } entryInfo.setContent(content); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_ID.equals(qName)) { entryInfo.setId(value); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_SUMMARY.equals(qName)) { entryInfo.setSummary(value); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_TITLE.equals(qName)) { entryInfo.setTitle(value); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_UPDATED.equals(qName)) { entryInfo.setUpdated(DateUtil.parseDate(value)); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_PUBLISHED.equals(qName)) { entryInfo.setPublished(DateUtil.parseDate(value)); item.getParentNode().removeChild(item); } else if (CMIS.ATOM_LINK.equals(qName)) { entryInfo.getLinks().add(AtomLinkParser.parse(item)); item.getParentNode().removeChild(item); } i--; } return entryInfo; }
From source file:org.openxdata.sharedlib.client.model.PageDef.java
/** * Moves a question up by one position in a list of questions. * // www .j a va 2 s . co m * @param questions the list of questions. * @param questionDef the question to move. */ public static void moveQuestionUp(Vector<QuestionDef> questions, QuestionDef questionDef) { int index = questions.indexOf(questionDef); //Not relying on group node because some forms have no groups Element controlNode = questionDef.getControlNode(); Element parentNode = controlNode != null ? (Element) controlNode.getParentNode() : null; if (questionDef.getDataType() == QuestionType.REPEAT && controlNode != null) { controlNode = (Element) controlNode.getParentNode(); parentNode = (Element) parentNode.getParentNode(); } questions.remove(questionDef); //Store the question to replace QuestionDef currentQuestionDef = (QuestionDef) questions.elementAt(index - 1); if (controlNode != null && parentNode != null && currentQuestionDef.getControlNode() != null) parentNode.removeChild(controlNode); if (!(questionDef.getBinding().indexOf('/') > -1)) { if (questionDef.getDataNode() != null && questionDef.getDataNode().getParentNode() != null && currentQuestionDef.getDataNode() != null) questionDef.getDataNode().getParentNode().removeChild(questionDef.getDataNode()); } if (questionDef.getBindNode() != null && questionDef.getBindNode().getParentNode() != null && currentQuestionDef.getBindNode() != null) questionDef.getBindNode().getParentNode().removeChild(questionDef.getBindNode()); List<QuestionDef> list = new ArrayList<QuestionDef>(); while (questions.size() >= index) { currentQuestionDef = (QuestionDef) questions.elementAt(index - 1); list.add(currentQuestionDef); questions.remove(currentQuestionDef); } questions.add(questionDef); for (int i = 0; i < list.size(); i++) { if (i == 0 && controlNode != null) { QuestionDef qtnDef = (QuestionDef) list.get(i); if (qtnDef.getControlNode() != null && parentNode != null) { Node sibNode = qtnDef.getControlNode(); if (qtnDef.getDataType() == QuestionType.REPEAT) sibNode = sibNode.getParentNode(); parentNode.insertBefore(controlNode, sibNode); } //move data node (We are not moving nested data nodes just to avoid complications if (!(questionDef.getBinding().indexOf('/') > -1 || qtnDef.getBinding().indexOf('/') > -1)) { if (qtnDef.getDataNode() != null && qtnDef.getDataNode().getParentNode() != null && questionDef.getDataNode() != null) qtnDef.getDataNode().getParentNode().insertBefore(questionDef.getDataNode(), qtnDef.getDataNode()); } //move binding node if (qtnDef.getBindNode() != null && qtnDef.getBindNode().getParentNode() != null && questionDef.getBindNode() != null) qtnDef.getBindNode().getParentNode().insertBefore(questionDef.getBindNode(), qtnDef.getBindNode()); } questions.add(list.get(i)); } }