Compare commits

..

2 Commits

Author SHA1 Message Date
roman.voievidko
ca9971cb18 patch(TPS-3447): add release notes 2019-10-10 11:41:42 +03:00
Roman
d197689219 fix(TDI-42969): change logic to retrieve detailed filename (#3964)
* fix(TDI-42969): change logic to retrieve detailed filename

* fix(TDI-42969): improve filenames processing with set
2019-10-10 11:35:05 +03:00
3 changed files with 65 additions and 57 deletions

View File

@@ -5,12 +5,12 @@ product:
- https://talend.poolparty.biz/coretaxonomy/23
---
# TPS-4053
# TPS-3447
| Info | Value |
| ---------------- | ---------------- |
| Patch Name | Patch\_20200514\_TPS-4053\_v1-7.2.1 |
| Release Date | 2020-05-14 |
| Patch Name | Patch\_20191010_TPS-3447\_v1-7.2.1 |
| Release Date | 2019-10-10 |
| Target Version | 20190620\_1446-V7.2.1 |
| Product affected | Talend Studio |
@@ -24,7 +24,7 @@ This is a self-contained patch.
This patch contains the following fixes:
- TPS-4053 [7.2.1] Unable to execute the job, receiving "Failed to generate code." when using tAmazonRedshiftManage component.(TDI-44070)
- TPS-3447 [7.2.1] tftpfilelist throws array index out of bounds exception (TDI-42969)
## Prerequisites
@@ -32,6 +32,7 @@ Consider the following requirements for your system:
- Talend Studio 7.2.1 must be installed.
## Installation
### Installing the patch using Software update
@@ -62,5 +63,4 @@ Backup the Affected files list below. Uninstall the patch by restore the backup
## Affected files for this patch
The following files are installed by this patch:
- {Talend\_Studio\_path}/plugins/org.talend.designer.components.localprovider\_7.2.1.20190614\_0309/components/tAmazonRedshiftManage/tAmazonRedshiftManage\_begin.javajet
- {Talend\_Studio\_path}/plugins/org.talend.designer.components.localprovider\_7.2.1.20190614\_0309/components/tFTPFileList/tFTPFileList\_begin.javajet

View File

@@ -24,9 +24,6 @@
String user = ElementParameterParser.getValue(node, "__USER__");
String node_type = ElementParameterParser.getValue(node, "__NODE_TYPE__");
String node_count = ElementParameterParser.getValue(node, "__NODE_COUNT__");
if (node_count.isEmpty()) {
node_count = "1";
}
boolean isLog4jEnabled = "true".equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
@@ -91,46 +88,52 @@
.withMasterUsername(<%=user%>)
.withMasterUserPassword(decryptedPwd_<%=cid%>)
.withNodeType(<%=node_type%>);
.withNodeType(<%=node_type%>)
if (<%=node_count%> > 1) {
request_<%=cid%> = request_<%=cid%>.withNumberOfNodes(<%=node_count%>);
} else {
request_<%=cid%> = request_<%=cid%>.withClusterType("single-node");
}
//advanced settings
<%if(parameterUtil.isValid(parameter_group_name)) {%>
request_<%=cid%> = request_<%=cid%>.withClusterParameterGroupName(<%=parameter_group_name%>);
<%}%>
<%if(parameterUtil.isValid(subnet_group_name)) {%>
request_<%=cid%> = request_<%=cid%>.withClusterSubnetGroupName(<%=subnet_group_name%>);
<%}%>
<%
if(publicly_accessible) {
%>
request_<%=cid%> = request_<%=cid%>.withPubliclyAccessible(true);
<%if(set_public_ip_address) {%>
request_<%=cid%> = request_<%=cid%>.withElasticIp(<%=elastic_ip%>);
<%
if(new Integer(node_count) > 1){
%>
.withNumberOfNodes(<%=node_count%>)
<%
} else {
%>
.withClusterType("single-node")
<%
}
%>
//advanced settings
<%if(parameterUtil.isValid(parameter_group_name)) {%>
.withClusterParameterGroupName(<%=parameter_group_name%>)
<%}%>
<%if(parameterUtil.isValid(subnet_group_name)) {%>
.withClusterSubnetGroupName(<%=subnet_group_name%>)
<%}%>
<%
} else {
%>
request_<%=cid%> = request_<%=cid%>.withPubliclyAccessible(false);
<%
}
%>
<%if(parameterUtil.isValid(availability_zone)) {%>
request_<%=cid%> = request_<%=cid%>.withAvailabilityZone(<%=availability_zone%>);
<%}%>
<%if(parameterUtil.isValid(vpc_security_groupids)) {%>
request_<%=cid%> = request_<%=cid%>.withVpcSecurityGroupIds(<%=vpc_security_groupids%>.split(","));
<%}%>
<%
if(publicly_accessible) {
%>
.withPubliclyAccessible(true)
<%if(set_public_ip_address) {%>
.withElasticIp(<%=elastic_ip%>)
<%}%>
<%
} else {
%>
.withPubliclyAccessible(false)
<%
}
%>
<%if(parameterUtil.isValid(availability_zone)) {%>
.withAvailabilityZone(<%=availability_zone%>)
<%}%>
<%if(parameterUtil.isValid(vpc_security_groupids)) {%>
.withVpcSecurityGroupIds(<%=vpc_security_groupids%>.split(","))
<%}%>
;
com.amazonaws.services.redshift.model.Cluster result_<%=cid%> = client_<%=cid%>.createCluster(request_<%=cid%>);
<%if(isLog4jEnabled) {%>

View File

@@ -433,8 +433,8 @@ if (sftp) {// *** sftp *** //
<%}%>
String remotedir_<%=cid %> = (<%=remotedir%>).replaceAll("\\\\","/");
ftp_<%=cid %>.chdir(remotedir_<%=cid %>);
String[] fileList_<%=cid %> = ftp_<%=cid %>.dir(null, true);
String[] fileListwithNames_<%=cid %> = ftp_<%=cid %>.dir(null, false);
com.enterprisedt.net.ftp.FTPFile[] fileList_<%=cid %> = ftp_<%=cid %>.dirDetails(null);
String[] arrayWithNames_<%=cid %> = ftp_<%=cid %>.dir(null, false);
<%
if (("true").equals(useExistingConn)) {
if(!moveToCurrentDir){
@@ -445,17 +445,22 @@ if (sftp) {// *** sftp *** //
}
%>
List<String> fileListTemp_<%=cid %> = new java.util.ArrayList<String>();
List<String> fileListTempWithNames_<%=cid %> = new java.util.ArrayList<String>();
List<String> fileListTempWithNames_<%=cid %> = new java.util.ArrayList<String>();
for (String filemask_<%=cid %> : maskList_<%=cid %>) {
java.util.regex.Pattern fileNamePattern_<%=cid %> = java.util.regex.Pattern.compile(filemask_<%=cid %>.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*"));
for (int i_<%=cid%> = 0; i_<%=cid%> < fileList_<%=cid%>.length; i_<%=cid%>++){
String filemaskTemp_<%=cid%> = fileList_<%=cid%>[i_<%=cid%>];
String filemaskTempName_<%=cid%> = fileListwithNames_<%=cid%>[i_<%=cid%>];
if (fileNamePattern_<%=cid %>.matcher(filemaskTempName_<%=cid %>).matches()) {
fileListTemp_<%=cid %>.add(filemaskTemp_<%=cid %>);
fileListTempWithNames_<%=cid%>.add(fileListwithNames_<%=cid%>[i_<%=cid%>]);
java.util.Set<String> setWithNames_<%=cid %> = new java.util.HashSet<>(java.util.Arrays.asList(arrayWithNames_<%=cid %>));
for (com.enterprisedt.net.ftp.FTPFile ftpFile : fileList_<%=cid %>){
String filemaskTemp_<%=cid%> = "";
String filemaskTempName_<%=cid%> = "";
if (setWithNames_<%=cid %>.contains(ftpFile.getName())){
filemaskTemp_<%=cid%> = ftpFile.getRaw();
filemaskTempName_<%=cid%> = ftpFile.getName();
if (fileNamePattern_<%=cid %>.matcher(filemaskTempName_<%=cid %>).matches()) {
fileListTemp_<%=cid %>.add(filemaskTemp_<%=cid %>);
fileListTempWithNames_<%=cid%>.add(filemaskTempName_<%=cid%>);
}
}
}
}