Search in sources :

Example 1 with LoginDatabaseTaskExecutor

use of com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor in project cubrid-manager by CUBRID.

the class CubridWorkbenchContrItem method connectDatabase.

/**
	 * Connect the database
	 *
	 * @param dbInfo DatabaseInfo
	 * @param showErrMsg boolean
	 * @return boolean
	 */
public static boolean connectDatabase(DatabaseInfo dbInfo, boolean showErrMsg) {
    if (dbInfo == null || dbInfo.getServerInfo() == null || dbInfo.getAuthLoginedDbUserInfo() == null) {
        return false;
    }
    final String USER_DBA = "dba";
    DbUserInfo dbUserInfo = dbInfo.getAuthLoginedDbUserInfo();
    String dbUser = dbUserInfo.getName();
    String dbPassword = dbUserInfo.getNoEncryptPassword();
    if (dbUser == null || dbUser.trim().length() == 0 || dbPassword == null) {
        return false;
    }
    TaskExecutor taskExcutor = new LoginDatabaseTaskExecutor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), dbInfo.getServerInfo(), dbInfo.getDbName(), dbUser, dbPassword, showErrMsg);
    new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
    boolean isSuccess = taskExcutor.isSuccess();
    if (!isSuccess) {
        LOGGER.error("login database failed");
    }
    /*For [TOOLS-3516]*/
    if (dbInfo.getAuthLoginedDbUserInfo() != null && CompatibleUtil.isNeedCheckDbaAuthorityByJDBC(dbInfo)) {
        IsDBAUserTask checkTask = new IsDBAUserTask(dbInfo);
        checkTask.execute();
        if (checkTask.isSuccess()) {
            dbInfo.getAuthLoginedDbUserInfo().setDbaAuthority(checkTask.isDBAUser());
        } else {
            dbInfo.getAuthLoginedDbUserInfo().setDbaAuthority(USER_DBA.equals(dbUser.toLowerCase()));
        }
    }
    /*Modify*/
    CMDBNodePersistManager.getInstance().fireModifyDatabase(dbInfo, dbInfo);
    return taskExcutor.isSuccess();
}
Also used : DbUserInfo(com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) LoginDatabaseTaskExecutor(com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) IsDBAUserTask(com.cubrid.cubridmanager.core.cubrid.user.task.IsDBAUserTask) LoginDatabaseTaskExecutor(com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor)

Example 2 with LoginDatabaseTaskExecutor

use of com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor in project cubrid-manager by CUBRID.

the class CubridWorkbenchContrItem method connectDatabaseWithErrMsg.

/**
	 * Connect the database
	 *
	 * @param dbInfo DatabaseInfo
	 * @param showErrMsg boolean
	 * @return string error messages
	 */
public static String connectDatabaseWithErrMsg(DatabaseInfo dbInfo, boolean showErrMsg) {
    if (dbInfo == null || dbInfo.getServerInfo() == null || dbInfo.getAuthLoginedDbUserInfo() == null) {
        return "";
    }
    final String USER_DBA = "dba";
    DbUserInfo dbUserInfo = dbInfo.getAuthLoginedDbUserInfo();
    String dbUser = dbUserInfo.getName();
    String dbPassword = dbUserInfo.getNoEncryptPassword();
    if (dbUser == null || dbUser.trim().length() == 0 || dbPassword == null) {
        return Messages.errMultiDatabaseLoginNoUsername;
    }
    LoginDatabaseTaskExecutor taskExcutor = new LoginDatabaseTaskExecutor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), dbInfo.getServerInfo(), dbInfo.getDbName(), dbUser, dbPassword, showErrMsg);
    new ExecTaskWithProgress(taskExcutor).busyCursorWhile();
    /*For [TOOLS-3516]*/
    if (dbInfo.getAuthLoginedDbUserInfo() != null && CompatibleUtil.isNeedCheckDbaAuthorityByJDBC(dbInfo)) {
        IsDBAUserTask checkTask = new IsDBAUserTask(dbInfo);
        checkTask.execute();
        if (checkTask.isSuccess()) {
            dbInfo.getAuthLoginedDbUserInfo().setDbaAuthority(checkTask.isDBAUser());
        } else {
            dbInfo.getAuthLoginedDbUserInfo().setDbaAuthority(USER_DBA.equals(dbUser.toLowerCase()));
        }
    }
    /*Modify*/
    CMDBNodePersistManager.getInstance().fireModifyDatabase(dbInfo, dbInfo);
    return taskExcutor.getErrMsg();
}
Also used : DbUserInfo(com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) IsDBAUserTask(com.cubrid.cubridmanager.core.cubrid.user.task.IsDBAUserTask) LoginDatabaseTaskExecutor(com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor)

Aggregations

ExecTaskWithProgress (com.cubrid.common.ui.spi.progress.ExecTaskWithProgress)2 DbUserInfo (com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo)2 IsDBAUserTask (com.cubrid.cubridmanager.core.cubrid.user.task.IsDBAUserTask)2 LoginDatabaseTaskExecutor (com.cubrid.cubridmanager.ui.cubrid.database.dialog.LoginDatabaseTaskExecutor)2 TaskExecutor (com.cubrid.common.ui.spi.progress.TaskExecutor)1