|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.db.explorer.infos;
import java.util.*;
import org.openide.*;
import org.openide.filesystems.*;
import org.openide.loaders.DataFolder;
import org.openide.loaders.DataObject;
import org.openide.modules.*;
import org.openide.nodes.*;
import org.netbeans.lib.ddl.*;
import org.netbeans.modules.db.DatabaseException;
import org.netbeans.modules.db.explorer.DatabaseConnection;
import org.netbeans.modules.db.explorer.DatabaseNodeChildren;
import org.netbeans.modules.db.explorer.infos.*;
import org.netbeans.modules.db.explorer.nodes.*;
public class RootNodeInfo extends DatabaseNodeInfo implements ConnectionOwnerOperations {
static final long serialVersionUID =-8079386805046070315L;
public void initChildren(Vector children) throws DatabaseException {
try {
Vector cons = RootNode.getOption().getConnections();
if (cons != null) {
Enumeration en = cons.elements();
while(en.hasMoreElements()) {
DBConnection cinfo = (DBConnection)en.nextElement();
ConnectionNodeInfo ninfo = (ConnectionNodeInfo)createNodeInfo(this, DatabaseNode.CONNECTION);
ninfo.setUser(cinfo.getUser());
ninfo.setDatabase(cinfo.getDatabase());
ninfo.setSchema(cinfo.getSchema());
ninfo.setName(cinfo.getName());
ninfo.setDatabaseConnection(cinfo);
children.add(ninfo);
}
}
Repository r = Repository.getDefault();
FileSystem rfs = r.getDefaultFileSystem();
FileObject rootFolder = rfs.getRoot();
FileObject databaseFileObject = rootFolder.getFileObject("Database"); //NOI18N
if (databaseFileObject != null) {
FileObject adaptorsFolder = databaseFileObject.getFileObject("Adaptors"); //NOI18N
DataObject dbdo = DataFolder.findFolder(adaptorsFolder);
if (dbdo != null)
children.add(dbdo.getNodeDelegate());
}
} catch (Exception e) {
throw new DatabaseException(e.getMessage());
}
}
public void refreshChildren() throws DatabaseException {
// refresh action is empty
}
public void addConnection(DBConnection cinfo) throws DatabaseException {
getChildren(); // force restore
Vector cons = RootNode.getOption().getConnections();
if (cons.contains(cinfo))
throw new DatabaseException(bundle.getString("EXC_ConnectionAlreadyExists"));
try {
DatabaseNode node = getNode();
DatabaseNodeChildren children = (DatabaseNodeChildren) node.getChildren();
ConnectionNodeInfo ninfo = (ConnectionNodeInfo) createNodeInfo(this, DatabaseNode.CONNECTION);
ninfo.setName(cinfo.getName());
ninfo.setUser(cinfo.getUser());
ninfo.setDatabase(cinfo.getDatabase());
ninfo.setSchema(cinfo.getSchema());
ninfo.setDatabaseConnection(cinfo);
cons.add(cinfo);
DatabaseNode cnode = children.createSubnode(ninfo, true);
if (((DatabaseConnection) cinfo).getConnection() == null)
((ConnectionNodeInfo) cnode.getInfo()).connect();
else
((ConnectionNodeInfo) cnode.getInfo()).connect(cinfo);
} catch (Exception e) {
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e);
throw new DatabaseException(e.getMessage());
}
}
public void addOrConnectConnection(DBConnection conn) throws DatabaseException {
getChildren(); // force restore
Vector cons = RootNode.getOption().getConnections();
if (cons.contains(conn)) {
ConnectionNode connNode = (ConnectionNode) getNode().getChildren().findChild( conn.getName() );
if (connNode!=null)
if (connNode.getInfo().getConnection()==null) {
connNode.getInfo().setDatabaseConnection(conn);
((ConnectionNodeInfo) connNode.getInfo()).connect();
}
} else
addConnection(conn);
}
public void addOrSetConnection(DBConnection conn) throws DatabaseException {
getChildren(); // force restore
Vector cons = RootNode.getOption().getConnections();
if (cons.contains(conn)) {
ConnectionNode connNode = (ConnectionNode) getNode().getChildren().findChild(conn.getName());
if (connNode != null)
if (connNode.getInfo().getConnection() == null) {
connNode.getInfo().setDatabaseConnection(conn);
// connection DON'T be connected!!! as designed
//((ConnectionNodeInfo)connNode.getInfo()).connect();
}
} else {
DatabaseNode node = getNode();
DatabaseNodeChildren children = (DatabaseNodeChildren) node.getChildren();
ConnectionNodeInfo ninfo = (ConnectionNodeInfo) createNodeInfo(this, DatabaseNode.CONNECTION);
// set the connection properties of ConnectionNodeInfo
ninfo.setDatabaseConnection(conn);
// set schema(schema is not required then is not set in setDatabaseConnection() method)
ninfo.setSchema(conn.getSchema());
cons.add(conn);
DatabaseNode cnode = children.createSubnode(ninfo, true);
}
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.