Search in sources :

Example 36 with ModuleNeeded

use of org.talend.core.model.general.ModuleNeeded in project tdi-studio-se by Talend.

the class JavaProcessorUtilities method extractLibNamesOnlyForMapperAndReducerWithoutRoutines.

/**
     * Extracts the name of libs only for mapper and reducer methods dependency, excluding the routines/beans/udfs.
     * 
     * @param process
     * @return
     */
public static Set<String> extractLibNamesOnlyForMapperAndReducerWithoutRoutines(IProcess2 process) {
    Set<String> libNames = new HashSet<String>();
    Set<ModuleNeeded> libs = extractLibsOnlyForMapperAndReducer(process);
    if (libs != null) {
        Iterator<ModuleNeeded> itLibs = libs.iterator();
        while (itLibs.hasNext()) {
            ModuleNeeded currentModule = itLibs.next();
            if (ProcessorUtilities.hadoopConfJarCanBeLoadedDynamically(process.getProperty())) {
                Object obj = currentModule.getExtraAttributes().get(HadoopConstants.IS_DYNAMIC_JAR);
                if (Boolean.valueOf(String.valueOf(obj))) {
                    continue;
                }
            }
            libNames.add(currentModule.getModuleName());
        }
    }
    return libNames;
}
Also used : IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ModuleNeeded(org.talend.core.model.general.ModuleNeeded) HashSet(java.util.HashSet)

Example 37 with ModuleNeeded

use of org.talend.core.model.general.ModuleNeeded in project tdi-studio-se by Talend.

the class StatsAndLogsHelper method statsAndLogsParametersDBPart.

