diff --git a/org.talend.repository.view.example/components/tExampleComponent/LICENSE.txt b/org.talend.repository.view.example/components/tExampleComponent/LICENSE.txt new file mode 100644 index 0000000000..c3a21f24a1 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/LICENSE.txt @@ -0,0 +1 @@ +The library which is wrote by KeGuangling. \ No newline at end of file diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_begin.javajet b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_begin.javajet new file mode 100644 index 0000000000..4f33617471 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_begin.javajet @@ -0,0 +1,1125 @@ +<%@ jet + imports=" + org.talend.core.model.process.INode + org.talend.core.model.process.ElementParameterParser + org.talend.core.model.metadata.IMetadataTable + org.talend.core.model.metadata.IMetadataColumn + org.talend.core.model.process.IConnection + org.talend.core.model.process.IConnectionCategory + org.talend.designer.codegen.config.CodeGeneratorArgument + org.talend.core.model.metadata.types.JavaTypesManager + org.talend.core.model.metadata.types.JavaType + java.util.List + java.util.Map + " +%> + <%@ include file="../templates/Row/RowHelper.javajet"%> + <% + CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; + INode node = (INode)codeGenArgument.getArgument(); + final String cid = node.getUniqueName(); + + String projectName = codeGenArgument.getCurrentProjectName(); + String jobName = codeGenArgument.getJobName(); + String jobVersion = codeGenArgument.getJobVersion(); + + String tempDir = ElementParameterParser.getValue(node, "__TEMP_DIR__"); + + String vcid = ""; + + String destination = ElementParameterParser.getValue(node, "__DESTINATION__"); + if(destination!=null && !"".equals(destination)){ + vcid = destination; + } + + + class GenerateCode{ + public int colLen = 0; // the length of the column in the input schema + public void generateDynamicSchemaCode(boolean isCsv){ + %> + if(isFirstCheckDyn_<%=cid %>){// for the header line + <% + if(isCsv){ + %> + int colsLen_<%=cid %> = row<%=cid %>.length; + <% + }else{ + %> + int colsLen_<%=cid %> = fid_<%=cid %>.getColumnsCountOfCurrentRow(); + <% + } + %> + for (int i = <%=colLen %>-1; i < colsLen_<%=cid %>; i++) { + routines.system.DynamicMetadata dynamicMetadata_<%=cid%> = new routines.system.DynamicMetadata(); + dynamicMetadata_<%=cid%>.setName(<%if(isCsv){%>row<%=cid %>[i]<%}else{%>fid_<%=cid %>.get(i)<%}%>.replaceAll("[ .-]+", "_")); + dynamicMetadata_<%=cid%>.setDbName(dynamicMetadata_<%=cid%>.getName()); + dynamicMetadata_<%=cid%>.setType("id_String"); + dynamicMetadata_<%=cid%>.setDbType("VARCHAR"); + dynamicMetadata_<%=cid%>.setLength(100); + dynamicMetadata_<%=cid%>.setPrecision(0); + dynamicMetadata_<%=cid%>.setNullable(true); + dynamicMetadata_<%=cid%>.setKey(false); + dynamicMetadata_<%=cid%>.setSourceType(routines.system.DynamicMetadata.sourceTypes.demilitedFile); + dynamicMetadata_<%=cid%>.setColumnPosition(i); + dynamic_<%=cid%>.metadatas.add(dynamicMetadata_<%=cid%>); + } + isFirstCheckDyn_<%=cid %> = false; + continue; + } + <% + } + public void checkFooterAndRandom(String footer,String random){ + %> + int footer_value_<%=cid %> = <%=footer %>, random_value_<%=cid %> = <%=random %>; + if(footer_value_<%=cid %> >0 || random_value_<%=cid %> > 0){ + throw new Exception("When the input source is a stream,footer and random shouldn't be bigger than 0."); + } + <% + } + + public void checkFooter(String footer){ + %> + int footer_value_<%=cid %> = <%=footer %>; + if(footer_value_<%=cid%> > 0){ + throw new Exception("When the input source is a stream,footer shouldn't be bigger than 0."); + } + <% + } + } + GenerateCode generateCode = new GenerateCode(); + + if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) { + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + class RowUtil extends DefaultRowUtil{ + public void codeForValueToConn(INode node, IMetadataTable metadata, String sourceValueClass, String sourceValueName, String targetConnName){ + codeForValueToConnWithD(node, metadata, sourceValueClass, sourceValueName, targetConnName, null); + } + public void codeForValueToConnWithD(INode node, IMetadataTable metadata, String sourceValueClass, String sourceValueName, String targetConnName, String dynamicName){ + + String encoding = ElementParameterParser.getValue(node,"__ENCODING__"); + + List> trimSelects = (List>)ElementParameterParser.getObjectValue(node, "__TRIMSELECT__"); + String isTrimAllStr = ElementParameterParser.getValue(node,"__TRIMALL__"); + boolean isTrimAll = (isTrimAllStr!=null&&!("").equals(isTrimAllStr))?("true").equals(isTrimAllStr):true; + + String checkDateStr = ElementParameterParser.getValue(node,"__CHECK_DATE__"); + boolean checkDate = (checkDateStr!=null&&!("").equals(checkDateStr))?("true").equals(checkDateStr):false; + + String checkNumStr = ElementParameterParser.getValue(node, "__CHECK_FIELDS_NUM__"); + boolean checkNum = (checkNumStr!=null&&!("").equals(checkNumStr))?("true").equals(checkNumStr):false; + + String advancedSeparatorStr = ElementParameterParser.getValue(node, "__ADVANCED_SEPARATOR__"); + boolean advancedSeparator = (advancedSeparatorStr!=null&&!("").equals(advancedSeparatorStr))?("true").equals(advancedSeparatorStr):false; + String thousandsSeparator = ElementParameterParser.getValueWithJavaType(node, "__THOUSANDS_SEPARATOR__", JavaTypesManager.CHARACTER); + String decimalSeparator = ElementParameterParser.getValueWithJavaType(node, "__DECIMAL_SEPARATOR__", JavaTypesManager.CHARACTER); + + List listColumns = metadata.getListColumns(); + int sizeListColumns = listColumns.size(); + boolean noStringTypeExist = false; + + for (int valueN=0; valueN 0 ){ + hasStringDefault = true; + break; + } + } + } + if(noStringTypeExist || hasStringDefault){ + %> + String temp = ""; + <% + } + for (int valueN=0; valueN<% + if(javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT){ + String defaultValue = column.getDefault(); + if(defaultValue!=null && defaultValue.length()>0){ + %> + temp = <%=sourceValueName%>.get(<%=valueN%>)<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(valueN).get("TRIM"))))?".trim()":"" %>; + if(temp.length() > 0){ + <%=targetConnName %>.<%=column.getLabel() %> = temp; + }else{ + <%=targetConnName %>.<%=column.getLabel() %> = <%=defaultValue %>; + } + <% + }else{ + %> + <%=targetConnName %>.<%=column.getLabel() %> = <%=sourceValueName%>.get(<%=valueN%>)<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(valueN).get("TRIM"))))?".trim()":"" %>; + <% + } + }else if(column.getTalendType().equals("id_Dynamic")){ + %> + <%=dynamicName%>.clearColumnValues(); + int fieldCount = <%=sourceValueName%>.getColumnsCountOfCurrentRow(); + for (int i = 0; i < <%=dynamicName%>.getColumnCount(); i++) { + if ((<%=sizeListColumns%>-1+i) < fieldCount){ + <%=dynamicName%>.addColumnValue(<%=sourceValueName%>.get(<%=sizeListColumns%>-1+i)<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(valueN).get("TRIM"))))?".trim()":"" %>); + } + else{ + <%=dynamicName%>.addColumnValue(""); + } + } + <%=targetConnName %>.<%=column.getLabel() %>=<%=dynamicName%>; + <% + }else{ + %> + temp = <%=sourceValueName%>.get(<%=valueN%>)<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(valueN).get("TRIM"))))?".trim()":"" %>; + if(temp.length() > 0) { + <% + if(javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { + } else if(javaType == JavaTypesManager.BYTE_ARRAY){ + %> + <%=targetConnName %>.<%=column.getLabel() %> = temp.getBytes(<%=encoding%>); + <% + }else if(javaType == JavaTypesManager.DATE) { + if(checkNum || checkDate){ + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_Date(temp, <%= patternValue %>, false); + <% + }else{ + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_Date(temp, <%= patternValue %>); + <% + } + }else if(advancedSeparator && JavaTypesManager.isNumberType(javaType, column.isNullable())) { + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_<%= typeToGenerate %>(ParserUtils.parseTo_Number(temp, <%= thousandsSeparator %>, <%= decimalSeparator %>)); + <% + } else { + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_<%= typeToGenerate %>(temp); + <% + } + %> + } else { + <% + String defaultValue = JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate, column.getDefault()); + if(defaultValue == null) { + %> + throw new RuntimeException("Value is empty for column : '<%= column.getLabel() %>' in '<%=targetConnName %>' connection, value is invalid or this column should be nullable or have a default value."); + <% + } else { + %> + <%=targetConnName %>.<%=column.getLabel() %> = <%=defaultValue %>; + <% + } + %> + } + <% + } + } + %> + <%if(checkNum) {%> + int filedsum = <%=sourceValueName%>.getColumnsCountOfCurrentRow(); + if(filedsum < <%=metadata.getListColumns().size() %>){ + throw new RuntimeException("Column(s) missing"); + } else if(filedsum > <%=metadata.getListColumns().size() %>) { + throw new RuntimeException("Too many columns"); + } + <% + } + } + + public void codeForConnToConn(INode node, IMetadataTable metadata, String sourceConnName, String targetConnName){ + for(IMetadataColumn column : metadata.getListColumns()) { + %> + <%=targetConnName%>.<%=column.getLabel()%> = <%=sourceConnName%>.<%=column.getLabel()%>; + <% + } + %> + <% + } + }//class defined end + + List metadatas = node.getMetadataList(); + if ((metadatas!=null)&&(metadatas.size()>0)) { + IMetadataTable metadata = metadatas.get(0); + if (metadata!=null) { + String filename = ElementParameterParser.getValue(node,"__FILENAME__"); + + if(!("".equals(vcid))) { + filename = "\"/"+filename.substring(1, filename.length()-1)+vcid+"_"+projectName+"_"+jobName+"_"+jobVersion+"\""; + filename = tempDir+"+"+filename; + } + + String encoding = ElementParameterParser.getValue(node,"__ENCODING__"); + String header = ElementParameterParser.getValue(node, "__HEADER__"); + if(("").equals(header)){ + header="0"; + } + String limit = ElementParameterParser.getValue(node, "__LIMIT__"); + if(("").equals(limit)){ + limit = "-1"; + } + String footer = ElementParameterParser.getValue(node, "__FOOTER__"); + boolean uncompress = ("true").equals(ElementParameterParser.getValue(node,"__UNCOMPRESS__")); + if(("").equals(footer) || uncompress){ + footer="0"; + } + String random = "-1"; + String ran = ElementParameterParser.getValue(node, "__RANDOM__"); + if(("true").equals(ran)){ + random = ElementParameterParser.getValue(node, "__NB_RANDOM__"); + if(("").equals(random)){ + random="0"; + } + } + if(uncompress){ + random="-1"; + } + + String fieldSeparator = ElementParameterParser.getValue(node, "__FIELDSEPARATOR__"); + String rowSeparator = ElementParameterParser.getValue(node, "__ROWSEPARATOR__"); + String removeEmptyRowFlag = ElementParameterParser.getValue(node, "__REMOVE_EMPTY_ROW__"); + String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__"); + boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false; + + String splitRecordStr = ElementParameterParser.getValue(node, "__SPLITRECORD__"); + boolean splitRecord = (splitRecordStr!=null&&!("").equals(splitRecordStr))?("true").equals(splitRecordStr):false; + + //find main & reject conns; + List< ? extends IConnection> conns = node.getOutgoingSortedConnections(); + String rejectConnName = ""; + List rejectConns = node.getOutgoingConnections("REJECT"); + if(rejectConns != null && rejectConns.size() > 0) { + IConnection rejectConn = rejectConns.get(0); + rejectConnName = rejectConn.getName(); + } + List rejectColumnList = null; + IMetadataTable metadataTable = node.getMetadataFromConnector("REJECT"); + if(metadataTable != null) { + rejectColumnList = metadataTable.getListColumns(); + } + String firstConnName = ""; + if (conns!=null) { + if (conns.size()>0) { + IConnection conn = conns.get(0); + firstConnName = conn.getName(); + } + } + + RowUtil rowUtil = new RowUtil(); + boolean hasDynamic = metadata.isDynamicSchema(); + if (conns!=null) { + if (conns.size()>0) { + if(hasDynamic){ + rowUtil.prepareValueToConnWithD(metadata, "org.talend.fileprocess.FileInputDelimited", "fid", firstConnName, "dynamic"); + %> + boolean isFirstCheckDyn_<%=cid %> = true; + routines.system.Dynamic dynamic_<%=cid %> = new routines.system.Dynamic(); + <% + }else{ + rowUtil.prepareValueToConn(metadata, "org.talend.fileprocess.FileInputDelimited", "fid", firstConnName); + } + if(!("").equals(rejectConnName)&&!rejectConnName.equals(firstConnName)&&rejectColumnList != null && rejectColumnList.size() > 0) { + rowUtil.prepareConnToConn(metadata, firstConnName, rejectConnName); + } + rowUtil.generateClass(node); + } + } + %> + int nb_line_<%=cid%> = 0; + org.talend.fileprocess.FileInputDelimited fid_<%=cid %> = null; + try{ + <% + if(uncompress){ + %> + Object filename_<%=cid %> = <%=filename %>; + java.util.zip.ZipInputStream zis_<%=cid %> = null; + try { + if(filename_<%=cid %> instanceof java.io.InputStream){ + zis_<%=cid %> = new java.util.zip.ZipInputStream(new java.io.BufferedInputStream((java.io.InputStream)filename_<%=cid %>)); + }else{ + zis_<%=cid %> = new java.util.zip.ZipInputStream(new java.io.BufferedInputStream(new java.io.FileInputStream(String.valueOf(filename_<%=cid %>)))); + } + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + <% } %> + } + java.util.zip.ZipEntry entry_<%=cid %> = null; + + while (true) { + try { + entry_<%=cid %> = zis_<%=cid %>.getNextEntry(); + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + break; + <% } %> + } + if(entry_<%=cid %> == null) { + break; + } + if(entry_<%=cid %>.isDirectory()){ //directory + continue; + } + try { + fid_<%=cid %> = new org.talend.fileprocess.FileInputDelimited(zis_<%=cid %>, <%=encoding %>,<%=fieldSeparator %>,<%=rowSeparator %>,<%=removeEmptyRowFlag %>,<%=header %><%=hasDynamic?"-1":""%>,<%=footer %>,<%=limit %>,<%=random %>, <%= splitRecord%>); + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + <% } %> + } + <% + }else{ + %> + Object filename_<%=cid %> = <%=filename %>; + if(filename_<%=cid %> instanceof java.io.InputStream){ + <% + generateCode.checkFooterAndRandom(footer,random); + %> + } + try { + fid_<%=cid %> = new org.talend.fileprocess.FileInputDelimited(<%=filename %>, <%=encoding %>,<%=fieldSeparator %>,<%=rowSeparator %>,<%=removeEmptyRowFlag %>,<%=header %><%=hasDynamic?"-1":""%>,<%=footer %>,<%=limit %>,<%=random %>, <%= splitRecord%>); + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + <% } %> + } + <% + } + %> + while (fid_<%=cid %>!=null && fid_<%=cid %>.nextRecord()) { + <% + if (conns!=null) { + if (conns.size()>0) { + for (int i=0;i + <%=connTemp.getName() %> = null; + <% + } + } + + IConnection conn = conns.get(0); + if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { + %> + boolean whetherReject_<%=cid %> = false; + <%=firstConnName %> = new <%=conn.getName() %>Struct(); + try { + <% + List listColumns = metadata.getListColumns(); + int sizeListColumns = listColumns.size(); + if(hasDynamic){// generate the dynamic schema code + generateCode.colLen = sizeListColumns; + generateCode.generateDynamicSchemaCode(false); //false: delimited mode + rowUtil.callValueToConnWithD("fid_"+cid, firstConnName, "dynamic_"+cid); + }else{ + rowUtil.callValueToConn("fid_"+cid, firstConnName); + } + + + + if(rejectConnName.equals(firstConnName)) { + %> + <%=firstConnName %> = null; + <% + } + %> + + } catch (Exception e) { + whetherReject_<%=cid%> = true; + <% + if (dieOnError) { + %> + throw(e); + <% + } else { + if(!("").equals(rejectConnName)&&!rejectConnName.equals(firstConnName)&&rejectColumnList != null && rejectColumnList.size() > 0) { + %> + <%=rejectConnName %> = new <%=rejectConnName %>Struct(); + <%rowUtil.callConnToConn(firstConnName, rejectConnName);%> + <%=rejectConnName%>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>; + <%=firstConnName %> = null; + <% + } else if(("").equals(rejectConnName)){ + %> + System.err.println(e.getMessage()); + <%=firstConnName %> = null; + <% + } else if(rejectConnName.equals(firstConnName)){%> + <%=rejectConnName%>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>; + <% + } + } + %> + } + <% + } + } + if (conns.size()>0) { + boolean isFirstEnter = true; + for (int i=0;i + if(!whetherReject_<%=cid%>) { + <%isFirstEnter = false; + } + %> + if(<%=conn.getName() %> == null){ + <%=conn.getName() %> = new <%=conn.getName() %>Struct(); + } + <% + rowUtil.callConnToConn(firstConnName, conn.getName()); + } + } + + if(!isFirstEnter) { + %> + } + <% + } + + } + } + } + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + }else{//the following is the tFileInputCSV component + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + class RowUtil extends DefaultRowUtil{ + public void codeForValueToConn(INode node, IMetadataTable metadata, String sourceValueClass, String sourceValueName, String targetConnName){ + codeForValueToConnWithD(node, metadata, sourceValueClass, sourceValueName, targetConnName, null); + } + public void codeForValueToConnWithD(INode node, IMetadataTable metadata, String sourceValueClass, String sourceValueName, String targetConnName, String dynamicName){ + + String encoding = ElementParameterParser.getValue(node,"__ENCODING__"); + + List> trimSelects = (List>)ElementParameterParser.getObjectValue(node, "__TRIMSELECT__"); + String isTrimAllStr = ElementParameterParser.getValue(node,"__TRIMALL__"); + boolean isTrimAll = (isTrimAllStr!=null&&!("").equals(isTrimAllStr))?("true").equals(isTrimAllStr):true; + + String checkDateStr = ElementParameterParser.getValue(node,"__CHECK_DATE__"); + boolean checkDate = (checkDateStr!=null&&!("").equals(checkDateStr))?("true").equals(checkDateStr):false; + + String checkNumStr = ElementParameterParser.getValue(node, "__CHECK_FIELDS_NUM__"); + boolean checkNum = (checkNumStr!=null&&!("").equals(checkNumStr))?("true").equals(checkNumStr):false; + + String advancedSeparatorStr = ElementParameterParser.getValue(node, "__ADVANCED_SEPARATOR__"); + boolean advancedSeparator = (advancedSeparatorStr!=null&&!("").equals(advancedSeparatorStr))?("true").equals(advancedSeparatorStr):false; + String thousandsSeparator = ElementParameterParser.getValueWithJavaType(node, "__THOUSANDS_SEPARATOR__", JavaTypesManager.CHARACTER); + String decimalSeparator = ElementParameterParser.getValueWithJavaType(node, "__DECIMAL_SEPARATOR__", JavaTypesManager.CHARACTER); + + List columns=metadata.getListColumns(); + int columnSize = columns.size(); + %> + if(<%=sourceValueName%>.length == 1 && ("\015").equals(<%=sourceValueName%>[0])){//empty line when row separator is '\n' + <% + for (IMetadataColumn column1: metadata.getListColumns()) { + %> + <%=targetConnName %>.<%=column1.getLabel() %> = <%=JavaTypesManager.getDefaultValueFromJavaIdType(column1.getTalendType(), column1.isNullable())%>; + <% + } + %> + }else{ + <% + boolean hasStringDefault = false; + for (int valueM=0; valueM 0 ){ + hasStringDefault = true; + break; + } + } + } + + if(hasStringDefault==true){ + %> + String temp = ""; + <% + } + for (int i=0;i + if(<%=i %> < <%=sourceValueName%>.length){ + <% + if(javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { + String defaultValue = column.getDefault(); + if(defaultValue!=null && defaultValue.length()>0){ + %> + temp = <%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>; + if(temp.length() > 0){ + <%=targetConnName %>.<%=column.getLabel() %> = temp; + }else{ + <%=targetConnName %>.<%=column.getLabel() %> = <%=defaultValue %>; + } + <% + }else{ + %> + <%=targetConnName %>.<%=column.getLabel() %> = <%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>; + <% + } + } else { + %> + if(<%=sourceValueName%>[<%=i %>].length() > 0) { + <% + if(javaType == JavaTypesManager.DATE) { + if(checkNum || checkDate){ + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_Date(<%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>, <%= patternValue %>, false); + <% + }else{ + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_Date(<%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>, <%= patternValue %>); + <% + } + } else if(advancedSeparator && JavaTypesManager.isNumberType(javaType, column.isNullable())) { + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_<%= typeToGenerate %>(ParserUtils.parseTo_Number(<%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>, <%= thousandsSeparator %>, <%= decimalSeparator %>)); + <% + }else if(javaType == JavaTypesManager.BYTE_ARRAY){ + %> + <%=targetConnName %>.<%=column.getLabel() %> = <%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>.getBytes(<%=encoding %>); + <% + }else if(column.getTalendType().equals("id_Dynamic")){ + %> + for (int i = 0; i < <%=dynamicName%>.getColumnCount(); i++) { + <%=dynamicName%>.clearColumnValues(); + } + int fieldCount = <%=sourceValueName%>.length; + for (int i = 0; i < <%=dynamicName%>.getColumnCount(); i++) { + if ((<%=columnSize%>-1+i) < fieldCount) + <%=dynamicName%>.addColumnValue(<%=sourceValueName%>[<%=columnSize%>-1+i]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>); + else + <%=dynamicName%>.addColumnValue(""); + } + <%=targetConnName %>.<%=column.getLabel() %> = <%=dynamicName%>; + <% + }else { + %> + <%=targetConnName %>.<%=column.getLabel() %> = ParserUtils.parseTo_<%= typeToGenerate %>(<%=sourceValueName%>[<%=i %>]<%=(isTrimAll || (!trimSelects.isEmpty() && ("true").equals(trimSelects.get(i).get("TRIM"))))?".trim()":"" %>); + <% + } + %> + }else{ + <%=targetConnName %>.<%=column.getLabel() %> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate, column.getDefault())%>; + } + <% + } + %> + }else{ + <%=targetConnName %>.<%=column.getLabel() %> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate, column.getDefault()) %>; + } + <% + } + %> + } + <%if(checkNum) {%> + int filedsum = <%=sourceValueName%>.length; + if(filedsum < <%=metadata.getListColumns().size() %>){ + throw new Exception("Column(s) missing"); + } else if(filedsum > <%=metadata.getListColumns().size() %>) { + throw new RuntimeException("Too many columns"); + } + <% + } + } + + public void codeForConnToConn(INode node, IMetadataTable metadata, String sourceConnName, String targetConnName){ + for(IMetadataColumn column : metadata.getListColumns()) { + %> + <%=targetConnName%>.<%=column.getLabel()%> = <%=sourceConnName%>.<%=column.getLabel()%>; + <% + } + %> + <% + } + }//class defined end + + List metadatas = node.getMetadataList(); + if ((metadatas!=null)&&(metadatas.size()>0)) { + IMetadataTable metadata = metadatas.get(0); + if (metadata!=null) { + + String filename = ElementParameterParser.getValueWithUIFieldKey(node,"__FILENAME__", "FILENAME"); + String encoding = ElementParameterParser.getValue(node,"__ENCODING__"); + String header = ElementParameterParser.getValue(node, "__HEADER__"); + String footer = ElementParameterParser.getValue(node, "__FOOTER__"); + String limit = ElementParameterParser.getValue(node, "__LIMIT__"); + if(("").equals(limit)){ + limit="-1"; + } + String delim1 = ElementParameterParser.getValue(node, "__FIELDSEPARATOR__"); + String rowSeparator1 = ElementParameterParser.getValue(node, "__CSVROWSEPARATOR__"); + + + String escapeChar1 = ElementParameterParser.getValue(node, "__ESCAPE_CHAR__"); + + if(("").equals(escapeChar1)){ + escapeChar1 = "\"\""; + } + String escapeChar = escapeChar1.substring(1,escapeChar1.length()-1); + if(("'").equals(escapeChar)){ + escapeChar = "\\'"; + } + String textEnclosure1 = ElementParameterParser.getValue(node, "__TEXT_ENCLOSURE__"); + if(("").equals(textEnclosure1)){ + textEnclosure1 = "\"\""; + } + String textEnclosure = textEnclosure1.substring(1,textEnclosure1.length()-1); + if ("".equals(textEnclosure)) + textEnclosure = "\0"; + if(("'").equals(textEnclosure)){ + textEnclosure = "\\'"; + } + + String removeEmptyRow = ElementParameterParser.getValue(node, "__REMOVE_EMPTY_ROW__"); + + String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__"); + boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false; + + boolean uncompress = ("true").equals(ElementParameterParser.getValue(node,"__UNCOMPRESS__")); + if(uncompress){ + footer = "0"; + } + + List< ? extends IConnection> conns = node.getOutgoingSortedConnections(); + String rejectConnName = ""; + List rejectConns = node.getOutgoingConnections("REJECT"); + if(rejectConns != null && rejectConns.size() > 0) { + IConnection rejectConn = rejectConns.get(0); + rejectConnName = rejectConn.getName(); + } + List rejectColumnList = null; + IMetadataTable metadataTable = node.getMetadataFromConnector("REJECT"); + if(metadataTable != null) { + rejectColumnList = metadataTable.getListColumns(); + } + String firstConnName = ""; + if (conns!=null) { + if (conns.size()>0) { + IConnection conn = conns.get(0); + firstConnName = conn.getName(); + } + } + + RowUtil rowUtil = new RowUtil(); + boolean hasDynamic = metadata.isDynamicSchema(); + if (conns!=null) { + if (conns.size()>0) { + if(hasDynamic){ + rowUtil.prepareValueToConnWithD(metadata, "String[]", "row", firstConnName, "dynamic"); + %> + boolean isFirstCheckDyn_<%=cid %> = true; + routines.system.Dynamic dynamic_<%=cid %> = new routines.system.Dynamic(); + <% + }else{ + rowUtil.prepareValueToConn(metadata, "String[]", "row", firstConnName); + } + if(!("").equals(rejectConnName)&&!rejectConnName.equals(firstConnName)&&rejectColumnList != null && rejectColumnList.size() > 0) { + rowUtil.prepareConnToConn(metadata, firstConnName, rejectConnName); + } + rowUtil.generateClass(node); + } + } + %> + int nb_line_<%=cid%> = 0; + int footer_<%=cid %> = <%= footer%>; + int totalLine<%=cid %> = 0; + int limit<%=cid %> = <%= limit %>; + int lastLine<%=cid %> = -1; + + char fieldSeparator_<%=cid %>[] = null; + + //support passing value (property: Field Separator) by 'context.fs' or 'globalMap.get("fs")'. + if ( ((String)<%=delim1%>).length() > 0 ){ + fieldSeparator_<%=cid %> = ((String)<%=delim1%>).toCharArray(); + }else { + throw new IllegalArgumentException("Field Separator must be assigned a char."); + } + + char rowSeparator_<%=cid %>[] = null; + + //support passing value (property: Row Separator) by 'context.rs' or 'globalMap.get("rs")'. + if ( ((String)<%=rowSeparator1%>).length() > 0 ){ + rowSeparator_<%=cid %> = ((String)<%=rowSeparator1%>).toCharArray(); + }else { + throw new IllegalArgumentException("Row Separator must be assigned a char."); + } + + Object filename_<%=cid %> = <%=filename %>; + com.talend.csv.CSVReader csvReader<%=cid %> = null; + + try{ + <% + if(uncompress){ + %> + java.util.zip.ZipInputStream zis_<%=cid %> = null; + try { + if(filename_<%=cid %> instanceof java.io.InputStream){ + zis_<%=cid %> = new java.util.zip.ZipInputStream(new java.io.BufferedInputStream((java.io.InputStream)filename_<%=cid %>)); + }else{ + zis_<%=cid %> = new java.util.zip.ZipInputStream(new java.io.BufferedInputStream(new java.io.FileInputStream(String.valueOf(filename_<%=cid %>)))); + } + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + <% } %> + } + java.util.zip.ZipEntry entry_<%=cid %> = null; + + while (true) { + try { + entry_<%=cid %> = zis_<%=cid %>.getNextEntry(); + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + break; + <% } %> + } + if(entry_<%=cid %> == null) { + break; + } + if(entry_<%=cid %>.isDirectory()){ //directory + continue; + } + String[] row<%=cid %>=null; + int currentLine<%=cid %> = 0; + int outputLine<%=cid %> = 0; + try {//TD110 begin + csvReader<%=cid %>=new com.talend.csv.CSVReader(zis_<%=cid %>, fieldSeparator_<%=cid %>[0], <%=encoding %>); + <% + }else{ + %> + String[] row<%=cid %>=null; + int currentLine<%=cid %> = 0; + int outputLine<%=cid %> = 0; + try {//TD110 begin + if(filename_<%=cid %> instanceof java.io.InputStream){ + <% + generateCode.checkFooter(footer); + %> + csvReader<%=cid %>=new com.talend.csv.CSVReader((java.io.InputStream)filename_<%=cid %>, fieldSeparator_<%=cid %>[0], <%=encoding %>); + }else{ + csvReader<%=cid %>=new com.talend.csv.CSVReader(new java.io.BufferedReader(new java.io.InputStreamReader( + new java.io.FileInputStream(String.valueOf(filename_<%=cid %>)),<%=encoding %>)), fieldSeparator_<%=cid %>[0]); + } + <% + } + %> + + csvReader<%=cid %>.setTrimWhitespace(false); + if ( (rowSeparator_<%=cid %>[0] != '\n') && (rowSeparator_<%=cid %>[0] != '\r') ) + csvReader<%=cid %>.setLineEnd(""+rowSeparator_<%=cid %>[0]); + <% + if(("").equals(textEnclosure1) || textEnclosure1.startsWith("\"")){//normal situation + %> + csvReader<%=cid %>.setQuoteChar('<%=textEnclosure %>'); + <% + }else{ //context and global variables + %> + String textEnclosure1_<%=cid %> = <%=textEnclosure1 %>; + char textEnclosure_<%=cid %>[] = null; + + if(((String)textEnclosure1_<%=cid %>).length() > 0 ){ + textEnclosure_<%=cid %> = ((String)textEnclosure1_<%=cid %>).toCharArray(); + }else { + throw new IllegalArgumentException("Text Enclosure must be assigned a char."); + } + csvReader<%=cid %>.setQuoteChar(textEnclosure_<%=cid %>[0]); + <% + } + + if(("").equals(escapeChar1) || escapeChar1.startsWith("\"")){//normal situation + if(("\\\\").equals(escapeChar)){ + %> + csvReader<%=cid %>.setEscapeChar('\\'); + <% + }else if(escapeChar.equals(textEnclosure)){ + %> + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + <% + }else{ + %> + //?????doesn't work for other escapeChar + //the default escape mode is double escape + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + <% + } + }else{//context and global variables + %> + String escapeChar1_<%=cid %> = <%=escapeChar1 %>; + char escapeChar_<%=cid %>[] = null; + + if(((String)escapeChar1_<%=cid %>).length() > 0 ){ + escapeChar_<%=cid %> = ((String)escapeChar1_<%=cid %>).toCharArray(); + }else { + throw new IllegalArgumentException("Escape Char must be assigned a char."); + } + if(escapeChar_<%=cid %>[0] == '\\'){ + csvReader<%=cid %>.setEscapeChar('\\'); + }else if(escapeChar_<%=cid %>[0] ==<%if(("").equals(textEnclosure1) || textEnclosure1.startsWith("\"")){%>'<%=textEnclosure %>'<%}else{%>textEnclosure_<%=cid %>[0]<%}%>){ + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + } else { + //the default escape mode is double escape + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + } + <% + } + %> + + + if(footer_<%=cid %> > 0){ + for(totalLine<%=cid %>=0;totalLine<%=cid %> < <%= header %>; totalLine<%=cid %>++){ + csvReader<%=cid %>.readNext(); + } + csvReader<%=cid %>.setSkipEmptyRecords(<%=removeEmptyRow %>); + while (csvReader<%=cid %>.readNext()) { + <% + if(("true").equals(removeEmptyRow)){ + %> + row<%=cid %>=csvReader<%=cid %>.getValues(); + if(!(row<%=cid %>.length == 1 && ("\015").equals(row<%=cid %>[0]))){//empty line when row separator is '\n' + <% + } + %> + + totalLine<%=cid %>++; + + <% + if(("true").equals(removeEmptyRow)){ + %> + } + <% + } + %> + + } + int lastLineTemp<%=cid %> = totalLine<%=cid %> - footer_<%=cid %> < 0? 0 : totalLine<%=cid %> - footer_<%=cid %> ; + if(lastLine<%=cid %> > 0){ + lastLine<%=cid %> = lastLine<%=cid %> < lastLineTemp<%=cid %> ? lastLine<%=cid %> : lastLineTemp<%=cid %>; + }else { + lastLine<%=cid %> = lastLineTemp<%=cid %>; + } + + csvReader<%=cid %>.close(); + if(filename_<%=cid %> instanceof java.io.InputStream){ + csvReader<%=cid %>=new com.talend.csv.CSVReader((java.io.InputStream)filename_<%=cid %>, fieldSeparator_<%=cid %>[0], <%=encoding %>); + }else{ + csvReader<%=cid %>=new com.talend.csv.CSVReader(new java.io.BufferedReader(new java.io.InputStreamReader( + new java.io.FileInputStream(String.valueOf(filename_<%=cid %>)),<%=encoding %>)), fieldSeparator_<%=cid %>[0]); + } + csvReader<%=cid %>.setTrimWhitespace(false); + if ( (rowSeparator_<%=cid %>[0] != '\n') && (rowSeparator_<%=cid %>[0] != '\r') ) + csvReader<%=cid %>.setLineEnd(""+rowSeparator_<%=cid %>[0]); + <% + if(("").equals(textEnclosure1) || textEnclosure1.startsWith("\"")){//normal situation + %> + csvReader<%=cid %>.setQuoteChar('<%=textEnclosure %>'); + <% + }else{ + %> + csvReader<%=cid %>.setQuoteChar(textEnclosure_<%=cid %>[0]); + <% + } + if(("").equals(escapeChar1) || escapeChar1.startsWith("\"")){//normal situation + if(("\\\\").equals(escapeChar)){ + %> + csvReader<%=cid %>.setEscapeChar('\\'); + <% + }else if(escapeChar.equals(textEnclosure)){ + %> + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + <% + }else{ + %> + //?????doesn't work for other escapeChar + //the default escape mode is double escape + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + <% + } + }else{//context and global variables + %> + if(escapeChar_<%=cid %>[0] == '\\'){ + csvReader<%=cid %>.setEscapeChar('\\'); + }else if(escapeChar_<%=cid %>[0] == <%if(("").equals(textEnclosure1) || textEnclosure1.startsWith("\"")){%>'<%=textEnclosure %>'<%}else{%>textEnclosure_<%=cid %>[0]<%}%>){ + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + } else { + //the default escape mode is double escape + csvReader<%=cid %>.setEscapeChar(csvReader<%=cid %>.getQuoteChar()); + } + <% + } + %> + } + + if(limit<%=cid%> != 0){ + for(currentLine<%=cid %>=0;currentLine<%=cid %> < <%= header %><%=hasDynamic?"-1":""%>;currentLine<%=cid %>++){ + csvReader<%=cid %>.readNext(); + } + } + csvReader<%=cid %>.setSkipEmptyRecords(<%=removeEmptyRow %>); + + } catch(Exception e) { + <% if(dieOnError) {%> + throw e; + <% } else { %> + System.err.println(e.getMessage()); + <% } %> + }//TD110 end + + while ( limit<%=cid%> != 0 && csvReader<%=cid %>!=null && csvReader<%=cid %>.readNext() ) { + + row<%=cid %>=csvReader<%=cid %>.getValues(); + + <% + if(("true").equals(removeEmptyRow)){ + %> + if(row<%=cid %>.length == 1 && ("\015").equals(row<%=cid %>[0])){//empty line when row separator is '\n' + continue; + } + <% + } + %> + + + currentLine<%=cid %>++; + + if(lastLine<%=cid %> > -1 && currentLine<%=cid %> > lastLine<%=cid %>) { + break; + } + outputLine<%=cid %>++; + if (limit<%=cid %> > 0 && outputLine<%=cid %> > limit<%=cid %>) { + break; + } + + <% + if (conns!=null) { + if (conns.size()>0) { + for (int i=0;i + <%=connTemp.getName() %> = null; + <% + } + } + + IConnection conn = conns.get(0); + if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { + %> + boolean whetherReject_<%=cid %> = false; + <%=firstConnName %> = new <%=conn.getName() %>Struct(); + try { + <% + List columns=metadata.getListColumns(); + int columnSize = columns.size(); + if(hasDynamic){// generate the dynamic schema code + generateCode.colLen = columnSize; + generateCode.generateDynamicSchemaCode(true); //true: CSV mode + rowUtil.callValueToConnWithD("row"+cid, firstConnName, "dynamic_"+cid); + }else{ + rowUtil.callValueToConn("row"+cid, firstConnName); + } + + + if(rejectConnName.equals(firstConnName)) { + %> + <%=firstConnName %> = null; + <% + } + %> + } catch (Exception e) { + whetherReject_<%=cid%> = true; + <% + if (dieOnError) { + %> + throw(e); + <% + } else { + if(!("").equals(rejectConnName)&&!rejectConnName.equals(firstConnName)&&rejectColumnList != null && rejectColumnList.size() > 0) { + %> + <%=rejectConnName %> = new <%=rejectConnName %>Struct(); + <% + rowUtil.callConnToConn(firstConnName, rejectConnName); + %> + <%=rejectConnName%>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>; + <%=firstConnName %> = null; + <% + } else if(("").equals(rejectConnName)){ + %> + System.err.println(e.getMessage()); + <%=firstConnName %> = null; + <% + } else if(rejectConnName.equals(firstConnName)){ + %> + <%=rejectConnName%>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>; + <% + } + } + %> + } + + <% + } + } + if (conns.size()>0) { + boolean isFirstEnter = true; + for (int i=0;i + if(!whetherReject_<%=cid%>) { + <%isFirstEnter = false; + } + %> + if(<%=conn.getName() %> == null){ + <%=conn.getName() %> = new <%=conn.getName() %>Struct(); + } + <% + rowUtil.callConnToConn(firstConnName, conn.getName()); + } + } + if(!isFirstEnter) { + %> + } + <% + } + } + } + } + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } + %> diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_end.javajet b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_end.javajet new file mode 100644 index 0000000000..b07b42eeb7 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_end.javajet @@ -0,0 +1,116 @@ +<%@ jet + imports=" + org.talend.core.model.process.INode + org.talend.core.model.metadata.IMetadataTable + org.talend.designer.codegen.config.CodeGeneratorArgument + org.talend.core.model.process.ElementParameterParser + java.util.List + " +%> + +<% + CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; + INode node = (INode)codeGenArgument.getArgument(); + String cid = node.getUniqueName(); + + String vcid = ""; + + String projectName = codeGenArgument.getCurrentProjectName(); + String jobName = codeGenArgument.getJobName(); + String jobVersion = codeGenArgument.getJobVersion(); + + String tempDir = ElementParameterParser.getValue(node, "__TEMP_DIR__"); + + String destination = ElementParameterParser.getValue(node, "__DESTINATION__"); + if(destination!=null && !"".equals(destination)){ + vcid = destination; + } + + if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) { +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +%> + +<% + List metadatas = node.getMetadataList(); + if ((metadatas!=null)&&(metadatas.size()>0)) { + IMetadataTable metadata = metadatas.get(0); + if (metadata!=null) { + String filename = ElementParameterParser.getValue(node,"__FILENAME__"); + if(!("".equals(vcid))) { + filename = "\"/"+filename.substring(1, filename.length()-1)+vcid+"_"+projectName+"_"+jobName+"_"+jobVersion+"\""; + filename = tempDir+"+"+filename; + } + + boolean uncompress = ("true").equals(ElementParameterParser.getValue(node,"__UNCOMPRESS__")); + + if(uncompress){ +%> + } + nb_line_<%=cid%>+=fid_<%=cid %>.getRowNumber(); + } + }finally{ + if(!((Object)(<%=filename %>) instanceof java.io.InputStream)){ + if(fid_<%=cid %>!=null){ + fid_<%=cid %>.close(); + } + } + if(fid_<%=cid %>!=null){ + globalMap.put("<%=cid %>_NB_LINE", nb_line_<%=cid%>); + } + } +<% + }else{ +%> + } + }finally{ + if(!((Object)(<%=filename %>) instanceof java.io.InputStream)){ + if(fid_<%=cid %>!=null){ + fid_<%=cid %>.close(); + } + } + if(fid_<%=cid %>!=null){ + globalMap.put("<%=cid %>_NB_LINE", fid_<%=cid %>.getRowNumber()); + } + } +<% + } + } + } +%> + +<% +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +}else{//the following is the tFileInputCSV component +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +%> + +<% + List metadatas = node.getMetadataList(); + if ((metadatas!=null)&&(metadatas.size()>0)) { + IMetadataTable metadata = metadatas.get(0); + if (metadata!=null) { + boolean uncompress = ("true").equals(ElementParameterParser.getValue(node,"__UNCOMPRESS__")); + +%> + nb_line_<%=cid%>++; + } + <%if(uncompress){//compress%>}<%}%> + }finally{ + if(!(filename_<%=cid %> instanceof java.io.InputStream)){ + if(csvReader<%=cid %>!=null){ + csvReader<%=cid %>.close(); + } + } + if(csvReader<%=cid %>!=null){ + globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>); + } + } +<% + } + } +%> + +<% +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + } +%> diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_java.xml b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_java.xml new file mode 100644 index 0000000000..44d9ed171d --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_java.xml @@ -0,0 +1,214 @@ + +
+ +
+ + + File/Input + + + + + + + + + + + + + + + + + + + +false + + + +"__COMP_DEFAULT_FILE_DIR__/out.csv" + + + + + + "When the input source is a stream or a zip file,footer and random shouldn't be bigger than 0." + + + + "__COMP_DEFAULT_FILE_DIR__/in.csv" + + + + "\n" + + + + + + + + + + + + ";" + + + + false + + + + """ + + + + """ + + + + 0 + + + + 0 + + + + + + + + true + + + + false + + + + false + + + + + + + + + + +
+
+
+ + + + "__COMP_DEFAULT_FILE_DIR__" + + + false + + + + "," + + + + "." + + + + false + + + + 10 + + + + false + + + + + + + + + + false + + + + false + + + + "ISO-8859-15" + + + + false + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages.properties new file mode 100644 index 0000000000..9d3f72c36a --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages.properties @@ -0,0 +1,36 @@ +#Created by JInto - www.guh-software.de +#Mon Aug 24 17:23:58 CST 2009 +ADVANCED_SEPARATOR.NAME=Advanced separator(for number) +CHECK_FIELDS_NUM.NAME=Check each row structure against schema +CHECK_DATE.NAME=Check date +CSV_OPTION.NAME=CSV options +DECIMAL_SEPARATOR.NAME=Decimal separator +DIE_ON_ERROR.NAME=Die on error +ENCODING.NAME=Encoding +ESCAPE_CHAR.NAME=Escape char +FIELDSEPARATOR.NAME=Field Separator +FILENAME.NAME=File Name/Input Stream +FOOTER.NAME=Footer +HEADER.NAME=Header +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=Limit +LONG_NAME=Reads a file row by row with simple separated fields +NB_LINE.NAME=Number of lines +NB_RANDOM.NAME=Number of lines +RANDOM.NAME=Extract lines at random +REJECT.LINK=Reject +REJECT.MENU=Reject +REMOVE_EMPTY_ROW.NAME=Skip empty rows +ROWSEPARATOR.NAME=Row Separator +CSVROWSEPARATOR.NAME=CSV Row Separator +CSVROWSEPARATOR.ITEM.LF=LF(\"\\n\") +CSVROWSEPARATOR.ITEM.CR=CR(\"\\r\") +CSVROWSEPARATOR.ITEM.CRLF=CRLF(\"\\r\\n\") +SCHEMA.NAME=Schema +SPLITRECORD.NAME=Split row before field +TEXT_ENCLOSURE.NAME=Text enclosure +THOUSANDS_SEPARATOR.NAME=Thousands separator +TRIMALL.NAME=Trim all column +TRIMSELECT.ITEM.TRIM=Trim +TRIMSELECT.NAME=Check column to trim +UNCOMPRESS.NAME=Uncompress as zip file \ No newline at end of file diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ar.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ar.properties new file mode 100755 index 0000000000..b279c1e7bb --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ar.properties @@ -0,0 +1,6 @@ +LIMIT.NAME=\u0627\u0644\u062D\u062F +SCHEMA.NAME=\u0645\u062E\u0637\u0637 +CHECK_FIELDS_NUM.NAME=\u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0628\u0646\u064A\u0629 \u0643\u0644 \u0633\u0637\u0631 \u0645\u0646 \u0627\u0644\u0645\u062E\u0637\u0637 +ADVANCED_SEPARATOR.NAME=\u0641\u0627\u0635\u0644\u0629 \u0645\u062A\u0642\u062F\u0645\u0629 \u0644\u0644\u0623\u0631\u0642\u0627\u0645 +THOUSANDS_SEPARATOR.NAME=\u0641\u0627\u0635\u0644\u0629 \u0627\u0644\u0622\u0644\u0627\u0641 +UNCOMPRESS.NAME=\u0641\u0643 \u0627\u0644\u0636\u063A\u0637 \u0643\u0645\u0644\u0641 Zip diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_de.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_de.properties new file mode 100644 index 0000000000..f134216945 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_de.properties @@ -0,0 +1,24 @@ +CSV_OPTION.NAME=CSV Optionen +ENCODING.NAME=Encoding +ESCAPE_CHAR.NAME=Escape Char +FIELDSEPARATOR.NAME=Feldseparator +FILENAME.NAME=Dateiname +FOOTER.NAME=Fußzeile +HEADER.NAME=Überschrift +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=Limit +LONG_NAME=Ließt eine Datei Zeile für Zeile mit einfach getrennten Feldern +NB_LINE.NAME=Anzahl an Zeilen +NB_RANDOM.NAME=Anzahl an Zeilen +REMOVE_EMPTY_ROW.NAME=Leere Zeilen ignorieren +ROWSEPARATOR.NAME=Zeilenseparator +SCHEMA.NAME=Schema +TEXT_ENCLOSURE.NAME=Text Enclosure +TRIMALL.NAME=Trimmt alle Spalten +TRIMSELECT.ITEM.TRIM=Trimmen +TRIMSELECT.NAME=Wähe zu trimmende Spalten +DIE_ON_ERROR.NAME=Abbrechen bei Fehler +CHECK_FIELDS_NUM.NAME=Überprüfe jede Zeilenstruktur anhand des Schemas +ADVANCED_SEPARATOR.NAME=Erweitertes Trennzeichen (für Zahlen) +DECIMAL_SEPARATOR.NAME=Dezimaltrennzeichen +THOUSANDS_SEPARATOR.NAME=Tausendertrennzeichen diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_el.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_el.properties new file mode 100644 index 0000000000..ebfbf39ad8 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_el.properties @@ -0,0 +1,28 @@ +CSV_OPTION.NAME=\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2 CSV +ENCODING.NAME=\u039A\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 +ESCAPE_CHAR.NAME=\u03A7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B1\u03C2 \u0394\u03B9\u03B1\u03C6\u03C5\u03B3\u03AE\u03C2 +FIELDSEPARATOR.NAME=\u0394\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03C4\u03AE\u03C2 \u03A0\u03B5\u03B4\u03AF\u03BF\u03C5 +FILENAME.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF/\u03A1\u03BF\u03AE +FOOTER.NAME=\u03A5\u03C0\u03BF\u03C3\u03AD\u03BB\u03B9\u03B4\u03BF +HEADER.NAME=\u039A\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=\u038C\u03C1\u03B9\u03BF +LONG_NAME=\u0394\u03B9\u03B1\u03B2\u03AC\u03B6\u03B5\u03B9 \u03AD\u03BD\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03B3\u03C1\u03B1\u03BC\u03BC\u03AE \u03B3\u03C1\u03B1\u03BC\u03BC\u03AE \u03BC\u03B5 \u03B1\u03C0\u03BB\u03AC \u03B4\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03BC\u03AD\u03BD\u03B1 \u03C0\u03B5\u03B4\u03AF\u03B1 +NB_LINE.NAME=\u0391\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03B3\u03C1\u03B1\u03BC\u03BC\u03CE\u03BD +NB_RANDOM.NAME=\u0391\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03B3\u03C1\u03B1\u03BC\u03BC\u03CE\u03BD +RANDOM.NAME=\u0395\u03BE\u03B1\u03B3\u03C9\u03B3\u03AE \u03B3\u03C1\u03B1\u03BC\u03BC\u03CE\u03BD \u03C4\u03C5\u03C7\u03B1\u03AF\u03B1 +REMOVE_EMPTY_ROW.NAME=\u03A0\u03B1\u03C1\u03AC\u03B2\u03BB\u03B5\u03C8\u03B7 \u03AC\u03B4\u03B5\u03B9\u03C9\u03BD \u03B3\u03C1\u03B1\u03BC\u03BC\u03CE\u03BD +ROWSEPARATOR.NAME=\u0394\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03C4\u03AE\u03C2 \u0393\u03C1\u03B1\u03BC\u03BC\u03AE\u03C2 +SCHEMA.NAME=\u03A3\u03C7\u03AE\u03BC\u03B1 +TEXT_ENCLOSURE.NAME=\u03A3\u03C5\u03BD\u03B7\u03BC\u03BC\u03AD\u03BD\u03BF \u03BA\u03B5\u03AF\u03BC\u03B5\u03BD\u03BF +TRIMALL.NAME=\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u03BA\u03B5\u03BD\u03CE\u03BD \u03B1\u03C0\u03CC \u03CC\u03BB\u03B5\u03C2 \u03C4\u03B9\u03C2 \u03C3\u03C4\u03AE\u03BB\u03B5\u03C2 +TRIMSELECT.ITEM.TRIM=\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u039A\u03B5\u03BD\u03CE\u03BD +DIE_ON_ERROR.NAME=\u0394\u03B9\u03B1\u03BA\u03BF\u03C0\u03AE \u03C3\u03B5 \u03C3\u03C6\u03AC\u03BB\u03BC\u03B1 +REJECT.LINK=\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7 +REJECT.MENU=\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7 +CHECK_FIELDS_NUM.NAME=\u0388\u03BB\u03B5\u03B3\u03C7\u03BF\u03C2 \u03B4\u03BF\u03BC\u03AE\u03C2 \u03C4\u03B7\u03C2 \u03BA\u03AC\u03B8\u03B5 \u03B3\u03C1\u03B1\u03BC\u03BC\u03AE\u03C2 \u03BC\u03B5 \u03C4\u03BF \u03C3\u03C7\u03AE\u03BC\u03B1 +ADVANCED_SEPARATOR.NAME=\u03A0\u03C1\u03BF\u03C7\u03C9\u03C1\u03B7\u03BC\u03AD\u03BD\u03BF\u03C2 \u03B4\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03C4\u03AE\u03C2 (\u03B3\u03B9\u03B1 \u03B1\u03C1\u03B9\u03B8\u03BC\u03BF\u03CD\u03C2) +DECIMAL_SEPARATOR.NAME=\u0394\u03B5\u03BA\u03B1\u03B4\u03B9\u03BA\u03CC\u03C2 \u03B4\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03C4\u03AE\u03C2 +THOUSANDS_SEPARATOR.NAME=\u0394\u03B9\u03B1\u03C7\u03C9\u03C1\u03B9\u03C3\u03C4\u03AE\u03C2 \u03C7\u03B9\u03BB\u03B9\u03AC\u03B4\u03C9\u03BD +SPLITRECORD.NAME=\u0394\u03B9\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u03B3\u03C1\u03B1\u03BC\u03BC\u03AE\u03C2 \u03C0\u03C1\u03B9\u03BD \u03C4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF +UNCOMPRESS.NAME=\u0391\u03C0\u03BF\u03C3\u03C5\u03BC\u03C0\u03AF\u03B5\u03C3\u03B7 \u03C9\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF zip diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_en.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_en.properties new file mode 100644 index 0000000000..326b202804 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_en.properties @@ -0,0 +1,34 @@ +CSV_OPTION.NAME=CSV options +ENCODING.NAME=Encoding +ESCAPE_CHAR.NAME=Escape char +FIELDSEPARATOR.NAME=Field Separator +FILENAME.NAME=File name/Stream +FOOTER.NAME=Footer +HEADER.NAME=Header +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=Limit +LONG_NAME=Reads a file row by row with simple separated fields +NB_LINE.NAME=Number of lines +NB_RANDOM.NAME=Number of lines +RANDOM.NAME=Extract lines at random +REMOVE_EMPTY_ROW.NAME=Skip empty rows +ROWSEPARATOR.NAME=Row Separator +SCHEMA.NAME=Schema +TEXT_ENCLOSURE.NAME=Text enclosure +TRIMALL.NAME=Trim all columns +TRIMSELECT.ITEM.TRIM=Trim +TRIMSELECT.NAME=Check column to trim +DIE_ON_ERROR.NAME=Die on error +REJECT.LINK=Reject +REJECT.MENU=Reject +CHECK_FIELDS_NUM.NAME=Check each row structure against schema +ADVANCED_SEPARATOR.NAME=Advanced separator (for numbers) +DECIMAL_SEPARATOR.NAME=Decimal separator +THOUSANDS_SEPARATOR.NAME=Thousands separator +SPLITRECORD.NAME=Split row before field +UNCOMPRESS.NAME=Uncompress as zip file +CHECK_DATE.NAME=Check date +CSVROWSEPARATOR.NAME=CSV Row Separator +CSVROWSEPARATOR.ITEM.LF=LF(\"\\n\") +CSVROWSEPARATOR.ITEM.CR=CR(\"\\r\") +CSVROWSEPARATOR.ITEM.CRLF=CRLF(\"\\r\\n\") diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_es.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_es.properties new file mode 100644 index 0000000000..5ec59f9632 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_es.properties @@ -0,0 +1,19 @@ +CSV_OPTION.NAME=Opciones CSV +ENCODING.NAME=Codificación +ESCAPE_CHAR.NAME=Carácter de Escape +FIELDSEPARATOR.NAME=Separador de Campo +FILENAME.NAME=Nombre de Archivo/Flujo +FOOTER.NAME=Pie de Página +HEADER.NAME=Encabezado +ROWSEPARATOR.NAME=Separador de Fila +SCHEMA.NAME=Esquema +CHECK_FIELDS_NUM.NAME=Verificar la estructura de cada fila vs el esquema +ADVANCED_SEPARATOR.NAME=Separador avanzado (para números) +DECIMAL_SEPARATOR.NAME=Separador decimal +THOUSANDS_SEPARATOR.NAME=Separador de millares +UNCOMPRESS.NAME=Descomprimir como fichero zip +CHECK_DATE.NAME=Verificar fecha +CSVROWSEPARATOR.NAME=Separador de Fila CSV +CSVROWSEPARATOR.ITEM.LF=LF(\"\\n\") +CSVROWSEPARATOR.ITEM.CR=CR(\"\\r\") +CSVROWSEPARATOR.ITEM.CRLF=CRLF(\"\\r\\n\") diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_fr.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_fr.properties new file mode 100644 index 0000000000..a98b814cdb --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_fr.properties @@ -0,0 +1,34 @@ +CSV_OPTION.NAME=Options CSV +ENCODING.NAME=Encodage +ESCAPE_CHAR.NAME=Caractère d'échappement +FIELDSEPARATOR.NAME=Séparateur de champs +FILENAME.NAME=Nom de fichier/Flux +FOOTER.NAME=Pied-de-page +HEADER.NAME=En-tête +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=Limite +LONG_NAME=Lit un fichier ligne par ligne avec des champs séparés simples +NB_LINE.NAME=Nombre de lignes +NB_RANDOM.NAME=Nombre de lignes +RANDOM.NAME=Extraire les lignes aléatoirement +REMOVE_EMPTY_ROW.NAME=Ignorer les lignes vides +ROWSEPARATOR.NAME=Séparateur de lignes +SCHEMA.NAME=Schéma +TEXT_ENCLOSURE.NAME=Entourage du texte +TRIMALL.NAME=Supprimer les espaces en début et en fin de champ dans toutes les colonnes +TRIMSELECT.ITEM.TRIM=Supprimer les espaces en début et en fin de champ +TRIMSELECT.NAME=Sélectionnez la colonne dans laquelle vous souhaitez supprimer les espaces entourant les champs +DIE_ON_ERROR.NAME=Arrêter en cas d'erreur +REJECT.LINK=Rejet +REJECT.MENU=Rejet +CHECK_FIELDS_NUM.NAME=Vérifier la structure de toutes les lignes par rapport au schéma +ADVANCED_SEPARATOR.NAME=Séparateur avancé (pour les nombres) +DECIMAL_SEPARATOR.NAME=Séparateur décimal +THOUSANDS_SEPARATOR.NAME=Séparateur de milliers +SPLITRECORD.NAME=Séparer les lignes avant le champ +UNCOMPRESS.NAME=Décompresser en tant que fichier zip +CHECK_DATE.NAME=Vérifier la date +CSVROWSEPARATOR.NAME=Séparateur de lignes CSV +CSVROWSEPARATOR.ITEM.LF=LF(\"\\n\") +CSVROWSEPARATOR.ITEM.CR=CR(\"\\r\") +CSVROWSEPARATOR.ITEM.CRLF=CRLF(\"\\r\\n\") diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_hr.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_hr.properties new file mode 100755 index 0000000000..bd7ebaeea9 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_hr.properties @@ -0,0 +1,3 @@ +FOOTER.NAME=Podno\u017Eje +SCHEMA.NAME=\n\n \n\nCollection\n\nSchema +ADVANCED_SEPARATOR.NAME=Napredni separator (za brojeve) diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_it.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_it.properties new file mode 100644 index 0000000000..fc9b2605ad --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_it.properties @@ -0,0 +1,31 @@ +CSV_OPTION.NAME=Opzioni CSV +ENCODING.NAME=Codifica +ESCAPE_CHAR.NAME=Carattere di escape +FIELDSEPARATOR.NAME=Separatore di campo +FILENAME.NAME=Nome file +FOOTER.NAME=Piè di pagina +HEADER.NAME=Intestazione +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=Limite +LONG_NAME=Leggi un file riga/riga con semplice separatore dei campi +NB_LINE.NAME=Numero di linee +NB_RANDOM.NAME=Numero di linee +RANDOM.NAME=Estrai linee casualmente +REMOVE_EMPTY_ROW.NAME=Tralascia righe vuote +ROWSEPARATOR.NAME=Separatore riga +SCHEMA.NAME=Schema +TEXT_ENCLOSURE.NAME=Chiusura testo +TRIMALL.NAME=Trim su tutte le colonne +TRIMSELECT.ITEM.TRIM=Trim +TRIMSELECT.NAME=Controlla colonna da trimmare +DIE_ON_ERROR.NAME=Interrompi se rilevato errore +REJECT.LINK=Scarto +REJECT.MENU=Scarto +CHECK_FIELDS_NUM.NAME=Controlla ogni struttura riga sullo schema +ADVANCED_SEPARATOR.NAME=Separatore avanzato (per numeri) +DECIMAL_SEPARATOR.NAME=Separatore decimale +THOUSANDS_SEPARATOR.NAME=Separatore migliaia +SPLITRECORD.NAME=Dividi riga prima del campo +UNCOMPRESS.NAME=Non compresso come file zip +CHECK_DATE.NAME=Controlla data +CSVROWSEPARATOR.NAME=Separatore riga CSV diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ja.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ja.properties new file mode 100644 index 0000000000..8fcefee15d --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ja.properties @@ -0,0 +1,34 @@ +CSV_OPTION.NAME=CSV\u30AA\u30D7\u30B7\u30E7\u30F3 +ENCODING.NAME=\u30A8\u30F3\u30B3\u30FC\u30C9 +ESCAPE_CHAR.NAME=\u30A8\u30B9\u30B1\u30FC\u30D7\u6587\u5B57 +FIELDSEPARATOR.NAME=\u30D5\u30A3\u30FC\u30EB\u30C9\u533A\u5207\u308A\u8A18\u53F7 +FILENAME.NAME=\u30D5\u30A1\u30A4\u30EB\u540D/\u30B9\u30C8\u30EA\u30FC\u30E0 +FOOTER.NAME=\u30D5\u30C3\u30BF\u30FC +HEADER.NAME=\u30D8\u30C3\u30C0\u30FC +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=\u5236\u9650 +LONG_NAME=\u30D5\u30A1\u30A4\u30EB\u3092\u884C\u3054\u3068\u306B\u533A\u5207\u308A\u8A18\u53F7\u3067\u30D5\u30A3\u30FC\u30EB\u30C9\u5206\u5272\u3057\u3066\u8AAD\u307F\u8FBC\u307F\u307E\u3059\u3002 +NB_LINE.NAME=\u884C\u6570 +NB_RANDOM.NAME=\u884C\u6570 +RANDOM.NAME=\u30E9\u30F3\u30C0\u30E0\u306B\u884C\u3092\u62BD\u51FA +REMOVE_EMPTY_ROW.NAME=\u7A7A\u884C\u3092\u30B9\u30AD\u30C3\u30D7 +ROWSEPARATOR.NAME=\u884C\u533A\u5207\u308A\u8A18\u53F7 +SCHEMA.NAME=\u30B9\u30AD\u30FC\u30DE +TEXT_ENCLOSURE.NAME=\u6587\u5B57\u5217\u306E\u5F15\u7528\u7B26 +TRIMALL.NAME=\u3059\u3079\u3066\u306E\u30AB\u30E9\u30E0\u306E\u30C8\u30EA\u30E0 +TRIMSELECT.ITEM.TRIM=\u30C8\u30EA\u30E0 +TRIMSELECT.NAME=\u30C8\u30EA\u30E0\u3059\u308B\u30AB\u30E9\u30E0\u3092\u30C1\u30A7\u30C3\u30AF +DIE_ON_ERROR.NAME=\u30A8\u30E9\u30FC\u3067\u505C\u6B62 +REJECT.LINK=Reject +REJECT.MENU=Reject +CHECK_FIELDS_NUM.NAME=\u5404\u884C\u306E\u69CB\u6210\u3092\u30B9\u30AD\u30FC\u30DE\u3068\u6BD4\u8F03 +ADVANCED_SEPARATOR.NAME=\u6841\u533A\u5207\u308A\u8A18\u53F7 +DECIMAL_SEPARATOR.NAME=\u5C0F\u6570\u70B9\u306E\u8A18\u53F7 +THOUSANDS_SEPARATOR.NAME=\u6841\u533A\u5207\u308A\u8A18\u53F7 +SPLITRECORD.NAME=\u30D5\u30A3\u30FC\u30EB\u30C9\u5206\u5272\u524D\u306B\u884C\u3092\u5206\u5272 +UNCOMPRESS.NAME=ZIP\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u89E3\u51CD +CHECK_DATE.NAME=\u65E5\u4ED8\u3092\u78BA\u8A8D +CSVROWSEPARATOR.NAME=CSV\u306E\u884C\u533A\u5207\u308A\u8A18\u53F7 +CSVROWSEPARATOR.ITEM.LF=LF("\\n") +CSVROWSEPARATOR.ITEM.CR=CR("\\r") +CSVROWSEPARATOR.ITEM.CRLF=CRLF("\\r\\n") diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_jp.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_jp.properties new file mode 100755 index 0000000000..d7e0f75c29 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_jp.properties @@ -0,0 +1,28 @@ +CSV_OPTION.NAME=CSV\u30AA\u30D7\u30B7\u30E7\u30F3 +ENCODING.NAME=\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0 +ESCAPE_CHAR.NAME=\u30a8\u30b9\u30b1\u30fc\u30d7\u30ad\u30e3\u30e9\u30af\u30bf +FIELDSEPARATOR.NAME=\u30D5\u30A3\u30FC\u30EB\u30C9\u30BB\u30D1\u30EC\u30FC\u30BF +FILENAME.NAME=\u30D5\u30A1\u30A4\u30EB\u540D +FOOTER.NAME=\u30d5\u30c3\u30bf +HEADER.NAME=\u30d8\u30c3\u30c0 +HELP=org.talend.help.tFileInputDelimited +LIMIT.NAME=\u30ea\u30df\u30c3\u30c8 +LONG_NAME=\u5206\u96e2\u3055\u308c\u305f\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u3001\u30ed\u30a6\u5358\u4f4d\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u8fbc\u3080 +NB_LINE.NAME=\u884C\u6570 +NB_RANDOM.NAME=\u884C\u6570 +RANDOM.NAME=\u30E9\u30F3\u30C0\u30E0\u306B\u884C\u3092\u62BD\u51FA +REMOVE_EMPTY_ROW.NAME=\u7A7A\u884C\u3092\u30B9\u30AD\u30C3\u30D7 +ROWSEPARATOR.NAME=\u30ed\u30a6\u30bb\u30d1\u30ec\u30fc\u30bf +SCHEMA.NAME=\u30B9\u30AD\u30FC\u30DE +TEXT_ENCLOSURE.NAME=\u30c6\u30ad\u30b9\u30c8\u56f2\u3044 +TRIMALL.NAME=\u3059\u3079\u3066\u306e\u30ab\u30e9\u30e0\u3092\u30c8\u30ea\u30e0 +TRIMSELECT.ITEM.TRIM=\u30c8\u30ea\u30df\u30f3\u30b0 +TRIMSELECT.NAME=\u30c8\u30ea\u30e0\u3059\u308b\u30ab\u30e9\u30e0\u306e\u30c1\u30a7\u30c3\u30af +DIE_ON_ERROR.NAME=\u30A8\u30E9\u30FC\u306E\u5834\u5408\u505C\u6B62 +REJECT.LINK=\u30EA\u30B8\u30A7\u30AF\u30C8 +REJECT.MENU=\u30EA\u30B8\u30A7\u30AF\u30C8 +CHECK_FIELDS_NUM.NAME=\u5404\u30ed\u30a6\u306e\u69cb\u6210\u3092\u30b9\u30ad\u30fc\u30de\u3068\u6bd4\u8f03 +ADVANCED_SEPARATOR.NAME=\u6570\u5B57\u30BB\u30D1\u30EC\u30FC\u30BF +DECIMAL_SEPARATOR.NAME=\u5C0F\u6570\u70B9\u8A18\u53F7 +THOUSANDS_SEPARATOR.NAME=\u6841\u533A\u5207\u308A\u8A18\u53F7 +SPLITRECORD.NAME=\u30d5\u30a3\u30fc\u30eb\u30c9\u5206\u5272\u524d\u306b\u3001\u30ed\u30a6\u3092\u5206\u5272 diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_nl.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_nl.properties new file mode 100644 index 0000000000..2d9d3d2396 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_nl.properties @@ -0,0 +1 @@ +ADVANCED_SEPARATOR.NAME=Geavanceerd scheidingsteken (numeriek) diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pl.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pl.properties new file mode 100644 index 0000000000..9779a3e885 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pl.properties @@ -0,0 +1,10 @@ +CSV_OPTION.NAME=Opcje CSV +ENCODING.NAME=Kodowanie +FIELDSEPARATOR.NAME=Separator pól +LIMIT.NAME=Limit +SCHEMA.NAME=Schemat +CHECK_FIELDS_NUM.NAME=Sprawd\u017A struktur\u0119 ka\u017Cdego wiersza ze schematem +ADVANCED_SEPARATOR.NAME=Zaawansowany separator (dla numerów) +DECIMAL_SEPARATOR.NAME=Separator dzisi\u0119tny +THOUSANDS_SEPARATOR.NAME=Separator tysi\u0119czny +UNCOMPRESS.NAME=Rozpakuj jako zip diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pt_BR.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pt_BR.properties new file mode 100755 index 0000000000..eb777feb82 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_pt_BR.properties @@ -0,0 +1,7 @@ +CSV_OPTION.NAME=Opções CSV +FOOTER.NAME=Rodapé +HEADER.NAME=Cabeçalho +LIMIT.NAME=Limit +CHECK_FIELDS_NUM.NAME=Verificar cada linha de acordo com o esquema +ADVANCED_SEPARATOR.NAME=Separador avançado(para números) +DECIMAL_SEPARATOR.NAME=Separador de decimal diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ro.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ro.properties new file mode 100644 index 0000000000..b1ba246e4b --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ro.properties @@ -0,0 +1,2 @@ +ENCODING.NAME=Incodare +LIMIT.NAME=Limita diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ru.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ru.properties new file mode 100644 index 0000000000..57b193c3b8 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_ru.properties @@ -0,0 +1,7 @@ +ENCODING.NAME=\u041A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0430 +FIELDSEPARATOR.NAME=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u043F\u043E\u043B\u0435\u0439 +LIMIT.NAME=\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0435 +ROWSEPARATOR.NAME=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0441\u0442\u0440\u043E\u043A +SCHEMA.NAME=\u0421\u0445\u0435\u043C\u0430 +CHECK_FIELDS_NUM.NAME=\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043A\u0430\u0436\u0434\u044B\u0439 \u0440\u044F\u0434 \u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0445\u0435\u043C\u0435 +DECIMAL_SEPARATOR.NAME=\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0445 \u0437\u043D\u0430\u043A\u043E\u0432 diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_sr.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_sr.properties new file mode 100644 index 0000000000..c5e8c6eaf6 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_sr.properties @@ -0,0 +1 @@ +CSV_OPTION.NAME=CSV opcije diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_tr.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_tr.properties new file mode 100644 index 0000000000..c8a7b6734a --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_tr.properties @@ -0,0 +1 @@ +SCHEMA.NAME=\u015Eema diff --git a/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_zh.properties b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_zh.properties new file mode 100644 index 0000000000..558679b595 --- /dev/null +++ b/org.talend.repository.view.example/components/tExampleComponent/tExampleComponent_messages_zh.properties @@ -0,0 +1,24 @@ +CSV_OPTION.NAME=CSV\u9009\u9879 +ENCODING.NAME=\u7f16\u7801 +ESCAPE_CHAR.NAME=\u8F6C\u4E49\u7684\u5B57\u7B26 +FIELDSEPARATOR.NAME=\u5206\u5272\u7b26 +FILENAME.NAME=\u6587\u4EF6\u540D +FOOTER.NAME=\u6587\u4EF6\u5C3E +HEADER.NAME=\u6587\u4EF6\u5934 +LIMIT.NAME=\u9650\u5236 +LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF +NB_LINE.NAME=\u884c\u6570 +NB_RANDOM.NAME=\u884c\u6570 +RANDOM.NAME=\u63d0\u53d6\u4e00\u4e2a\u968f\u673a\u7684\u884c\u53f7 +REMOVE_EMPTY_ROW.NAME=\u5FFD\u7565\u7A7A\u884C +ROWSEPARATOR.NAME=\u884C\u5206\u9694\u7B26 +SCHEMA.NAME=\u67B6\u6784 +TEXT_ENCLOSURE.NAME=\u6587\u672C\u56F4\u680F +TRIMALL.NAME=\u6574\u7406\u6240\u6709\u5217 +TRIMSELECT.ITEM.TRIM=\u6574\u7406\u7A7A\u683C +TRIMSELECT.NAME=\u9009\u62E9\u8981\u6574\u7406\u7684\u5217 +DIE_ON_ERROR.NAME=\u9519\u8bef\u65f6\u7ec8\u6b62 +CHECK_FIELDS_NUM.NAME=\u68C0\u67E5schema\u884C\u7ED3\u6784 +ADVANCED_SEPARATOR.NAME=\u6570\u503c\u5206\u9694\u7b26 +DECIMAL_SEPARATOR.NAME=\u5c0f\u6570\u70b9 +THOUSANDS_SEPARATOR.NAME=\u5343\u5206\u7b26