Search in sources :

Example 66 with CubridServer

use of com.cubrid.common.ui.spi.model.CubridServer in project cubrid-manager by CUBRID.

the class CMHostNodePersistManager method removeAllServer.

/**
	 *
	 * Remove all servers
	 *
	 */
public void removeAllServer() {
    synchronized (this) {
        for (int i = 0; i < serverList.size(); i++) {
            CubridServer server = serverList.get(i);
            ServerManager.getInstance().removeServer(server.getHostAddress(), server.getServerInfo().getHostMonPort(), server.getServerInfo().getUserName());
            serverList.remove(server);
            CMDBNodePersistManager.getInstance().deleteParameter(server);
            CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(server, CubridNodeChangedEventType.NODE_REMOVE));
        }
        saveServers();
    }
}
Also used : CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) CubridServer(com.cubrid.common.ui.spi.model.CubridServer)

Example 67 with CubridServer

use of com.cubrid.common.ui.spi.model.CubridServer in project cubrid-manager by CUBRID.

the class DBParameter method addDatabase.

/**
	 * Add or modify the database editor config
	 *
	 * @param database
	 */
public void addDatabase(CubridDatabase database, DatabaseEditorConfig editorConfig) {
    CubridServer server = database.getServer();
    String dbUser = database.getUserName();
    String dbName = database.getName();
    String address = server.getHostAddress();
    String port = server.getMonPort();
    String dbPassword = database.getDatabaseInfo().getAuthLoginedDbUserInfo().getNoEncryptPassword();
    String jdbcAttrs = StringUtils.defaultString(database.getDatabaseInfo().getJdbcAttrs());
    boolean savePassword = database.isAutoSavePassword();
    synchronized (this) {
        String key = getMapKey(dbUser, dbName, address, port);
        DBParameter dbParameter = new DBParameter(dbName, address, port, dbUser, dbPassword, jdbcAttrs, savePassword);
        databaseMap.put(key, dbParameter);
        QueryOptions.putEditorConfig(database, editorConfig, true);
        saveDatabases();
    }
    fireAddDatabase(database.getDatabaseInfo());
}
Also used : CubridServer(com.cubrid.common.ui.spi.model.CubridServer)

Example 68 with CubridServer

use of com.cubrid.common.ui.spi.model.CubridServer in project cubrid-manager by CUBRID.

the class DBParameter method modifyDatabase.

/**
	 * Add or modify the database editor config
	 * 
	 * @param database
	 */
public void modifyDatabase(CubridDatabase oldDatabase, CubridDatabase newDatabase, DatabaseEditorConfig editorConfig) {
    CubridServer server = newDatabase.getServer();
    String dbUser = newDatabase.getUserName();
    String dbName = newDatabase.getName();
    String address = server.getHostAddress();
    String port = server.getMonPort();
    String dbPassword = newDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getNoEncryptPassword();
    String jdbcAttrs = StringUtils.defaultString(newDatabase.getDatabaseInfo().getJdbcAttrs());
    boolean savePassword = newDatabase.isAutoSavePassword();
    synchronized (this) {
        String key = getMapKey(dbUser, dbName, address, port);
        DBParameter dbParameter = new DBParameter(dbName, address, port, dbUser, dbPassword, jdbcAttrs, savePassword);
        databaseMap.put(key, dbParameter);
        QueryOptions.putEditorConfig(newDatabase, editorConfig, true);
        saveDatabases();
    }
    if (oldDatabase != null && oldDatabase.getDatabaseInfo() != null) {
        fireModifyDatabase(oldDatabase.getDatabaseInfo(), newDatabase.getDatabaseInfo());
    }
}
Also used : CubridServer(com.cubrid.common.ui.spi.model.CubridServer)

Example 69 with CubridServer

use of com.cubrid.common.ui.spi.model.CubridServer in project cubrid-manager by CUBRID.

the class CMGroupNodePersistManager method fix.

/**
	 * To fix when it has crashed group information
	 *
	 * @deprecated
	 */
public void fix() {
    List<CubridServer> svrs = CMHostNodePersistManager.getInstance().getAllServers();
    if (svrs == null)
        return;
    List<ICubridNode> cnodes = new ArrayList<ICubridNode>();
    try {
        List<CubridGroupNode> gnodes = getAllGroupNodes();
        for (int i = 0; i < gnodes.size(); i++) {
            CubridGroupNode node = gnodes.get(i);
            List<ICubridNode> snode = node.getChildren();
            for (int j = 0; j < snode.size(); j++) {
                cnodes.add(snode.get(j));
            }
        }
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
    }
    try {
        for (int i = 0; i < svrs.size(); i++) {
            CubridServer svr = svrs.get(i);
            String gid = svr.getName();
            boolean exists = false;
            for (int j = 0; j < cnodes.size(); j++) {
                ICubridNode cnode = cnodes.get(j);
                if (cnode.getId() != null && cnode.getId().equals(gid)) {
                    exists = true;
                    break;
                }
            }
            if (!exists) {
                getDefaultGroup().addChild(svr);
            }
        }
    } catch (Exception e) {
        LOGGER.error(e.getMessage(), e);
    }
    saveAllGroupNode();
}
Also used : CubridGroupNode(com.cubrid.common.ui.spi.model.CubridGroupNode) ArrayList(java.util.ArrayList) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridServer(com.cubrid.common.ui.spi.model.CubridServer) IOException(java.io.IOException)

Example 70 with CubridServer

use of com.cubrid.common.ui.spi.model.CubridServer 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();
}
Also used : DatabaseInfo(com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) CQBDbConnectionLoader(com.cubrid.cubridmanager.ui.spi.model.loader.CQBDbConnectionLoader) ICubridNodeLoader(com.cubrid.common.ui.spi.model.ICubridNodeLoader) CubridNodeLoader(com.cubrid.common.ui.spi.model.CubridNodeLoader) CubridServer(com.cubrid.common.ui.spi.model.CubridServer) DbUserInfo(com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) IsDBAUserTask(com.cubrid.cubridmanager.core.cubrid.user.task.IsDBAUserTask) ConnectDatabaseExecutor(com.cubrid.common.ui.spi.util.ConnectDatabaseExecutor) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase) DatabaseEditorConfig(com.cubrid.common.ui.spi.model.DatabaseEditorConfig)

Aggregations

CubridServer (com.cubrid.common.ui.spi.model.CubridServer)136 ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)41 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)39 CubridDatabase (com.cubrid.common.ui.spi.model.CubridDatabase)22 ArrayList (java.util.ArrayList)20 ServerUserInfo (com.cubrid.cubridmanager.core.common.model.ServerUserInfo)19 CubridGroupNode (com.cubrid.common.ui.spi.model.CubridGroupNode)15 CubridNavigatorView (com.cubrid.common.ui.common.navigator.CubridNavigatorView)13 DatabaseInfo (com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo)12 TreeViewer (org.eclipse.jface.viewers.TreeViewer)11 DbUserInfo (com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo)10 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)10 CubridNodeChangedEvent (com.cubrid.common.ui.spi.event.CubridNodeChangedEvent)9 List (java.util.List)9 IXMLMemento (com.cubrid.cubridmanager.core.common.xml.IXMLMemento)8 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)7 CubridServerLoader (com.cubrid.cubridmanager.ui.spi.model.loader.CubridServerLoader)7 ICubridNodeLoader (com.cubrid.common.ui.spi.model.ICubridNodeLoader)6 ExecTaskWithProgress (com.cubrid.common.ui.spi.progress.ExecTaskWithProgress)6 TaskExecutor (com.cubrid.common.ui.spi.progress.TaskExecutor)6