use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class PasteQueryConnAction method run.
/**
* Paste the query connection
*/
public void run() {
Object[] objs = this.getSelectedObj();
if (!isSupported(objs[0])) {
setEnabled(false);
return;
}
objs = null;
ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
if (selection instanceof IStructuredSelection) {
IStructuredSelection strSelection = (IStructuredSelection) selection;
objs = strSelection.toArray();
}
if (objs == null || objs.length == 0) {
return;
}
if (!(objs[0] instanceof CubridDatabase)) {
return;
}
CubridDatabase pastedDb = (CubridDatabase) objs[0];
QueryConnDialog dialog = new QueryConnDialog(getShell(), pastedDb, true);
int returnCode = dialog.open();
if (returnCode == QueryConnDialog.CONNECT_ID || returnCode == QueryConnDialog.SAVE_ID) {
CubridDatabase database = dialog.getDatabase();
CQBDBNodePersistManager.getInstance().addDatabase(database, false);
CubridNavigatorView navigatorView = CubridNavigatorView.getNavigatorView(CubridQueryNavigatorView.ID);
TreeViewer treeViewer = navigatorView == null ? null : navigatorView.getViewer();
if (treeViewer == null) {
return;
}
Tree tree = treeViewer.getTree();
TreeItem item;
CubridGroupNode parent = getParentGroupNode();
if (navigatorView.isShowGroup()) {
item = new TreeItem(navigatorView.getTreeItemByData(parent), SWT.NONE);
} else {
item = new TreeItem(tree, SWT.NONE);
}
parent.addChild(database);
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
item.setText(database.getLabel());
item.setData(database);
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
treeViewer.setSelection(new StructuredSelection(database), true);
if (returnCode == QueryConnDialog.CONNECT_ID) {
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGIN));
}
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class RenameConnectionAction method doRun.
/**
* Perform rename Table
*
* @param cubridDatabase
* @param table
*/
private void doRun(CubridDatabase database) {
RenameConnectionDialog dlg = new RenameConnectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), database);
int ret = dlg.open();
if (ret == IDialogConstants.OK_ID) {
/*Fire the database logout*/
try {
CubridDatabase orignDatabase = database.clone();
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(orignDatabase, CubridNodeChangedEventType.DATABASE_LOGOUT));
} catch (CloneNotSupportedException e) {
LOGGER.error(e.getMessage());
}
database.setLabel(dlg.getNewName());
database.setLogined(false);
CubridNavigatorView navigatorView = CubridNavigatorView.getNavigatorView(CubridQueryNavigatorView.ID);
TreeViewer treeViewer = navigatorView == null ? null : navigatorView.getViewer();
if (treeViewer == null) {
LOGGER.error("Error: Can't find the navigator view:" + CubridQueryNavigatorView.ID);
return;
}
// Refresh the tree view
database.removeAllChild();
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
setEnabled(false);
// Save the data
ServerInfo preServerInfo = (database == null || database.getServer() == null) ? null : database.getServer().getServerInfo();
QueryOptions.removePref(preServerInfo);
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
ActionManager.getInstance().fireSelectionChanged(getSelection());
LayoutManager.getInstance().fireSelectionChanged(getSelection());
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class EditQueryConnAction method run.
/**
* Open the query connection
*/
public void run() {
// TODO remove later
CQBGroupNodePersistManager.getInstance().fix();
Object[] obj = this.getSelectedObj();
if (!isSupported(obj[0])) {
setEnabled(false);
return;
}
ISelectionProvider provider = getSelectionProvider();
if (!(provider instanceof TreeViewer)) {
return;
}
CubridDatabase[] cubridDatabases = handleSelectionObj(obj);
if (cubridDatabases.length == 0) {
return;
}
ConnectionInfo oldInfo = null;
ConnectionInfo newInfo = null;
if (cubridDatabases.length > 1) {
MultiQueryConnEditDialog dialog = new MultiQueryConnEditDialog(getShell(), Arrays.asList(cubridDatabases));
if (dialog.open() != MultiQueryConnEditDialog.SAVE_ID) {
return;
}
List<CubridDatabase> newDBList = dialog.getNewDBList();
for (int i = 0; i < cubridDatabases.length; i++) {
CubridDatabase saveCubridDatabase = cubridDatabases[i];
CubridDatabase newCubridDatabase = newDBList.get(i);
oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(saveCubridDatabase);
newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(newCubridDatabase);
saveCubridDatabase.setLabel(newCubridDatabase.getLabel());
saveCubridDatabase.getDatabaseInfo().setDbName(newCubridDatabase.getDatabaseInfo().getDbName());
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setName(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getName());
saveCubridDatabase.setAutoSavePassword(newCubridDatabase.isAutoSavePassword());
if (saveCubridDatabase.isAutoSavePassword()) {
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getNoEncryptPassword());
} else {
saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(null);
}
saveCubridDatabase.getDatabaseInfo().setBrokerIP(newCubridDatabase.getDatabaseInfo().getBrokerIP());
saveCubridDatabase.getDatabaseInfo().setBrokerPort(newCubridDatabase.getDatabaseInfo().getBrokerPort());
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(saveCubridDatabase, false);
if (editorConfig == null) {
editorConfig = new DatabaseEditorConfig();
editorConfig.setBackGround(EditorConstance.getDefaultBackground());
} else if (editorConfig.getBackGround() == null) {
editorConfig.setBackGround(EditorConstance.getDefaultBackground());
}
if (newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY) != null) {
editorConfig.setDatabaseComment((String) newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY));
}
QueryOptions.putEditorConfig(saveCubridDatabase, editorConfig, false);
CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
boolean isContinue = CQBConnectionUtils.processConnectionLogout(saveCubridDatabase);
if (isContinue) {
TreeViewer viewer = (TreeViewer) provider;
viewer.refresh(saveCubridDatabase, true);
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(saveCubridDatabase, CubridNodeChangedEventType.DATABASE_LOGOUT));
}
}
LayoutManager.getInstance().fireSelectionChanged(getSelection());
ActionManager.getInstance().fireSelectionChanged(getSelection());
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
return;
}
CubridDatabase database = (CubridDatabase) cubridDatabases[0];
if (database.getParent() == null) {
CQBGroupNodePersistManager.getInstance();
}
String preName = (database == null || database.getServer() == null) ? "" : database.getServer().getName();
ServerInfo preServerInfo = (database == null || database.getServer() == null) ? null : database.getServer().getServerInfo();
oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
QueryConnDialog dialog = new QueryConnDialog(getShell(), database, false);
int returnCode = dialog.open();
if (returnCode == QueryConnDialog.CONNECT_ID) {
database.removeAllChild();
newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
TreeViewer treeViewer = (TreeViewer) provider;
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
if (!preName.equals(database.getServer().getName())) {
QueryOptions.removePref(preServerInfo);
}
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
ActionManager.getInstance().fireSelectionChanged(getSelection());
LayoutManager.getInstance().fireSelectionChanged(getSelection());
if (dialog.isFireLogoutEvent()) {
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGOUT));
}
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGIN));
CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
try {
CommonUITool.openQueryEditor(database, true);
} catch (PartInitException e) {
LOGGER.error(e.getMessage(), e);
}
} else if (returnCode == QueryConnDialog.SAVE_ID) {
TreeViewer treeViewer = (TreeViewer) provider;
treeViewer.refresh(database, true);
treeViewer.expandToLevel(database, 1);
CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
CQBDBNodePersistManager.getInstance().saveDatabases();
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class CreateSerialAction method run.
/**
* run create serial
* @param database
*/
public void run(CubridDatabase database) {
CreateOrEditSerialDialog dialog = new CreateOrEditSerialDialog(getShell(), true);
dialog.setDatabase(database);
ISelectionProvider provider = getSelectionProvider();
if (dialog.open() == IDialogConstants.OK_ID && (provider instanceof TreeViewer)) {
TreeViewer treeViewer = (TreeViewer) provider;
ICubridNode folderNode = database.getChild(database.getId() + ICubridNodeLoader.NODE_SEPARATOR + CubridSerialFolderLoader.SERIAL_FOLDER_ID);
if (folderNode == null || !folderNode.getLoader().isLoaded()) {
return;
}
// FIXME move this logic to core module
String serialName = dialog.getSerialName().toLowerCase(Locale.getDefault());
DbUserInfo userInfo = database.getDatabaseInfo().getAuthLoginedDbUserInfo();
String id = folderNode.getId() + ICubridNodeLoader.NODE_SEPARATOR + serialName;
SerialInfo serialInfo = new SerialInfo();
serialInfo.setName(serialName);
serialInfo.setOwner(userInfo.getName());
ICubridNode newNode = CubridSerialFolderLoader.createSerialNode(id, serialInfo);
CommonUITool.addNodeToTree(treeViewer, folderNode, newNode);
CommonUITool.updateFolderNodeLabelIncludingChildrenCount(treeViewer, folderNode);
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(newNode, CubridNodeChangedEventType.NODE_ADD));
}
}
use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.
the class CreateLikeTableAction method doRun.
/**
* Do run
*
* @param node
*/
private void doRun(ISchemaNode node) {
CreateLikeTableDialog dialog = new CreateLikeTableDialog(getShell());
dialog.setDatabase(node.getDatabase());
if (NodeType.USER_TABLE.equals(node.getType())) {
String tableName = node.getName();
dialog.setLikeTableName(tableName);
}
if (IDialogConstants.OK_ID == dialog.open()) {
// FIXME
TreeViewer treeViewer = CubridNavigatorView.findNavigationView().getViewer();
String tableName = dialog.getNewTableName();
ICubridNode newNode = null;
if (NodeType.USER_TABLE.equals(node.getType())) {
ClassInfo classInfo = (ClassInfo) node.getAdapter(ClassInfo.class);
String id = node.getParent().getId() + ICubridNodeLoader.NODE_SEPARATOR + tableName;
ClassInfo newClassInfo = new ClassInfo(tableName, null, ClassType.NORMAL, classInfo.isSystemClass(), classInfo.isPartitionedClass());
newNode = CubridTablesFolderLoader.createUserTableNode(node.getParent(), id, newClassInfo, node.getParent().getLoader().getLevel(), new NullProgressMonitor());
if (node.getDatabase().getDatabaseInfo().getUserTableInfoList() != null) {
node.getDatabase().getDatabaseInfo().getUserTableInfoList().add(newClassInfo);
}
CommonUITool.addNodeToTree(treeViewer, node.getParent(), newNode);
} else {
if (node == null || !node.getLoader().isLoaded()) {
return;
}
String id = node.getId() + ICubridNodeLoader.NODE_SEPARATOR + tableName;
ClassInfo newClassInfo = new ClassInfo(tableName, null, ClassType.NORMAL, false, false);
newNode = CubridTablesFolderLoader.createUserTableNode(node, id, newClassInfo, node.getLoader().getLevel(), new NullProgressMonitor());
CommonUITool.addNodeToTree(treeViewer, node, newNode);
}
CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(newNode, CubridNodeChangedEventType.NODE_ADD));
}
}
Aggregations