use of com.cubrid.cubridmanager.core.cubrid.database.task.LoginDatabaseTask in project cubrid-manager by CUBRID.
the class SetupEnvTestCase method loginTestDatabase.
protected void loginTestDatabase() {
if (databaseInfo.isLogined()) {
return;
}
LoginDatabaseTask loginDatabaseTask = new LoginDatabaseTask(serverInfo);
loginDatabaseTask.setCMUser(userName);
loginDatabaseTask.setDbName(testDbName);
loginDatabaseTask.setDbUser(dbaUserName);
loginDatabaseTask.setDbPassword(dbaPassword);
loginDatabaseTask.execute();
assertEquals(null, loginDatabaseTask.getErrorMsg());
DbUserInfo dbUserInfo = loginDatabaseTask.getLoginedDbUserInfo();
dbUserInfo.setNoEncryptPassword(dbaPassword);
databaseInfo.setLogined(true);
databaseInfo.setAuthLoginedDbUserInfo(dbUserInfo);
UpdateCMUserTask updateCMUserTask = new UpdateCMUserTask(serverInfo);
updateCMUserTask.setCmUserName(userName);
ServerUserInfo userInfo = serverInfo.getLoginedUserInfo();
updateCMUserTask.setCasAuth(userInfo.getCasAuth().getText());
updateCMUserTask.setDbCreator(userInfo.getDbCreateAuthType().getText());
updateCMUserTask.setStatusMonitorAuth(userInfo.getStatusMonitorAuth().getText());
List<String> dbNameList = new ArrayList<String>();
List<String> dbUserList = new ArrayList<String>();
List<String> dbPasswordList = new ArrayList<String>();
List<String> dbBrokerPortList = new ArrayList<String>();
List<DatabaseInfo> authDatabaseList = userInfo.getDatabaseInfoList();
if (authDatabaseList != null && !authDatabaseList.isEmpty()) {
int size = authDatabaseList.size();
for (int i = 0; i < size; i++) {
DatabaseInfo databaseInfo = authDatabaseList.get(i);
dbNameList.add(databaseInfo.getDbName());
dbUserList.add(databaseInfo.getAuthLoginedDbUserInfo().getName());
dbBrokerPortList.add(databaseInfo.getBrokerIP() + "," + databaseInfo.getBrokerPort());
String password = databaseInfo.getAuthLoginedDbUserInfo().getNoEncryptPassword();
dbPasswordList.add(password == null ? "" : password);
}
}
String[] dbNameArr = new String[dbNameList.size()];
String[] dbUserArr = new String[dbUserList.size()];
String[] dbPasswordArr = new String[dbPasswordList.size()];
String[] dbBrokerPortArr = new String[dbBrokerPortList.size()];
updateCMUserTask.setDbAuth(dbNameList.toArray(dbNameArr), dbUserList.toArray(dbUserArr), dbPasswordList.toArray(dbPasswordArr), dbBrokerPortList.toArray(dbBrokerPortArr));
updateCMUserTask.execute();
assertEquals(null, updateCMUserTask.getErrorMsg());
}
use of com.cubrid.cubridmanager.core.cubrid.database.task.LoginDatabaseTask in project cubrid-manager by CUBRID.
the class LoginDatabaseTaskExecutor method exec.
/**
* Execute to login database
*
* @param monitor the IProgressMonitor
* @return <code>true</code> if successful;<code>false</code>otherwise;
*/
public boolean exec(final IProgressMonitor monitor) {
if (monitor.isCanceled()) {
return false;
}
String taskName = Messages.bind(Messages.loginDbTaskName, dbName);
monitor.beginTask(taskName, IProgressMonitor.UNKNOWN);
DbUserInfo dbUserInfo = null;
DatabaseInfo dbInfo = serverInfo.getLoginedUserInfo().getDatabaseInfo(dbName);
DbUserInfo preDbUserInfo = dbInfo.getAuthLoginedDbUserInfo();
boolean isOldLogined = dbInfo.isLogined();
for (ITask task : taskList) {
if (task instanceof UpdateCMUserTask) {
UpdateCMUserTask updateCMUserTask = (UpdateCMUserTask) task;
ServerInfo serverInfo = dbInfo.getServerInfo();
if (serverInfo != null && serverInfo.isConnected()) {
ServerUserInfo userInfo = serverInfo.getLoginedUserInfo();
updateCMUserTask.setCasAuth(userInfo.getCasAuth().getText());
updateCMUserTask.setDbCreator(userInfo.getDbCreateAuthType().getText());
updateCMUserTask.setStatusMonitorAuth(userInfo.getStatusMonitorAuth().getText());
List<String> dbNameList = new ArrayList<String>();
List<String> dbUserList = new ArrayList<String>();
List<String> dbPasswordList = new ArrayList<String>();
List<String> dbBrokerPortList = new ArrayList<String>();
List<DatabaseInfo> authDatabaseList = userInfo.getDatabaseInfoList();
for (int i = 0; authDatabaseList != null && i < authDatabaseList.size(); i++) {
DatabaseInfo databaseInfo = authDatabaseList.get(i);
dbNameList.add(databaseInfo.getDbName());
dbUserList.add(databaseInfo.getAuthLoginedDbUserInfo().getName());
dbBrokerPortList.add(QueryOptions.getBrokerIp(databaseInfo) + "," + databaseInfo.getBrokerPort());
String password = databaseInfo.getAuthLoginedDbUserInfo().getNoEncryptPassword();
dbPasswordList.add(password == null ? "" : password);
}
String[] dbNameArr = new String[dbNameList.size()];
String[] dbUserArr = new String[dbUserList.size()];
String[] dbPasswordArr = new String[dbPasswordList.size()];
String[] dbBrokerPortArr = new String[dbBrokerPortList.size()];
updateCMUserTask.setDbAuth(dbNameList.toArray(dbNameArr), dbUserList.toArray(dbUserArr), dbPasswordList.toArray(dbPasswordArr), dbBrokerPortList.toArray(dbBrokerPortArr));
}
}
task.execute();
final String msg = task.getErrorMsg();
if (showErrMsg) {
if (openErrorBox(shell, msg, monitor)) {
dbInfo.setLogined(isOldLogined);
dbInfo.setAuthLoginedDbUserInfo(preDbUserInfo);
// LOGGER.error("loggin failed task : " + infoMessage);
return false;
}
} else if (!monitor.isCanceled()) {
setErrMsg(msg);
dbInfo.setLogined(isOldLogined);
dbInfo.setAuthLoginedDbUserInfo(preDbUserInfo);
return false;
}
if (monitor.isCanceled()) {
return false;
}
if (task instanceof LoginDatabaseTask) {
dbUserInfo = ((LoginDatabaseTask) task).getLoginedDbUserInfo();
dbInfo.setLogined(true);
dbUserInfo.setNoEncryptPassword(dbPassword);
dbInfo.setAuthLoginedDbUserInfo(dbUserInfo);
}
}
return true;
}
use of com.cubrid.cubridmanager.core.cubrid.database.task.LoginDatabaseTask in project cubrid-manager by CUBRID.
the class DeleteDatabaseConfirmDialog method buttonPressed.
/**
* When button pressed,handle with the event
*
* @param buttonId the button id
*/
protected void buttonPressed(int buttonId) {
if (buttonId == IDialogConstants.OK_ID) {
String pass = text.getText();
if (pass == null) {
pass = "";
}
/*TOOLS-3633*/
ServerInfo serverInfo = database.getServer().getServerInfo();
LoginDatabaseTask loginDatabaseTask = new LoginDatabaseTask(serverInfo);
loginDatabaseTask.setCMUser(serverInfo.getUserName());
loginDatabaseTask.setDbName(database.getDatabaseInfo().getDbName());
loginDatabaseTask.setDbUser(USERNAME_DBA);
loginDatabaseTask.setDbPassword(pass);
TaskExecutor taskExcutor = new CommonTaskExec(Messages.msgCheckPassword);
taskExcutor.addTask(loginDatabaseTask);
new ExecTaskWithProgress(taskExcutor).exec();
if (!taskExcutor.isSuccess()) {
return;
}
}
super.buttonPressed(buttonId);
}
use of com.cubrid.cubridmanager.core.cubrid.database.task.LoginDatabaseTask in project cubrid-manager by CUBRID.
the class SetDatabaseInfoPage method modifyText.
/**
* @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
* @param event ModifyEvent
*/
public void modifyText(ModifyEvent event) {
final String port = portText.getText();
String password = passwordText.getText();
String mdbPassword = masteDbaPasswordText.getText();
String distdbPassword = distDbaPasswordText.getText();
boolean isValidPort = ValidateUtil.isNumber(port);
if (isValidPort) {
int portVal = Integer.parseInt(port);
if (portVal < 1024 || portVal > 65535) {
isValidPort = false;
}
}
if (!isValidPort) {
setErrorMessage(Messages.errInvalidPort);
setPageComplete(false);
return;
}
boolean isValidPassword = password.length() >= 4 && password.indexOf(" ") < 0;
if (!isValidPassword) {
setErrorMessage(Messages.errInvalidPassword);
setPageComplete(false);
return;
}
boolean isValidMdbPassword = mdbPassword.length() >= 4 && mdbPassword.indexOf(" ") < 0;
if (!isValidMdbPassword) {
setErrorMessage(Messages.errInvalidMdbPassword);
setPageComplete(false);
return;
}
boolean isValidDistdbPassword = distdbPassword.length() >= 4 && distdbPassword.indexOf(" ") < 0;
if (!isValidDistdbPassword) {
setErrorMessage(Messages.errInvalidDistdbPassword);
setPageComplete(false);
return;
}
boolean isValid = isValidPort && isValidPassword && isValidMdbPassword && isValidDistdbPassword;
setPageComplete(false);
if (isValid) {
final String ip = ipText.getText();
final String userName = userNameText.getText();
final MonitorDashboardPreference monPref = new MonitorDashboardPreference();
TaskExecutor taskExcutor = new TaskExecutor() {
public boolean exec(final IProgressMonitor monitor) {
Display display = getShell().getDisplay();
if (monitor.isCanceled()) {
return false;
}
boolean isConnected = false;
for (ITask task : taskList) {
if (task instanceof MonitoringTask) {
MonitoringTask monitoringTask = (MonitoringTask) task;
monitoringTask.connectServer(Version.releaseVersion, monPref.getHAHeartBeatTimeout());
isConnected = true;
} else if (task instanceof LoginDatabaseTask) {
task.execute();
}
final String msg = task.getErrorMsg();
if (monitor.isCanceled()) {
if (isConnected) {
ServerManager.getInstance().setConnected(ip, Integer.parseInt(port), userName, false);
}
return false;
}
if (msg != null && msg.length() > 0 && !monitor.isCanceled()) {
monitor.done();
display.syncExec(new Runnable() {
public void run() {
setErrorMessage(msg);
}
});
if (isConnected) {
ServerManager.getInstance().setConnected(ip, Integer.parseInt(port), userName, false);
}
return false;
}
}
if (!monitor.isCanceled()) {
if (isConnected) {
ServerManager.getInstance().setConnected(ip, Integer.parseInt(port), userName, false);
}
display.syncExec(new Runnable() {
public void run() {
setErrorMessage(null);
setPageComplete(true);
}
});
}
return true;
}
};
ServerInfo serverInfo = new ServerInfo();
if (ServerManager.getInstance().isConnected(ip, Integer.parseInt(port), userName)) {
serverInfo = CMHostNodePersistManager.getInstance().getServerInfo(ip, Integer.parseInt(port), userName);
} else {
serverInfo.setHostAddress(ip);
serverInfo.setHostMonPort(Integer.parseInt(port));
serverInfo.setHostJSPort(Integer.parseInt(port + 1));
serverInfo.setUserName(userNameText.getText());
serverInfo.setUserPassword(password);
CMHostNodePersistManager.getInstance().addServer(ip, Integer.parseInt(port), userName, serverInfo);
MonitoringTask monitoringTask = new MonitoringTask(serverInfo);
taskExcutor.addTask(monitoringTask);
}
LoginDatabaseTask loginMDbTask = new LoginDatabaseTask(serverInfo);
loginMDbTask.setCMUser("admin");
loginMDbTask.setDbName(masterDbNameText.getText());
loginMDbTask.setDbUser("dba");
loginMDbTask.setDbPassword(masteDbaPasswordText.getText());
taskExcutor.addTask(loginMDbTask);
LoginDatabaseTask loginDistdbTask = new LoginDatabaseTask(replNode.getServer().getServerInfo());
loginDistdbTask.setCMUser("admin");
loginDistdbTask.setDbName(distDbNameText.getText());
loginDistdbTask.setDbUser("dba");
loginDistdbTask.setDbPassword(distDbaPasswordText.getText());
taskExcutor.addTask(loginDistdbTask);
new ExecTaskWithProgress(taskExcutor).exec(true, true);
}
}
use of com.cubrid.cubridmanager.core.cubrid.database.task.LoginDatabaseTask in project cubrid-manager by CUBRID.
the class GetAllClassesTaskExecutor method init.
/**
* initialize some values
*/
private void init() {
ServerInfo serverInfo = new ServerInfo();
boolean isConnected = ServerManager.getInstance().isConnected(ip, Integer.parseInt(port), userName);
DatabaseInfo dbInfo = null;
OnOffType status = OnOffType.OFF;
if (isConnected) {
serverInfo = CMHostNodePersistManager.getInstance().getServerInfo(ip, Integer.parseInt(port), userName);
dbInfo = serverInfo.getLoginedUserInfo().getDatabaseInfo(dbName);
if (dbInfo.getRunningType() == DbRunningType.CS) {
status = OnOffType.ON;
}
} else {
serverInfo.setHostAddress(ip);
serverInfo.setHostMonPort(Integer.parseInt(port));
serverInfo.setHostJSPort(Integer.parseInt(port) + 1);
serverInfo.setUserName(userName);
serverInfo.setUserPassword(password);
CMHostNodePersistManager.getInstance().addServer(ip, Integer.parseInt(port), userName, serverInfo);
MonitoringTask monitoringTask = new MonitoringTask(serverInfo);
addTask(monitoringTask);
GetDatabaseListTask getDatabaseListTask = new GetDatabaseListTask(serverInfo);
addTask(getDatabaseListTask);
GetCMUserListTask getUserInfoTask = new GetCMUserListTask(serverInfo);
addTask(getUserInfoTask);
}
if (dbInfo == null || (dbInfo != null && !dbInfo.isLogined())) {
LoginDatabaseTask loginDbTask = new LoginDatabaseTask(serverInfo);
loginDbTask.setCMUser("admin");
loginDbTask.setDbName(dbName);
loginDbTask.setDbUser("dba");
loginDbTask.setDbPassword(dbaPassword);
addTask(loginDbTask);
UpdateCMUserTask updateCMUserTask = new UpdateCMUserTask(serverInfo);
updateCMUserTask.setCmUserName("admin");
updateCMUserTask.setCasAuth(CasAuthType.AUTH_ADMIN.getText());
updateCMUserTask.setDbCreator(DbCreateAuthType.AUTH_ADMIN.getText());
updateCMUserTask.setStatusMonitorAuth(StatusMonitorAuthType.AUTH_ADMIN.getText());
addTask(updateCMUserTask);
}
GetClassListTask getClassListTask = new GetClassListTask(serverInfo);
getClassListTask.setDbName(dbName);
getClassListTask.setDbStatus(status);
addTask(getClassListTask);
}
Aggregations