Search in sources :

Example 1 with NoSQLConnection

use of org.talend.repository.model.nosql.NoSQLConnection in project tbd-studio-se by Talend.

the class NoSQLRepositoryContentHandler method addNode.

@Override
public void addNode(ERepositoryObjectType type, RepositoryNode recBinNode, IRepositoryViewObject repositoryObject, RepositoryNode node) {
    if (isRepObjType(type)) {
        NoSQLConnection connection = (NoSQLConnection) ((NoSQLConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
        Set<MetadataTable> tableset = ConnectionHelper.getTables(connection);
        for (MetadataTable metadataTable : tableset) {
            if (!SubItemHelper.isDeleted(metadataTable)) {
                RepositoryNode tableNode = RepositoryNodeManager.createMetatableNode(node, repositoryObject, metadataTable);
                node.getChildren().add(tableNode);
                if (metadataTable.getColumns().size() > 0) {
                    RepositoryNodeManager.createColumns(tableNode, repositoryObject, metadataTable);
                }
            }
        }
    }
}
Also used : MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) NoSQLConnection(org.talend.repository.model.nosql.NoSQLConnection) RepositoryNode(org.talend.repository.model.RepositoryNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode)

Example 2 with NoSQLConnection

use of org.talend.repository.model.nosql.NoSQLConnection in project tbd-studio-se by Talend.

the class NoSQLRepositoryContextHandler method createContextParameters.

@Override
public List<IContextParameter> createContextParameters(String prefixName, Connection connection, Set<IConnParamName> paramSet) {
    List<IContextParameter> varList = new ArrayList<IContextParameter>();
    if (connection instanceof NoSQLConnection) {
        NoSQLConnection conn = (NoSQLConnection) connection;
        JavaType javaType = null;
        if (conn == null || prefixName == null || paramSet == null || paramSet.isEmpty()) {
            return Collections.emptyList();
        }
        for (Map.Entry<String, String> attr : ((NoSQLConnection) connection).getAttributes()) {
            if (INoSQLCommonAttributes.PASSWORD.equals(attr)) {
                javaType = JavaTypesManager.PASSWORD;
            }
        }
        String paramPrefix = prefixName + ConnectionContextHelper.LINE;
        String paramName = null;
        for (IConnParamName param : paramSet) {
            if (param instanceof EHadoopParamName) {
                EHadoopParamName noSqlParam = (EHadoopParamName) param;
                paramName = paramPrefix + noSqlParam;
                switch(noSqlParam) {
                    case Server:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.HOST), javaType);
                        break;
                    case Port:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.PORT), javaType);
                        break;
                    case Keyspace:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.DATABASE), javaType);
                        break;
                    case Database:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.DATABASE), javaType);
                        break;
                    case Databasepath:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INeo4jAttributes.DATABASE_PATH), javaType);
                        break;
                    case ServerUrl:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INeo4jAttributes.SERVER_URL), javaType);
                        break;
                    case UserName:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.USERNAME), javaType);
                        break;
                    case Password:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(INoSQLCommonAttributes.PASSWORD), JavaTypesManager.PASSWORD);
                        break;
                    case ConnectionString:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.CONN_STRING), javaType);
                        break;
                    case Keystore:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.X509_CERT), javaType);
                        break;
                    case KeystorePass:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.X509_CERT_KEYSTORE_PASSWORD), JavaTypesManager.PASSWORD);
                        break;
                    case Truststore:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.X509_CERT_AUTH), javaType);
                        break;
                    case TruststorePass:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.X509_CERT_AUTH_TRUSTSTORE_PASSWORD), JavaTypesManager.PASSWORD);
                        break;
                    case AuthenticationDatabase:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.AUTHENTICATION_DATABASE), javaType);
                        break;
                    case UserPrincipal:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.KRB_USER_PRINCIPAL), javaType);
                        break;
                    case Realm:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.KRB_REALM), javaType);
                        break;
                    case KDCServer:
                        ConnectionContextHelper.createParameters(varList, paramName, conn.getAttributes().get(IMongoDBAttributes.KRB_KDC), javaType);
                        break;
                    case ReplicaSets:
                        String replicaSets = conn.getAttributes().get(IMongoDBAttributes.REPLICA_SET);
                        if (StringUtils.isNotEmpty(replicaSets)) {
                            try {
                                JSONArray jsa = new JSONArray(replicaSets);
                                for (int i = 0; i < jsa.length(); i++) {
                                    JSONObject jso = jsa.getJSONObject(i);
                                    String hostParamName = paramPrefix + EHadoopParamName.ReplicaHost.name() + ConnectionContextHelper.LINE + (i + 1);
                                    String portParamName = paramPrefix + EHadoopParamName.ReplicaPort.name() + ConnectionContextHelper.LINE + (i + 1);
                                    String hostValue = jso.getString(IMongoConstants.REPLICA_HOST_KEY);
                                    String portValue = jso.getString(IMongoConstants.REPLICA_PORT_KEY);
                                    ConnectionContextHelper.createParameters(varList, hostParamName, hostValue, JavaTypesManager.STRING);
                                    ConnectionContextHelper.createParameters(varList, portParamName, portValue, JavaTypesManager.INTEGER);
                                }
                            } catch (JSONException e) {
                                ExceptionHandler.process(e);
                            }
                        }
                        break;
                    default:
                }
            }
        }
    }
    return varList;
}
Also used : ArrayList(java.util.ArrayList) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) IConnParamName(org.talend.metadata.managment.ui.model.IConnParamName) IContextParameter(org.talend.core.model.process.IContextParameter) JavaType(org.talend.core.model.metadata.types.JavaType) JSONObject(org.talend.utils.json.JSONObject) EHadoopParamName(org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName) NoSQLConnection(org.talend.repository.model.nosql.NoSQLConnection) Map(java.util.Map)

