KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > explorer > infos > ViewListNodeInfo


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.db.explorer.infos;
21
22 import java.sql.ResultSet JavaDoc;
23 import java.util.HashMap JavaDoc;
24 import java.util.Vector JavaDoc;
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 JavaDoc children) throws DatabaseException {
34         try {
35             String JavaDoc[] types = new String JavaDoc[] {"VIEW"}; // NOI18N
36

37             DriverSpecification drvSpec = getDriverSpecification();
38             if (drvSpec.areViewsSupported()) {
39                 drvSpec.getTables("%", types);
40                 ResultSet JavaDoc rs = drvSpec.getResultSet();
41                 if (rs != null) {
42                     HashMap JavaDoc rset = new HashMap JavaDoc();
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 JavaDoc(bundle().getString("EXC_UnableToCreateNodeInformationForView")); // NOI18N
52
rset.clear();
53                     }
54                     rs.close();
55                 }
56             }
57         } catch (Exception JavaDoc e) {
58             DatabaseException dbe = new DatabaseException(e.getMessage());
59             dbe.initCause(e);
60             throw dbe;
61         }
62     }
63
64     /** Adds view into list
65     * Adds view named name into children list. View should exist.
66     * @param name Name of existing view
67     */

68     public void addView(String JavaDoc name) throws DatabaseException {
69         try {
70             String JavaDoc[] types = new String JavaDoc[] {"VIEW"}; // NOI18N
71

72             DriverSpecification drvSpec = getDriverSpecification();
73             if (drvSpec.areViewsSupported()) {
74                 drvSpec.getTables(name, types);
75                 ResultSet JavaDoc rs = drvSpec.getResultSet();
76                 if (rs != null) {
77                     HashMap JavaDoc rset = new HashMap JavaDoc();
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 JavaDoc(bundle().getString("EXC_UnableToCreateNodeInformationForView")); // NOI18N
87
}
88                 // refersh list of views
89
refreshChildren();
90
91             }
92         } catch (Exception JavaDoc e) {
93             DatabaseException dbe = new DatabaseException(e.getMessage());
94             dbe.initCause(e);
95             throw dbe;
96         }
97     }
98
99 }
100
Popular Tags