private static void statsAndLogsParametersDBPart(Element elem) {
    ElementParameter param;
    IPreferenceStore preferenceStore = DesignerPlugin.getDefault().getPreferenceStore();
    List<IElementParameter> paramList = (List<IElementParameter>) elem.getElementParameters();
    // checks current language, if it is perl, set languageType to 0(default value), otherwise to 1.
    int languageType = 0;
    if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
        languageType = 1;
    }
    //$NON-NLS-1$
    String languagePrefix = LanguageManager.getCurrentLanguage().toString() + "_";
    // on database
    param = new ElementParameter(elem);
    param.setName(EParameterName.ON_DATABASE_FLAG.getName());
    param.setValue(preferenceStore.getBoolean(languagePrefix + EParameterName.ON_DATABASE_FLAG.getName()));
    // On Database
    param.setDisplayName(EParameterName.ON_DATABASE_FLAG.getDisplayName());
    param.setFieldType(EParameterFieldType.CHECK);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(50);
    //$NON-NLS-1$
    param.setShowIf("(ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    ElementParameter parentPropertyType = new ElementParameter(elem);
    parentPropertyType.setName(EParameterName.PROPERTY_TYPE.getName());
    parentPropertyType.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
    //$NON-NLS-1$
    parentPropertyType.setValue("");
    parentPropertyType.setCategory(EComponentCategory.STATSANDLOGS);
    parentPropertyType.setFieldType(EParameterFieldType.PROPERTY_TYPE);
    parentPropertyType.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
    parentPropertyType.setNumRow(51);
    parentPropertyType.setShowIf(//$NON-NLS-1$
    "(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(parentPropertyType);
    param = new ElementParameter(elem);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setName(EParameterName.PROPERTY_TYPE.getName());
    param.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
    param.setListItemsDisplayName(new String[] { EmfComponent.TEXT_BUILTIN, EmfComponent.TEXT_REPOSITORY });
    param.setListItemsDisplayCodeName(new String[] { EmfComponent.BUILTIN, EmfComponent.REPOSITORY });
    param.setListItemsValue(new String[] { EmfComponent.BUILTIN, EmfComponent.REPOSITORY });
    param.setValue(preferenceStore.getString(languagePrefix + EParameterName.PROPERTY_TYPE.getName()));
    param.setNumRow(51);
    param.setFieldType(EParameterFieldType.TECHNICAL);
    param.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    param.setParentParameter(parentPropertyType);
    // paramList.add(param);
    param = new ElementParameter(elem);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setName(EParameterName.REPOSITORY_PROPERTY_TYPE.getName());
    param.setDisplayName(EParameterName.REPOSITORY_PROPERTY_TYPE.getDisplayName());
    param.setListItemsDisplayName(new String[] {});
    param.setListItemsValue(new String[] {});
    param.setNumRow(51);
    param.setFieldType(EParameterFieldType.TECHNICAL);
    param.setValue(// +
    preferenceStore.getString(// +
    languagePrefix + EParameterName.REPOSITORY_PROPERTY_TYPE.getName()));
    param.setShow(false);
    param.setRequired(true);
    // paramList.add(param);
    param.setParentParameter(parentPropertyType);
    // dbType
    param = new ElementParameter(elem);
    param.setName(EParameterName.DB_TYPE.getName());
    String type = preferenceStore.getString(languagePrefix + EParameterName.DB_TYPE.getName());
    if (type == null || "".equals(type.trim())) {
        //$NON-NLS-1$
        type = StatsAndLogsConstants.DB_COMPONENTS[languageType][0];
    }
    param.setValue(type);
    param.setDisplayName(EParameterName.DB_TYPE.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setListItemsDisplayName(StatsAndLogsConstants.DISPLAY_DBNAMES[languageType]);
    param.setListItemsValue(StatsAndLogsConstants.DB_COMPONENTS[languageType]);
    param.setListRepositoryItems(StatsAndLogsConstants.REPOSITORY_ITEMS[languageType]);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.CODE_LIST[languageType]);
    param.setNumRow(52);
    //$NON-NLS-1$
    param.setRepositoryValue("TYPE");
    param.setRequired(true);
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    // dbVersion
    param = new ElementParameter(elem);
    param.setName(EParameterName.DB_VERSION.getName());
    param.setValue(StatsAndLogsConstants.DB_VERSION_DRIVER[1]);
    param.setDisplayName(EParameterName.DB_VERSION.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setListItemsDisplayName(StatsAndLogsConstants.DB_VERSION_DISPLAY);
    param.setListItemsValue(StatsAndLogsConstants.DB_VERSION_DRIVER);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.DB_VERSION_CODE);
    param.setNumRow(52);
    //$NON-NLS-1$
    param.setRepositoryValue("DB_VERSION");
    param.setRequired(true);
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (DB_TYPE == 'POSTGRESQL' or DB_TYPE == 'OCLE' or DB_TYPE == 'OCLE_OCI' or DB_TYPE == 'ACCESS' or DB_TYPE == 'MSSQL' or DB_TYPE == 'MYSQL') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    // jdbc url
    param = new ElementParameter(elem);
    param.setName(EParameterName.URL.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.URL.getName())));
    param.setDisplayName(EParameterName.URL.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(53);
    //$NON-NLS-1$
    param.setRepositoryValue("URL");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE=='JDBC')");
    paramList.add(param);
    // jdbc child param
    List<ModuleNeeded> moduleNeededList = ModulesNeededProvider.getModulesNeeded();
    Set<String> moduleNameList = new TreeSet<String>();
    Set<String> moduleValueList = new TreeSet<String>();
    for (ModuleNeeded module : moduleNeededList) {
        String moduleName = module.getModuleName();
        if (moduleName != null) {
            moduleNameList.add(moduleName);
            moduleValueList.add(TalendTextUtils.addQuotes(moduleName));
        }
    }
    Comparator<String> comprarator = new IgnoreCaseComparator();
    String[] moduleNameArray = moduleNameList.toArray(new String[0]);
    String[] moduleValueArray = moduleValueList.toArray(new String[0]);
    Arrays.sort(moduleNameArray, comprarator);
    Arrays.sort(moduleValueArray, comprarator);
    ElementParameter childParam = new ElementParameter(elem);
    childParam.setName("JAR_NAME");
    childParam.setDisplayName("JAR_NAME");
    childParam.setFieldType(EParameterFieldType.MODULE_LIST);
    childParam.setListItemsDisplayName(moduleNameArray);
    childParam.setListItemsValue(moduleValueArray);
    // driver jar for jdbc
    param = new ElementParameter(elem);
    param.setName(EParameterName.DRIVER_JAR.getName());
    param.setDisplayName(EParameterName.DRIVER_JAR.getDisplayName());
    param.setFieldType(EParameterFieldType.TABLE);
    param.setListItemsDisplayCodeName(new String[] { "JAR_NAME" });
    param.setListItemsDisplayName(new String[] { "Jar Name" });
    param.setListItemsValue(new ElementParameter[] { childParam });
    param.setValue(new ArrayList<Map<String, Object>>());
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(54);
    //$NON-NLS-1$
    param.setRepositoryValue("DRIVER_JAR");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE=='JDBC')");
    paramList.add(param);
    // class name for jdbc
    param = new ElementParameter(elem);
    param.setName(EParameterName.DRIVER_CLASS.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DRIVER_CLASS.getName())));
    param.setDisplayName(EParameterName.DRIVER_CLASS.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(57);
    //$NON-NLS-1$
    param.setRepositoryValue("DRIVER_CLASS");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE=='JDBC')");
    paramList.add(param);
    // host
    param = new ElementParameter(elem);
    param.setName(EParameterName.HOST.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.HOST.getName())));
    param.setDisplayName(EParameterName.HOST.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(53);
    //$NON-NLS-1$
    param.setRepositoryValue("SERVER_NAME");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE!='SQLITE' and DB_TYPE!='ACCESS' and DB_TYPE!='OCLE_OCI'  and DB_TYPE!='JDBC')");
    paramList.add(param);
    // port
    param = new ElementParameter(elem);
    param.setName(EParameterName.PORT.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.PORT.getName())));
    param.setDisplayName(EParameterName.PORT.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(53);
    //$NON-NLS-1$
    param.setRepositoryValue("PORT");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE!='SQLITE' and DB_TYPE!='ACCESS' and DB_TYPE!='FIREBIRD' and DB_TYPE!='OCLE_OCI'  and DB_TYPE!='JDBC')");
    paramList.add(param);
    // dbName
    param = new ElementParameter(elem);
    param.setName(EParameterName.DBNAME.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DBNAME.getName())));
    param.setDisplayName(EParameterName.DBNAME.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(54);
    //$NON-NLS-1$
    param.setRepositoryValue("SID");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE!='SQLITE' and DB_TYPE!='ACCESS' and DB_TYPE!='FIREBIRD' and DB_TYPE!='OCLE_OCI'  and DB_TYPE!='JDBC')");
    paramList.add(param);
    // local service name
    param = new ElementParameter(elem);
    param.setName(EParameterName.LOCAL_SERVICE_NAME.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.LOCAL_SERVICE_NAME.getName())));
    param.setDisplayName(EParameterName.LOCAL_SERVICE_NAME.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(54);
    //$NON-NLS-1$
    param.setRepositoryValue("SID");
    //$NON-NLS-1$ 
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and DB_TYPE =='OCLE_OCI'");
    paramList.add(param);
    // additional parameters
    param = new ElementParameter(elem);
    param.setName(EParameterName.PROPERTIES.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.PROPERTIES.getName())));
    param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(54);
    //$NON-NLS-1$
    param.setRepositoryValue("PROPERTIES_STRING");
    //$NON-NLS-1$
    param.setShowIf("(DB_TYPE=='MSSQL' or DB_TYPE=='MYSQL' or DB_TYPE=='INFORMIX' or DB_TYPE=='OCLE' or DB_TYPE=='OCLE_OCI' or DB_TYPE=='SYBASE') and (ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    // schema
    param = new ElementParameter(elem);
    param.setName(EParameterName.SCHEMA_DB.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.SCHEMA_DB.getName())));
    param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(54);
    //$NON-NLS-1$
    param.setRepositoryValue("SCHEMA");
    //$NON-NLS-1$
    param.setShowIf("(DB_TYPE=='OCLE' or DB_TYPE=='OCLE_OCI' or DB_TYPE=='POSTGRESQL' or DB_TYPE=='POSTGRESPLUS' or DB_TYPE=='MSSQL' or DB_TYPE=='INFORMIX' or DB_TYPE=='IBM_DB2' or DB_TYPE=='SYBASE') and (ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    // username
    param = new ElementParameter(elem);
    param.setName(EParameterName.USER.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.USER.getName())));
    param.setDisplayName(EParameterName.USER.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(55);
    param.setRequired(true);
    //$NON-NLS-1$
    param.setRepositoryValue("USERNAME");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')and (DB_TYPE!='SQLITE')");
    paramList.add(param);
    // password
    param = new ElementParameter(elem);
    param.setName(EParameterName.PASS.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.PASS.getName())));
    param.setDisplayName(EParameterName.PASS.getDisplayName());
    param.setFieldType(EParameterFieldType.PASSWORD);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(55);
    param.setRequired(true);
    //$NON-NLS-1$
    param.setRepositoryValue("PASSWORD");
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true') and (DB_TYPE!='SQLITE')");
    paramList.add(param);
    // databse file path
    param = new ElementParameter(elem);
    param.setName(EParameterName.DBFILE.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DBFILE.getName())));
    param.setDisplayName(EParameterName.DBFILE.getDisplayName());
    param.setFieldType(EParameterFieldType.FILE);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(56);
    //$NON-NLS-1$
    param.setRepositoryValue("FILE");
    //$NON-NLS-1$
    param.setShowIf("(DB_TYPE=='SQLITE' or DB_TYPE=='ACCESS' or DB_TYPE=='FIREBIRD') and (ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
    // Stats table
    param = new ElementParameter(elem);
    param.setName(EParameterName.TABLE_STATS.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.TABLE_STATS.getName())));
    param.setDisplayName(EParameterName.TABLE_STATS.getDisplayName());
    param.setFieldType(EParameterFieldType.DBTABLE);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(57);
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true' and ON_STATCATCHER_FLAG == 'true')");
    paramList.add(param);
    // Log table
    param = new ElementParameter(elem);
    param.setName(EParameterName.TABLE_LOGS.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.TABLE_LOGS.getName())));
    param.setDisplayName(EParameterName.TABLE_LOGS.getDisplayName());
    param.setFieldType(EParameterFieldType.DBTABLE);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(58);
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true' and ON_LOGCATCHER_FLAG == 'true')");
    paramList.add(param);
    // Metter table
    param = new ElementParameter(elem);
    param.setName(EParameterName.TABLE_METER.getName());
    param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.TABLE_METER.getName())));
    param.setDisplayName(EParameterName.TABLE_METER.getDisplayName());
    param.setFieldType(EParameterFieldType.DBTABLE);
    param.setCategory(EComponentCategory.STATSANDLOGS);
    param.setNumRow(59);
    //$NON-NLS-1$
    param.setShowIf("(ON_DATABASE_FLAG == 'true' and ON_METERCATCHER_FLAG == 'true')");
    paramList.add(param);
}
Also used : IElementParameter(org.talend.core.model.process.IElementParameter) ElementParameter(org.talend.designer.core.model.components.ElementParameter) TreeSet(java.util.TreeSet) IElementParameter(org.talend.core.model.process.IElementParameter) ArrayList(java.util.ArrayList) List(java.util.List) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) ModuleNeeded(org.talend.core.model.general.ModuleNeeded) Map(java.util.Map)

