Compare commits

...

5 Commits

Author SHA1 Message Date
Dmytro Chmyga
990640d3ea chore(TPS-4452): Add release note 2020-10-05 15:43:01 +03:00
chmyga
3c2d416677 Revert "fix(TDI-44826): Missing line in Resume log (#3640)" (#3691)
This reverts commit cf52e1e004.

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-10-05 14:17:44 +03:00
vyu-talend
f7f5627679 fix(TDI-44726):add some necessary annotation. (#3666) 2020-09-27 15:14:19 +08:00
kjwang
939c328d1b Fix TUP-28603 'Export item' missing signature (#3643)
* Fix TUP-28603 'Export item' missing signature
https://jira.talendforge.org/browse/TUP-28603
2020-09-27 10:36:44 +08:00
Jane Ding
cb31b968bf feat(TUP-27654):Databricks Delta Lake - Support ELT & MERGE (#3670)
https://jira.talendforge.org/browse/TUP-27654
2020-09-23 14:20:02 +08:00
9 changed files with 123 additions and 28 deletions

73
PATCH_RELEASE_NOTE.md Normal file
View File

@@ -0,0 +1,73 @@
---
version: 7.3.1
module: https://talend.poolparty.biz/coretaxonomy/42
product:
- https://talend.poolparty.biz/coretaxonomy/23
---
# TPS-4452
| Info | Value |
| ---------------- | ---------------- |
| Patch Name | Patch\_20201005\_TPS-4452\_v1-7.3.1 |
| Release Date | 2020-10-05 |
| Target Version | 20200219\_1130-V7.3.1 |
| Product affected | Talend Studio |
## Introduction
This is a self-contained patch.
**NOTE**: For information on how to obtain this patch, reach out to your Support contact at Talend.
## Fixed issues
This patch contains the following fixes:
- TPS-4452 [7.3.1] Job fails with Stream closed exception when executed on Job server (TDI-44962)
## Prerequisites
Consider the following requirements for your system:
- Talend Studio 7.3.1 with 7.3.1-R2020-09 patch must be installed.
## Installation
### Installing the patch using Software update
1) Logon TAC and switch to Configuration->Software Update, then enter the correct values and save referring to the documentation: https://help.talend.com/reader/f7Em9WV_cPm2RRywucSN0Q/j9x5iXV~vyxMlUafnDejaQ
2) Switch to Software update page, where the new patch will be listed. The patch can be downloaded from here into the nexus repository.
3) On Studio Side: Logon Studio with remote mode, on the logon page the Update button is displayed: click this button to install the patch.
### Installing the patch using Talend Studio
1) Create a folder named "patches" under your studio installer directory and copy the patch .zip file to this folder.
2) Restart your studio: a window pops up, then click OK to install the patch, or restart the commandline and the patch will be installed automatically.
### Installing the patch using Commandline
Execute the following commands:
1. Talend-Studio-win-x86_64.exe -nosplash -application org.talend.commandline.CommandLine -consoleLog -data commandline-workspace startServer -p 8002 --talendDebug
2. initRemote {tac_url} -ul {TAC login username} -up {TAC login password}
3. checkAndUpdate -tu {TAC login username} -tup {TAC login password}
## Uninstallation
Backup the Affected files list below. Uninstall the patch by restore the backup files.
## Affected files for this patch
The following files are installed by this patch:
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/resources/java/routines/system/ResumeUtil.java
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil$JobLogItem.class
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil$LogPriority.class
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil$ResumeCommonInfo.class
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil$ResumeEventType.class
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil$SimpleCsvWriter.class
- {Talend\_Studio\_path}/plugins/org.talend.librariesmanager\_7.3.1.20200924\_0610-patch/routines/system/ResumeUtil.class

View File

@@ -111,6 +111,4 @@ public interface IComponentsFactory {
public Map<String, File> getComponentsProvidersFolder();
public List<ComponentProviderInfo> getComponentsProvidersInfo();
public IComponent getComponentByDisplayName(String displayName, String paletteType);
}

View File

