Changeset 54
- Timestamp:
- 02/22/10 18:48:09 (2 years ago)
- Files:
-
- kahina/trunk/src/org/kahina/data/tree/KahinaDbTree.java (modified) (3 diffs)
- kahina/trunk/src/org/kahina/io/database/DatabaseHandler.java (modified) (3 diffs)
- kahina/trunk/src/org/kahina/test/KahinaTreeTest.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/visual/tree/KahinaTreeView.java (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
kahina/trunk/src/org/kahina/data/tree/KahinaDbTree.java
r53 r54 100 100 int treeID = getID(); 101 101 addNodeStatement = db.prepareStatement("INSERT INTO " + NODE_TABLE_NAME 102 + " (id, tree, nodeCaption, edgeLabel ) VALUES (?, " + treeID103 + ", ?, ?)");102 + " (id, tree, nodeCaption, edgeLabel, status) VALUES (?, " 103 + treeID + ", ?, ?, ?)"); 104 104 addEdgeStatement = db.prepareStatement("UPDATE " + NODE_TABLE_NAME 105 105 + " SET realParent = ? WHERE id = ? AND tree = " + treeID); … … 154 154 addNodeStatement.setString(2, caption); 155 155 addNodeStatement.setString(3, label); 156 addNodeStatement.setInt(4, nodeStatus); 156 157 addNodeStatement.execute(); 157 158 } catch (SQLException e) … … 309 310 // the most common case, for which we have precalculated the virtual 310 311 // children 311 return getVirtualChildren(nodeID); 312 List<Integer> result = getVirtualChildren(nodeID); 313 return result; 312 314 } 313 315 if (nodeID == getRootID(layer) || nodeLayer >= layer) kahina/trunk/src/org/kahina/io/database/DatabaseHandler.java
r50 r54 74 74 return defaultValue; 75 75 } 76 return resultSet.getInt(1); 77 } catch (SQLException e) 78 { 79 throw new KahinaException("SQL error.", e); 80 } 81 } 82 76 int result = resultSet.getInt(1); 77 if (resultSet.wasNull()) 78 { 79 return defaultValue; 80 } 81 return result; 82 } catch (SQLException e) 83 { 84 throw new KahinaException("SQL error.", e); 85 } 86 } 87 88 // TODO treat NULL values appropriately 83 89 public List<Integer> queryIntList(PreparedStatement statement) 84 90 { … … 98 104 } 99 105 106 // TODO treat NULL values appropriately 100 107 public Set<Integer> queryIntSet(PreparedStatement statement) 101 108 { … … 129 136 return defaultValue; 130 137 } 131 return resultSet.getString(1); 138 String result = resultSet.getString(1); 139 if (resultSet.wasNull()) 140 { 141 return defaultValue; 142 } 143 return result; 132 144 } catch (SQLException e) 133 145 { kahina/trunk/src/org/kahina/test/KahinaTreeTest.java
r53 r54 24 24 25 25 public class KahinaTreeTest 26 { 26 { 27 27 public static void main(String[] args) 28 28 { kahina/trunk/src/org/kahina/visual/tree/KahinaTreeView.java
r52 r54 607 607 nodeBorderColor = new HashMap<Integer, Color>(); 608 608 resetAllStructures(); 609 System.err.println("F"); 609 610 calculateCoordinates(); 610 611 } … … 626 627 FontMetrics fm = getFontMetrics(new Font(Font.SANS_SERIF,Font.PLAIN, fontSize), new BasicStroke(1), fontSize); 627 628 nodeHeight = fm.getHeight(); 628 629 629 630 createNodeLayers(); 630 631 System.err.println(showLevels()); … … 652 653 int nodeLabelWidth = fm.stringWidth(getContentfulTreeModel().getNodeCaption(node)); 653 654 if (maxNodeWidth < nodeLabelWidth) maxNodeWidth = nodeLabelWidth; 654 ArrayList<Integer> children = getVisibleVirtualChildren(treeModel, node); 655 ArrayList<Integer> children = getVisibleVirtualChildren(treeModel, node); 655 656 subtreeWidths.put(node,constructWidthVector(children)); 656 657 //System.err.println(" Node:" + node + " VisChildren:" + children + " WidthVector:" + subtreeWidths.get(node)); … … 832 833 for (int i = 0; i < descendants.size(); i++) 833 834 { 834 if (!nodeIsVisible(descendants.get(i))) 835 { 836 descendants.addAll(treeModel.getChildren(descendants.remove(i),treeLayer)); 835 boolean nodeIsVisible = nodeIsVisible(descendants.get(i)); 836 if (!nodeIsVisible) 837 { 838 List<Integer> x = treeModel.getChildren(descendants.remove(i),treeLayer); 839 descendants.addAll(x); 837 840 i--; 838 841 }
