/** wzhang Comment method "isDBComponent". */ private boolean isDBComponent(String dbmsId) { if (dbmsId != null) { try { Dbms dbms = MetadataTalendType.getDbms(dbmsId); if (dbms != null) { return true; } } catch (Exception e) { // nothing to do } } return false; }
@Override public String getColumnTalendType(Object column) throws NoSQLServerException { String talendType = null; try { String dbType = getColumnDbType(column); MappingTypeRetriever mappingTypeRetriever = MetadataTalendType.getMappingTypeRetriever(dbmsId); talendType = mappingTypeRetriever.getDefaultSelectedTalendType(dbType); if (talendType == null) { talendType = JavaTypesManager.STRING.getId(); } } catch (Exception e) { throw new NoSQLServerException(e); } return talendType; }
public Object createNewEntry() { List<IContextParameter> listParams = getContextManager().getDefaultContext().getContextParameterList(); Integer numParam = new Integer(1); boolean paramNameFound; String paramName = null; do { // look for a new name paramNameFound = true; paramName = NEW_PARAM_NAME + numParam; for (int i = 0; i < listParams.size(); i++) { if (paramName.equals(listParams.get(i).getName())) { paramNameFound = false; } } if (!paramNameFound) { numParam++; } } while (!paramNameFound); JobContextParameter contextParam = new JobContextParameter(); contextParam.setName(paramName); ECodeLanguage curLanguage = LanguageManager.getCurrentLanguage(); if (curLanguage == ECodeLanguage.JAVA) { contextParam.setType(ContextParameterJavaTypeManager.getDefaultJavaType().getId()); } else { contextParam.setType(MetadataTalendType.getDefaultTalendType()); } contextParam.setPrompt(paramName + "?"); // $NON-NLS-1$ String defaultValue; if (curLanguage == ECodeLanguage.JAVA) { defaultValue = ContextParameterJavaTypeManager.getDefaultValueFromJavaIdType( ContextParameterJavaTypeManager.getDefaultJavaType().getId(), false); } else { defaultValue = TalendQuoteUtils.addQuotes(""); // $NON-NLS-1$ } contextParam.setValue(defaultValue); contextParam.setComment(""); // $NON-NLS-1$ contextParam.setSource(""); // $NON-NLS-1$ return contextParam; }
public void refreshMetaDataTable(final CsvArray csvArray, ProcessDescription processDescription) { informationLabel.setText( " " + Messages.getString("FileStep3.guessIsDone")); // $NON-NLS-1$ //$NON-NLS-2$ // clear all items tableEditorView.getMetadataEditor().removeAll(); List<MetadataColumn> columns = new ArrayList<MetadataColumn>(); if (csvArray == null || csvArray.getRows().isEmpty()) { return; } else { List<String[]> csvRows = csvArray.getRows(); Integer numberOfCol = getRightFirstRow(csvRows); // define the label to the metadata width the content of the first row int firstRowToExtractMetadata = 0; List<IMetadataColumn> listColumns = processDescription.getSchema().get(0).getListColumns(); // the first rows is used to define the label of any metadata String[] label = new String[numberOfCol.intValue()]; for (int i = 0; i < numberOfCol; i++) { label[i] = DEFAULT_LABEL + i; if (firstRowToExtractMetadata == 0) { label[i] = "" + listColumns.get(i); // $NON-NLS-1$ } } for (int i = 0; i < numberOfCol.intValue(); i++) { // define the first currentType and assimile it to globalType String globalType = null; int lengthValue = 0; int precisionValue = 0; boolean nullAble = true; int current = firstRowToExtractMetadata; while (globalType == null) { String value = csvRows.get(current)[i]; if (LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA) { if (i >= csvRows.get(current).length) { globalType = "id_String"; // $NON-NLS-1$ } else { if (value != null && !"".equals(value)) { // $NON-NLS-1$ globalType = JavaDataTypeHelper.getTalendTypeOfValue(value); } else { globalType = listColumns.get(i).getTalendType(); } current++; } } else { if (i >= csvRows.get(current).length) { globalType = "String"; // $NON-NLS-1$ } else { globalType = PerlDataTypeHelper.getTalendTypeOfValue(value); current++; } } } nullAble = listColumns.get(i).isNullable(); lengthValue = listColumns.get(i).getLength(); precisionValue = listColumns.get(i).getPrecision(); // define the metadataColumn to field i MetadataColumn metadataColumn = ConnectionFactory.eINSTANCE.createMetadataColumn(); // Convert javaType to TalendType String talendType = null; if (LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA) { talendType = globalType; if (globalType.equals(JavaTypesManager.FLOAT.getId()) || globalType.equals(JavaTypesManager.DOUBLE.getId())) { metadataColumn.setPrecision(precisionValue); } else { metadataColumn.setPrecision(0); } } else { talendType = PerlTypesManager.getNewTypeName( MetadataTalendType.loadTalendType( globalType, "TALENDDEFAULT", false)); // $NON-NLS-1$ if (globalType.equals("FLOAT") || globalType.equals("DOUBLE")) { // $NON-NLS-1$ //$NON-NLS-2$ metadataColumn.setPrecision(precisionValue); } else { metadataColumn.setPrecision(0); } } metadataColumn.setNullable(nullAble); metadataColumn.setTalendType(talendType); metadataColumn.setLength(lengthValue); // bug 6758 if (talendType.equals("id_Date")) { // $NON-NLS-1$ String pattern = listColumns.get(i).getPattern(); metadataColumn.setPattern(pattern); } // Check the label and add it to the table metadataColumn.setLabel( tableEditorView.getMetadataEditor().getNextGeneratedColumnName(label[i])); columns.add(i, metadataColumn); } } // tableEditorView.getMetadataEditor().registerDataList(columns); tableEditorView.getMetadataEditor().addAll(columns); checkFieldsValue(); tableEditorView.getTableViewerCreator().layout(); informationLabel.setText(Messages.getString("FileStep3.guessTip")); // $NON-NLS-1$ }