Compare commits

...

25 Commits

Author SHA1 Message Date
bhe-talendbj
340a06876c fix(TUP-39645): add NPE check (#6303) 2023-07-12 17:16:43 +08:00
jiezhang-tlnd
f3c39d14d5 feat(TUP-38391)Help menu revamp - Planning (#6301) 2023-07-12 16:21:41 +08:00
Emmanuel GALLOIS
9c2e26bcab feat(TDI-49951): bump component-runtime to 1.58 (#6251) 2023-07-12 10:16:45 +02:00
zyuan-talend
65e7cfb71e fix(TUP-39291): Remove Talend Exchange link from Studio. (#6285) 2023-07-10 18:33:03 +08:00
pyzhou
b338afee4c fix(TDI-49933): snowflake metadata time issue (#6278)
* fix(TDI-49933): snowflake metadata time issue

* fix compile error

* add some test

* test

* remove test code
2023-07-10 12:11:28 +08:00
hcyi
87d7a849ac Hcyi/add localized files 2023 7 7 (#6296)
* Add localized files (#6290)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

* Add localized files (#6291)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

---------

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-07 19:22:08 +08:00
jiezhang-tlnd
73a2ac7971 fix(TUP-38391)remove Support button (#6282)
* fix(TUP-38391)remove Support button

* remove blank space

* change guided tour text
2023-07-06 17:33:30 +08:00
jiezhang-tlnd
e22dfb1215 chore(TUP-39332)guava:30.0-jre | CVE-2020-8908 (#6277)
* chore(TUP-39332)guava:30.0-jre | CVE-2020-8908
https://jira.talendforge.org/browse/TUP-39332

* update guava to 32.0.1
2023-07-06 10:43:17 +08:00
Jane Ding
9781e2fe08 fix(TUP-39398):"Argument not valid" Error shows in error log after edit (#6284)
* fix(TUP-39398):"Argument not valid" Error shows in error log after edit
Comment in job>Contexts View and press Enter
https://jira.talendforge.org/browse/TUP-39398

* fix(TUP-39398):"Argument not valid" Error shows in error log after edit
Comment in job>Contexts View and press Enter
https://jira.talendforge.org/browse/TUP-39398
2023-07-06 10:31:44 +08:00
qiongli
60cc7742ad feat(TDQ-21251):Support foreign/external table for Postgresql/Redshift (#6273) 2023-07-04 11:29:41 +08:00
jiezhang-tlnd
5369ee2142 4 basics walkthrough should be 4 basic walkthrough (#6270) 2023-07-03 17:35:12 +08:00
zyuan-talend
4406d35a69 fix(TUP-39467): CVE-2022-29599,maven-shared-utils:0.9.0. (#6274) 2023-07-03 14:53:42 +08:00
sbliu
33d797e16c fix(TUP-39463) fix cannot open Hive Metadata connection with context parameters(without bigdata feature installed) (#6266) 2023-06-28 16:15:17 +08:00
sbliu
c282d32a80 feat(TUP-38946) add support vertica 12 (#6214)
* feat(TUP-38946) add support vertica 12

* remove VERTICA 9

* remove vertica 9 driver class

* transform db connection string from vertica 9 to vertica 12
2023-06-27 14:51:12 +08:00
sbliu
543c5a29f8 Add localized files (#6264)
* Add localized files (#6259)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

* Add localized files (#6260)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

* Add localized files (#6261)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

---------

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2023-06-26 10:29:06 +08:00
Jane Ding
f91f791c24 fix(TUP-38646):Environment variables values are lost during the job (#6257)
export
https://jira.talendforge.org/browse/TUP-38646
2023-06-25 09:56:15 +08:00
Zhiwei Xue
be96adb142 fix(TUP-39262):Unable to save Talend type setup (#6236) 2023-06-21 11:21:19 +08:00
sbliu
33d1276627 chore(TUP-39233) upgrade json-smart, accessors-smart to 2.4.11 (#6215)
* chore(TUP-39233) upgrade json-smart, accessors-smart to 2.4.11

* modify omitted
2023-06-20 16:19:57 +08:00
sbliu
f6d544c5e3 fix(TUP-39239) not same ordering of the columns between table schema and (#6227)
synonym schema for oracle
2023-06-20 16:17:26 +08:00
Zhiwei Xue
2b8777269d fix(TUP-38235):Job in a project that references other projects load very (#6192)
slowly in Studio
2023-06-20 09:47:27 +08:00
jiezhang-tlnd
fb360093a8 Jzhang/80/tup 38391 (#6224)
* feat(TUP-38391)Help menu revamp
https://jira.talendforge.org/browse/TUP-38391

* add links

* replace icons

* add icons

* added icons

* fix install software menu

* add icons folder

* keep Support menu

* code format

* code format

* format xml

* code format

* add icons

* code format
2023-06-19 14:14:35 +08:00
jiezhang-tlnd
38fdc62738 fix(TUP-39057)schema of txxxCatcher component can not be exported (#6199)
https://jira.talendforge.org/browse/TUP-39057
2023-06-19 10:05:50 +08:00
sbliu
8f1cc68be3 feat(TUP-38947) upgrade mariadb jdbc driver mariadb-java-client to 3.1.4 (#6242) 2023-06-16 17:21:47 +08:00
sbliu
f34bb8520c Add localized files (#6252)
* Add localized files (#6247)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

* Add localized files (#6248)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

* Add localized files (#6249)

Co-authored-by: build-talend-doc <build-talend-doc@talend.com>

---------

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2023-06-16 17:15:15 +08:00
jiezhang-tlnd
888c3281f6 fix(TUP-38643)The custom mvn URI is not valid (#6205)
* fix(TUP-38643)The custom mvn URI is not valid
https://jira.talendforge.org/browse/TUP-38643

* junits
2023-06-16 17:12:28 +08:00
86 changed files with 785 additions and 335 deletions

View File

@@ -125,7 +125,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
<configuration>

View File

@@ -130,11 +130,10 @@ public abstract class ExportPushButtonForExtendedTable extends ExportPushButton
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
boolean enabled = false;
if (extendedTableModel != null && extendedTableModel.isDataRegistered()
&& extendedTableModel.getBeansList().size() > 0) {
if (extendedTableModel != null && extendedTableModel.isDataRegistered() && extendedTableModel.getBeansList().size() > 0) {
enabled = true;
}
return super.getEnabledState() && enabled;
return extendedTableModel != null || enabled;
}
}

View File

@@ -19,6 +19,7 @@ import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.advanced.dataeditor.control.ExtendedPushButton;
import org.talend.commons.ui.swt.extended.table.AbstractExtendedTableViewer;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
* DOC Administrator class global comment. Detailled comment <br/>
@@ -33,4 +34,11 @@ public abstract class SaveAsGenericSchemaPushButton extends ExtendedPushButton {
@Override
protected abstract Command getCommandToExecute();
@Override
public boolean getEnabledState() {
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
return extendedTableModel != null;
}
}

View File

@@ -175,6 +175,7 @@ ProjectRepositoryNode.sapBWDataStoreObject=Objet Data Store SAP
ProjectRepositoryNode.sapBWInfoCube=InfoCube SAP
ProjectRepositoryNode.sapBWInfoObject=InfoObject SAP
ProjectRepositoryNode.sapContentExtractor=Extracteur SAP BI Content
ProjectRepositoryNode.sapCDSView=Vue SAP CDS
RepositoryDropAdapter_copyingItems=Copie des \u00E9l\u00E9ments...
RepositoryDropAdapter_errorMsg=Ce r\u00E9pertoire contient l'\u00E9l\u00E9ment verrouill\u00E9, il ne peut \u00EAtre d\u00E9plac\u00E9
RepositoryDropAdapter_lockedByOthers=Cet \u00E9l\u00E9ment est verrouill\u00E9 par d'autres utilisateurs, impossible de le d\u00E9placer.

View File

@@ -175,6 +175,7 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI\u30B3\u30F3\u30C6\u30F3\u30C4\u30A8\u30AF\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC
ProjectRepositoryNode.sapCDSView=SAP CDS\u30D3\u30E5\u30FC
RepositoryDropAdapter_copyingItems=\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC\u4E2D...
RepositoryDropAdapter_errorMsg=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u30ED\u30C3\u30AF\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093,
RepositoryDropAdapter_lockedByOthers=\u3053\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u4ED6\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u3088\u3063\u3066\u30ED\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093\u3002

View File

@@ -175,6 +175,7 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI \u5185\u5BB9\u63D0\u53D6\u5668
ProjectRepositoryNode.sapCDSView=SAP CDS \u89C6\u56FE
RepositoryDropAdapter_copyingItems=\u6B63\u5728\u590D\u5236\u9879\u76EE...
RepositoryDropAdapter_errorMsg=\u6B64\u76EE\u5F55\u5305\u542B\u9501\u5B9A\u7684\u9879\u76EE\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8
RepositoryDropAdapter_lockedByOthers=\u6B64\u9879\u76EE\u88AB\u5176\u4ED6\u7528\u6237\u9501\u5B9A\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8\u3002

View File

@@ -67,7 +67,6 @@ import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.LockInfo;
import org.talend.core.model.repository.RepositoryViewObject;
import org.talend.core.model.routines.RoutinesUtil;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.utils.XmiResourceManager;
import org.talend.core.runtime.CoreRuntimePlugin;
@@ -874,25 +873,38 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
@Override
public IRepositoryViewObject getLastVersion(Project project, String id, String relativeFolder, ERepositoryObjectType type)
throws PersistenceException {
List<IRepositoryViewObject> serializableAllVersion = null;
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
List<IRepositoryViewObject> serializableAllVersion = new ArrayList<>();
if (lastFolderForItemMap.containsKey(id)) {
ERepositoryObjectType itemType = lastRepositoryTypeForItemMap.get(id);
String currentPath = lastFolderForItemMap.get(id);
Object fullFolder = getFullFolder(project, itemType, currentPath);
try {
if (fullFolder != null && (fullFolder instanceof FolderItem || ((IFolder) fullFolder).exists())) {
serializableAllVersion.addAll(getSerializableFromFolder(project, fullFolder, id, itemType, false, false, true, true));
}
} catch (PersistenceException e) {
// do nothing.
// if any exception happen or can't find the item, just try to look for it everywhere.
}
}
if (serializableAllVersion.isEmpty()) {
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
if (serializableAllVersion.isEmpty()) {
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
}
}
int size = serializableAllVersion.size();
if (size > 1) {
String message = getItemsMessages(serializableAllVersion, size);
throw new PersistenceException(Messages.getString(
"AbstractEMFRepositoryFactory.presistenceException.OnlyOneOccurenceMustbeFound", message)); //$NON-NLS-1$
} else if (size == 1) {
return serializableAllVersion.get(0);
} else {
return null;
}
if (size == 1) {
return serializableAllVersion.get(0);
}
return null;
}
protected void computePropertyMaxInformationLevel(Property property) {

View File

@@ -268,7 +268,7 @@ public class PluginChecker {
}
public static boolean isExchangeSystemLoaded() {
return isPluginLoaded(EXCHANGE_SYSTEM_PLUGIN_ID);
return false;
}
public static boolean isRulesPluginLoaded() { // added by hyWang

View File

@@ -88,8 +88,8 @@ public enum EDatabase4DriverClassName {
// MOD klliu 2010-06-04 bug 12819: upgrade jdbc driver class used in sql explorer
TERADATA(EDatabaseTypeName.TERADATA, "com.teradata.jdbc.TeraDriver"), //$NON-NLS-1$
VERTICA(EDatabaseTypeName.VERTICA, "com.vertica.Driver"), //$NON-NLS-1$
VERTICA2(EDatabaseTypeName.VERTICA, "com.vertica.jdbc.Driver"), //$NON-NLS-1$
// VERTICA(EDatabaseTypeName.VERTICA, "com.vertica.Driver"), //$NON-NLS-1$
VERTICA(EDatabaseTypeName.VERTICA, "com.vertica.jdbc.Driver"), //$NON-NLS-1$
HIVE(EDatabaseTypeName.HIVE, "org.apache.hadoop.hive.jdbc.HiveDriver"), //$NON-NLS-1$

View File

@@ -71,7 +71,7 @@ public enum EDatabaseVersion4Drivers {
// MYSQL, add for 9594
MYSQL_8(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 8", "MYSQL_8", "mysql-connector-j-8.0.33.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MYSQL_5(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 5", "MYSQL_5", "mysql-connector-java-5.1.49.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MARIADB(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MariaDB", "MARIADB", "mariadb-java-client-2.5.3.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MARIADB(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MariaDB", "MARIADB", "mariadb-java-client-3.1.4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// add for 9594
MSSQL(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,"Open source JTDS", "JTDS", "jtds-1.3.1-patch-20190523.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_2012(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
@@ -81,10 +81,13 @@ public enum EDatabaseVersion4Drivers {
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.34.jar", "slf4j-reload4j-1.7.34.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.22.jar", "jackson-core-2.13.4.jar",
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "jcip-annotations-1.0-1.jar",
"json-smart-2.4.9.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.9.jar", "asm-9.5.jar",
"json-smart-2.4.11.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.11.jar", "asm-9.5.jar",
"content-type-2.1.jar", "lang-tag-1.5.jar" })),
VERTICA_9(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 9.X", "VERTICA_9_0", "vertica-jdbc-9.3.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// VERTICA_9(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 9.X (Deprecated)", "VERTICA_9_0", "vertica-jdbc-9.3.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//https://mvnrepository.com/artifact/com.vertica.jdbc/vertica-jdbc/12.0.4-0
VERTICA_12(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 12.X", "VERTICA_12_0", "vertica-jdbc-12.0.4-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// for bug 0017930
GREENPLUM_PSQL(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"PostgreSQL", "POSTGRESQL", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$

View File

@@ -522,10 +522,16 @@ public class ContextUtils {
return itemMap;
}
private static Set<String> missingContexts = new HashSet<>();
public static void clearMissingContextCache() {
missingContexts.clear();
}
/**
*
* get the repository context item,now contextId can be either joblet node or context node.
*/
* get the repository context item, now contextId can be either joblet node or context node.
*/
public static Item getRepositoryContextItemById(String contextId) {
if (IContextParameter.BUILT_IN.equals(contextId)) {
return null;
@@ -533,6 +539,9 @@ public class ContextUtils {
if (checkObject(contextId)) {
return null;
}
if (missingContexts.contains(contextId)) {
return null;
}
List<ERepositoryObjectType> possibleTypes = new ArrayList<ERepositoryObjectType>();
possibleTypes.add(ERepositoryObjectType.CONTEXT);
@@ -547,6 +556,8 @@ public class ContextUtils {
return item;
}
}
missingContexts.add(contextId);
ExceptionHandler.log("Can't find Context item[id=" + contextId + "].");
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
@@ -857,6 +868,7 @@ public class ContextUtils {
ItemContextLink itemContextLink) {
Map<String, String> renamedMap = new HashMap<String, String>();
Map<String, Item> tempItemMap = new HashMap<String, Item>();
clearMissingContextCache();
for (ContextType contextType : contextTypeList) {
for (Object obj : contextType.getContextParameter()) {
if (obj instanceof ContextParameterType) {
@@ -919,6 +931,7 @@ public class ContextUtils {
*/
public static Map<String, String> calculateRenamedMapFromLinkFile(String projectLabel, String itemId,
List<IContext> contextList) {
clearMissingContextCache();
Map<String, String> renamedMap = new HashMap<String, String>();
Map<String, Item> idToItemMap = new HashMap<String, Item>();
try {

View File

@@ -300,6 +300,7 @@ public class JobContextManager implements IContextManager {
}
List<ContextItem> contextItemList = ContextUtils.getAllContextItem();
boolean setDefault = false;
ContextUtils.clearMissingContextCache();
for (int i = 0; i < contextTypeList.size(); i++) {
contextType = (ContextType) contextTypeList.get(i);
String name = contextType.getName();
@@ -529,6 +530,7 @@ public class JobContextManager implements IContextManager {
EList newcontextTypeList = new BasicEList();
Map<String, Item> idToItemMap = new HashMap<String, Item>();
ContextUtils.clearMissingContextCache();
for (int i = 0; i < listContext.size(); i++) {
IContext context = listContext.get(i);
String contextGroupName = renameGroupContext.get(context);

View File

@@ -51,6 +51,7 @@ public abstract class AbstractItemContextLinkService implements IItemContextLink
itemContextLink.setItemId(itemId);
Map<String, Item> tempCache = new HashMap<String, Item>();
if (contextTypeList != null && contextTypeList.size() > 0) {
ContextUtils.clearMissingContextCache();
for (Object object : contextTypeList) {
if (object instanceof ContextType) {
ContextType jobContextType = (ContextType) object;

View File

@@ -206,6 +206,7 @@ public class ContextLinkService {
Map<String, Map<String, String>> changedContextParameterId) throws PersistenceException {
List<Relation> relationList = RelationshipItemBuilder.getInstance()
.getItemsHaveRelationWith(sourceId, RelationshipItemBuilder.LATEST_VERSION, false);
ContextUtils.clearMissingContextCache();
for (Relation relation : relationList) {
String id = relation.getId();
IFile linkFile = calContextLinkFile(ProjectManager.getInstance().getCurrentProject().getTechnicalLabel(), id);

View File

@@ -463,29 +463,31 @@ public final class MetadataTalendType {
return list;
}
public static URL getSystemFolderURLOfMappingsFile() throws SystemException {
public static File getSystemFolderURLOfMappingsFile() throws SystemException {
String dirPath = "/" + INTERNAL_MAPPINGS_FOLDER; //$NON-NLS-1$
URL url = null;
Path filePath = new Path(dirPath);
Bundle b = Platform.getBundle(CoreRuntimePlugin.PLUGIN_ID);
if (b != null) {
try {
// Enumeration<URL> entries = b.findEntries(dirPath, "mapping_*.xml", false);
url = FileLocator.toFileURL(FileLocator.find(b, filePath, null));
return new File(FileLocator.toFileURL(FileLocator.find(b, filePath, null)).getFile());
} catch (IOException e) {
throw new SystemException(e);
}
}
return url;
return null;
}
public static URL getProjectFolderURLOfMappingsFile() throws SystemException {
public static File getProjectFolderURLOfMappingsFile() throws SystemException {
try {
String dirPath = "/" + INTERNAL_MAPPINGS_FOLDER; //$NON-NLS-1$
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IPath settingPath = new ProjectScope(project).getLocation();
File mappingFolder = settingPath.append(dirPath).toFile();
return mappingFolder.toURI().toURL();
if (!mappingFolder.exists()) {
mappingFolder.mkdirs();
}
return mappingFolder;
} catch (Exception e) {
throw new SystemException(e);
}
@@ -592,8 +594,7 @@ public final class MetadataTalendType {
public static JSONObject getRevisionObject() {
try {
File revisonFile = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile(),
MetadataTalendType.FILE_MAPPING_REVISION);
File revisonFile = new File(getSystemFolderURLOfMappingsFile(), FILE_MAPPING_REVISION);
String jsonStr = new String(Files.readAllBytes(revisonFile.toPath()));
return new JSONObject(jsonStr);
} catch (Exception e) {
@@ -605,13 +606,13 @@ public final class MetadataTalendType {
public static boolean restoreMappingFiles() throws Exception {
List<File> toDelete = new ArrayList<>();
JSONObject revision = getRevisionObject();
File projectMappingFolder = new File(getProjectFolderURLOfMappingsFile().getFile());
File projectMappingFolder = getProjectFolderURLOfMappingsFile();
if (projectMappingFolder.exists()) {
File[] projectMappingFiles = projectMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
if (projectMappingFiles != null) {
for (File file : projectMappingFiles) {
if (revision.has(file.getName())) {
String sha1 = MetadataTalendType.getSha1OfFile(file);
String sha1 = getSha1OfFile(file);
if (revision.getJSONObject(file.getName()).has(sha1)) {
toDelete.add(file);
}
@@ -668,9 +669,9 @@ public final class MetadataTalendType {
}
public static List<File> getWorkingMappingFiles() throws SystemException {
File projectMappingFolder = new File(getProjectFolderURLOfMappingsFile().getFile());
File projectMappingFolder = getProjectFolderURLOfMappingsFile();
File[] projectMappingFiles = projectMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
File systemMappingFolder = new File(getSystemFolderURLOfMappingsFile().getFile());
File systemMappingFolder = getSystemFolderURLOfMappingsFile();
File[] systemMappingFiles = systemMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
if (projectMappingFiles == null || projectMappingFiles.length == 0) {
return Arrays.asList(systemMappingFiles);
@@ -686,7 +687,7 @@ public final class MetadataTalendType {
public static String getSha1OfSystemMappingFile(String fileName) {
try {
return getSha1OfFile(new File(getSystemFolderURLOfMappingsFile().getFile(), fileName));
return getSha1OfFile(new File(getSystemFolderURLOfMappingsFile(), fileName));
} catch (SystemException e) {
ExceptionHandler.process(e);
return null;

View File

@@ -156,6 +156,7 @@ public final class MetadataToolAvroHelper {
copyColumnProperties(fb, in);
fb.prop(DiSchemaConstants.TALEND6_LABEL, label);
Object defaultValue = null;
Expression initialValue = in.getInitialValue();
@@ -369,6 +370,7 @@ public final class MetadataToolAvroHelper {
*/
private static <T extends PropBuilder<T>> PropBuilder<T> copyColumnProperties(PropBuilder<T> builder,
org.talend.core.model.metadata.builder.connection.MetadataColumn in) {
// Properties common to tables and columns.
if (in.getId() != null) {
builder.prop(DiSchemaConstants.TALEND6_ID, in.getId());
@@ -385,6 +387,8 @@ public final class MetadataToolAvroHelper {
builder.prop(DiSchemaConstants.TALEND6_IS_READ_ONLY, tv.getValue());
}else if(DiSchemaConstants.AVRO_TECHNICAL_KEY.equals(additionalTag)){
builder.prop(DiSchemaConstants.AVRO_TECHNICAL_KEY, tv.getValue());
}else if(DiSchemaConstants.LOGICAL_TIME_TYPE_AS.equals(additionalTag)) {
builder.prop(DiSchemaConstants.LOGICAL_TIME_TYPE_AS, tv.getValue());
}else if (tv.getValue() != null) {
builder.prop(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES + additionalTag, tv.getValue());
}
@@ -626,6 +630,7 @@ public final class MetadataToolAvroHelper {
} else if (AvroUtils.isSameType(nonnullable, AvroUtils._float())) {
col.setTalendType(JavaTypesManager.FLOAT.getId());
} else if (AvroUtils.isSameType(nonnullable, AvroUtils._int())) {
if (logicalType == LogicalTypes.date()) {
col.setTalendType(JavaTypesManager.DATE.getId());
TaggedValue tv = TaggedValueHelper.createTaggedValue(DiSchemaConstants.TALEND6_COLUMN_DATE_DATE, "true");
@@ -637,6 +642,8 @@ public final class MetadataToolAvroHelper {
String logical_time_type_as = field.getProp(DiSchemaConstants.LOGICAL_TIME_TYPE_AS);
if(DiSchemaConstants.AS_TALEND_DATE.equals(logical_time_type_as)) {
col.setTalendType(JavaTypesManager.DATE.getId());
TaggedValue tv2 = TaggedValueHelper.createTaggedValue(DiSchemaConstants.LOGICAL_TIME_TYPE_AS, DiSchemaConstants.AS_TALEND_DATE);
col.getTaggedValue().add(tv2);
} else {
col.setTalendType(JavaTypesManager.INTEGER.getId());
}

View File

@@ -33,6 +33,7 @@ import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.ERedshiftDriver;
import org.talend.core.database.conn.ConnParameterKeys;
import org.talend.core.database.conn.template.EDatabaseConnTemplate;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
import org.talend.core.model.metadata.Dbms;
import org.talend.core.model.metadata.DiSchemaConstants;
import org.talend.core.model.metadata.IConvertionConstants;
@@ -272,7 +273,7 @@ public final class ConvertionHelper {
}
private static String getDriverVersionString(DatabaseConnection dbConn) {
public static String getDriverVersionString(DatabaseConnection dbConn) {
String dbVersionString = dbConn.getDbVersionString();
if (EDatabaseTypeName.REDSHIFT.getDisplayName().equals(dbConn.getDatabaseType())
|| EDatabaseTypeName.REDSHIFT_SSO.getDisplayName().equals(dbConn.getDatabaseType())) {
@@ -286,6 +287,9 @@ public final class ConvertionHelper {
}
}
}
if (EDatabaseTypeName.VERTICA.getDisplayName().equals(dbConn.getDatabaseType())) {
dbVersionString = EDatabaseVersion4Drivers.VERTICA_12.getVersionValue();
}
return dbVersionString;
}

View File

@@ -35,7 +35,7 @@ public final class TalendPropertiesUtil {
* @return
*/
public static boolean isHideExchange() {
return isEnabled("talend.hide.exchange") || isEnabled("talend.disable.internet"); //$NON-NLS-1$ //$NON-NLS-2$
return true; //$NON-NLS-1$ //$NON-NLS-2$
}
/**

View File

@@ -37,8 +37,6 @@ public class FunctionManager {
public static final String PURE_PERL_DESC = Messages.getString("FunctionManager.PurePerl.Desc"); //$NON-NLS-1$
public static final String PURE_PERL_PARAM = Messages.getString("FunctionManager.PurePerl.ParaName"); //$NON-NLS-1$
private List<TalendType> talendTypes = null;
public static final String PERL_FUN_PREFIX = "sub{"; //$NON-NLS-1$
@@ -55,6 +53,37 @@ public class FunctionManager {
public static final String EMPTY_STRING = " "; //$NON-NLS-1$
public static enum EFunctionParameter {
CUSTOMIZE_PARAM("customize parameter", Messages.getString("FunctionManager.PurePerl.ParaName")); //$NON-NLS-1$ //$NON-NLS-2$
private String paramName;
private String paramDisplayName;
EFunctionParameter(String paramName, String paramDisplayName) {
this.paramName = paramName;
this.paramDisplayName = paramDisplayName;
}
public String getParamName() {
return paramName;
}
public String getParamDisplayName() {
return paramDisplayName;
}
public static String getDisplayNameByName(String name) {
for (EFunctionParameter eParameter : values()) {
if (eParameter.getParamName().equals(name)) {
return eParameter.getParamDisplayName();
}
}
return null;
}
}
/**
* qzhang Comment method "getFunctionByName".
*
@@ -80,7 +109,7 @@ public class FunctionManager {
function.setDescription(PURE_PERL_DESC);
StringParameter param = new StringParameter();
List<Parameter> params = new ArrayList<Parameter>();
param.setName(PURE_PERL_PARAM);
param.setName(EFunctionParameter.CUSTOMIZE_PARAM.getParamName());
params.add(param);
function.setParameters(params);
return function;

View File

@@ -86,43 +86,47 @@ public class RoutineJarsFunctionParser extends AbstractTalendFunctionParser {
Set<RoutinesParameterType> rps = new HashSet<RoutinesParameterType>();
if (processItem instanceof ProcessItem) {
ProcessType pt = ((ProcessItem) processItem).getProcess();
if (pt != null) {
if (pt.getParameters() != null) {
rps.addAll(pt.getParameters().getRoutinesParameter());
}
// if it is test process
int pidFeature = TalendFilePackage.PROCESS_TYPE_FEATURE_COUNT + 2;
int versionFeature = TalendFilePackage.PROCESS_TYPE_FEATURE_COUNT + 4;
ProcessTypeImpl pi = (ProcessTypeImpl) pt;
if (pi.eClass() != null && StringUtils.equals(pi.eClass().getName(), "TestContainer")) {
rps.addAll(pt.getParameters().getRoutinesParameter());
// if it is test process
int pidFeature = TalendFilePackage.PROCESS_TYPE_FEATURE_COUNT + 2;
int versionFeature = TalendFilePackage.PROCESS_TYPE_FEATURE_COUNT + 4;
ProcessTypeImpl pi = (ProcessTypeImpl) pt;
if (pi.eClass() != null && StringUtils.equals(pi.eClass().getName(), "TestContainer")) {
try {
Object pid = pi.eGet(pidFeature, true, false);
Object version = pi.eGet(versionFeature, true, false);
if (pid != null) {
IProxyRepositoryService svc = IProxyRepositoryService.get();
try {
List<IRepositoryViewObject> vos = svc.getProxyRepositoryFactory().getAllVersion(pid.toString());
for (IRepositoryViewObject vo : vos) {
if (StringUtils.equals(vo.getVersion(), String.valueOf(version))) {
Item parentProcessItem = vo.getProperty().getItem();
if (parentProcessItem instanceof ProcessItem) {
pt = ((ProcessItem) parentProcessItem).getProcess();
rps.addAll(pt.getParameters().getRoutinesParameter());
try {
Object pid = pi.eGet(pidFeature, true, false);
Object version = pi.eGet(versionFeature, true, false);
if (pid != null) {
IProxyRepositoryService svc = IProxyRepositoryService.get();
try {
List<IRepositoryViewObject> vos = svc.getProxyRepositoryFactory().getAllVersion(pid.toString());
for (IRepositoryViewObject vo : vos) {
if (StringUtils.equals(vo.getVersion(), String.valueOf(version))) {
Item parentProcessItem = vo.getProperty().getItem();
if (parentProcessItem instanceof ProcessItem) {
pt = ((ProcessItem) parentProcessItem).getProcess();
rps.addAll(pt.getParameters().getRoutinesParameter());
}
}
}
} catch (PersistenceException e) {
// ignore
}
} catch (PersistenceException e) {
// ignore
}
} catch (Exception e) {
// ignore
}
} catch (Exception e) {
// ignore
}
}
} else if (processItem instanceof JobletProcessItem) {
ProcessType pt = ((JobletProcessItem) processItem).getJobletProcess();
rps.addAll(pt.getParameters().getRoutinesParameter());
if (pt != null && pt.getParameters() != null) {
rps.addAll(pt.getParameters().getRoutinesParameter());
}
}
if (!rps.isEmpty()) {

View File

@@ -648,6 +648,7 @@ public class ContextNebulaGridComposite extends AbstractContextTabEditComposite
helper.initHelper(contextManager);
Map<String, Item> items = new HashMap<String, Item>();
boolean needRefresh = false;
ContextUtils.clearMissingContextCache();
for (IContextParameter param : contextManager.getDefaultContext().getContextParameterList()) {
if (!param.isBuiltIn()) {
String source = param.getSource();

View File

@@ -522,6 +522,7 @@ public class SelectRepositoryContextDialog extends SelectionDialog {
// remove the params which is unchecked
Set<String> jobletIds = new HashSet<String>();
Set<String> chekedIds = new HashSet<String>();
ContextUtils.clearMissingContextCache();
for (IContextParameter param : existParas) {
if (param.isBuiltIn()) {
continue;

View File

@@ -184,6 +184,7 @@ public class AddRepositoryContextGroupCommand extends Command {
// remove the params which is unchecked
Set<String> nonContextIds = new HashSet<String>();
Set<String> chekedIds = new HashSet<String>();
ContextUtils.clearMissingContextCache();
for (IContextParameter param : existParas) {
if (param.isBuiltIn()) {
continue;

View File

@@ -92,6 +92,7 @@ public class ContextNatTableUtils {
List<ContextTableTabParentModel> output = new ArrayList<ContextTableTabParentModel>();
if (!contextDatas.isEmpty()) {
int i = 0;
ContextUtils.clearMissingContextCache();
for (IContextParameter para : contextDatas) {
String sourceId = para.getSource();
if (IContextParameter.BUILT_IN.equals(sourceId)) {

View File

@@ -411,6 +411,7 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
if (modified) {
updateRelation();
modelManager.refresh();
}
}
@@ -425,7 +426,6 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
&& jobContextManager.isOriginalParameter(param.getName())) {
jobContextManager.setModified(true);
manager.fireContextsChangedEvent();
modelManager.refresh();
}
}
}
@@ -494,6 +494,7 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
}
if (modified) {
updateRelation();
modelManager.refresh();
}
}
@@ -508,7 +509,6 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
&& jobContextManager.isOriginalParameter(param.getName())) {
jobContextManager.setModified(true);
manager.fireContextsChangedEvent();
modelManager.refresh();
}
}
}
@@ -576,6 +576,7 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
}
if (modified) {
updateRelation();
modelManager.refresh();
}
}
@@ -590,7 +591,6 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
&& jobContextManager.isOriginalParameter(param.getName())) {
jobContextManager.setModified(true);
manager.fireContextsChangedEvent();
modelManager.refresh();
}
}
}
@@ -673,6 +673,7 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
if (modified) {
// it is undo, so the order changed
updateRelation(newName, originalName);
modelManager.refresh();
}
}
@@ -687,7 +688,6 @@ public class ExtendedContextColumnPropertyAccessor<R> implements IColumnProperty
&& jobContextManager.isOriginalParameter(param.getName())) {
jobContextManager.setModified(true);
manager.fireContextsChangedEvent();
modelManager.refresh();
}
}
}

View File

@@ -21,6 +21,7 @@ import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import org.talend.core.model.context.ContextUtils;
import org.talend.core.ui.branding.IBrandingConfiguration;
/**
@@ -51,6 +52,7 @@ public class Contexts {
public void run() {
if (cxtView != null) {
updateTitle(cxtView);
ContextUtils.clearMissingContextCache();
cxtView.refresh(part);
}
}

View File

@@ -317,3 +317,4 @@ ActionBarBuildHelper.SaveAll_toolTip=Sauvegarder tout
ContextOrderProperty.BuiltInComment=Variables de contexte built-in
ContextOrderProperty.RepositoryComment=Variables de contexte du contexte du r\u00E9f\u00E9rentiel :
BaseComponentInstallerTask.installComponent=Installation du composant {0}
ApplicationWorkbenchWindowAdvisor.repositoryConnection=Connexion

View File

@@ -317,3 +317,4 @@ ActionBarBuildHelper.SaveAll_toolTip=\u4FDD\u5B58\u5168\u90E8
ContextOrderProperty.BuiltInComment=\u5185\u7F6E\u4E0A\u4E0B\u6587\u53D8\u91CF
ContextOrderProperty.RepositoryComment=\u6765\u81EA\u5B58\u50A8\u5E93\u4E0A\u4E0B\u6587\u7684\u4E0A\u4E0B\u6587\u53D8\u91CF\uFF1A
BaseComponentInstallerTask.installComponent=\u6B63\u5728\u5B89\u88C5\u7EC4\u4EF6 {0}
ApplicationWorkbenchWindowAdvisor.repositoryConnection=\u8FDE\u63A5

View File

@@ -15,12 +15,12 @@
<geronimo.version>1.0.2</geronimo.version>
<jcache.version>1.0.5</jcache.version>
<jcache_spec.version>1.0-alpha-1</jcache_spec.version>
<johnzon.version>1.2.19</johnzon.version>
<johnzon.version>1.2.20</johnzon.version>
<meecrowave.version>1.2.15</meecrowave.version>
<microprofile.version>1.2.1</microprofile.version>
<owb.version>2.0.27</owb.version>
<slf4j.version>1.7.34</slf4j.version>
<tomcat.version>9.0.73</tomcat.version>
<tomcat.version>9.0.75</tomcat.version>
<xbean.version>4.20</xbean.version>
<reload4j.version>1.2.22</reload4j.version>
<log4j2.version>2.20.0</log4j2.version>

View File

@@ -133,7 +133,7 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<version>2.22.1</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.plexus</groupId>

View File

@@ -11,7 +11,7 @@
<packaging>pom</packaging>
<properties>
<tcomp.version>1.57.1</tcomp.version>
<tcomp.version>1.58.0</tcomp.version>
<slf4j.version>1.7.34</slf4j.version>
<reload4j.version>1.2.22</reload4j.version>
</properties>

View File

@@ -74,7 +74,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
@@ -106,7 +106,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
@@ -153,7 +153,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
<configuration>
@@ -210,14 +210,14 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<version>2.22.1</version>
<dependencies>
<dependency>
<groupId>org.sonatype.plexus</groupId>

View File

@@ -216,7 +216,7 @@ public abstract class AbstractMavenProcessorPom extends CreateMavenBundleTemplat
Dependency guavaDep = new Dependency();
guavaDep.setGroupId("com.google.guava");
guavaDep.setArtifactId("guava");
guavaDep.setVersion("30.0-jre");
guavaDep.setVersion("32.0.1-jre");
Dependency ioDep = new Dependency();
ioDep.setGroupId("commons-io");

View File

@@ -18,11 +18,11 @@
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.jdbc.mysql"
id="mariadb-java-client-2.5.3.jar"
id="mariadb-java-client-3.1.4.jar"
language="java"
message="Needed for Mysql jdbc plugin"
mvn_uri="mvn:org.mariadb.jdbc/mariadb-java-client/2.5.3"
name="mariadb-java-client-2.5.3.jar"
mvn_uri="mvn:org.mariadb.jdbc/mariadb-java-client/3.1.4"
name="mariadb-java-client-3.1.4.jar"
required="true">
</libraryNeeded>
<libraryNeeded

View File

@@ -101,13 +101,14 @@ public class ModuleMavenURIUtils {
private static Pattern pattern;
// match mvn:group-id/artifact-id/version/type/classifier
public static final String expression1 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+\\.\\d.*?(/))(\\w+/)(\\w+))";//$NON-NLS-1$
public static final String expression1 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+(\\.)?\\d.*?(/))(\\w+/)(\\w+))";//$NON-NLS-1$
// match mvn:group-id/artifact-id/version/type
public static final String expression2 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+\\.\\d.*?(/))\\w+)";//$NON-NLS-1$
public static final String expression2 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+(\\.)?\\d.*?(/))\\w+)";//$NON-NLS-1$
// match mvn:group-id/artifact-id/version
public static final String expression3 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+\\.\\d[^/]*))";//$NON-NLS-1$
public static final String expression3 = "(mvn:(\\w+.*/)(\\w+.*/)(\\d+(\\.)?\\d[^/]*))";//$NON-NLS-1$
public static final String MVNURI_TEMPLET = "mvn:<groupid>/<artifactId>/<version>/<type>";

View File

@@ -1476,9 +1476,7 @@ public class LocalLibraryManager implements ILibraryManagerService, IChangedLibr
private boolean isExtComponentProvider(String id) {
if ("org.talend.designer.components.model.UserComponentsProvider".equals(id)
|| "org.talend.designer.codegen.components.model.SharedStudioUserComponentProvider".equals(id)
|| "org.talend.designer.components.exchange.ExchangeComponentsProvider".equals(id)
|| "org.talend.designer.components.exchange.SharedStudioExchangeComponentsProvider".equals(id)) {
|| "org.talend.designer.codegen.components.model.SharedStudioUserComponentProvider".equals(id)) {
return true;
}
return false;

View File

@@ -166,8 +166,7 @@ public class MetadataTalendTypeEditor extends FieldEditor {
private void init() {
try {
tmpFiles.clear();
java.nio.file.Path systemMappingPath = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile())
.toPath();
java.nio.file.Path systemMappingPath = MetadataTalendType.getSystemFolderURLOfMappingsFile().toPath();
Map<String, File> systemFileMap = Stream
.of(systemMappingPath.toFile()
.listFiles(f -> f.getName().matches(MetadataTalendType.MAPPING_FILE_PATTERN)))
@@ -323,8 +322,7 @@ public class MetadataTalendTypeEditor extends FieldEditor {
if (sourceViewerDialog.open() == IDialogConstants.OK_ID) {
System.out.println(sourceViewerDialog.getResult());
try {
File systemFile = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile(),
fileSelected.fileName);
File systemFile = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile(), fileSelected.fileName);
if (systemFile.exists()) {
String currentSha1 = MetadataTalendType.getSha1OfText(sourceViewerDialog.getDocument().get());
String systemSha1 = MetadataTalendType.getSha1OfFile(systemFile);
@@ -334,7 +332,7 @@ public class MetadataTalendTypeEditor extends FieldEditor {
setControlEnable(removeButton, false);
} else {
fileSelected.type = FileType.USER_DEFINED;
fileSelected.file = new File(MetadataTalendType.getProjectFolderURLOfMappingsFile().getFile(),
fileSelected.file = new File(MetadataTalendType.getProjectFolderURLOfMappingsFile(),
fileSelected.fileName);
setControlEnable(removeButton, true);
}
@@ -431,7 +429,7 @@ public class MetadataTalendTypeEditor extends FieldEditor {
if (FileType.USER_DEFINED == info.type) {
try {
info.type = FileType.SYSTEM_DEFAULT;
info.file = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile(), info.fileName);
info.file = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile(), info.fileName);
info.fileContent = null;
} catch (SystemException e) {
ExceptionHandler.process(e);
@@ -664,11 +662,10 @@ public class MetadataTalendTypeEditor extends FieldEditor {
@Override
protected void run() throws LoginException, PersistenceException {
try {
File[] projectMappingFiles = new File(MetadataTalendType.getProjectFolderURLOfMappingsFile().getFile())
.listFiles();
File[] projectMappingFiles = MetadataTalendType.getProjectFolderURLOfMappingsFile().listFiles();
if (projectMappingFiles != null) {
Set<String> systemFileNames = Stream
.of(new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile())
.of(MetadataTalendType.getSystemFolderURLOfMappingsFile()
.listFiles(f -> f.getName().matches(MetadataTalendType.MAPPING_FILE_PATTERN)))
.map(File::getName).collect(Collectors.toSet());
Stream.of(projectMappingFiles).filter(f -> systemFileNames.contains(f.getName()))

View File

@@ -30,6 +30,7 @@ import org.talend.core.database.conn.ConnParameterKeys;
import org.talend.core.database.conn.DatabaseConnStrUtil;
import org.talend.core.database.conn.template.DbConnStrForHive;
import org.talend.core.database.conn.template.EDatabaseConnTemplate;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
import org.talend.core.hadoop.IHadoopClusterService;
import org.talend.core.hadoop.repository.HadoopRepositoryUtil;
import org.talend.core.language.ECodeLanguage;
@@ -53,7 +54,6 @@ import org.talend.core.utils.TalendQuoteUtils;
import org.talend.cwm.helper.CatalogHelper;
import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.SchemaHelper;
import org.talend.cwm.helper.StudioEncryptionHelper;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.metadata.managment.repository.ManagerConnection;
import org.talend.metadata.managment.ui.model.IConnParamName;
@@ -869,6 +869,11 @@ public final class DBConnectionContextUtils {
filePath = TalendQuoteUtils.removeQuotes(filePath);
dbRootPath = TalendQuoteUtils.removeQuotes(dbRootPath);
//
if (EDatabaseTypeName.VERTICA.getDisplayName().equals(dbConn.getDatabaseType())) {
dbVersionString = EDatabaseVersion4Drivers.VERTICA_12.getVersionValue();
}
// url
String urlConnection;

View File

@@ -174,16 +174,16 @@
context="plugin:org.talend.metadata.managment"
language="java"
message="Needed for create Microsoft SQL Server db connection"
mvn_uri="mvn:net.minidev/json-smart/2.4.9"
name="json-smart-2.4.9.jar"
mvn_uri="mvn:net.minidev/json-smart/2.4.11"
name="json-smart-2.4.11.jar"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.metadata.managment"
language="java"
message="Needed for create Microsoft SQL Server db connection"
mvn_uri="mvn:net.minidev/accessors-smart/2.4.9"
name="accessors-smart-2.4.9.jar"
mvn_uri="mvn:net.minidev/accessors-smart/2.4.11"
name="accessors-smart-2.4.11.jar"
required="true">
</libraryNeeded>
<libraryNeeded
@@ -194,6 +194,14 @@
name="asm-9.5.jar"
required="true">
</libraryNeeded>
<libraryNeeded
context="Vertica 12.x dbwizard"
language="java"
message="Vertica 12.x dbwizard for TOP"
mvn_uri="mvn:com.vertica.jdbc/vertica-jdbc/12.0.4-0"
name="vertica-jdbc-12.0.4-0.jar"
required="true">
</libraryNeeded>
</extension>
<extension
point="org.talend.core.migrationTask">

View File

@@ -94,7 +94,8 @@ public final class DqRepositoryViewService {
public static final String[] TABLE_TYPES = new String[] { ETableTypes.TABLETYPE_TABLE.getName(),
ETableTypes.EXTERNAL_TABLE.getName(), ETableTypes.MANAGED_TABLE.getName(), ETableTypes.INDEX_TABLE.getName(),
ETableTypes.SYSTEM_TABLE.getName() };
ETableTypes.SYSTEM_TABLE.getName(), ETableTypes.FOREIGN_TABLE.getName(),
ETableTypes.EXTERNAL_TABLE_SPACE.getName() };
public static final String[] VIEW_TYPES = new String[] { ETableTypes.TABLETYPE_VIEW.getName(),
ETableTypes.VIRTUAL_VIEW.getName() };

View File

@@ -91,11 +91,13 @@ public class ExtractMetaDataFromDataBase {
TABLETYPE_ALL_SYNONYM("ALL_SYNONYM"), //$NON-NLS-1$
TABLETYPE_ALIAS("ALIAS"), //$NON-NLS-1$
EXTERNAL_TABLE("EXTERNAL_TABLE"), //$NON-NLS-1$
EXTERNAL_TABLE_SPACE("EXTERNAL TABLE"), //$NON-NLS-1$ for redshift tabel
MANAGED_TABLE("MANAGED_TABLE"), //$NON-NLS-1$ // for hive
INDEX_TABLE("INDEX_TABLE"), //$NON-NLS-1$ // for hive
VIRTUAL_VIEW("VIRTUAL_VIEW"), //$NON-NLS-1$ // for hive
SYSTEM_TABLE("SYSTEM TABLE"), //$NON-NLS-1$ //added for amazon redshift TDQ-11558 by msjian
SYSTEM_VIEW("SYSTEM VIEW"); //$NON-NLS-1$ // for mysql
SYSTEM_VIEW("SYSTEM VIEW"), //$NON-NLS-1$ // for mysql
FOREIGN_TABLE("FOREIGN TABLE"); //$NON-NLS-1$ // for postgresql
private final String name;

View File

@@ -985,9 +985,8 @@ public class ExtractMetaDataUtils {
driverClassName = getDriverClassByDbType(dbType);
}
// feature TDI-22108
if (EDatabaseTypeName.VERTICA.getXmlName().equals(dbType)
&& EDatabaseVersion4Drivers.VERTICA_9.getVersionValue().equals(dbVersion)) {
driverClassName = EDatabase4DriverClassName.VERTICA2.getDriverClass();
if (EDatabaseTypeName.VERTICA.getXmlName().equals(dbType)) {
driverClassName = EDatabase4DriverClassName.VERTICA.getDriverClass();
} else if (EDatabaseTypeName.MYSQL.getXmlName().equals(dbType)) {
if (EDatabaseVersion4Drivers.MYSQL_8.getVersionValue().equals(dbVersion)) {
driverClassName = EDatabase4DriverClassName.MYSQL8.getDriverClass();

View File

@@ -194,7 +194,8 @@ public class ExtractManager {
ResultSet rsTableTypes = dbMetaData.getTableTypes();
Set<String> availableTableTypes = new HashSet<String>();
String[] neededTableTypes = { ETableTypes.TABLETYPE_TABLE.getName(), ETableTypes.TABLETYPE_VIEW.getName(),
ETableTypes.TABLETYPE_SYNONYM.getName(), ETableTypes.EXTERNAL_TABLE.getName()};
ETableTypes.TABLETYPE_SYNONYM.getName(), ETableTypes.EXTERNAL_TABLE.getName(),
ETableTypes.EXTERNAL_TABLE_SPACE.getName(), ETableTypes.FOREIGN_TABLE.getName() };
try {
while (rsTableTypes.next()) {

View File

@@ -183,7 +183,9 @@ public class OracleExtractManager extends ExtractManager {
} else if (table.eContainer() instanceof Schema) {
synSQL += "and all_synonyms.OWNER =?";
}
synSQL += " ORDER BY all_tab_columns.COLUMN_NAME"; //$NON-NLS-1$
//TUP-39239, caused not same ordering of the columns between table schema and synonym schema
// synSQL += " ORDER BY all_tab_columns.COLUMN_NAME"; //$NON-NLS-1$
PreparedStatement sta = extractMeta.getConn().prepareStatement(synSQL);
sta.setString(1, synonymName);
int idx = 2;

View File

@@ -1091,6 +1091,8 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
metadatatable.setName(tableName);
// Added by Marvin Wang on Feb. 6, 2012 for bug TDI-24413, it is just for hive external table.
if (ETableTypes.EXTERNAL_TABLE.getName().equals(temptableType)
|| ETableTypes.EXTERNAL_TABLE_SPACE.getName().equals(temptableType)
|| ETableTypes.FOREIGN_TABLE.getName().equals(temptableType)
|| ETableTypes.MANAGED_TABLE.getName().equals(temptableType)
|| ETableTypes.INDEX_TABLE.getName().equals(temptableType)
|| ETableTypes.TABLETYPE_BASE_TABLE.getName().equals(temptableType)

View File

@@ -320,7 +320,7 @@ public class MetadataConnectionUtils {
}// ~
additionalParams = ConvertionHelper.convertAdditionalParameters(databaseConnection);
metadataConnection.setAdditionalParams(additionalParams);
metadataConnection.setDbVersionString(dbVersionString);
metadataConnection.setDbVersionString(ConvertionHelper.getDriverVersionString(databaseConnection));
metadataConnection.setDatabase(dataBase);
metadataConnection.setDbType(dbType);
metadataConnection.setDriverJarPath(driverJarPath);

View File

@@ -20,7 +20,8 @@ Require-Bundle: org.apache.log4j,
org.eclipse.ui.workbench,
org.talend.libraries.jackson,
org.w3c.css.sac,
org.apache.commons.lang
org.apache.commons.lang,
org.talend.core.runtime
Bundle-ActivationPolicy: lazy
Export-Package: org.talend.presentation.onboarding.interfaces,
org.talend.presentation.onboarding.ui.managers,

View File

@@ -5,6 +5,7 @@ bin.includes = META-INF/,\
plugin.xml,\
build.properties,\
content/,\
icons/,\
schema/,\
plugin.properties,\
plugin_fr.properties,\

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

View File

@@ -1 +1,3 @@
Onboarding=Studio Quick Tour
GuidedTourTalend=Get started with Talend Studio
Onboarding=Guided tour
4BasicsWalkthrough=Tutorial: Create your first Job

View File

@@ -1,37 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension-point id="org.talend.presentation.onboarding.resource" name="onboarding presentation resource" schema="schema/org.talend.presentation.onboarding.resource.exsd"/>
<extension
point="org.eclipse.ui.commands">
<command
id="org.talend.presentation.onboarding.show.command"
name="%Onboarding">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.talend.presentation.onboarding.handlers.OnBoardingHandler"
commandId="org.talend.presentation.onboarding.show.command">
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=talend">
<command
commandId="org.talend.presentation.onboarding.show.command"
id="org.talend.presentation.onboarding.show.command"
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.startup">
<startup
class="org.talend.presentation.onboarding.handlers.OnBoardingStartup">
</startup>
</extension>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension-point id="org.talend.presentation.onboarding.resource" name="onboarding presentation resource" schema="schema/org.talend.presentation.onboarding.resource.exsd"/>
<extension
point="org.eclipse.ui.commands">
<command
id="org.talend.presentation.onboarding.show.command"
name="%Onboarding">
</command>
<command
id="org.talend.presentation.walkthrough.command"
name="%4BasicsWalkthrough">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.talend.presentation.onboarding.handlers.OnBoardingHandler"
commandId="org.talend.presentation.onboarding.show.command">
</handler>
<handler
class="org.talend.presentation.onboarding.handlers.WalkthroughHandler"
commandId="org.talend.presentation.walkthrough.command">
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<menu
id="Guided"
label="Guided">
</menu>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=talend">
<menu label="%GuidedTourTalend" icon="icons/guided_tour.png">
<command
commandId="org.talend.presentation.onboarding.show.command"
label="%Onboarding"
icon="icons/guided_tour.png"
style="push">
</command>
<command
commandId="org.talend.presentation.walkthrough.command"
label="%4BasicsWalkthrough"
icon="icons/walkthrough.png"
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.startup">
<startup
class="org.talend.presentation.onboarding.handlers.OnBoardingStartup">
</startup>
</extension>
</plugin>

View File

@@ -1 +1,2 @@
Onboarding=Visite guid\u00E9e du Studio
Onboarding=Visite guid\u00E9e
4BasicsWalkthrough=Guide d\u00E9taill\u00E9

View File

@@ -1 +1,2 @@
Onboarding=Studio\u30AF\u30A4\u30C3\u30AF\u30C4\u30A2\u30FC
Onboarding=\u30AC\u30A4\u30C9\u4ED8\u304D\u30C4\u30A2\u30FC
4BasicsWalkthrough=4\u3064\u306E\u57FA\u672C\u89E3\u8AAC

View File

@@ -1 +1,2 @@
Onboarding=Studio \u5FEB\u901F\u5BFC\u89C8
Onboarding=\u5BFC\u89C8
4BasicsWalkthrough=4 \u4E2A\u57FA\u672C\u6F14\u7EC3

View File

@@ -0,0 +1,36 @@
// ============================================================================
//
// Copyright (C) 2006-2023 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.presentation.onboarding.handlers;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.service.ITutorialsService;
public class WalkthroughHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
String id = event.getCommand().getId();
if (StringUtils.equals(id, "org.talend.presentation.walkthrough.command")) {//$NON-NLS-1$
ITutorialsService service = GlobalServiceRegister.getDefault().getService(ITutorialsService.class);
service.openTutorialsDialog();
}
return null;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

View File

@@ -11,4 +11,14 @@ LinksToolbarItem_Documentation=Talend Help Center - Online Doc and Knowledge Bas
LinksToolbarItem_7=Ask questions and features
LinksToolbarItem_exchange=Link to Talend Exchange
LinksToolbarItem_videos=Link to Talend Guided Tutorials
LinksToolbarItem_cloud=Link to Talend cloud
LinksToolbarItem_cloud=Link to Talend cloud
AskCommunity=Ask the community
Support=Support
SupportLogs=Support logs
ContactSupport=Contact support
WhatsNew=What's new
Plans=Plans and pricing
Install=Install external software...
About=About
Aboutlicense=About license
AboutTalendStudio=About Talend Studio

View File

@@ -98,37 +98,29 @@
point="org.eclipse.ui.commands">
<command
id="org.talend.rcp.show.exportLogs.command"
name="Support Logs">
name="%SupportLogs">
</command>
<command
id="org.talend.rcp.show.contactSupport.command"
name="%ContactSupport">
</command>
<command
id="org.talend.rcp.show.support.menus.command"
name="%Support">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.talend.rcp.handler.ContactSupportHandler"
commandId="org.talend.rcp.show.contactSupport.command">
</handler>
<handler
class="org.talend.rcp.handler.ShowExportLogsWizardHandler"
commandId="org.talend.rcp.show.exportLogs.command">
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=talend">
<command
commandId="org.talend.rcp.show.exportLogs.command"
id="org.talend.rcp.show.exportLogs.menus.command"
style="push">
</command>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=org.eclipse.equinox.p2.ui.sdk.install">
<command
commandId="org.eclipse.equinox.p2.ui.sdk.install"
label="Install External Software..."
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
@@ -190,17 +182,141 @@
commandId="org.talend.rcp.show.about.command">
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=Guided">
<command
commandId="org.talend.rcp.plans.command"
id="org.talend.rcp.plans.command"
label="%Plans"
icon="icons/plans.png"
style="push">
</command>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=Guided">
<command
commandId="org.talend.rcp.whats.new.command"
id="org.talend.rcp.whats.new.command"
label="%WhatsNew"
icon="icons/whats_new.png"
style="push">
</command>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=Guided">
<separator
name="org.talend.help.guide.spearator.end"
visible="true">
</separator>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<menu
label="%About"
icon="icons/about.png">
<command
commandId="org.talend.rcp.show.about.command"
id="org.talend.rcp.show.about.menus.command"
label="%AboutTalendStudio"
icon="icons/about.png"
style="push">
</command>
<command
commandId="org.talend.core.tis.show.aboutLicense.command"
id="org.talend.core.tis.show.aboutLicense.command"
label="%Aboutlicense"
icon="icons/about.png"
style="push">
<visibleWhen>
<with variable="HelpMenuProvider.isTis">
<equals value="true"></equals>
</with>
</visibleWhen>
</command>
</menu>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<command
commandId="org.talend.rcp.show.about.command"
id="org.talend.rcp.show.about.menus.command"
commandId="org.eclipse.equinox.p2.ui.sdk.install"
icon="icons/install.png"
label="%Install"
style="push">
</command>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<menu
label="%Support"
icon="icons/support.png">
<command
commandId="org.talend.rcp.show.contactSupport.command"
label="%ContactSupport"
icon="icons/support.png"
style="push">
</command>
<command
commandId="org.talend.rcp.show.exportLogs.command"
label="%SupportLogs"
icon="icons/support_log.png"
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<menu
id="Academy"
label="Academy">
</menu>
<separator
name="org.talend.help.spearator.start"
visible="true">
</separator>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<command
commandId="org.talend.resoruses.toolbar.Learn"
icon="icons/academy.png"
id="org.talend.resoruses.toolbar.Learn"
style="push">
</command>
</menuContribution>
<menuContribution
allPopups="false"
locationURI="menu:help?after=additions">
<command
commandId="org.talend.resoruses.toolbar.Ask"
icon="icons/ask.png"
id="org.talend.resoruses.toolbar.Ask"
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.activities">
@@ -375,41 +491,17 @@
id="org.talend.rcp.perspective">
</perspective>
</extension>
<extension
id="org.talend.resoruses.toolbar"
point="org.eclipse.ui.commands">
<command
name="Reference Command"
id="org.talend.resoruses.toolbar.referenceCommand">
</command>
<command
<command
name="%Learn"
id="org.talend.resoruses.toolbar.Learn">
</command>
</command>
<command
name="%Documentation"
id="org.talend.resoruses.toolbar.Documentation">
</command>
<command
name="%Ask"
name="%AskCommunity"
id="org.talend.resoruses.toolbar.Ask">
</command>
<command
name="%Exchange"
id="org.talend.resoruses.toolbar.Exchange">
</command>
<command
name="%Vidoes"
id="org.talend.resoruses.toolbar.Vidoes">
</command>
<command
name="%Cloud"
id="org.talend.resoruses.toolbar.Cloud">
</command>
</extension>
<extension
id="org.talend.resourse.handler"
@@ -442,6 +534,14 @@
class="org.talend.rcp.action.toolbar.ResourceToolbarHandler"
commandId="org.talend.resoruses.toolbar.Cloud">
</handler>
<handler
class="org.talend.rcp.action.toolbar.ResourceToolbarHandler"
commandId="org.talend.rcp.whats.new.command">
</handler>
<handler
class="org.talend.rcp.action.toolbar.ResourceToolbarHandler"
commandId="org.talend.rcp.plans.command">
</handler>
</extension>
<extension
@@ -461,107 +561,12 @@
priorityLevel="workbench">
</variable>
</sourceProvider>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=save">
<toolbar id="org.talend.resoruses.toolbar.base.toolbar">
<command
commandId="org.talend.resoruses.toolbar.referenceCommand"
label="%resources.label"
mode="FORCE_TEXT"
tooltip="%resources.tip"
style="pulldown">
<visibleWhen>
<with variable="ResourceToolbarProvider.showToolbar">
<equals value="false"></equals>
</with>
</visibleWhen>
</command>
</toolbar>
</menuContribution>
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=org.talend.studiolite.p2.featmanage.toolbar">
<toolbar id="org.talend.resoruses.toolbar.base.toolbar.after.feat">
<command
commandId="org.talend.resoruses.toolbar.referenceCommand"
label="%resources.label"
mode="FORCE_TEXT"
tooltip="%resources.tip"
style="pulldown">
<visibleWhen>
<with variable="ResourceToolbarProvider.showToolbar">
<equals value="true"></equals>
</with>
</visibleWhen>
</command>
<control class="org.talend.rcp.ui.toolbar.ResourceToolbarContribution">
<visibleWhen>
<with variable="ResourceToolbarProvider.showToolbar">
<equals value="true"></equals>
</with>
</visibleWhen>
</control>
</toolbar>
</menuContribution>
<menuContribution locationURI="menu:org.talend.resoruses.toolbar.referenceCommand">
<command
commandId="org.talend.resoruses.toolbar.Learn"
icon="icons/demo.png"
label="%Learn"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_Learn">
</command>
<command
commandId="org.talend.resoruses.toolbar.Documentation"
icon="icons/documention.png"
label="%Documentation"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_Documentation">
</command>
<command
commandId="org.talend.resoruses.toolbar.Ask"
icon="icons/irc_protocol.png"
label="%Ask"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_7">
</command>
<command
commandId="org.talend.resoruses.toolbar.Exchange"
icon="icons/exchange_view.png"
label="%Exchange"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_exchange">
<visibleWhen>
<with variable="ResourceToolbarProvider.menuExchange">
<equals value="true"></equals>
</with>
</visibleWhen>
</command>
<command
commandId="org.talend.resoruses.toolbar.Vidoes"
icon="icons/videos_icon16x16.png"
label="%Videos"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_videos">
</command>
<command
commandId="org.talend.resoruses.toolbar.Cloud"
icon="icons/cloud.png"
label="%Cloud"
style="push"
mode="FORCE_TEXT"
tooltip="%LinksToolbarItem_cloud">
<visibleWhen>
<with variable="ResourceToolbarProvider.menuCloud">
<equals value="true"></equals>
</with>
</visibleWhen>
</command>
</menuContribution>
<sourceProvider
provider="org.talend.rcp.intro.HelpMenuProvider">
<variable
name="HelpMenuProvider.isTis"
priorityLevel="workbench">
</variable>
</sourceProvider>
</extension>
</plugin>

View File

@@ -12,3 +12,13 @@ LinksToolbarItem_7=Posez des questions et demandez des fonctionnalit\u00E9s
LinksToolbarItem_exchange=Lien vers Talend Exchange
LinksToolbarItem_videos=Lien vers les tutoriels guid\u00E9s Talend
LinksToolbarItem_cloud=Lien vers Talend Cloud
AskCommunity=Demander \u00E0 la Communaut\u00E9
Support=Support
SupportLogs=Logs de support
ContactSupport=Contacter le Support
WhatsNew=Nouveaut\u00E9s
Plans=Plans et tarifs
Install=Installer un logiciel externe...
About=\u00C0 propos
Aboutlicense=\u00C0 propos de la licence
AboutTalendStudio=\u00C0 propos du Studio Talend

View File

@@ -12,3 +12,13 @@ LinksToolbarItem_7=\u8CEA\u554F\u3068\u6A5F\u80FD\u306E\u8981\u6C42
LinksToolbarItem_exchange=Talend Exchange\u3078\u306E\u30EA\u30F3\u30AF
LinksToolbarItem_videos=Talend\u30C1\u30E5\u30FC\u30C8\u30EA\u30A2\u30EB\u3078\u306E\u30EA\u30F3\u30AF
LinksToolbarItem_cloud=Talend Cloud\u3078\u306E\u30EA\u30F3\u30AF
AskCommunity=\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u306B\u8CEA\u554F
Support=\u30B5\u30DD\u30FC\u30C8
SupportLogs=\u30B5\u30DD\u30FC\u30C8\u30ED\u30B0
ContactSupport=\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61
WhatsNew=\u65B0\u7740\u60C5\u5831
Plans=\u30D7\u30E9\u30F3\u3068\u4FA1\u683C
Install=\u5916\u90E8\u30BD\u30D5\u30C8\u30A6\u30A7\u30A2\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB...
About=\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
Aboutlicense=\u30E9\u30A4\u30BB\u30F3\u30B9\u60C5\u5831
AboutTalendStudio=Talend Studio\u306B\u3064\u3044\u3066

View File

@@ -12,3 +12,13 @@ LinksToolbarItem_7=\u8BE2\u95EE\u95EE\u9898\u548C\u529F\u80FD
LinksToolbarItem_exchange=\u8FDE\u63A5\u5230 Talend Exchange
LinksToolbarItem_videos=\u8FDE\u63A5\u5230 Talend \u6307\u5BFC\u6559\u7A0B
LinksToolbarItem_cloud=\u8FDE\u63A5\u5230 Talend \u4E91
AskCommunity=\u8BE2\u95EE\u793E\u533A
Support=\u652F\u6301\u8D44\u6E90
SupportLogs=\u652F\u6301\u65E5\u5FD7
ContactSupport=\u8054\u7CFB\u652F\u6301
WhatsNew=\u65B0\u7279\u6027
Plans=\u8BA1\u5212\u548C\u5B9A\u4EF7
Install=\u5B89\u88C5\u5916\u90E8\u8F6F\u4EF6...
About=\u5173\u4E8E
Aboutlicense=\u5173\u4E8E\u8BB8\u53EF\u8BC1
AboutTalendStudio=\u5173\u4E8E Talend Studio

View File

@@ -59,6 +59,7 @@ tips.title=is a powerful and flexible tool that can help you take control of you
tips.getStart=Before you get started, here are the basics:
tips.runJob=Run Job
TalendHelpDocAction.documentationLink=https://document-link.us.cloud.talend.com/thc_studio-help-menu?version=cloud&lang=en&env=prd
TalendHelpDocAction.helpCenter=Help Center
starting.intro1=Welcome to
starting.intro2=This powerful and flexible tool helps you take control of your data
starting.intro3=Before you get started, here are the basics

View File

@@ -34,7 +34,6 @@ ExportLogsWizardPage.confirmMsg=Attention : ce fichier existe d\u00E9j\u00E0, l'
ExportLogsWizardPage.exportLog=Exporter les logs dans un fichier archive.
ApplicationWorkbenchWindowAdvisor.wrongJavaSetup=Mauvaise configuration Java
ApplicationWorkbenchWindowAdvisor.jdkRequired=Une JDK est requise pour construire les Jobs. Vous pouvez d\u00E9finir quelle JDK utiliser dans Window > Preferences > Java > Installed JREs.
ApplicationWorkbenchWindowAdvisor.repositoryConnection=Connexion
ApplicationWorkbenchAdvisor.ProgressJobsTitle=Titre de progression des Jobs
ApplicationWorkbenchAdvisor.ProgressJobsMessages=Quitter l'application sans attendre la fin du processus.
LinksToolbarItem_0=Apprenez avec les tutoriels
@@ -60,6 +59,7 @@ tips.title=est un outil puissant et flexible qui vous permet de contr\u00F4ler v
tips.getStart=Avant de commencer, voici les bases :
tips.runJob=Ex\u00E9cuter le Job
TalendHelpDocAction.documentationLink=https://document-link.us.cloud.talend.com/thc_studio-help-menu?version=cloud&lang=fr&env=prd
TalendHelpDocAction.helpCenter=Centre d'aide
starting.intro1=Bienvenue dans
starting.intro2=Cet outil puissant et flexible vous permet de contr\u00F4ler vos donn\u00E9es
starting.intro3=Avant de commencer, voici les bases

View File

@@ -21,7 +21,7 @@ ApplicationActionBarAdvisor.menuFileLabel=\u30D5\u30A1\u30A4\u30EB(&F)
ApplicationActionBarAdvisor.menuEditLabel=\u7DE8\u96C6(&E)
ApplicationActionBarAdvisor.navigateLabel=\u30CA\u30D3\u30B2\u30FC\u30C8(&N)
ApplicationActionBarAdvisor.gotoLabel=\u79FB\u52D5(&G)
ApplicationActionBarAdvisor.IllegalClass=\u30D8\u30EB\u30D1\u30FC\u306F ActionBarBuildHelper\u3067\u3059
ApplicationActionBarAdvisor.IllegalClass=\u30D8\u30EB\u30D1\u30FC\u306FActionBarBuildHelper\u3067\u3059
ApplicationActionBarAdvisor.projectLabel=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8(&P)
ApplicationActionBarAdvisor.menuWindowLabel=\u30A6\u30A3\u30F3\u30C9\u30A6(&W)
ApplicationActionBarAdvisor.menuHelpLabel=\u30D8\u30EB\u30D7(&H)
@@ -59,6 +59,7 @@ tips.title=\u306F\u3001\u30C7\u30FC\u30BF\u7BA1\u7406\u306B\u5F79\u7ACB\u3064\u5
tips.getStart=\u4F5C\u696D\u3092\u59CB\u3081\u308B\u524D\u306B\u4EE5\u4E0B\u306E\u57FA\u672C\u4E8B\u9805\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044:
tips.runJob=\u30B8\u30E7\u30D6\u3092\u5B9F\u884C
TalendHelpDocAction.documentationLink=https://document-link.us.cloud.talend.com/thc_studio-help-menu?version=cloud&lang=ja&env=prd
TalendHelpDocAction.helpCenter=Help Center
starting.intro1=\u3088\u3046\u3053\u305D
starting.intro2=\u30D1\u30EF\u30D5\u30EB\u3067\u67D4\u8EDF\u306A\u3053\u306E\u30C4\u30FC\u30EB\u306F\u3001\u30C7\u30FC\u30BF\u306E\u7BA1\u7406\u306B\u5F79\u7ACB\u3061\u307E\u3059
starting.intro3=\u958B\u59CB\u3059\u308B\u524D\u306B\u4EE5\u4E0B\u306E\u57FA\u672C\u4E8B\u9805\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002

View File

@@ -34,7 +34,6 @@ ExportLogsWizardPage.confirmMsg=\u8B66\u544A\uFF1A\u6B64\u6587\u4EF6\u5DF2\u7ECF
ExportLogsWizardPage.exportLog=\u5C06\u65E5\u5FD7\u5BFC\u51FA\u5230\u5B58\u6863\u6587\u4EF6
ApplicationWorkbenchWindowAdvisor.wrongJavaSetup=\u9519\u8BEF\u7684Java\u8BBE\u7F6E
ApplicationWorkbenchWindowAdvisor.jdkRequired=\u9700\u8981\u4E00\u4E2AJDK\u6784\u5EFA\u4F5C\u4E1A\u3002\u4F60\u53EF\u4EE5\u5728\u7A97\u53E3>\u9996\u9009\u9879>JAVA>\u5B89\u88C5JRE
ApplicationWorkbenchWindowAdvisor.repositoryConnection=\u8FDE\u63A5
ApplicationWorkbenchAdvisor.ProgressJobsTitle=\u8FDB\u7A0B\u4F5C\u4E1A\u6807\u9898
ApplicationWorkbenchAdvisor.ProgressJobsMessages=\u9000\u51FA\u5E94\u7528\u7A0B\u5E8F\uFF0C\u800C\u4E0D\u7B49\u5F85\u8FDB\u7A0B\u6267\u884C\u5B8C\u6210\u3002
LinksToolbarItem_0=\u4ECE\u6559\u7A0B\u4E2D\u5B66\u4E60
@@ -60,6 +59,7 @@ tips.title=\u662F\u4E00\u79CD\u5F3A\u5927\u800C\u7075\u6D3B\u7684\u5DE5\u5177\uF
tips.getStart=\u5728\u5F00\u59CB\u4E4B\u524D\uFF0C\u8BF7\u4E86\u89E3\u4EE5\u4E0B\u57FA\u7840\u77E5\u8BC6:
tips.runJob=\u8FD0\u884C\u4F5C\u4E1A
TalendHelpDocAction.documentationLink=https://document-link.us.cloud.talend.com/thc_studio-help-menu?version=cloud&lang=zh&env=prd
TalendHelpDocAction.helpCenter=\u5E2E\u52A9\u4E2D\u5FC3
starting.intro1=\u6B22\u8FCE\u4F7F\u7528
starting.intro2=\u8FD9\u4E2A\u5F3A\u5927\u800C\u7075\u6D3B\u7684\u5DE5\u5177\u65E8\u5728\u5E2E\u52A9\u60A8\u7BA1\u63A7\u6570\u636E
starting.intro3=\u5728\u5F00\u59CB\u4E4B\u524D\uFF0C\u8BF7\u4E86\u89E3\u4EE5\u4E0B\u57FA\u7840\u77E5\u8BC6

View File

@@ -39,9 +39,20 @@ public class ResourceToolbarHandler extends AbstractHandler {
public static final String CLOUD_ORIG_URL = "https://www.talend.com/free-trial";//$NON-NLS-1$
public static final String WHATS_NEW_URL = "https://help.talend.com/r/en-US/8.0/release-notes";//$NON-NLS-1$
public static final String PLANS_URL = "https://www.talend.com/pricing/";//$NON-NLS-1$
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
String id = event.getCommand().getId();
if (StringUtils.equals(id, "org.talend.rcp.plans.command")) {//$NON-NLS-1$
openBrower(PLANS_URL);
}
if (StringUtils.equals(id, "org.talend.rcp.whats.new.command")) {//$NON-NLS-1$
openBrower(WHATS_NEW_URL);
}
if (StringUtils.equals(id, "org.talend.resoruses.toolbar.Learn")) {//$NON-NLS-1$
openBrower(LEARN_ORIG_URL);
}

View File

@@ -0,0 +1,39 @@
// ============================================================================
//
// Copyright (C) 2006-2023 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.rcp.handler;
import org.apache.commons.codec.binary.StringUtils;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.swt.program.Program;
public class ContactSupportHandler extends AbstractHandler {
public static final String CONTACT_SUPPORT = "https://www.talend.com/technical-support/";//$NON-NLS-1$
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
String id = event.getCommand().getId();
if (StringUtils.equals(id, "org.talend.rcp.show.contactSupport.command")) {//$NON-NLS-1$
openBrower(CONTACT_SUPPORT);
}
return null;
}
protected void openBrower(String url) {
Program.launch(url);
}
}

View File

@@ -13,7 +13,9 @@
package org.talend.rcp.intro;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.jface.action.ActionContributionItem;
@@ -408,13 +410,25 @@ public class ActionBarBuildHelper implements IActionBarHelper {
String[] removeIds = {
"org.eclipse.equinox.p2.ui.sdk.update", "group.assist", //$NON-NLS-1$ //$NON-NLS-2$
"org.eclipse.ui.actions.showKeyAssistHandler", "additions", "group.tutorials", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction", "subversive", "subversive.help", "org.eclipse.equinox.p2.ui.sdk.install" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction", "subversive", "subversive.help" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
for (String id : removeIds) {
helpMenu.remove(id);
}
String p2InstallId = "org.eclipse.equinox.p2.ui.sdk.install";
IContributionItem[] items = helpMenu.getItems();
Map<String, IContributionItem> map = new HashMap<String, IContributionItem>();
for (IContributionItem item : items) {
if (p2InstallId.equals(item.getId())) {
map.put(p2InstallId, item);
}
}
helpMenu.remove(map.get(p2InstallId));
// Remove unsupported action on shared mode
if (SharedStudioUtils.isSharedStudioMode()) {
helpMenu.remove("org.eclipse.equinox.p2.ui.sdk.install"); //$NON-NLS-1$
helpMenu.remove(p2InstallId); // $NON-NLS-1$
}
}

View File

@@ -214,6 +214,9 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
// TDQ-11355 avoid "java.nio.channels.ClosedChannelException" .If the current perspective is DQ, delay this
// commit at here,it will be committed with DQ side(see DQRespositoryView Constructor).
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
if (activePage != null) {
activePage.hideActionSet("org.eclipse.search.searchActionSet");
}
if (activePage != null && !(activePage.getPerspective().getId().equals(ProductUtils.PERSPECTIVE_DQ_ID))) {
Job myJob = new Job("Remote project update and commit on startup") {
@@ -362,6 +365,9 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
} else if ("org.eclipse.ui.run".equals(menuItem.getId())) { //$NON-NLS-1$
menuManager.remove(menuItem);
}
if ("org.eclipse.search.menu".equals(menuItem.getId())) {
menuManager.remove(menuItem);
}
}
menuManager.update(true);

View File

@@ -0,0 +1,47 @@
// ============================================================================
//
// Copyright (C) 2006-2023 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.rcp.intro;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.ui.AbstractSourceProvider;
import org.talend.core.PluginChecker;
import org.talend.core.ui.branding.IBrandingService;
public class HelpMenuProvider extends AbstractSourceProvider {
private static final String IS_TIS = "HelpMenuProvider.isTis";//$NON-NLS-1$
@Override
public Map getCurrentState() {
Map<String, Boolean> stateMap = new HashMap<String, Boolean>();
stateMap.put(IS_TIS, testIfShouldBeShown());
return stateMap;
}
private boolean testIfShouldBeShown() {
boolean isTis = PluginChecker.isTIS();
boolean isPoweredbyTalend = IBrandingService.get().isPoweredbyTalend();
return isTis && isPoweredbyTalend;
}
@Override
public void dispose() {
}
@Override
public String[] getProvidedSourceNames() {
return new String[] { IS_TIS };
}
}

View File

@@ -13,10 +13,11 @@
package org.talend.rcp.intro;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.program.Program;
import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
import org.eclipse.ui.internal.WorkbenchImages;
import org.eclipse.ui.internal.WorkbenchMessages;
import org.talend.rcp.action.toolbar.ResourceImageTextAction;
import org.talend.rcp.i18n.Messages;
/**
@@ -26,10 +27,18 @@ public class TalendHelpDocAction extends Action {
private static final String TALEND_DOC_LINK = Messages.getString("TalendHelpDocAction.documentationLink"); //$NON-NLS-1$
private static final String HELP_IMAGE = "/icons/help_center.png";
public TalendHelpDocAction() {
setText(WorkbenchMessages.HelpContentsAction_text);
setToolTipText(WorkbenchMessages.HelpContentsAction_toolTip);
setImageDescriptor(WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_ETOOL_HELP_CONTENTS));
setText(Messages.getString("TalendHelpDocAction.helpCenter"));
setToolTipText(Messages.getString("TalendHelpDocAction.helpCenter"));
ImageRegistry imageRegistry = JFaceResources.getImageRegistry();
if (imageRegistry.get(HELP_IMAGE) == null) {
ImageDescriptor imageDescriptor = ImageDescriptor.createFromFile(ResourceImageTextAction.class, HELP_IMAGE);
if (imageDescriptor != null) {
imageRegistry.put(HELP_IMAGE, imageDescriptor);
}
}
setImageDescriptor(imageRegistry.getDescriptor(HELP_IMAGE));
}
@Override

View File

@@ -3482,10 +3482,14 @@ public class DatabaseForm extends AbstractForm {
}
private void adaptHadoopLinkedPartToReadOnly() {
boolean fromRepository = hcPropertyTypeCombo.getSelectionIndex() == 1;
boolean fromRepository = false;
hcSelectBtn.setVisible(fromRepository);
hcRepositoryText.setVisible(fromRepository);
if (canLinkToHadoopCluster()) {
fromRepository = hcPropertyTypeCombo.getSelectionIndex() == 1;
hcSelectBtn.setVisible(fromRepository);
hcRepositoryText.setVisible(fromRepository);
hcPropertyTypeCombo.setReadOnly(isContextMode());
}
hbaseDistributionCombo.setReadOnly(fromRepository || isContextMode());
@@ -3514,7 +3518,6 @@ public class DatabaseForm extends AbstractForm {
jobTrackerURLTxt.setReadOnly(fromRepository || isContextMode());
hiveCustomButton.setEnabled(!fromRepository && !isContextMode());
hcPropertyTypeCombo.setReadOnly(isContextMode());
hiveModeCombo.setReadOnly(isContextMode());
hiveServerVersionCombo.setReadOnly(isContextMode());
impalaDriverCombo.setReadOnly(isContextMode());
@@ -5848,7 +5851,7 @@ public class DatabaseForm extends AbstractForm {
boolean isOracle = oracleVersionEnable();
boolean isAS400 = as400VersionEnable();
boolean isMySQL = asMySQLVersionEnable();
boolean isVertica = asVerticaVersionEnable();
boolean isVertica = false && asVerticaVersionEnable(); // hide db version for vertica db, because it only has vertica 12 now, align to tdi, won't show db version
boolean isSAS = asSASVersionEnable();
boolean isImpala = ImpalaVersionEnable();
boolean isMsSQL = asMsSQLVersionEnable();

View File

@@ -490,9 +490,8 @@ public class DatabaseWizard extends CheckLastVersionRepositoryWizard implements
DatabaseConnection dbConnection = (DatabaseConnection) connectionItem.getConnection();
String dbVersion = dbConnection.getDbVersionString();
// feature TDI-22108
if (EDatabaseTypeName.VERTICA.equals(dbType)
&& EDatabaseVersion4Drivers.VERTICA_9.getVersionValue().equals(dbVersion)) {
driverClass = EDatabase4DriverClassName.VERTICA2.getDriverClass();
if (EDatabaseTypeName.VERTICA.equals(dbType)) {
driverClass = EDatabase4DriverClassName.VERTICA.getDriverClass();
} else if (EDatabaseTypeName.IMPALA.equals(dbType)) {
IHadoopDistributionService hadoopService = getHadoopDistributionService();
if (hadoopService != null) {

View File

@@ -111,6 +111,8 @@ public class DatabaseTableFilterForm extends AbstractForm {
getTableInfoParameters().setSqlFiter(sqlFilter.getText());
getTableInfoParameters().changeType(ETableTypes.TABLETYPE_TABLE, tableCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.EXTERNAL_TABLE, tableCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.EXTERNAL_TABLE_SPACE, synonymCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.FOREIGN_TABLE, synonymCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.TABLETYPE_VIEW, viewCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.TABLETYPE_SYNONYM, synonymCheck.getSelection());
if (isHive()) {
@@ -426,6 +428,8 @@ public class DatabaseTableFilterForm extends AbstractForm {
// types are reqired, it could invoke like
// "DatabaseTableWizardPage.getTableInfoParameters().getTypes()".
getTableInfoParameters().changeType(ETableTypes.EXTERNAL_TABLE, tableCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.EXTERNAL_TABLE_SPACE, tableCheck.getSelection());
getTableInfoParameters().changeType(ETableTypes.FOREIGN_TABLE, tableCheck.getSelection());
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataconnection.getDbType()) ||
isHive()) {
getTableInfoParameters().changeType(ETableTypes.MANAGED_TABLE, tableCheck.getSelection());

View File

@@ -21,7 +21,6 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.junit.Before;
import org.junit.Test;
import org.talend.commons.exception.SystemException;
import org.talend.commons.utils.generation.JavaUtils;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
import org.talend.core.runtime.process.ITalendProcessJavaProject;
@@ -42,8 +41,8 @@ public class MetadataTalendTypeTest {
}
@Test
public void testGetProjectForderURLOfMappingsFile() throws SystemException {
URL url = MetadataTalendType.getProjectFolderURLOfMappingsFile();
public void testGetProjectForderURLOfMappingsFile() throws Exception {
URL url = MetadataTalendType.getProjectFolderURLOfMappingsFile().toURI().toURL();
String projectLabel = ProjectManager.getInstance().getCurrentProject().getTechnicalLabel();
assertTrue(StringUtils.removeEnd(url.getFile(), "/").endsWith(projectLabel + "/.settings/mappings"));
}
@@ -73,7 +72,7 @@ public class MetadataTalendTypeTest {
restore.delete(true, null);
}
restore.create(new ByteArrayInputStream(Files.readAllBytes(
new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile(), restore.getName()).toPath())), true,
new File(MetadataTalendType.getSystemFolderURLOfMappingsFile(), restore.getName()).toPath())), true,
null);
externalKeep = projectMappingFolder.getFile("mapping_ExternalTest.xml");

View File

@@ -144,8 +144,7 @@ public class LocalLibraryManagerTest {
FilesUtils.copyFile(file, target);
}
} else {
if ("org.talend.designer.components.model.UserComponentsProvider".contains(contributeID)
|| "org.talend.designer.components.exchange.ExchangeComponentsProvider".contains(contributeID)) {
if ("org.talend.designer.components.model.UserComponentsProvider".contains(contributeID)) {
if (file.isDirectory()) {
FilesUtils.copyFolder(new File(jarFileUri), storageDir, false, FilesUtils.getExcludeSystemFilesFilter(),
FilesUtils.getAcceptJARFilesFilter(), false, new NullProgressMonitor());

View File

@@ -116,4 +116,98 @@ public class ModuleMavenURIUtilsTest {
Assert.assertFalse(match);
}
@Test
public void testValidateMvnURI4Version() throws MalformedPatternException {
String mvnURI = "mvn:org.slf4j/slf4j-api/1.8.0-beta1/jar";
boolean isValid = ModuleMavenURIUtils.validateMvnURI(mvnURI);
Assert.assertTrue(isValid);
String input1 = "mvn:net.sf.json-lib/json-lib/20230525/jar/jdk15";
String input2 = "mvn:net.sf.json-lib/json-lib/20230525/jar";
String input3 = "mvn:net.sf.json-lib/json-lib/20230525";
// expression1: match mvn:group-id/artifact-id/version/type/classifier
Perl5Matcher matcher = new Perl5Matcher();
matcher.setMultiline(false);
Perl5Compiler compiler = new Perl5Compiler();
Pattern pattern = compiler.compile(ModuleMavenURIUtils.expression1);
boolean match = matcher.matches(input1, pattern);
Assert.assertTrue(match);
match = matcher.matches(input2, pattern);
Assert.assertFalse(match);
match = matcher.matches(input3, pattern);
Assert.assertFalse(match);
// expression2: match mvn:group-id/artifact-id/version/type
pattern = compiler.compile(ModuleMavenURIUtils.expression2);
match = matcher.matches(input2, pattern);
Assert.assertTrue(match);
match = matcher.matches(input1, pattern);
Assert.assertFalse(match);
match = matcher.matches(input3, pattern);
Assert.assertFalse(match);
// expression3: match mvn:group-id/artifact-id/version
pattern = compiler.compile(ModuleMavenURIUtils.expression3);
match = matcher.matches(input3, pattern);
Assert.assertTrue(match);
match = matcher.matches(input1, pattern);
Assert.assertFalse(match);
match = matcher.matches(input2, pattern);
Assert.assertFalse(match);
}
@Test
public void testValidateMvnURI4VersionWithDot() throws MalformedPatternException {
String mvnURI = "mvn:org.slf4j/slf4j-api/1.8.0-beta1/jar";
boolean isValid = ModuleMavenURIUtils.validateMvnURI(mvnURI);
Assert.assertTrue(isValid);
String input1 = "mvn:net.sf.json-lib/json-lib/2023.0525/jar/jdk15";
String input2 = "mvn:net.sf.json-lib/json-lib/2023.0525/jar";
String input3 = "mvn:net.sf.json-lib/json-lib/2023.0525";
// expression1: match mvn:group-id/artifact-id/version/type/classifier
Perl5Matcher matcher = new Perl5Matcher();
matcher.setMultiline(false);
Perl5Compiler compiler = new Perl5Compiler();
Pattern pattern = compiler.compile(ModuleMavenURIUtils.expression1);
boolean match = matcher.matches(input1, pattern);
Assert.assertTrue(match);
match = matcher.matches(input2, pattern);
Assert.assertFalse(match);
match = matcher.matches(input3, pattern);
Assert.assertFalse(match);
// expression2: match mvn:group-id/artifact-id/version/type
pattern = compiler.compile(ModuleMavenURIUtils.expression2);
match = matcher.matches(input2, pattern);
Assert.assertTrue(match);
match = matcher.matches(input1, pattern);
Assert.assertFalse(match);
match = matcher.matches(input3, pattern);
Assert.assertFalse(match);
// expression3: match mvn:group-id/artifact-id/version
pattern = compiler.compile(ModuleMavenURIUtils.expression3);
match = matcher.matches(input3, pattern);
Assert.assertTrue(match);
match = matcher.matches(input1, pattern);
Assert.assertFalse(match);
match = matcher.matches(input2, pattern);
Assert.assertFalse(match);
}
}