1 19 20 package org.netbeans.modules.db.explorer.infos; 21 22 import java.sql.ResultSet ; 23 import java.util.HashMap ; 24 import java.util.Vector ; 25 import org.netbeans.api.db.explorer.DatabaseException; 26 import org.netbeans.lib.ddl.impl.DriverSpecification; 27 import org.netbeans.modules.db.explorer.DatabaseNodeChildren; 28 import org.netbeans.modules.db.explorer.nodes.DatabaseNode; 29 30 public class ViewListNodeInfo extends DatabaseNodeInfo { 31 static final long serialVersionUID =2854540580610981370L; 32 33 public void initChildren(Vector children) throws DatabaseException { 34 try { 35 String [] types = new String [] {"VIEW"}; 37 DriverSpecification drvSpec = getDriverSpecification(); 38 if (drvSpec.areViewsSupported()) { 39 drvSpec.getTables("%", types); 40 ResultSet rs = drvSpec.getResultSet(); 41 if (rs != null) { 42 HashMap rset = new HashMap (); 43 DatabaseNodeInfo info; 44 while (rs.next()) { 45 rset = drvSpec.getRow(); 46 info = DatabaseNodeInfo.createNodeInfo(this, DatabaseNode.VIEW, rset); 47 if (info != null) { 48 info.put(DatabaseNode.VIEW, info.getName()); 49 children.add(info); 50 } else 51 throw new Exception (bundle().getString("EXC_UnableToCreateNodeInformationForView")); rset.clear(); 53 } 54 rs.close(); 55 } 56 } 57 } catch (Exception e) { 58 DatabaseException dbe = new DatabaseException(e.getMessage()); 59 dbe.initCause(e); 60 throw dbe; 61 } 62 } 63 64 68 public void addView(String name) throws DatabaseException { 69 try { 70 String [] types = new String [] {"VIEW"}; 72 DriverSpecification drvSpec = getDriverSpecification(); 73 if (drvSpec.areViewsSupported()) { 74 drvSpec.getTables(name, types); 75 ResultSet rs = drvSpec.getResultSet(); 76 if (rs != null) { 77 HashMap rset = new HashMap (); 78 rs.next(); 79 rset = drvSpec.getRow(); 80 DatabaseNodeInfo info = DatabaseNodeInfo.createNodeInfo(this, DatabaseNode.VIEW, rset); 81 rset.clear(); 82 rs.close(); 83 if (info != null) 84 ((DatabaseNodeChildren)getNode().getChildren()).createSubnode(info,true); 85 else 86 throw new Exception (bundle().getString("EXC_UnableToCreateNodeInformationForView")); } 88 refreshChildren(); 90 91 } 92 } catch (Exception e) { 93 DatabaseException dbe = new DatabaseException(e.getMessage()); 94 dbe.initCause(e); 95 throw dbe; 96 } 97 } 98 99 } 100 | Popular Tags |