Connection conn = null;
try {
conn = ConnectionManager.getConnection(null);
// retrieve the whole tree...
DefaultTreeModel model = null;
pstmt = conn.prepareStatement(
"select HIE03_LEVELS.PROGRESSIVE,HIE03_LEVELS.PROGRESSIVE_HIE03,HIE03_LEVELS.LEV,"+
"SYS10_TRANSLATIONS.DESCRIPTION,HIE04_HIERARCHIES.PROGRESSIVE_HIE03 "+
"from HIE03_LEVELS,HIE04_HIERARCHIES,SYS10_TRANSLATIONS where "+
"HIE03_LEVELS.PROGRESSIVE_HIE04=HIE04_HIERARCHIES.PROGRESSIVE and "+
"HIE03_LEVELS.PROGRESSIVE = SYS10_TRANSLATIONS.PROGRESSIVE and "+
"SYS10_TRANSLATIONS.LANGUAGE_CODE='"+langId+"' and HIE03_LEVELS.ENABLED='Y' and "+
"HIE03_LEVELS.PROGRESSIVE_HIE04=? "+
"order by HIE03_LEVELS.LEV,HIE03_LEVELS.PROGRESSIVE_HIE03,HIE03_LEVELS.PROGRESSIVE"
);
pstmt.setBigDecimal(1,progressiveHIE04);
ResultSet rset = pstmt.executeQuery();
Hashtable currentLevelNodes = new Hashtable();
Hashtable newLevelNodes = new Hashtable();
int currentLevel = -1;
DefaultMutableTreeNode currentNode = null;
DefaultMutableTreeNode parentNode = null;
HierarchyLevelVO vo = null;
while(rset.next()) {
if (currentLevel!=rset.getInt(3)) {
// next level...
currentLevel = rset.getInt(3);
currentLevelNodes = newLevelNodes;
newLevelNodes = new Hashtable();
}
if (currentLevel==0) {
// prepare a tree model with the root node...
vo = new HierarchyLevelVO();
vo.setEnabledHIE03("Y");
vo.setLevelHIE03(rset.getBigDecimal(3));
vo.setProgressiveHIE03(rset.getBigDecimal(1));
vo.setProgressiveHie03HIE03(rset.getBigDecimal(2));
vo.setProgressiveHie04HIE03(progressiveHIE04);
vo.setDescriptionSYS10(rset.getString(4));
vo.setProgressiveHie03HIE04(rset.getBigDecimal(5));
currentNode = new OpenSwingTreeNode(vo);
model = new DefaultTreeModel(currentNode);
}
else {
vo = new HierarchyLevelVO();
vo.setEnabledHIE03("Y");
vo.setLevelHIE03(rset.getBigDecimal(3));