use of com.cubrid.common.ui.spi.progress.TaskExecutor in project cubrid-manager by CUBRID.
the class CubridWorkbenchContrItem method connectHost.
/**
* Connect host
*
* @param serverInfo ServerInfo
* @param showErrMsg boolean
* @return boolean
*/
public static boolean connectHost(ServerInfo serverInfo, boolean showErrMsg) {
String password = serverInfo == null ? null : serverInfo.getUserPassword();
if (password == null || password.trim().length() == 0) {
return false;
}
Map<String, String> jdbcVersionMap = CubridJdbcManager.getInstance().getLoadedJdbc();
if (jdbcVersionMap == null || jdbcVersionMap.get(serverInfo.getJdbcDriverVersion()) == null) {
return false;
}
TaskExecutor taskExcutor = new ConnectHostExecutor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), serverInfo, showErrMsg);
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
boolean isConnected = taskExcutor.isSuccess();
if (isConnected) {
// if preference use dashboard, when connect successful,open host dashboard
if (GeneralPreference.isUseHostDashboard() && serverInfo.isConnected()) {
openHostDashboard(serverInfo);
}
// if (serverInfo.isCheckCertStatus()
// && CertStatus.DEFAULT.equals(serverInfo.getCertStatus())) {
// GenCertDialog dialog = new GenCertDialog(
// PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), serverInfo);
// dialog.open();
// }
}
return isConnected;
}
use of com.cubrid.common.ui.spi.progress.TaskExecutor in project cubrid-manager by CUBRID.
the class QueryConnDialog method buttonPressed.
/**
* @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
* @param buttonId the id of the button that was pressed (see
* <code>IDialogConstants.*_ID</code> constants)
*/
protected void buttonPressed(int buttonId) {
if (buttonId == TEST_CONNECT_ID || buttonId == CONNECT_ID || buttonId == SAVE_ID) {
String name = queryConnNameText.getText();
String dbName = connectionComp.getDatabaseText().getText();
String brokerIp = connectionComp.getBrokerIpText().getText();
String brokerPort = connectionComp.getBrokerPortText().getText();
String userName = connectionComp.getUserNameText().getText();
String password = connectionComp.getPasswordText().getText();
String charset = connectionComp.getCharsetCombo().getText();
String jdbcDriver = connectionComp.getJdbcCombo().getText();
String jdbcAttrs = connectionComp.getAttrText().getText().trim();
boolean isAutoCommit = connectionComp.isAutoCommit();
// [TOOLS-2425]Support shard broker
boolean isShard = connectionComp.getBtnShard().getSelection();
int currentShardId = connectionComp.getCurShardId();
int currentShardVal = connectionComp.getCurShardVal();
int defaultShardQueryType = connectionComp.getShardQueryType();
ServerInfo serverInfo = new ServerInfo();
serverInfo.setServerName(name);
serverInfo.setHostAddress(brokerIp);
serverInfo.setHostMonPort(Integer.parseInt(brokerPort));
serverInfo.setHostJSPort(Integer.parseInt(brokerPort) + 1);
serverInfo.setUserName(dbName + "@" + brokerIp);
serverInfo.setJdbcDriverVersion(jdbcDriver);
DatabaseInfo dbInfo = new DatabaseInfo(dbName, serverInfo);
dbInfo.setBrokerIP(brokerIp);
dbInfo.setBrokerPort(brokerPort);
dbInfo.setCharSet(charset);
dbInfo.setJdbcAttrs(jdbcAttrs);
// [TOOLS-2425]Support shard broker
dbInfo.setShard(isShard);
dbInfo.setCurrentShardId(currentShardId);
dbInfo.setCurrentShardVal(currentShardVal);
dbInfo.setShardQueryType(defaultShardQueryType);
DbUserInfo userInfo = new DbUserInfo();
userInfo.setDbName(dbName);
userInfo.setName(userName);
userInfo.setNoEncryptPassword(password);
dbInfo.setAuthLoginedDbUserInfo(userInfo);
if (buttonId == TEST_CONNECT_ID || buttonId == CONNECT_ID) {
TaskExecutor taskExcutor = new ConnectDatabaseExecutor(dbInfo);
new ExecTaskWithProgress(taskExcutor).exec();
if (!taskExcutor.isSuccess()) {
return;
}
if (buttonId == TEST_CONNECT_ID) {
CommonUITool.openInformationBox(Messages.titleSuccess, Messages.msgTestConnSuccess);
return;
}
}
if (buttonId == CONNECT_ID) {
// check whether dba authorization
IsDBAUserTask checkTask = new IsDBAUserTask(dbInfo);
checkTask.execute();
userInfo.setDbaAuthority(checkTask.isDBAUser());
dbInfo.setRunningType(DbRunningType.CS);
dbInfo.getServerInfo().setConnected(true);
dbInfo.setLogined(true);
boolean userChanged = !name.equals(oldLoginUserName);
fireLogoutEvent = oldDatabaseIsLogin && userChanged;
}
if (!isNewQueryConn && database != null) {
boolean isContinue = CQBConnectionUtils.processConnectionLogout(database);
if (!isContinue) {
return;
}
}
// If this is new connection,then warning charset setting
if (isNewQueryConn) {
boolean sureCharset = CommonUITool.openConfirmBox(Messages.bind(com.cubrid.cubridquery.ui.connection.Messages.msgConfirmCharset, charset));
if (!sureCharset) {
connectionComp.getCharsetCombo().setFocus();
return;
}
}
if (isNewQueryConn && (buttonId == CONNECT_ID || buttonId == SAVE_ID) && EditorConstance.getDefaultBackground().equals(getSelectedBackground())) {
boolean surePurpose = CommonUITool.openConfirmBox(Messages.msgUseDefaultPurpose);
if (!surePurpose) {
selectColorCombo.expandMenu();
return;
}
}
CubridServer server = new CubridServer(name, name, null, null);
server.setServerInfo(serverInfo);
server.setType(NodeType.SERVER);
String dbId = name + ICubridNodeLoader.NODE_SEPARATOR + name;
if (isNewQueryConn) {
database = new CubridDatabase(dbId, name);
} else {
database.setId(dbId);
database.setLabel(name);
}
database.setDatabaseInfo(dbInfo);
database.setServer(server);
database.setStartAndLoginIconPath("icons/navigator/database_start_connected.png");
database.setStartAndLogoutIconPath("icons/navigator/database_start_disconnected.png");
CubridNodeLoader loader = new CQBDbConnectionLoader();
loader.setLevel(ICubridNodeLoader.FIRST_LEVEL);
database.setLoader(loader);
database.setAutoSavePassword(connectionComp.isAutoSavePassword());
if (buttonId == CONNECT_ID || buttonId == SAVE_ID) {
if (database != null) {
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(database, false);
if (editorConfig == null) {
editorConfig = new DatabaseEditorConfig();
}
editorConfig.setBackGround(getSelectedBackground());
editorConfig.setDatabaseComment(getDatabaseComment());
QueryOptions.putEditorConfig(database, editorConfig, false);
}
newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
if (isNewQueryConn) {
CQBDBNodePersistManager.getInstance().fireAddDatabase(database);
} else if (oldInfo != null) {
CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
}
}
QueryOptions.setAutoCommit(serverInfo, isAutoCommit);
}
setReturnCode(buttonId);
close();
}
use of com.cubrid.common.ui.spi.progress.TaskExecutor in project cubrid-manager by CUBRID.
the class LoginQueryEditorDialog method buttonPressed.
/**
* @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
* @param buttonId the id of the button that was pressed (see
* <code>IDialogConstants.*_ID</code> constants)
*/
protected void buttonPressed(int buttonId) {
if (buttonId == TEST_CONNECT_ID || buttonId == IDialogConstants.OK_ID) {
String dbName = connectionComp.getDatabaseText().getText();
String brokerIp = connectionComp.getBrokerIpText().getText();
String brokerPort = connectionComp.getBrokerPortText().getText();
String userName = connectionComp.getUserNameText().getText();
String password = connectionComp.getPasswordText().getText();
String charset = connectionComp.getCharsetCombo().getText();
String jdbcDriver = connectionComp.getJdbcCombo().getText();
String jdbcAttrs = connectionComp.getAttrText().getText().trim();
boolean isShard = connectionComp.getBtnShard().getSelection();
int currentShardId = connectionComp.getCurShardId();
ServerInfo serverInfo = new ServerInfo();
serverInfo.setServerName(DatabaseNavigatorMenu.SELF_DATABASE_ID);
serverInfo.setHostAddress(brokerIp);
serverInfo.setHostMonPort(Integer.parseInt(brokerPort));
serverInfo.setHostJSPort(Integer.parseInt(brokerPort) + 1);
serverInfo.setJdbcDriverVersion(jdbcDriver);
DatabaseInfo dbInfo = new DatabaseInfo(dbName, serverInfo);
dbInfo.setBrokerIP(brokerIp);
dbInfo.setBrokerPort(brokerPort);
dbInfo.setCharSet(charset);
dbInfo.setJdbcAttrs(jdbcAttrs);
dbInfo.setShard(isShard);
dbInfo.setCurrentShardId(currentShardId);
DbUserInfo userInfo = new DbUserInfo();
userInfo.setDbName(dbName);
userInfo.setName(userName);
userInfo.setNoEncryptPassword(password);
dbInfo.setAuthLoginedDbUserInfo(userInfo);
TaskExecutor taskExcutor = new ConnectDatabaseExecutor(dbInfo);
new ExecTaskWithProgress(taskExcutor).exec();
if (!taskExcutor.isSuccess()) {
return;
}
if (buttonId == TEST_CONNECT_ID) {
CommonUITool.openInformationBox(com.cubrid.cubridquery.ui.connection.Messages.titleSuccess, com.cubrid.cubridquery.ui.connection.Messages.msgTestConnSuccess);
return;
}
// check whether dba authorization
IsDBAUserTask checkTask = new IsDBAUserTask(dbInfo);
checkTask.execute();
userInfo.setDbaAuthority(checkTask.isDBAUser());
dbInfo.setLogined(true);
dbInfo.setRunningType(DbRunningType.CS);
dbInfo.getServerInfo().setConnected(true);
dbInfo.setLogined(true);
CubridServer server = new CubridServer(DatabaseNavigatorMenu.SELF_DATABASE_ID, DatabaseNavigatorMenu.SELF_DATABASE_SELECTED_LABEL, null, null);
server.setServerInfo(serverInfo);
server.setType(NodeType.SERVER);
DatabaseNavigatorMenu.SELF_DATABASE.setDatabaseInfo(dbInfo);
DatabaseNavigatorMenu.SELF_DATABASE.setServer(server);
DatabaseNavigatorMenu.SELF_DATABASE.setStartAndLoginIconPath("icons/navigator/database_start_connected.png");
DatabaseNavigatorMenu.SELF_DATABASE.setStartAndLogoutIconPath("icons/navigator/database_start_disconnected.png");
DatabaseNavigatorMenu.SELF_DATABASE.setLoader(new CQBDbConnectionLoader());
}
super.buttonPressed(buttonId);
}
use of com.cubrid.common.ui.spi.progress.TaskExecutor in project cubrid-manager by CUBRID.
the class DeleteFunctionAction method run.
public void run() {
// FIXME logic code move to core module
Object[] objects = this.getSelectedObj();
if (objects == null || !isSupported(objects)) {
setEnabled(false);
return;
}
Shell shell = getShell();
CubridDatabase database = null;
ISchemaNode node = null;
if (objects[0] instanceof ISchemaNode && NodeType.STORED_PROCEDURE_FUNCTION.equals(((ISchemaNode) objects[0]).getType())) {
node = (ISchemaNode) objects[0];
database = node.getDatabase();
}
if (database == null || node == null) {
CommonUITool.openErrorBox(shell, Messages.errSelectFunction);
return;
}
if (!CommonUITool.openConfirmBox(shell, Messages.msgSureDropFunction)) {
return;
}
CommonSQLExcuterTask task = new CommonSQLExcuterTask(database.getDatabaseInfo());
for (Object object : objects) {
node = (ISchemaNode) object;
String sql = "DROP FUNCTION " + QuerySyntax.escapeKeyword(node.getName());
task.addSqls(sql);
}
TaskExecutor taskExcutor = new CommonTaskExec(getText());
taskExcutor.addTask(task);
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
if (!taskExcutor.isSuccess()) {
return;
}
ISelectionProvider provider = this.getSelectionProvider();
ICubridNode parent = node.getParent();
if (provider instanceof TreeViewer) {
TreeViewer viewer = (TreeViewer) provider;
for (int i = 0; objects != null && i < objects.length; i++) {
parent.removeChild((ISchemaNode) objects[i]);
}
viewer.remove(parent, objects);
viewer.setSelection(new StructuredSelection(parent), true);
}
}
use of com.cubrid.common.ui.spi.progress.TaskExecutor in project cubrid-manager by CUBRID.
the class EditFunctionAction method run.
/**
* Open the EditFunctionDialog and edit function
*/
public void run() {
Object[] objArr = this.getSelectedObj();
if (!isSupported(objArr)) {
this.setEnabled(false);
return;
}
Shell shell = getShell();
CubridDatabase database = null;
ISchemaNode node = null;
if (objArr[0] instanceof ISchemaNode && NodeType.STORED_PROCEDURE_FUNCTION.equals(((ISchemaNode) objArr[0]).getType())) {
node = (ISchemaNode) objArr[0];
database = node.getDatabase();
}
if (database == null || node == null) {
CommonUITool.openErrorBox(shell, Messages.errSelectProcedure);
return;
}
final GetSPInfoListTask task = new GetSPInfoListTask(database.getDatabaseInfo());
task.setSpName(node.getName());
TaskExecutor taskExcutor = new CommonTaskExec(getText());
taskExcutor.addTask(task);
new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
if (!taskExcutor.isSuccess()) {
return;
}
List<SPInfo> list = task.getSPInfoList();
if (list.size() > 1) {
CommonUITool.openErrorBox(shell, Messages.errDuplicateName);
return;
}
if (list.isEmpty()) {
CommonUITool.openErrorBox(shell, Messages.errNotExistName);
return;
}
EditFunctionDialog dlg = new EditFunctionDialog(shell);
dlg.setDatabase(database);
dlg.setNewFlag(false);
dlg.setSpInfo(list.get(0));
if (dlg.open() == IDialogConstants.OK_ID) {
ActionManager.getInstance().fireSelectionChanged(getSelection());
}
}
Aggregations