Search in sources :

Example 6 with SQLExplorerPlugin

use of net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin in project tdq-studio-se by Talend.

the class SqlexplorerService method aliasExist.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.dataprofiler.service.ISqlexplorerService#aliasExist(java.lang.String)
     */
@Override
public boolean aliasExist(String connectionName) {
    SQLExplorerPlugin sqlPlugin = SQLExplorerPlugin.getDefault();
    AliasManager aliasManager = sqlPlugin.getAliasManager();
    Alias alias = aliasManager.getAlias(connectionName);
    return alias != null;
}
Also used : AliasManager(net.sourceforge.sqlexplorer.dbproduct.AliasManager) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias) SQLExplorerPlugin(net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin)

Example 7 with SQLExplorerPlugin

use of net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin in project tdq-studio-se by Talend.

the class SqlexplorerService method addConnetionAliasToSQLPlugin.

@Override
public void addConnetionAliasToSQLPlugin(ModelElement... dataproviders) {
    SQLExplorerPlugin sqlPlugin = SQLExplorerPlugin.getDefault();
    AliasManager aliasManager = sqlPlugin.getAliasManager();
    DriverManager driverManager = sqlPlugin.getDriverModel();
    List<String> tdqSupportDBType = MetadataConnectionUtils.getTDQSupportDBTemplate();
    // if all dataproviders are not supported on DQ side,don't save files SQLAliases.xml and
    // SQLDrivers.xml.Otherwise,save it.
    AliasAndManaDriverHelper aliasManaDriverHelper = AliasAndManaDriverHelper.getInstance();
    for (ModelElement dataProvider : dataproviders) {
        try {
            Connection connection = SwitchHelpers.CONNECTION_SWITCH.doSwitch(dataProvider);
            // MOD bug mzhao filter the other connections except database connection.
            if (connection != null && connection instanceof DatabaseConnection) {
                // TDQ-8379 do nothing if the database type isn't supproted on DQ side.
                DatabaseConnection dbConn = ((DatabaseConnection) connection);
                String databaseType = dbConn.getDatabaseType();
                if (!tdqSupportDBType.contains(databaseType)) {
                    continue;
                }
                // only new Alias when it is not in aliasManager
                Alias alias = aliasManager.getAlias(dataProvider.getName());
                String url = JavaSqlFactory.getURL(connection);
                // if the alias is not null and the url is same with the connection, this means the alias is already
                // exist; if the alias is not null but hte url is not same with the connection, this means the
                // connection has been overwrite , need to rebuild the alias
                boolean aliasExist = alias != null && StringUtils.equals(url, alias.getUrl());
                if (!aliasExist) {
                    if (alias == null) {
                        alias = new Alias(dataProvider.getName());
                    }
                    String user = JavaSqlFactory.getUsername(connection);
                    // MOD gdbu 2011-3-17 bug 19539
                    String password = JavaSqlFactory.getPassword(connection);
                    // ~19539
                    // user should not be null
                    // $NON-NLS-1$
                    user = user == null ? "" : user;
                    // password should not be null
                    // $NON-NLS-1$
                    password = password == null ? "" : password;
                    // is serialized correctly.
                    assert user != null;
                    assert password != null;
                    User previousUser = new User(user, password);
                    previousUser.setDatabaseConnection(dbConn);
                    alias.setDefaultUser(previousUser);
                    alias.setAutoLogon(false);
                    alias.setConnectAtStartup(true);
                    alias.setUrl(url);
                    ManagedDriver manDr = aliasManaDriverHelper.getManaDriverByConnection(dbConn);
                    if (manDr == null) {
                        manDr = aliasManaDriverHelper.createNewManagerDriver(dbConn);
                        driverManager.addDriver(manDr);
                    } else if (!manDr.isDriverClassLoaded()) {
                        this.loadDriverByLibManageSystem(dbConn);
                    }
                    if (manDr != null) {
                        alias.setDriver(manDr);
                    }
                }
                if (!aliasManager.contains(alias) && alias.getName() != null) {
                    aliasManager.addAlias(alias);
                }
                // MOD Qiongli TDQ-6166 just put once for every Alias
                if (sqlPlugin.getPropertyFile().get(alias) == null) {
                    sqlPlugin.getPropertyFile().put(alias, getPropertyFile(dataProvider));
                }
                aliasManager.modelChanged();
            }
        } catch (Throwable e) {
            // MOD scorreia 2010-07-24 catch all exceptions
            log.error(e, e);
            continue;
        }
    }
}
Also used : User(net.sourceforge.sqlexplorer.dbproduct.User) ManagedDriver(net.sourceforge.sqlexplorer.dbproduct.ManagedDriver) AliasAndManaDriverHelper(net.sourceforge.sqlexplorer.util.AliasAndManaDriverHelper) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) IMetadataConnection(org.talend.core.model.metadata.IMetadataConnection) Connection(org.talend.core.model.metadata.builder.connection.Connection) AliasManager(net.sourceforge.sqlexplorer.dbproduct.AliasManager) ModelElement(orgomg.cwm.objectmodel.core.ModelElement) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) DriverManager(net.sourceforge.sqlexplorer.dbproduct.DriverManager) SQLExplorerPlugin(net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin)

Aggregations

SQLExplorerPlugin (net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin)7 Alias (net.sourceforge.sqlexplorer.dbproduct.Alias)4 AliasManager (net.sourceforge.sqlexplorer.dbproduct.AliasManager)4 MalformedURLException (java.net.MalformedURLException)3 DriverManager (net.sourceforge.sqlexplorer.dbproduct.DriverManager)3 ManagedDriver (net.sourceforge.sqlexplorer.dbproduct.ManagedDriver)3 PartInitException (org.eclipse.ui.PartInitException)3 DatabaseStructureView (net.sourceforge.sqlexplorer.plugin.views.DatabaseStructureView)2 File (java.io.File)1 URL (java.net.URL)1 Driver (java.sql.Driver)1 ArrayList (java.util.ArrayList)1 User (net.sourceforge.sqlexplorer.dbproduct.User)1 AliasAndManaDriverHelper (net.sourceforge.sqlexplorer.util.AliasAndManaDriverHelper)1 MyURLClassLoader (net.sourceforge.sqlexplorer.util.MyURLClassLoader)1 IFile (org.eclipse.core.resources.IFile)1 IMetadataConnection (org.talend.core.model.metadata.IMetadataConnection)1 Connection (org.talend.core.model.metadata.builder.connection.Connection)1 DatabaseConnection (org.talend.core.model.metadata.builder.connection.DatabaseConnection)1 DataProvider (orgomg.cwm.foundation.softwaredeployment.DataProvider)1