Example 38 with ModuleNeeded

use of org.talend.core.model.general.ModuleNeeded in project tdi-studio-se by Talend.

the class ProjectSettingManager method createExtraOnDBParameters.

private static void createExtraOnDBParameters(Element elem) {
    ElementParameter param;
    List<IElementParameter> paramList = (List<IElementParameter>) elem.getElementParameters();
    // checks current language, if it is perl, set languageType to 0(default value), otherwise to 1.
    int languageType = 0;
    if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
        languageType = 1;
    }
    final String onDBCondition = JobSettingsConstants.getExtraParameterName(EParameterName.FROM_DATABASE_FLAG.getName()) + //$NON-NLS-1$
    " == 'true'";
    final String dbCondition = JobSettingsConstants.addBrackets(CONTEXTLOAD_CONDITION) + " and " + //$NON-NLS-1$
    JobSettingsConstants.addBrackets(onDBCondition);
    // property type
    ElementParameter parentPropertyType = new ElementParameter(elem);
    parentPropertyType.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTY_TYPE.getName()));
    parentPropertyType.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
    parentPropertyType.setValue(preferenceStore.getString(getPreferenceName(EParameterName.PROPERTY_TYPE)));
    parentPropertyType.setCategory(EComponentCategory.EXTRA);
    parentPropertyType.setFieldType(EParameterFieldType.PROPERTY_TYPE);
    parentPropertyType.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
    parentPropertyType.setNumRow(41);
    parentPropertyType.setShowIf(dbCondition);
    parentPropertyType.setGroup(IMPLICIT_GROUP);
    paramList.add(parentPropertyType);
    param = new ElementParameter(elem);
    param.setName(EParameterName.PROPERTY_TYPE.getName());
    param.setDisplayName(EParameterName.PROPERTY_TYPE.getDisplayName());
    param.setListItemsDisplayName(new String[] { EmfComponent.TEXT_BUILTIN, EmfComponent.TEXT_REPOSITORY });
    param.setListItemsDisplayCodeName(new String[] { EmfComponent.BUILTIN, EmfComponent.REPOSITORY });
    param.setListItemsValue(new String[] { EmfComponent.BUILTIN, EmfComponent.REPOSITORY });
    param.setValue(preferenceStore.getString(getPreferenceName(EParameterName.PROPERTY_TYPE)));
    param.setCategory(EComponentCategory.EXTRA);
    param.setFieldType(EParameterFieldType.TECHNICAL);
    param.setRepositoryValue(ERepositoryCategoryType.DATABASE.getName());
    param.setNumRow(41);
    param.setShowIf(dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    param.setParentParameter(parentPropertyType);
    // paramList.add(param);
    // repository property type
    param = new ElementParameter(elem);
    param.setName(EParameterName.REPOSITORY_PROPERTY_TYPE.getName());
    param.setDisplayName(EParameterName.REPOSITORY_PROPERTY_TYPE.getDisplayName());
    param.setListItemsDisplayName(new String[] {});
    param.setListItemsValue(new String[] {});
    param.setValue(// +
    preferenceStore.getString(// +
    getPreferenceName(EParameterName.REPOSITORY_PROPERTY_TYPE)));
    param.setCategory(EComponentCategory.EXTRA);
    param.setFieldType(EParameterFieldType.TECHNICAL);
    param.setShow(false);
    param.setRequired(true);
    param.setNumRow(41);
    param.setGroup(IMPLICIT_GROUP);
    param.setParentParameter(parentPropertyType);
    // paramList.add(param);
    // dbType
    final String dbTypeName = JobSettingsConstants.getExtraParameterName(EParameterName.DB_TYPE.getName());
    param = new ElementParameter(elem);
    param.setName(dbTypeName);
    param.setDisplayName(EParameterName.DB_TYPE.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.EXTRA);
    param.setListItemsDisplayName(StatsAndLogsConstants.DISPLAY_DBNAMES[languageType]);
    param.setListItemsValue(JobSettingsConstants.DB_INPUT_COMPONENTS[languageType]);
    param.setListRepositoryItems(StatsAndLogsConstants.REPOSITORY_ITEMS[languageType]);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.CODE_LIST[languageType]);
    param.setValue(preferenceStore.getString(getPreferenceName(EParameterName.DB_TYPE)));
    param.setNumRow(42);
    //$NON-NLS-1$
    param.setRepositoryValue("TYPE");
    param.setRequired(true);
    param.setShowIf(dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // dbVersion
    final String dbVersionName = JobSettingsConstants.getExtraParameterName(EParameterName.DB_VERSION.getName());
    param = new ElementParameter(elem);
    param.setName(dbVersionName);
    param.setValue(preferenceStore.getString(getPreferenceName(EParameterName.DB_VERSION)));
    param.setDisplayName(EParameterName.DB_VERSION.getDisplayName());
    param.setFieldType(EParameterFieldType.CLOSED_LIST);
    param.setCategory(EComponentCategory.EXTRA);
    param.setListItemsDisplayName(StatsAndLogsConstants.DB_VERSION_DISPLAY);
    param.setListItemsValue(StatsAndLogsConstants.DB_VERSION_DRIVER);
    param.setListItemsDisplayCodeName(StatsAndLogsConstants.DB_VERSION_CODE);
    param.setNumRow(42);
    //$NON-NLS-1$
    param.setRepositoryValue("DB_VERSION");
    param.setRequired(true);
    param.setShowIf(dbCondition + " and (" + dbTypeName + " == 'OCLE' or " + dbTypeName + " == 'OCLE_OCI' or " + dbTypeName + " =='ACCESS' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
    " =='MYSQL')");
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // jdbc url
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.URL.getName()));
    param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.URL.getName())));
    param.setDisplayName(EParameterName.URL.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(43);
    //$NON-NLS-1$
    param.setRepositoryValue("URL");
    String dbCon = dbTypeName + " == 'JDBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // jdbc child param
    List<ModuleNeeded> moduleNeededList = ModulesNeededProvider.getModulesNeeded();
    Set<String> moduleNameList = new TreeSet<String>();
    Set<String> moduleValueList = new TreeSet<String>();
    for (ModuleNeeded module : moduleNeededList) {
        String moduleName = module.getModuleName();
        if (moduleName != null) {
            moduleNameList.add(moduleName);
            moduleValueList.add(TalendTextUtils.addQuotes(moduleName));
        }
    }
    Comparator<String> comprarator = new IgnoreCaseComparator();
    String[] moduleNameArray = moduleNameList.toArray(new String[0]);
    String[] moduleValueArray = moduleValueList.toArray(new String[0]);
    Arrays.sort(moduleNameArray, comprarator);
    Arrays.sort(moduleValueArray, comprarator);
    ElementParameter childParam = new ElementParameter(elem);
    //$NON-NLS-1$
    childParam.setName("JAR_NAME");
    //$NON-NLS-1$
    childParam.setDisplayName("JAR_NAME");
    childParam.setFieldType(EParameterFieldType.MODULE_LIST);
    childParam.setListItemsDisplayName(moduleNameArray);
    childParam.setListItemsValue(moduleValueArray);
    // driver jar for jdbc
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_JAR.getName()));
    param.setDisplayName(EParameterName.DRIVER_JAR.getDisplayName());
    param.setFieldType(EParameterFieldType.TABLE);
    //$NON-NLS-1$
    param.setListItemsDisplayCodeName(new String[] { "JAR_NAME" });
    //$NON-NLS-1$
    param.setListItemsDisplayName(new String[] { "Jar Name" });
    param.setListItemsValue(new ElementParameter[] { childParam });
    param.setValue(new ArrayList<Map<String, Object>>());
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(44);
    //$NON-NLS-1$
    param.setRepositoryValue("DRIVER_JAR");
    //$NON-NLS-1$
    dbCon = dbTypeName + " == 'JDBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // class name for jdbc
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DRIVER_CLASS.getName()));
    param.setValue(StatsAndLogsManager.addQuotes(preferenceStore.getString(languagePrefix + EParameterName.DRIVER_CLASS.getName())));
    param.setDisplayName(EParameterName.DRIVER_CLASS.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(45);
    //$NON-NLS-1$
    param.setRepositoryValue("DRIVER_CLASS");
    dbCon = dbTypeName + " == 'JDBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // host
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.HOST.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.HOST))));
    param.setDisplayName(EParameterName.HOST.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(43);
    //$NON-NLS-1$
    param.setRepositoryValue("SERVER_NAME");
    dbCon = //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$
    dbTypeName + " != 'SQLITE'" + " and " + dbTypeName + " != 'ACCESS'" + " and " + dbTypeName + "!='OCLE_OCI'" + " and " + dbTypeName + "!='JDBC'" + " and " + dbTypeName + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
    "!='ODBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // port
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PORT.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PORT))));
    param.setDisplayName(EParameterName.PORT.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(43);
    //$NON-NLS-1$
    param.setRepositoryValue("PORT");
    dbCon = dbTypeName + " != 'SQLITE'" + " and " + dbTypeName + " != 'ACCESS'" + " and " + dbTypeName + " != 'FIREBIRD'" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$//$NON-NLS-6$
    " and " + dbTypeName + "!='OCLE_OCI'" + " and " + dbTypeName + "!='JDBC'" + " and " + dbTypeName + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
    "!='ODBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // dbName
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBNAME.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBNAME))));
    param.setDisplayName(EParameterName.DBNAME.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(44);
    //$NON-NLS-1$
    param.setRepositoryValue("SID");
    dbCon = dbTypeName + " != 'SQLITE'" + " and " + dbTypeName + " != 'ACCESS'" + " and " + dbTypeName + " != 'FIREBIRD'" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$//$NON-NLS-6$
    " and " + dbTypeName + "!='OCLE_OCI'" + " and " + dbTypeName + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    "!='JDBC'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // local service name
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.LOCAL_SERVICE_NAME.getName()));
    param.setValue(StatsAndLogsManager.addQuotes(""));
    param.setDisplayName(EParameterName.LOCAL_SERVICE_NAME.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(44);
    //$NON-NLS-1$
    param.setRepositoryValue("SID");
    //$NON-NLS-1$
    dbCon = dbTypeName + " == 'OCLE_OCI' ";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    if (LanguageManager.getCurrentLanguage().equals(ECodeLanguage.JAVA)) {
        // additional parameters
        param = new ElementParameter(elem);
        param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTIES.getName()));
        param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PROPERTIES))));
        param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
        param.setFieldType(EParameterFieldType.TEXT);
        param.setCategory(EComponentCategory.EXTRA);
        param.setNumRow(44);
        //$NON-NLS-1$
        param.setRepositoryValue("PROPERTIES_STRING");
        dbCon = dbTypeName + " == 'MSSQL'" + " or " + dbTypeName + " == 'MYSQL'" + " or " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
        dbTypeName + " == 'INFORMIX'" + " or " + dbTypeName + " == 'OCLE'" + " or " + dbTypeName + " == 'OCLE_OCI'" + " or " + dbTypeName + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
        " == 'SYBASE'";
        //$NON-NLS-1$
        param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
        param.setGroup(IMPLICIT_GROUP);
        paramList.add(param);
    }
    // schema
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.SCHEMA_DB.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.SCHEMA_DB))));
    param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(44);
    //$NON-NLS-1$
    param.setRepositoryValue("SCHEMA");
    final String schemaCondition = JobSettingsConstants.addBrackets(dbTypeName + " =='OCLE' or " + dbTypeName + " =='OCLE_OCI' or " + dbTypeName + " =='POSTGRESQL' or " + dbTypeName + " =='POSTGRESPLUS' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + " =='INFORMIX' or " + dbTypeName + " =='IBM_DB2' or " + dbTypeName + //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$//$NON-NLS-6$//$NON-NLS-7$//$NON-NLS-8$
    " =='SYBASE'");
    //$NON-NLS-1$
    param.setShowIf(schemaCondition + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // username
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.USER.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.USER))));
    param.setDisplayName(EParameterName.USER.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(45);
    param.setRequired(true);
    //$NON-NLS-1$
    param.setRepositoryValue("USERNAME");
    //$NON-NLS-1$
    dbCon = dbTypeName + " != 'SQLITE'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // password
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PASS.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PASS))));
    param.setDisplayName(EParameterName.PASS.getDisplayName());
    param.setFieldType(EParameterFieldType.PASSWORD);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(45);
    param.setRequired(true);
    //$NON-NLS-1$
    param.setRepositoryValue("PASSWORD");
    //$NON-NLS-1$
    dbCon = dbTypeName + " != 'SQLITE'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // databse file path
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBFILE.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBFILE))));
    param.setDisplayName(EParameterName.DBFILE.getDisplayName());
    param.setFieldType(EParameterFieldType.FILE);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(46);
    //$NON-NLS-1$
    param.setRepositoryValue("FILE");
    //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
    dbCon = dbTypeName + " == 'SQLITE'" + " or " + dbTypeName + " == 'ACCESS'" + " or " + dbTypeName + " == 'FIREBIRD'";
    //$NON-NLS-1$
    param.setShowIf(JobSettingsConstants.addBrackets(dbCon) + " and " + dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // table
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBTABLE.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBTABLE))));
    param.setDisplayName(EParameterName.DBTABLE.getDisplayName());
    param.setFieldType(EParameterFieldType.DBTABLE);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(47);
    param.setShowIf(dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
    // query condition
    param = new ElementParameter(elem);
    param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.QUERY_CONDITION.getName()));
    param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.QUERY_CONDITION))));
    param.setDisplayName(EParameterName.QUERY_CONDITION.getDisplayName());
    param.setFieldType(EParameterFieldType.TEXT);
    param.setCategory(EComponentCategory.EXTRA);
    param.setNumRow(48);
    param.setShowIf(dbCondition);
    param.setGroup(IMPLICIT_GROUP);
    paramList.add(param);
}
Also used : IElementParameter(org.talend.core.model.process.IElementParameter) ElementParameter(org.talend.designer.core.model.components.ElementParameter) TreeSet(java.util.TreeSet) IElementParameter(org.talend.core.model.process.IElementParameter) List(java.util.List) ArrayList(java.util.ArrayList) ModuleNeeded(org.talend.core.model.general.ModuleNeeded) Map(java.util.Map)

Aggregations

ModuleNeeded (org.talend.core.model.general.ModuleNeeded)38 ArrayList (java.util.ArrayList)17 IElementParameter (org.talend.core.model.process.IElementParameter)11 HashSet (java.util.HashSet)9 File (java.io.File)8 Map (java.util.Map)8 List (java.util.List)5 Test (org.junit.Test)5 IComponent (org.talend.core.model.components.IComponent)5 ProcessItem (org.talend.core.model.properties.ProcessItem)5 ElementParameter (org.talend.designer.core.model.components.ElementParameter)5 Node (org.talend.designer.core.ui.editor.nodes.Node)5 IOException (java.io.IOException)4 URL (java.net.URL)4 INode (org.talend.core.model.process.INode)4 HashMap (java.util.HashMap)3 TreeSet (java.util.TreeSet)3 IPath (org.eclipse.core.runtime.IPath)3 Path (org.eclipse.core.runtime.Path)3 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)3