Compare commits
1 Commits
kjwang/Tes
...
patch/TPS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4150ad6476 |
57
PATCH_RELEASE_NOTE.md
Normal file
57
PATCH_RELEASE_NOTE.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
version: 7.2.1
|
||||
module: https://talend.poolparty.biz/coretaxonomy/42
|
||||
product:
|
||||
- https://talend.poolparty.biz/coretaxonomy/23
|
||||
---
|
||||
|
||||
# TPS-4843
|
||||
|
||||
| Info | Value |
|
||||
| ---------------- | ---------------- |
|
||||
| Patch Name | Patch\_20210611\_TPS-4843\_v1-7.2.1 |
|
||||
| Release Date | 2021-06-11 |
|
||||
| Target Version | 20190620_1446-V7.2.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-4843 [7.2.1] tRedshiftOutput data loss when insert size matches the input size (TDI-46218)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Consider the following requirements for your system:
|
||||
|
||||
- Talend Studio 7.2.1 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}
|
||||
@@ -243,7 +243,9 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
if(!("true").equals(useExistingConn)) {
|
||||
if(!("").equals(commitEvery) && !("0").equals(commitEvery)) {
|
||||
%>
|
||||
commitCounter_<%=cid%> = rowCount<%=cid%>;//correct the commit counter as commit can happen before executing the sql for extend insert
|
||||
if(commitCounter_<%=cid%> == 0) {
|
||||
commitCounter_<%=cid%> = rowCount<%=cid%>;
|
||||
}
|
||||
<%
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3242,15 +3242,6 @@
|
||||
name="SpecialUpdateELTEnableColumnAliasMigrationTask"
|
||||
version="7.2.1">
|
||||
</projecttask>
|
||||
<projecttask
|
||||
beforeLogon="true"
|
||||
breaks="7.2.0"
|
||||
class="org.talend.repository.model.migration.RemoveSnapshotJarMigrationTask"
|
||||
id="org.talend.repository.model.migration.RemoveSnapshotJarMigrationTask"
|
||||
description="Regnerate all poms"
|
||||
name="RemoveSnapshotJarMigrationTask"
|
||||
version="7.2.1">
|
||||
</projecttask>
|
||||
</extension>
|
||||
|
||||
<extension
|
||||
|
||||
@@ -16,7 +16,6 @@ import java.beans.PropertyChangeEvent;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -88,7 +87,6 @@ import org.talend.core.model.process.INode;
|
||||
import org.talend.core.model.properties.ContextItem;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.ProcessItem;
|
||||
import org.talend.core.model.properties.PropertiesFactory;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.properties.RulesItem;
|
||||
import org.talend.core.model.properties.SAPConnectionItem;
|
||||
@@ -112,7 +110,6 @@ import org.talend.core.repository.model.repositoryObject.SalesforceModuleReposit
|
||||
import org.talend.core.repository.utils.ProjectHelper;
|
||||
import org.talend.core.repository.utils.RepositoryPathProvider;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.core.services.ICoreTisService;
|
||||
import org.talend.core.services.IGITProviderService;
|
||||
import org.talend.core.services.ISVNProviderService;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
@@ -336,28 +333,6 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
logged = LoginHelper.getInstance().loginAuto();
|
||||
}
|
||||
if (!logged) {
|
||||
if (ArrayUtils.contains(Platform.getApplicationArgs(), EclipseCommandLine.LOGIN_ONLINE_UPDATE)) {
|
||||
ICoreTisService tisService = ICoreTisService.get();
|
||||
if (tisService != null) {
|
||||
LoginHelper loginHelper = LoginHelper.getInstance();
|
||||
ConnectionBean connBean = loginHelper.getCurrentSelectedConnBean();
|
||||
try {
|
||||
User user = PropertiesFactory.eINSTANCE.createUser();
|
||||
user.setLogin(connBean.getUser());
|
||||
user.setPassword(connBean.getPassword().getBytes(StandardCharsets.UTF_8));
|
||||
LoginHelper.setRepositoryContextInContext(connBean, user, null, null);
|
||||
tisService.downLoadAndInstallUpdates(connBean.getUser(), connBean.getPassword(),
|
||||
LoginHelper.getAdminURL(connBean));
|
||||
tisService.setNeedResartAfterUpdate(true);
|
||||
LoginHelper.isRestart = true;
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.LOGIN_ONLINE_UPDATE, null,
|
||||
true, true);
|
||||
return true;
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
LoginDialogV2 loginDialog = new LoginDialogV2(shell);
|
||||
logged = (loginDialog.open() == LoginDialogV2.OK);
|
||||
}
|
||||
@@ -383,7 +358,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
|
||||
if (ArrayUtils.contains(Platform.getApplicationArgs(), EclipseCommandLine.TALEND_DISABLE_LOGINDIALOG_COMMAND)) {
|
||||
boolean deleteProjectIfExist = ArrayUtils.contains(Platform.getApplicationArgs(), "--deleteProjectIfExist"); //$NON-NLS-1$
|
||||
IBrandingService brandingService = GlobalServiceRegister.getDefault().getService(
|
||||
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault().getService(
|
||||
IBrandingService.class);
|
||||
brandingService.getBrandingConfiguration().setUseProductRegistration(false);
|
||||
ProxyRepositoryFactory repositoryFactory = ProxyRepositoryFactory.getInstance();
|
||||
@@ -497,7 +472,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
}
|
||||
if (project != null && reload && lastBean != null && repositoryFactory.getRepositoryContext().isOffline()) {
|
||||
if (PluginChecker.isSVNProviderPluginLoaded()) {
|
||||
ISVNProviderService svnProviderService = GlobalServiceRegister.getDefault()
|
||||
ISVNProviderService svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault()
|
||||
.getService(ISVNProviderService.class);
|
||||
if (svnProviderService.isSVNProject(project)) {
|
||||
String projectUrl = svnProviderService.getProjectUrl(project);
|
||||
@@ -816,7 +791,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
public String getRulesProviderPath(RulesItem currentRepositoryItem) {
|
||||
IRulesProviderService rulesService = null;
|
||||
if (PluginChecker.isRulesPluginLoaded()) {
|
||||
rulesService = GlobalServiceRegister.getDefault().getService(IRulesProviderService.class);
|
||||
rulesService = (IRulesProviderService) GlobalServiceRegister.getDefault().getService(IRulesProviderService.class);
|
||||
try {
|
||||
rulesService.syncRule(currentRepositoryItem);
|
||||
IFile ruleFile = rulesService.getRuleFile(currentRepositoryItem, FileConstants.XLS_FILE_SUFFIX);
|
||||
@@ -940,9 +915,9 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
private void initProviderService() {
|
||||
if (PluginChecker.isSVNProviderPluginLoaded()) {
|
||||
try {
|
||||
svnProviderService = GlobalServiceRegister.getDefault()
|
||||
svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault()
|
||||
.getService(ISVNProviderService.class);
|
||||
gitProviderService = GlobalServiceRegister.getDefault()
|
||||
gitProviderService = (IGITProviderService) GlobalServiceRegister.getDefault()
|
||||
.getService(IGITProviderService.class);
|
||||
} catch (RuntimeException e) {
|
||||
// nothing to do
|
||||
@@ -1033,7 +1008,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
@Override
|
||||
public boolean isSVN() {
|
||||
if (svnProviderService == null && PluginChecker.isSVNProviderPluginLoaded()) {
|
||||
svnProviderService = GlobalServiceRegister.getDefault().getService(ISVNProviderService.class);
|
||||
svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault().getService(ISVNProviderService.class);
|
||||
}
|
||||
if (svnProviderService != null) {
|
||||
return svnProviderService.isProjectInSvnMode();
|
||||
@@ -1044,7 +1019,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
@Override
|
||||
public boolean isGIT() {
|
||||
if (gitProviderService == null && PluginChecker.isGITProviderPluginLoaded()) {
|
||||
gitProviderService = GlobalServiceRegister.getDefault().getService(IGITProviderService.class);
|
||||
gitProviderService = (IGITProviderService) GlobalServiceRegister.getDefault().getService(IGITProviderService.class);
|
||||
}
|
||||
if (gitProviderService != null) {
|
||||
return gitProviderService.isProjectInGitMode();
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2020 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.repository.model.migration;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.migration.AbstractProjectMigrationTask;
|
||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.designer.maven.tools.AggregatorPomsHelper;
|
||||
|
||||
/*
|
||||
* Created by bhe on Sep 29, 2020
|
||||
*/
|
||||
public class RemoveSnapshotJarMigrationTask extends AbstractProjectMigrationTask {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(RemoveSnapshotJarMigrationTask.class.getCanonicalName());
|
||||
|
||||
@Override
|
||||
public Date getOrder() {
|
||||
GregorianCalendar gc = new GregorianCalendar(2020, 9, 30, 12, 00, 00);
|
||||
return gc.getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult execute(Project project) {
|
||||
AggregatorPomsHelper pomHelper = new AggregatorPomsHelper();
|
||||
IFile rootPomFile = pomHelper.getProjectRootPom();
|
||||
if (rootPomFile.exists()) {
|
||||
try {
|
||||
boolean isRegeneratePoms = false;
|
||||
Model model = MavenPlugin.getMaven().readModel(rootPomFile.getLocation().toFile());
|
||||
if (model.getModules() != null) {
|
||||
for (String module : model.getModules()) {
|
||||
Path modPath = Paths.get(rootPomFile.getLocation().toFile().getParent(), module, "pom.xml");
|
||||
Model modModel = MavenPlugin.getMaven().readModel(modPath.toFile());
|
||||
isRegeneratePoms = doMigration(modModel.getDependencies());
|
||||
if (isRegeneratePoms) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
LOGGER.info("modules: " + model.getModules() + ", isRegeneratePoms: " + isRegeneratePoms);
|
||||
if (isRegeneratePoms) {
|
||||
pomHelper.syncAllPomsWithoutProgress(new NullProgressMonitor());
|
||||
return ExecutionResult.SUCCESS_NO_ALERT;
|
||||
}
|
||||
return ExecutionResult.NOTHING_TO_DO;
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
return ExecutionResult.FAILURE;
|
||||
}
|
||||
}
|
||||
return ExecutionResult.NOTHING_TO_DO;
|
||||
}
|
||||
|
||||
private static boolean doMigration(List<Dependency> deps) {
|
||||
if (deps == null || deps.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
for (Dependency dep : deps) {
|
||||
if (StringUtils.equals("org.talend.libraries", dep.getGroupId())
|
||||
&& StringUtils.equals("6.0.0-SNAPSHOT", dep.getVersion())) {
|
||||
if (StringUtils.equals("crypto-utils", dep.getArtifactId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -171,7 +171,7 @@ public class LoginDialogV2 extends TrayDialog {
|
||||
super.configureShell(newShell);
|
||||
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault().getService(
|
||||
IBrandingService.class);
|
||||
newShell.setText(Messages.getString("LoginDialog.title", brandingService.getFullProductName()) + " R2021-11-04"); //$NON-NLS-1$
|
||||
newShell.setText(Messages.getString("LoginDialog.title", brandingService.getFullProductName())); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1079,20 +1079,8 @@ public class LoginProjectPage extends AbstractLoginActionPage {
|
||||
ICoreTisService.class);
|
||||
afterUpdate = false;
|
||||
if (tisService != null) {
|
||||
if (tisService.isDefaultLicenseAndProjectType()) {
|
||||
tisService.downLoadAndInstallUpdates(getConnection().getUser(), getConnection().getPassword(),
|
||||
loginFetchLicenseHelper.getAdminURL());
|
||||
} else {
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.LOGIN_ONLINE_UPDATE, null,
|
||||
false, true);
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.CLEAN, null, false, true);
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.TALEND_RELOAD_COMMAND,
|
||||
Boolean.TRUE.toString(), false);
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(
|
||||
EclipseCommandLine.TALEND_PROJECT_TYPE_COMMAND, "", true);
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.ARG_TALEND_LICENCE_PATH,
|
||||
"", true);
|
||||
}
|
||||
tisService.downLoadAndInstallUpdates(getConnection().getUser(), getConnection().getPassword(),
|
||||
loginFetchLicenseHelper.getAdminURL());
|
||||
afterUpdate = true;
|
||||
tisService.setNeedResartAfterUpdate(afterUpdate);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user