Compare commits
5 Commits
bhe/fixjun
...
patch/TPS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
990640d3ea | ||
|
|
3c2d416677 | ||
|
|
f7f5627679 | ||
|
|
939c328d1b | ||
|
|
cb31b968bf |
73
PATCH_RELEASE_NOTE.md
Normal file
73
PATCH_RELEASE_NOTE.md
Normal 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
|
||||
@@ -111,6 +111,4 @@ public interface IComponentsFactory {
|
||||
public Map<String, File> getComponentsProvidersFolder();
|
||||
|
||||
public List<ComponentProviderInfo> getComponentsProvidersInfo();
|
||||
|
||||
public IComponent getComponentByDisplayName(String displayName, String paletteType);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user