Example 3 with NoSQLConnection

use of org.talend.repository.model.nosql.NoSQLConnection in project tbd-studio-se by Talend.

the class NoSQLRepositoryContextHandler method matchContextForAttribues.

@Override
protected void matchContextForAttribues(Connection conn, IConnParamName param, String noSqlVariableName) {
    NoSQLConnection noSqlConn = (NoSQLConnection) conn;
    EHadoopParamName noSqlParam = (EHadoopParamName) param;
    switch(noSqlParam) {
        case Server:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.HOST, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case ConnectionString:
            noSqlConn.getAttributes().put(IMongoDBAttributes.CONN_STRING, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Port:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.PORT, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Database:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.DATABASE, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Keyspace:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.DATABASE, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Databasepath:
            noSqlConn.getAttributes().put(INeo4jAttributes.DATABASE_PATH, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case ServerUrl:
            noSqlConn.getAttributes().put(INeo4jAttributes.SERVER_URL, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case UserName:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.USERNAME, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Password:
            noSqlConn.getAttributes().put(INoSQLCommonAttributes.PASSWORD, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Keystore:
            noSqlConn.getAttributes().put(IMongoDBAttributes.X509_CERT, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case KeystorePass:
            noSqlConn.getAttributes().put(IMongoDBAttributes.X509_CERT_KEYSTORE_PASSWORD, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Truststore:
            noSqlConn.getAttributes().put(IMongoDBAttributes.X509_CERT_AUTH, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case TruststorePass:
            noSqlConn.getAttributes().put(IMongoDBAttributes.X509_CERT_AUTH_TRUSTSTORE_PASSWORD, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case AuthenticationDatabase:
            noSqlConn.getAttributes().put(IMongoDBAttributes.AUTHENTICATION_DATABASE, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case UserPrincipal:
            noSqlConn.getAttributes().put(IMongoDBAttributes.KRB_USER_PRINCIPAL, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case Realm:
            noSqlConn.getAttributes().put(IMongoDBAttributes.KRB_REALM, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case KDCServer:
            noSqlConn.getAttributes().put(IMongoDBAttributes.KRB_KDC, ContextParameterUtils.getNewScriptCode(noSqlVariableName, LANGUAGE));
            break;
        case ReplicaSets:
            String replicaSets = noSqlConn.getAttributes().get(IMongoDBAttributes.REPLICA_SET);
            try {
                JSONArray jsa = new JSONArray(replicaSets);
                for (int i = 0; i < jsa.length(); i++) {
                    JSONObject jso = jsa.getJSONObject(i);
                    int paramNum = i + 1;
                    String hostParamName = noSqlVariableName + ExtendedNodeConnectionContextUtils.getReplicaParamName(EHadoopParamName.ReplicaHost, paramNum);
                    String portParamName = noSqlVariableName + ExtendedNodeConnectionContextUtils.getReplicaParamName(EHadoopParamName.ReplicaPort, paramNum);
                    jso.put(IMongoConstants.REPLICA_HOST_KEY, ContextParameterUtils.getNewScriptCode(hostParamName, LANGUAGE));
                    jso.put(IMongoConstants.REPLICA_PORT_KEY, ContextParameterUtils.getNewScriptCode(portParamName, LANGUAGE));
                }
                noSqlConn.getAttributes().put(IMongoDBAttributes.REPLICA_SET, jsa.toString());
            } catch (JSONException e) {
                ExceptionHandler.process(e);
            }
            break;
        default:
    }
}
Also used : JSONObject(org.talend.utils.json.JSONObject) EHadoopParamName(org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) NoSQLConnection(org.talend.repository.model.nosql.NoSQLConnection)

Example 4 with NoSQLConnection

use of org.talend.repository.model.nosql.NoSQLConnection in project tbd-studio-se by Talend.

the class NoSQLRepositoryContextHandler method setPropertiesForExistContextMode.

@Override
public void setPropertiesForExistContextMode(Connection connection, Set<IConnParamName> paramSet, Map<ContextItem, List<ConectionAdaptContextVariableModel>> adaptMap) {
    if (connection == null) {
        return;
    }
    if (connection instanceof NoSQLConnection) {
        NoSQLConnection noSqlConn = (NoSQLConnection) connection;
        ContextItem currentContext = null;
        for (IConnParamName param : paramSet) {
            if (param instanceof EHadoopParamName) {
                String noSqlVariableName = null;
                EHadoopParamName noSqlParam = (EHadoopParamName) param;
                if (noSqlParam == EHadoopParamName.ReplicaSets) {
                    String replicaSets = noSqlConn.getAttributes().get(IMongoDBAttributes.REPLICA_SET);
                    try {
                        JSONArray jsa = new JSONArray(replicaSets);
                        for (int i = 0; i < jsa.length(); i++) {
                            JSONObject jso = jsa.getJSONObject(i);
                            int paramNum = i + 1;
                            String hostParamName = ExtendedNodeConnectionContextUtils.getReplicaParamName(EHadoopParamName.ReplicaHost, paramNum);
                            String portParamName = ExtendedNodeConnectionContextUtils.getReplicaParamName(EHadoopParamName.ReplicaPort, paramNum);
                            String hostVariableName = null;
                            String portVariableName = null;
                            if (adaptMap != null && adaptMap.size() > 0) {
                                for (Map.Entry<ContextItem, List<ConectionAdaptContextVariableModel>> entry : adaptMap.entrySet()) {
                                    currentContext = entry.getKey();
                                    List<ConectionAdaptContextVariableModel> modelList = entry.getValue();
                                    for (ConectionAdaptContextVariableModel model : modelList) {
                                        if (model.getValue().equals(hostParamName)) {
                                            hostVariableName = model.getName();
                                        } else if (model.getValue().equals(portParamName)) {
                                            portVariableName = model.getName();
                                        }
                                        if (hostVariableName != null && portVariableName != null) {
                                            break;
                                        }
                                    }
                                }
                            }
                            if (hostVariableName != null && portVariableName != null) {
                                hostVariableName = getCorrectVariableName(currentContext, hostVariableName, hostParamName);
                                portVariableName = getCorrectVariableName(currentContext, portVariableName, portParamName);
                                jso.put(IMongoConstants.REPLICA_HOST_KEY, ContextParameterUtils.getNewScriptCode(hostVariableName, LANGUAGE));
                                jso.put(IMongoConstants.REPLICA_PORT_KEY, ContextParameterUtils.getNewScriptCode(portVariableName, LANGUAGE));
                            }
                        }
                        noSqlConn.getAttributes().put(IMongoDBAttributes.REPLICA_SET, jsa.toString());
                    } catch (JSONException e) {
                        ExceptionHandler.process(e);
                    }
                } else {
                    if (adaptMap != null && adaptMap.size() > 0) {
                        for (Map.Entry<ContextItem, List<ConectionAdaptContextVariableModel>> entry : adaptMap.entrySet()) {
                            currentContext = entry.getKey();
                            List<ConectionAdaptContextVariableModel> modelList = entry.getValue();
                            for (ConectionAdaptContextVariableModel model : modelList) {
                                if (model.getValue().equals(noSqlParam.name())) {
                                    noSqlVariableName = model.getName();
                                    break;
                                }
                            }
                        }
                    }
                    if (noSqlVariableName != null) {
                        noSqlVariableName = getCorrectVariableName(currentContext, noSqlVariableName, noSqlParam);
                        matchContextForAttribues(noSqlConn, noSqlParam, noSqlVariableName);
                    }
                }
            }
        }
    }
}
Also used : ContextItem(org.talend.core.model.properties.ContextItem) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) IConnParamName(org.talend.metadata.managment.ui.model.IConnParamName) ConectionAdaptContextVariableModel(org.talend.core.ui.context.model.table.ConectionAdaptContextVariableModel) JSONObject(org.talend.utils.json.JSONObject) EHadoopParamName(org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName) ArrayList(java.util.ArrayList) List(java.util.List) NoSQLConnection(org.talend.repository.model.nosql.NoSQLConnection) Map(java.util.Map)

Example 5 with NoSQLConnection

use of org.talend.repository.model.nosql.NoSQLConnection in project tbd-studio-se by Talend.

the class NoSQLRepositoryContextHandler method setPropertiesForContextMode.

/*
     * (non-Javadoc)
     *
     * @see
     * org.talend.repository.ui.utils.IRepositoryContextHandler#setPropertiesForContextMode(org.talend.core.model.properties
     * .ContextItem, java.util.Map)
     */
@Override
public void setPropertiesForContextMode(String prefixName, Connection connection, Set<IConnParamName> paramSet) {
    if (connection == null) {
        return;
    }
    if (connection instanceof NoSQLConnection) {
        String noSqlVariableName = null;
        NoSQLConnection noSqlConn = (NoSQLConnection) connection;
        String originalVariableName = prefixName + ConnectionContextHelper.LINE;
        for (IConnParamName param : paramSet) {
            if (param instanceof EHadoopParamName) {
                EHadoopParamName noSqlParam = (EHadoopParamName) param;
                originalVariableName = prefixName + ConnectionContextHelper.LINE;
                if (noSqlParam == EHadoopParamName.ReplicaSets) {
                    noSqlVariableName = originalVariableName;
                } else {
                    noSqlVariableName = originalVariableName + noSqlParam;
                }
                matchContextForAttribues(noSqlConn, noSqlParam, noSqlVariableName);
            }
        }
    }
}
Also used : EHadoopParamName(org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName) IConnParamName(org.talend.metadata.managment.ui.model.IConnParamName) NoSQLConnection(org.talend.repository.model.nosql.NoSQLConnection)

Aggregations

NoSQLConnection (org.talend.repository.model.nosql.NoSQLConnection)30 NoSQLConnectionItem (org.talend.repository.model.nosql.NoSQLConnectionItem)7 ArrayList (java.util.ArrayList)5 Map (java.util.Map)4 MetadataTable (org.talend.core.model.metadata.builder.connection.MetadataTable)4 EHadoopParamName (org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName)4 JSONArray (org.talend.utils.json.JSONArray)4 JSONException (org.talend.utils.json.JSONException)4 JSONObject (org.talend.utils.json.JSONObject)4 ModifyEvent (org.eclipse.swt.events.ModifyEvent)3 ModifyListener (org.eclipse.swt.events.ModifyListener)3 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)3 SelectionEvent (org.eclipse.swt.events.SelectionEvent)3 IConnParamName (org.talend.metadata.managment.ui.model.IConnParamName)3 AbstractForm (org.talend.metadata.managment.ui.wizard.AbstractForm)3 HashMap (java.util.HashMap)2 List (java.util.List)2 Connection (org.talend.core.model.metadata.builder.connection.Connection)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 File (java.io.File)1