@@ -27,6 +27,7 @@ import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.model.process.INode;
import org.talend.core.model.properties.Property;
import org.talend.core.runtime.maven.MavenArtifact;
/**
@@ -78,6 +79,8 @@ public interface ICoreTisService extends IService {
Map<String, String> getDropBundleInfo() throws IOException;
Set<String> getComponentBlackList();
public void afterImport (Property property) throws PersistenceException;
boolean hasNewPatchInPatchesFolder();
@@ -91,5 +94,4 @@ public interface ICoreTisService extends IService {
}
return null;
}
}

View File

@@ -263,26 +263,31 @@ public class TalendDate {
/**
* Tests string value as a date with right pattern using strict rules.
* This validation uses Java 8 time tools such {@link DateTimeFormatter#parse }
* and {@link DateTimeFormatter#format }
* </br>
* </br>
* Examples:
* </br>
* <code>isDateStrict("20110327 121711", "yyyyMMdd HHmmss")</code> return <code>true</code></br>
* <code>isDateStrict("01100327 121711", "yyyyMMdd HHmmss")</code> return <code>false</code></br>
* <code>isDateStrict("20180229 221711", "yyyyMMdd HHmmss")</code> return <code>false</code></br>
* <code>isDateStrict("2016-02-29 22:17:11", "yyyy-MM-dd HH:mm:ss")</code> return <code>true</code></br>
* <code>isDateStrict("2011/03/27 22:17:11+0100", "yyyy/MM/dd HH:mm:ssZ")</code> return <code>true</code></br>
* <code>isDateStrict("20110327 021711+1900", "yyyyMMdd HHmmssZ")</code> return <code>false</code></br>
* </br>
* This validation uses Java 8 time tools.
*
* The range of time-zone offsets is restricted to -18:00 to 18:00 inclusive.
*
* @param stringDate the date to judge
* @param pattern the specified pattern, like: "yyyy-MM-dd HH:mm:ss")
* @return whether the stringDate is a date string with a right pattern.
*
* @param stringDate (The <code>String</code> of the date to judge)
* @param pattern (The <code>String</code> of a specified pattern, like: "yyyy-MM-dd HH:mm:ss")
* @return A boolean value that whether the stringDate is a date string with a right pattern.
* @throws IllegalArgumentException if pattern is not defined.
*
*
* {talendTypes} Boolean
*
* {Category} TalendDate
*
* {param} String(mydate) stringDate : the date to judge
*
* {param} String("yyyy-MM-dd HH:mm:ss") pattern : the specified pattern
*
* {examples}
*
* ->> isDateStrict("20110327 121711", "yyyyMMdd HHmmss") return true
* ->> isDateStrict("01100327 121711", "yyyyMMdd HHmmss") return false
* ->> isDateStrict("20180229 221711", "yyyyMMdd HHmmss") return false
* ->> isDateStrict("2016-02-29 22:17:11", "yyyy-MM-dd HH:mm:ss") return true
* ->> isDateStrict("2011/03/27 22:17:11+0100", "yyyy/MM/dd HH:mm:ssZ") return true
* ->> isDateStrict("20110327 021711+1900", "yyyyMMdd HHmmssZ") return false
*/
public static boolean isDateStrict(String stringDate, String pattern) {
if (stringDate == null) {

View File

@@ -100,9 +100,6 @@ public class ResumeUtil {
csvWriter.write("dynamicData");// dynamicData
csvWriter.endRecord();
csvWriter.flush();
csvWriter.close();
//To avoid use File.delete() as it cannot make sure file being deleted.
this.csvWriter = new SimpleCsvWriter(new FileWriter(logFileName, true));
}
} else {
csvWriter = sharedWriter;

View File

@@ -15,7 +15,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.talend.commons.runtime,
org.apache.commons.lang,
org.talend.core.repository,
org.talend.utils
org.talend.utils,
org.talend.core
Eclipse-LazyStart: true
Export-Package: org.talend.migrationtool.model
Eclipse-RegisterBuddy: org.talend.testutils

View File

@@ -64,6 +64,7 @@ import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.utils.ProjectDataJsonProvider;
import org.talend.core.repository.utils.RoutineUtils;
import org.talend.core.repository.utils.URIHelper;
import org.talend.core.services.ICoreTisService;
import org.talend.designer.codegen.ICodeGeneratorService;
import org.talend.designer.codegen.ITalendSynchronizer;
import org.talend.migration.IMigrationTask;
@@ -431,7 +432,19 @@ public class MigrationToolService implements IMigrationToolService {
}
}
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreTisService.class)) {
if (object.getProperty().eResource() == null) { // In case some
// migration task has
// unloaded.
object = repFactory.getSpecificVersion(object.getProperty().getId(),
object.getProperty().getVersion(), true);
}
if (object != null) {
ICoreTisService service = GlobalServiceRegister.getDefault()
.getService(ICoreTisService.class);
service.afterImport(object.getProperty());
}
}
if (object instanceof RepositoryObject) {
((RepositoryObject) object).unload();
}

View File

@@ -11,7 +11,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.talend.commons.runtime,
org.talend.core.runtime,
org.talend.core.repository,
org.talend.designer.maven
org.talend.designer.maven,
org.talend.core
Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy
Eclipse-RegisterBuddy: org.talend.testutils

View File

@@ -32,7 +32,6 @@ import java.util.stream.Collectors;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -101,6 +100,7 @@ import org.talend.core.repository.utils.ProjectDataJsonProvider;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.runtime.services.IGenericDBService;
import org.talend.core.runtime.services.IGenericWizardService;
import org.talend.core.services.ICoreTisService;
import org.talend.core.utils.WorkspaceUtils;
import org.talend.designer.business.model.business.BusinessPackage;
import org.talend.designer.business.model.business.BusinessProcess;
@@ -1321,6 +1321,10 @@ public class ImportBasicHandler extends AbstractImportExecutableHandler {
}
ContextUtils.doCreateContextLinkMigration(importItem.getRepositoryType(), property.getItem());
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreTisService.class)) {
ICoreTisService service = GlobalServiceRegister.getDefault().getService(ICoreTisService.class);
service.afterImport(property);
}
RelationshipItemBuilder.getInstance().addOrUpdateItem(property.getItem(), true);
// importItem.setProperty(null);
// factory.unloadResources(property);
@@ -1328,6 +1332,7 @@ public class ImportBasicHandler extends AbstractImportExecutableHandler {
ExceptionHandler.process(e);
}
}
protected IPath getReferenceItemPath(IPath importItemPath, ReferenceFileItem rfItem) {
return HandlerUtil.getReferenceItemPath(importItemPath, rfItem.getExtension());