Search in sources :

Example 1 with JSONArray

use of org.talend.utils.json.JSONArray in project tdi-studio-se by Talend.

the class ColumnListControllerTest method testreUsedColumnFunctionArrayCheck2.

@Test
public void testreUsedColumnFunctionArrayCheck2() throws Exception {
    //$NON-NLS-1$
    column.setLabel("B");
    column.setTalendType(JavaTypesManager.STRING.getId());
    JSONObject functionInfoObj = new JSONObject();
    JSONArray parametersArr = new JSONArray();
    try {
        functionInfoObj.put(PARAMETER_CLASS_NAME, "");
        functionInfoObj.put(NAME, "...");
        JSONObject parameterObj = new JSONObject();
        parameterObj.put(PARAMETER_NAME, "customize parameter");
        parameterObj.put(PARAMETER_VALUE, "");
        parametersArr.put(parameterObj);
        functionInfoObj.put(PARAMETERS, parametersArr);
    } catch (JSONException e) {
        ExceptionHandler.process(e);
    }
    column.getAdditionalField().put("FUNCTION_INFO", functionInfoObj.toString());
    table.getListColumns().add(column);
    String functioExpression = "";
    testNewLineArrayFunction(functioExpression, column.getLabel());
}
Also used : JSONObject(org.talend.utils.json.JSONObject) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) Test(org.junit.Test)

Example 2 with JSONArray

use of org.talend.utils.json.JSONArray in project tdi-studio-se by Talend.

the class ColumnListControllerTest method testreUsedColumnFunctionArrayCheck1.

@Test
public void testreUsedColumnFunctionArrayCheck1() throws Exception {
    //$NON-NLS-1$
    column.setLabel("A");
    column.setTalendType(JavaTypesManager.STRING.getId());
    JSONObject functionInfoObj = new JSONObject();
    JSONArray parametersArr = new JSONArray();
    try {
        functionInfoObj.put(PARAMETER_CLASS_NAME, "StringHandling");
        functionInfoObj.put(NAME, "CHANGE");
        JSONObject parameterObj1 = new JSONObject();
        parameterObj1.put(PARAMETER_NAME, "oldStr");
        parameterObj1.put(PARAMETER_VALUE, "\"hello world!\" ");
        parametersArr.put(parameterObj1);
        JSONObject parameterObj2 = new JSONObject();
        parameterObj2.put(PARAMETER_NAME, "regex");
        parameterObj2.put(PARAMETER_VALUE, "\"world\" ");
        parametersArr.put(parameterObj2);
        JSONObject parameterObj3 = new JSONObject();
        parameterObj3.put(PARAMETER_NAME, "replacement");
        parameterObj3.put(PARAMETER_VALUE, "\"guy\" ");
        parametersArr.put(parameterObj3);
        functionInfoObj.put(PARAMETERS, parametersArr);
    } catch (JSONException e) {
        ExceptionHandler.process(e);
    }
    column.getAdditionalField().put("FUNCTION_INFO", functionInfoObj.toString());
    table.getListColumns().add(column);
    String functioExpression = "StringHandling.CHANGE(\"hello world!\",\"world\",\"guy\")";
    testNewLineArrayFunction(functioExpression, column.getLabel());
}
Also used : JSONObject(org.talend.utils.json.JSONObject) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) Test(org.junit.Test)

Example 3 with JSONArray

use of org.talend.utils.json.JSONArray 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 4 with JSONArray

use of org.talend.utils.json.JSONArray 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 5 with JSONArray

use of org.talend.utils.json.JSONArray 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)

Aggregations

JSONArray (org.talend.utils.json.JSONArray)20 JSONObject (org.talend.utils.json.JSONObject)20 JSONException (org.talend.utils.json.JSONException)14 ArrayList (java.util.ArrayList)6 HashMap (java.util.HashMap)4 Test (org.junit.Test)4 NoSQLConnection (org.talend.repository.model.nosql.NoSQLConnection)4 Iterator (java.util.Iterator)3 List (java.util.List)3 Map (java.util.Map)3 EHadoopParamName (org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName)3 IConnParamName (org.talend.metadata.managment.ui.model.IConnParamName)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 ASN1Object (org.bouncycastle.asn1.ASN1Object)1 EMap (org.eclipse.emf.common.util.EMap)1 Point (org.eclipse.swt.graphics.Point)1 IMetadataColumn (org.talend.core.model.metadata.IMetadataColumn)1 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)1 JavaType (org.talend.core.model.metadata.types.JavaType)1 IContextParameter (org.talend.core.model.process.IContextParameter)1