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