Compare commits

..

3 Commits

Author SHA1 Message Date
kjwang-talend
d9e50fc49f Fake patch test 2021-11-04 17:34:49 +08:00
Chao MENG
16d300f0ad Cmeng/patch/7.3/tup 28063 improve start (#5092)
* workitem(TUP-28063): Improve studio bundles reloading logic
https://jira.talendforge.org/browse/TUP-28063

* workitem(TUP-28063): Improve studio bundles reloading logic
https://jira.talendforge.org/browse/TUP-28063

* workitem(TUP-28063): Improve studio bundles reloading logic
https://jira.talendforge.org/browse/TUP-28063

Conflicts:
	main/plugins/org.talend.repository/src/main/java/org/talend/repository/RepositoryService.java
2021-10-22 16:57:22 +08:00
bhe-talendbj
89675c4b23 bugfix(TUP-28659): backport (#6472)
* fix(TUP-28659): migrate jobs because remove snapshot jars

* fix(TUP-28659): backport

* fix(TUP-28659): backport
2021-08-02 09:48:10 +08:00
7 changed files with 150 additions and 70 deletions

View File

@@ -1,57 +0,0 @@
---
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}

View File

@@ -243,9 +243,7 @@ skeleton="../templates/db_output_bulk.skeleton"
if(!("true").equals(useExistingConn)) {
if(!("").equals(commitEvery) && !("0").equals(commitEvery)) {
%>
if(commitCounter_<%=cid%> == 0) {
commitCounter_<%=cid%> = rowCount<%=cid%>;
}
commitCounter_<%=cid%> = rowCount<%=cid%>;//correct the commit counter as commit can happen before executing the sql for extend insert
<%
}
}

View File

@@ -3242,6 +3242,15 @@
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

View File

@@ -16,6 +16,7 @@ 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;
@@ -87,6 +88,7 @@ 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;
@@ -110,6 +112,7 @@ 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;
@@ -333,6 +336,28 @@ 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);
}
@@ -358,7 +383,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 = (IBrandingService) GlobalServiceRegister.getDefault().getService(
IBrandingService brandingService = GlobalServiceRegister.getDefault().getService(
IBrandingService.class);
brandingService.getBrandingConfiguration().setUseProductRegistration(false);
ProxyRepositoryFactory repositoryFactory = ProxyRepositoryFactory.getInstance();
@@ -472,7 +497,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
}
if (project != null && reload && lastBean != null && repositoryFactory.getRepositoryContext().isOffline()) {
if (PluginChecker.isSVNProviderPluginLoaded()) {
ISVNProviderService svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault()
ISVNProviderService svnProviderService = GlobalServiceRegister.getDefault()
.getService(ISVNProviderService.class);
if (svnProviderService.isSVNProject(project)) {
String projectUrl = svnProviderService.getProjectUrl(project);
@@ -791,7 +816,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
public String getRulesProviderPath(RulesItem currentRepositoryItem) {
IRulesProviderService rulesService = null;
if (PluginChecker.isRulesPluginLoaded()) {
rulesService = (IRulesProviderService) GlobalServiceRegister.getDefault().getService(IRulesProviderService.class);
rulesService = GlobalServiceRegister.getDefault().getService(IRulesProviderService.class);
try {
rulesService.syncRule(currentRepositoryItem);
IFile ruleFile = rulesService.getRuleFile(currentRepositoryItem, FileConstants.XLS_FILE_SUFFIX);
@@ -915,9 +940,9 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
private void initProviderService() {
if (PluginChecker.isSVNProviderPluginLoaded()) {
try {
svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault()
svnProviderService = GlobalServiceRegister.getDefault()
.getService(ISVNProviderService.class);
gitProviderService = (IGITProviderService) GlobalServiceRegister.getDefault()
gitProviderService = GlobalServiceRegister.getDefault()
.getService(IGITProviderService.class);
} catch (RuntimeException e) {
// nothing to do
@@ -1008,7 +1033,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
@Override
public boolean isSVN() {
if (svnProviderService == null && PluginChecker.isSVNProviderPluginLoaded()) {
svnProviderService = (ISVNProviderService) GlobalServiceRegister.getDefault().getService(ISVNProviderService.class);
svnProviderService = GlobalServiceRegister.getDefault().getService(ISVNProviderService.class);
}
if (svnProviderService != null) {
return svnProviderService.isProjectInSvnMode();
@@ -1019,7 +1044,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
@Override
public boolean isGIT() {
if (gitProviderService == null && PluginChecker.isGITProviderPluginLoaded()) {
gitProviderService = (IGITProviderService) GlobalServiceRegister.getDefault().getService(IGITProviderService.class);
gitProviderService = GlobalServiceRegister.getDefault().getService(IGITProviderService.class);
}
if (gitProviderService != null) {
return gitProviderService.isProjectInGitMode();

View File

@@ -0,0 +1,93 @@
// ============================================================================
//
// 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;
}
}

View File

@@ -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())); //$NON-NLS-1$
newShell.setText(Messages.getString("LoginDialog.title", brandingService.getFullProductName()) + " R2021-11-04"); //$NON-NLS-1$
}
@Override

View File

@@ -1079,8 +1079,20 @@ public class LoginProjectPage extends AbstractLoginActionPage {
ICoreTisService.class);
afterUpdate = false;
if (tisService != null) {
tisService.downLoadAndInstallUpdates(getConnection().getUser(), getConnection().getPassword(),
loginFetchLicenseHelper.getAdminURL());
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);
}
afterUpdate = true;
tisService.setNeedResartAfterUpdate(afterUpdate);
}