01: /*
02: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
03: *
04: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
05: *
06: * The contents of this file are subject to the terms of either the GNU
07: * General Public License Version 2 only ("GPL") or the Common
08: * Development and Distribution License("CDDL") (collectively, the
09: * "License"). You may not use this file except in compliance with the
10: * License. You can obtain a copy of the License at
11: * http://www.netbeans.org/cddl-gplv2.html
12: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
13: * specific language governing permissions and limitations under the
14: * License. When distributing the software, include this License Header
15: * Notice in each file and include the License file at
16: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
17: * particular file as subject to the "Classpath" exception as provided
18: * by Sun in the GPL Version 2 section of the License file that
19: * accompanied this code. If applicable, add the following below the
20: * License Header, with the fields enclosed by brackets [] replaced by
21: * your own identifying information:
22: * "Portions Copyrighted [year] [name of copyright owner]"
23: *
24: * Contributor(s):
25: *
26: * Portions Copyrighted 2007 Sun Microsystems, Inc.
27: */
28: package org.netbeans.modules.db.util;
29:
30: import java.sql.Connection;
31: import java.sql.ResultSet;
32: import java.util.HashMap;
33: import java.util.Iterator;
34: import java.util.Vector;
35: import org.netbeans.lib.ddl.impl.DriverSpecification;
36: import org.netbeans.lib.ddl.impl.Specification;
37: import org.netbeans.modules.db.explorer.infos.ConnectionNodeInfo;
38: import org.netbeans.modules.db.explorer.infos.DatabaseNodeInfo;
39: import org.netbeans.modules.db.explorer.infos.IndexListNodeInfo;
40: import org.netbeans.modules.db.explorer.infos.IndexNodeInfo;
41: import org.netbeans.modules.db.explorer.nodes.DatabaseNode;
42:
43: /**
44: * This class provides utility routines to help construct Info nodes
45: * to be used in testing
46: *
47: * @author David
48: */
49: public class InfoHelper {
50:
51: private Specification spec;
52: private DriverSpecification drvSpec;
53: private Connection conn;
54:
55: public InfoHelper(Specification spec, DriverSpecification drvSpec,
56: Connection conn) {
57: this .spec = spec;
58: this .drvSpec = drvSpec;
59: this .conn = conn;
60: }
61:
62: public DatabaseNodeInfo getTableInfo(String tablename)
63: throws Exception {
64: drvSpec.getTables(tablename, null);
65: ResultSet rs = drvSpec.getResultSet();
66: assert rs != null;
67:
68: HashMap rset = new HashMap();
69: rs.next();
70: rset = drvSpec.getRow();
71: assert rset != null;
72:
73: ConnectionNodeInfo connNodeInfo = (ConnectionNodeInfo) DatabaseNodeInfo
74: .createNodeInfo(null, DatabaseNodeInfo.CONNECTION);
75: connNodeInfo.setDriverSpecification(drvSpec);
76: connNodeInfo.setSpecification(spec);
77: connNodeInfo.setConnection(conn);
78:
79: DatabaseNodeInfo tableInfo = DatabaseNodeInfo.createNodeInfo(
80: connNodeInfo, DatabaseNode.TABLE, rset);
81:
82: rs.close();
83:
84: return tableInfo;
85: }
86: }
|