use of com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo in project cubrid-manager by CUBRID.
the class CQBDatabaseFactory method modifyDatabaseByJDBCConnectInfo.
/**
* Modify the database by the jdbcconnectinfo
* s
* @param oldCon
* @param newCon
* @return
*/
public static CubridDatabase modifyDatabaseByJDBCConnectInfo(IJDBCConnecInfo oldCon, IJDBCConnecInfo newCon) {
if (oldCon == null || StringUtil.isEmpty(oldCon.getConName()) || newCon == null || StringUtil.isEmpty(newCon.getConName())) {
return null;
}
String connName = newCon.getConName();
if (!StringUtil.isEqual(oldCon.getConName(), newCon.getConName())) {
connName = getUniqueName(newCon.getConName());
}
CubridDatabase database = CQBDatabaseFactory.getDatabaseJDBCConnectInfo(oldCon);
if (database != null) {
String newDBId = connName + ICubridNodeLoader.NODE_SEPARATOR + connName;
database.setId(newDBId);
database.setLabel(connName);
if (!StringUtil.isEqualNotIgnoreNull(oldCon.getConName(), connName)) {
if (database.getServer() != null) {
database.getServer().setId(connName);
database.getServer().setLabel(connName);
}
}
if (database.getServer().getServerInfo() != null) {
database.getServer().getServerInfo().setServerName(connName);
database.getServer().getServerInfo().setHostAddress(newCon.getHost());
database.getServer().getServerInfo().setUserName(newCon.getDbName() + "@" + newCon.getHost());
if (StringUtil.isNotEmpty(newCon.getVersion())) {
database.getServer().getServerInfo().setJdbcDriverVersion(newCon.getVersion());
} else {
try {
database.getServer().getServerInfo().setJdbcDriverVersion(JdbcClassLoaderFactory.getJdbcJarVersion(newCon.getDriverFileName()));
} catch (IOException e) {
//Ignore
}
}
}
DatabaseInfo databaseInfo = database.getDatabaseInfo();
if (databaseInfo != null) {
databaseInfo.setBrokerIP(newCon.getHost());
databaseInfo.setBrokerPort(String.valueOf(newCon.getPort()));
databaseInfo.setCharSet(newCon.getCharset());
databaseInfo.setJdbcAttrs(newCon.getJDBCAttrs());
databaseInfo.setDbName(newCon.getDbName());
DbUserInfo userInfo = databaseInfo.getAuthLoginedDbUserInfo();
if (userInfo == null) {
userInfo = new DbUserInfo();
}
userInfo.setDbName(newCon.getDbName());
userInfo.setName(newCon.getConUser());
userInfo.setNoEncryptPassword(newCon.getConPassword());
databaseInfo.setAuthLoginedDbUserInfo(userInfo);
}
}
return database;
}
use of com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo in project cubrid-manager by CUBRID.
the class MultiQueryConnEditDialog method cloneMultiEditQueryConnInfo.
/**
* clone edit database
*
* @param cloneDB
* @return
*/
public CubridDatabase cloneMultiEditQueryConnInfo(CubridDatabase cloneDB) {
CubridDatabase newCubridDatabase = new CubridDatabase(cloneDB.getId(), cloneDB.getLabel());
DatabaseInfo cloneDBInfo = cloneDB.getDatabaseInfo();
ServerInfo cloneServerInfo = cloneDBInfo.getServerInfo();
String databaseName = cloneDBInfo.getDbName();
String brokerIp = cloneDBInfo.getBrokerIP();
String brokerPort = cloneDBInfo.getBrokerPort();
String userName = cloneDBInfo.getAuthLoginedDbUserInfo().getName();
String userPassword = cloneDBInfo.getAuthLoginedDbUserInfo().getNoEncryptPassword();
String charset = cloneDBInfo.getCharSet();
String jdbcAttrs = cloneDBInfo.getJdbcAttrs();
String jdbcVersion = cloneServerInfo.getJdbcDriverVersion();
ServerInfo newServerInfo = new ServerInfo();
newServerInfo.setServerName(databaseName);
newServerInfo.setHostAddress(brokerIp);
newServerInfo.setHostMonPort(Integer.parseInt(brokerPort));
newServerInfo.setHostJSPort(Integer.parseInt(brokerPort) + 1);
newServerInfo.setUserName(databaseName + "@" + brokerIp);
newServerInfo.setJdbcDriverVersion(jdbcVersion);
DatabaseInfo newDBInfo = new DatabaseInfo(databaseName, newServerInfo);
newDBInfo.setBrokerIP(brokerIp);
newDBInfo.setBrokerPort(brokerPort);
newDBInfo.setCharSet(charset);
newDBInfo.setJdbcAttrs(jdbcAttrs);
DbUserInfo newUserInfo = new DbUserInfo();
newUserInfo.setDbName(databaseName);
newUserInfo.setName(userName);
newUserInfo.setNoEncryptPassword(userPassword);
newDBInfo.setAuthLoginedDbUserInfo(newUserInfo);
newCubridDatabase.setAutoSavePassword(cloneDB.isAutoSavePassword());
newCubridDatabase.setServer(cloneDB.getServer());
newCubridDatabase.setDatabaseInfo(newDBInfo);
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(cloneDB, false);
if (editorConfig != null) {
newCubridDatabase.setData(COMMENTKEY, editorConfig.getDatabaseComment());
} else {
newCubridDatabase.setData(COMMENTKEY, "");
}
return newCubridDatabase;
}
use of com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo 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.cubridmanager.core.cubrid.user.model.DbUserInfo in project cubrid-manager by CUBRID.
the class CubridTitleLineContrItem method getTitleForNavigator.
/**
*
* Get title of CUBRID Query application for navigator
*
* @param cubridNode the ICubridNode object
* @return String
*/
protected String getTitleForNavigator(ICubridNode cubridNode) {
if (cubridNode == null) {
return "";
}
StringBuffer titleStrBuffer = new StringBuffer();
if (cubridNode instanceof ISchemaNode) {
ISchemaNode schemaNode = (ISchemaNode) cubridNode;
CubridDatabase database = schemaNode.getDatabase();
if (database != null) {
titleStrBuffer.append(database.getLabel() + " / ");
}
DatabaseInfo dbInfo = database == null ? null : database.getDatabaseInfo();
if (dbInfo == null) {
return "";
}
StringBuffer dbInfoStrBuffer = new StringBuffer();
DbUserInfo dbUserInfo = dbInfo.getAuthLoginedDbUserInfo();
if (dbUserInfo == null || dbUserInfo.getName() == null || dbUserInfo.getName().trim().length() == 0) {
dbInfoStrBuffer.append(dbInfo.getDbName());
} else {
dbInfoStrBuffer.append(dbUserInfo.getName() + "@" + dbInfo.getDbName());
}
String brokerPort = dbInfo.getBrokerPort();
if (brokerPort != null && brokerPort.trim().length() > 0) {
dbInfoStrBuffer.append(":").append(brokerPort);
}
String charset = dbInfo.getCharSet();
if (charset != null && charset.trim().length() > 0) {
dbInfoStrBuffer.append(":charset=").append(charset);
}
titleStrBuffer.append(dbInfoStrBuffer);
} else {
titleStrBuffer.append(cubridNode.getLabel());
}
return titleStrBuffer.toString();
}
use of com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo 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);
}
Aggregations