Changeset 44
- Timestamp:
- 02/17/10 17:12:03 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
kahina/trunk/src/org/kahina/data/tree/KahinaMemTree.java
r43 r44 57 57 58 58 @Override 59 public int getRootID() 60 { 61 return rootID; 62 } 63 64 @Override 59 65 public int getRootID(int layerID) 60 66 { 61 return rootID;67 return getRootID(); 62 68 } 63 69 … … 309 315 } 310 316 311 public String exportXML() 312 { 313 StringBuilder b = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); 314 b.append("<kahinaTree>\n"); 315 if (rootID != -1) 316 { 317 exportXML(b, rootID, 2); 318 } 319 b.append("</kahinaTree>\n"); 320 return b.toString(); 321 } 322 323 private void exportXML(StringBuilder b, int node, int depth) 324 { 325 createSpace(b, depth); 326 b.append("<node id=\"" + node + "\" caption=\"" + getNodeCaption(node) + "\" label=\"" + getEdgeLabel(node) + "\" status=\"" + getNodeStatus(node) + "\">\n"); 327 for (int child : getChildren(node, 0)) 328 { 329 exportXML(b, child, depth + 2); 330 } 331 createSpace(b, depth); 332 b.append("</node>\n"); 333 } 334 335 private void createSpace(StringBuilder b, int amount) 336 { 337 for (int i = 0; i < amount; i++) 338 { 339 b.append(' '); 340 } 341 } 342 317 // TODO find a good way to make this implementation-independent 343 318 public static KahinaMemTree importXML(Document dom) 344 319 { kahina/trunk/src/org/kahina/data/tree/KahinaTree.java
r43 r44 58 58 59 59 public abstract void setRootID(int rootID); 60 61 public abstract int getRootID(); 60 62 61 63 public abstract int getRootID(int layerID); 62 64 63 65 public abstract void setPrimaryModel(KahinaTree primaryModel); 66 67 public String exportXML() 68 { 69 StringBuilder b = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); 70 b.append("<kahinaTree>\n"); 71 if (getRootID() != -1) 72 { 73 exportXML(b, getRootID(), 2); 74 } 75 b.append("</kahinaTree>\n"); 76 return b.toString(); 77 } 78 79 private void exportXML(StringBuilder b, int node, int depth) 80 { 81 createSpace(b, depth); 82 b.append("<node id=\"" + node + "\" caption=\"" + getNodeCaption(node) + "\" label=\"" + getEdgeLabel(node) + "\" status=\"" + getNodeStatus(node) + "\">\n"); 83 for (int child : getChildren(node, 0)) 84 { 85 exportXML(b, child, depth + 2); 86 } 87 createSpace(b, depth); 88 b.append("</node>\n"); 89 } 90 91 private void createSpace(StringBuilder b, int amount) 92 { 93 for (int i = 0; i < amount; i++) 94 { 95 b.append(' '); 96 } 97 } 64 98 65 99 }
