public void body(String namespace, String name, String text) throws Exception { super.body(namespace, name, text); if (text != null) { ((XmlNodeData) this.treeNode.getData()).setText(text.trim()); } }
public void end(String namespace, String name) throws Exception { super.end(namespace, name); level--; if (idsList.size() - 1 > level + 1) { // idsList grew larger than we really need idsList.remove(idsList.size() - 1); } if (exclusionSets.size() - 1 > level + 1) { // the same condition as above exclusionSets.remove(exclusionSets.size() - 1); } this.treeNode = (TreeNode) this.treeNodesList.remove(this.treeNodesList.size() - 1); }
public void begin(String namespace, String name, Attributes attributes) throws Exception { super.begin(namespace, name, attributes); level++; XmlNodeData xmlNodeData = new XmlNodeData(); xmlNodeData.setName(name); xmlNodeData.setNamespace(namespace); String id = null; if (attributes != null) { int length = attributes.getLength(); for (int i = 0; i < length; i++) { xmlNodeData.setAttribute(attributes.getQName(i), attributes.getValue(i)); } id = attributes.getValue("id"); } if (exclusionSets.size() == level) { exclusionSets.add(null); } if (id == null || id.length() == 0) { int currentId = 0; if (idsList.size() <= level) { for (int i = idsList.size(); i <= level; i++) { idsList.add(null); } } else { Integer integer = (Integer) idsList.get(level); currentId = integer.intValue() + 1; } Set exclusions = (Set) exclusionSets.get(level); while (exclusions != null && exclusions.contains(Integer.toString(currentId))) { currentId++; } idsList.set(level, new Integer(currentId)); id = Integer.toString(currentId); } else { Set exclusions = (Set) exclusionSets.get(level); if (exclusions == null) { exclusions = new HashSet(); exclusionSets.set(level, exclusions); } exclusions.add(id); } TreeNode node = new TreeNodeImpl(); node.setData(xmlNodeData); this.treeNode.addChild(id, node); this.treeNodesList.add(this.treeNode); this.treeNode = node; }