Compare commits

...

20 Commits

Author SHA1 Message Date
kjwang
1730e58442 Fix TUP-40878 Add validation rule for jdbc db
Fix TUP-40878 Add validation rule for jdbc db schema throw NPE when try to select a
reference table.
https://jira.talendforge.org/browse/TUP-40878
2023-11-15 15:26:01 +08:00
kjwang-talend
8861b88828 Revert "Fix TUP-40878 Add validation rule for jdbc db schema throw NPE when try to select a reference table. https://jira.talendforge.org/browse/TUP-40878"
This reverts commit 92674ad9e4.
2023-11-15 15:03:43 +08:00
kjwang-talend
92674ad9e4 Fix TUP-40878
Add validation rule for jdbc db schema throw NPE when try to select a
reference table.
https://jira.talendforge.org/browse/TUP-40878
2023-11-15 15:01:30 +08:00
kjwang
c845b98228 TUP-40710 TCK-JDBC Dynamic setting view (#6557)
TUP-40710 TCK-JDBC Dynamic setting view
https://jira.talendforge.org/browse/TUP-40710
2023-11-13 17:16:15 +08:00
Emmanuel GALLOIS
accb4dc40c feat(TDI-50426): bump component-runtime to 1.62.1 (#6540) 2023-11-09 10:21:28 +01:00
Chao MENG
8b0dafab1d fix(TUP-40317): Metadata based Hadoop cluster Repository type is showing (#6444)
inconsistent grey out UI for Runtime mode.
https://jira.talendforge.org/browse/TUP-40317
2023-11-09 11:07:55 +08:00
Zhiwei Xue
b557195264 fix(TUP-40742):old job with stats&logs/Implicit context can't run with (#6537)
java 17 after migration
2023-11-09 10:08:38 +08:00
hzhao
9ff1bdb734 feat(TUP-36963):Display Row Number is zero when import (#6534) 2023-11-08 15:50:46 +08:00
Zhiwei Xue
3dc2d267d2 fix(TUP-40722):Add module access for Spark 3.4.x and 3.0.x (#6527) 2023-11-07 10:20:39 +08:00
hzhao
c2ed2d30d3 feat(TUP-36963):Display Row Number is zero when add column in tMap (#6516)
editor(Ubuntu)
2023-11-06 16:53:57 +08:00
apoltavtsev
6cc1fa47aa APPINT-35995: [801]Route with tHttpclient failed to run with docker image when build by CI (#6487) 2023-11-06 09:41:12 +01:00
jiezhang-tlnd
5b0fd33df5 feat(TUP-40311)[Refactor] Unify tPostgresPlus component to reuse (#6449)
* feat(TUP-40311)[Refactor] Unify tPostgresPlus component to reuse
tPostgres

* [Refactor] Unify tPostgresPlus component to reuse tPostgres

* [Refactor] Unify tPostgresPlus component to reuse tPostgres

* add migration

* code format

* remove postgresplus mapping file
2023-11-06 10:40:30 +08:00
Zhiwei Xue
74d2ba6332 fix(TUP-40637):The Java 17 compatibility notification should not show (#6517)
when studio logon a new project with Java 17 in Mac
2023-11-03 16:33:41 +08:00
Emmanuel GALLOIS
e680a31762 feat(TDI-50426): bump component-runtime to 1.62.0 (#6491)
* bump tomcat to 9.0.82
2023-11-02 19:34:04 +02:00
Jane Ding
6a2da84be3 Add localized files (#6526)
* Add localized files (#6521)

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

* Add localized files (#6522)

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

* Add localized files (#6523)

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-11-02 20:25:35 +08:00
Jane Ding
affaf0e4bc fix(TUP-36082):DetectCVE in Studio (#6471)
* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082
2023-11-02 17:54:24 +08:00
kjwang
0edc21cac3 Kjwang/feat tup 39096 new tck jdbc integrate (#6269)
* TUP-39096 Be able to create new TCK JDBC connection in repository with
expected tck and emf mode
https://jira.talendforge.org/browse/TUP-39096

* Remove edit connection action for tacokit node

* DND support

* Improve the code

* Fix dnd issues

* Improve the code

* Improve the code

* Improve the code

* TUP-39075 Handle the d&d of metadata tables/queries to DI/BD/APPINT jobs
after JDBC TCK integration

* Fix table parameter issue

* Improve the code

* Fix spark job dnd issue

* Improve the code

* feat(TUP-38956):Change the repository Db Connections display to prepare
for TCK JDBC integration

* Fix a build error

* Fix a build error

* Fix a build error

* TUP-39525 Save and Load TCK connection items from metadata/connections
instead of tacokit folder in project

* TUP-39525 Save and Load TCK connection items from metadata/connections
instead of tacokit folder in project

* TUP-39525 Save and Load TCK connection items from metadata/connections
instead of tacokit folder in project

* Remove unused code

* Support edit new jdbc schema

* Remove wrong class

* delete wrong icon

* fix(TUP-39575):Implement new jdbc mapping file field list in new jdbc
wizard.

* fix(TDQ-21221): dq support tck jdbc

* feat(TUP-38956):integrate tck jdbc and snowflake to db connections

* set default DatabaseType is JDBC(same as before)

* feat(TUP-38956):fix repository connection select and import dialog for
tck jdbc and snowflake

* Improve the code

* TUP-39577 Make data view function can work with new jdbc connection and
input component
https://jira.talendforge.org/browse/TUP-39577

* feat(TUP-38956): hide existing tcompv0 jdbc nodes from repository view

* fix(TUP-35088):Stats&logs with TCK JDBC.

* feat(TUP-39073):[JDBC TCK]: reuse SQL builder when click button beside on "Query" field (#6308)

* feat(TUP-39073):[JDBC TCK]: reuse SQL builder when click button beside
on "Query" field
https://jira.talendforge.org/browse/TUP-39073

* feat(TUP-39078):Make the TCK JDBC work with db unified system.

* Fix a NPE

* Fix data viewer issues

* Improve context menu

* Fix a migration error

* feat(TUP-39080):Delta lake/Single store move from tcompv0 JDBC to TCK

* Kjwang/feat tup 39096 new tck jdbc integrate with tup 25445 (#6343)

* feat(TUP-25445)acokit support context in repository metadata
https://jira.talendforge.org/browse/TUP-25445

* feat(TUP-38956):fix db item display on MacOS

* Test jdbc migration rename -- KK (#6348)

* Test jdbc migration rename
* Update component name

* Remove used code

* TUP-40142 Tacokit JDBC - can not list connection parameters when export
as context using existed context
https://jira.talendforge.org/browse/TUP-40142

* fix(TUP-40158):wrong jdbc icon size in DB select wizard

* fix(TUP-40159):can't import tompv0 jdbc if driver path is empty

* fix(TUP-40144):new jdbc node is not shown in import wizard

* Update version for test

* Update version for test

* update for test

* remove useless

* remove

* Fix a convert error

* fix(TUP-40249):[bug] Can't save non-jdbc connection to repository after
migration

* Improve the code

* fix(TUP-40331):[JDBC TCK] DB Type should be hidden for tJDBC components.

* fix(TDQ-21221): fix tDqReportRun run get error

* fix(TUP-40192):[Bug] tJDBCinput>save the property to metadata can not
work.

* Fix TUP-40321 [TCK JDBC Migration]: NPE in migration class :
ConvertTCompV0ToTckComponentMigrationTask
https://jira.talendforge.org/browse/TUP-40321

* temp

* # WARNING: head commit changed in the meantime

Merge branch 'maintenance/8.0' into
kjwang/Feat_TUP-39096_new_TCK_JDBC_integrate

* fix(TUP-40302):[bug] can't move in/out jdbc connection to folder

* TUP-40566 TCK JDBC driver issue in context mode
https://jira.talendforge.org/browse/TUP-40566

* fix(TUP-40376):[JDBC TCK] Connection is missing when D&D SP to workspace

* update jdbc icon in wizard

* fix(TDQ-21221): fix run tck jdbc analysis fail

* chore(): remove new DB wizard image

* improve

* Fix junit error part 1 (#6499)

Fix junit error part 1

* Fix failed junit (#6503)

Fix failed junit

* fix(TUP-40582):[bug] snowflake connection can't move in/out of folder

* fix(TUP-40616):[bug] "Update from repository connection" shows empty
filled parameters

* fix(TUP-40661):[Bug] ArrayIndexOutOfBoundsException show when close job

* Clean code

* fix tck connection copy lost map error

* fix(TUP-40582):[bug] snowflake connection can't move in/out of folder

* fix(TUP-40616):[bug] "Update from repository connection" shows empty
filled parameters

* fix all

---------

Co-authored-by: Zhiwei Xue <zwxue@talend.com>
Co-authored-by: Hongchun Yi <hcyi@talend.com>
Co-authored-by: msjian <msjian@talend.com>
Co-authored-by: Jane Ding <jding@talend.com>
2023-11-02 17:53:56 +08:00
Jill Yan
1d27501e60 APPINT-35965 use plexus-io 3.2.0 (#6514) 2023-10-31 12:42:56 +08:00
pyzhou
d1af724543 fix(TDI-50335):fix wrong mapping (#6488) 2023-10-31 08:17:06 +08:00
wang wei
491bb9652c fix(TDI-50317): tFileInputPositional don't parse properly when pattern units field is set to Symbols (#6421) 2023-10-30 14:57:36 +08:00
172 changed files with 96344 additions and 71059 deletions

View File

@@ -15,6 +15,7 @@ package org.talend.commons.runtime.service;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -45,6 +46,10 @@ public interface ITaCoKitService {
boolean isNeedMigration(String componentName, Map<String, String> properties);
boolean isTaCoKitType(Object repoType);
boolean isTaCoKitRepositoryNode(Object node);
boolean isTaCoKitConnection(Object conn);
Object getDatastoreFromDataset(Object repositoryViewObject);
@@ -52,6 +57,12 @@ public interface ITaCoKitService {
boolean isValueSelectionParameter(Object parameter);
List<Map<String, Object>> convertToTable(String value);
List<String> getValuesFromTableParameter(Object parameter, String... keys);
List<String> getValuesFromTableParameterValue(String value, String ...keys);
public static ITaCoKitService getInstance() {
BundleContext bc = FrameworkUtil.getBundle(ITaCoKitService.class).getBundleContext();
Collection<ServiceReference<ITaCoKitService>> tacokitServices = Collections.emptyList();

View File

@@ -13,6 +13,7 @@
package org.talend.commons.utils;
import java.security.SecureRandom;
import java.util.regex.Pattern;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -34,6 +35,8 @@ public class PasswordEncryptUtil {
private static final SecureRandom SECURERANDOM = new SecureRandom();
private static final Pattern REG_ENCRYPTED_DATA = Pattern.compile("^enc\\:system\\.encryption\\.key\\.v\\d\\:\\p{Print}+");
private static SecretKey getSecretKey() throws Exception {
if (key == null) {
byte rawKeyData[] = StudioEncryption

View File

@@ -17,6 +17,7 @@ import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -88,6 +89,11 @@ public class ExtendedTableAddCommand extends Command implements IExtendedTableCo
// }
extendedTable.addAll(indexStartAdd, beansToAdd);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

@@ -20,6 +20,7 @@ import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -130,6 +131,11 @@ public class ExtendedTableRemoveCommand extends Command implements IExtendedTabl
removedBeansIndices.add(index);
}
}
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

@@ -187,10 +187,10 @@
<RepositoryComponent
name="GENERAL_JDBC"
withSchema="true"
input="tJDBCInput"
output="tJDBCOutput">
input="JDBCInput"
output="JDBCOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
clazz="org.talend.core.model.properties.TacokitDatabaseConnectionItem">
</Item>
<DBType
type="GENERAL_JDBC">
@@ -420,18 +420,7 @@
type="ORACLESN">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PLUSPSQL"
withSchema="true"
input="tPostgresPlusInput"
output="tPostgresPlusOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="PLUSPSQL">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PSQL"
withSchema="true"

View File

@@ -92,9 +92,11 @@ import org.talend.core.repository.model.repositoryObject.SAPIDocRepositoryObject
import org.talend.core.repository.model.repositoryObject.SalesforceModuleRepositoryObject;
import org.talend.core.repository.recyclebin.RecycleBinManager;
import org.talend.core.repository.ui.utils.ProjectRepositoryNodeCache;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.runtime.services.IGenericDBService;
import org.talend.core.runtime.services.IGenericService;
import org.talend.core.runtime.services.IGenericWizardService;
import org.talend.core.service.ITCKUIService;
import org.talend.core.ui.ICDCProviderService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.core.ui.branding.IBrandingService;
@@ -646,7 +648,9 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (RepositoryNodeManager.isSnowflake(currentType)) {
continue;
}
if (currentType != null) {
buildFolders(rootNode, currentType, folderPath, rootNode);
}
@@ -819,7 +823,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
* @return
*/
private RepositoryNode getFolder(ERepositoryObjectType currentType, String path, List<IRepositoryNode> rootNodes) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType)) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType) || RepositoryNodeManager.isSnowflake(currentType)) {
currentType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
if (path == null || path.isEmpty()) {
@@ -1330,7 +1334,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
private void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
public void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
List<IRepositoryViewObject> validationRules) {
boolean isAvaliableInTOS = true; // this flag filter the databaseconnections which didn't supported by TOS but
@@ -1340,11 +1344,15 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
Connection conn = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
if(conn instanceof DatabaseConnection){
dbMetadataConnection = (DatabaseConnection) conn;
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) == null ? false
: true;
if (ERepositoryObjectType.JDBC == repositoryObject.getRepositoryObjectType()
&& ERepositoryObjectType.JDBC.getType().equals(dbMetadataConnection.getProductId())) {
// hide tcompv0 jdbc node
// remove the 2nd condition if later we need to migrate Delta Lake and SingleStore
return;
}
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) != null;
}
}
Connection connection = null;
if (type == ERepositoryObjectType.METADATA_CONNECTIONS && isAvaliableInTOS) {
connection = dbMetadataConnection;
@@ -1410,22 +1418,32 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (isAvaliableInTOS) {
if (isAvaliableInTOS && node != null) {
parent.getChildren().add(node);
}
}
if (null != connection) {
if (null != connection && node != null) {
createTables(node, repositoryObject, connection, validationRules);
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
if (node != null) {
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
}
}
}
private RepositoryNode createRepositoryNode(RepositoryNode parent, ERepositoryObjectType repObjType,
IRepositoryViewObject repositoryObject, Connection connection) {
if (ERepositoryObjectType.METADATA_TACOKIT_JDBC.equals(repositoryObject.getRepositoryObjectType()) && ITCKUIService.get() != null) {
try {
return ITCKUIService.get().createTaCoKitRepositoryNode(parent, repObjType, repositoryObject, connection);
} catch (Exception e) {
ExceptionHandler.process(e);
return null;
}
}
RepositoryNode node = new RepositoryNode(repositoryObject, parent, ENodeType.REPOSITORY_ELEMENT);
node.setProperties(EProperties.CONTENT_TYPE, repObjType);
@@ -1592,7 +1610,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
return objs;
}
private void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
public void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
List<IRepositoryViewObject> validationRules) {
// // 5.GENERIC SCHEMAS

View File

@@ -21,7 +21,9 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.collections.map.MultiKeyMap;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -79,6 +81,7 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.ProjectReference;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
@@ -97,6 +100,7 @@ import org.talend.core.repository.ui.dialog.ContextReferenceDialog;
import org.talend.core.repository.ui.dialog.ItemReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeDeleteManager;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.RepositoryReferenceBeanUtils;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
@@ -338,6 +342,25 @@ public class DeleteAction extends AContextualAction {
deletedFolder.add(node);
List<IRepositoryViewObject> deleteObjectList = new ArrayList<IRepositoryViewObject>();
deleteFolder(node, factory, deleteActionCache, deleteObjectList);
if (ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = RepositoryNodeUtilities.getPath(node);
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR
+ sfPath.toString();
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
RepositoryNode sfRootNode = ProjectRepositoryNode.getInstance()
.getRootRepositoryNode(ERepositoryObjectType.SNOWFLAKE);
FolderItem item = factory.getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
Folder folder = new Folder(item.getProperty(), ERepositoryObjectType.SNOWFLAKE);
RepositoryNode sfFolderNode = new RepositoryNode(folder, sfRootNode,
ENodeType.REPOSITORY_ELEMENT);
sfFolderNode.setProperties(EProperties.LABEL, folder.getLabel());
sfFolderNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.SNOWFLAKE);
deleteFolder(sfFolderNode, factory, deleteActionCache, deleteObjectList);
}
}
}
} catch (PersistenceException e) {
MessageBoxExceptionHandler.process(e);
@@ -477,6 +500,13 @@ public class DeleteAction extends AContextualAction {
}
IPath path = RepositoryNodeUtilities.getPath(node);
ERepositoryObjectType objectType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (RepositoryNodeManager.isSnowflake(objectType)) {
String pathStr = node.getObject().getLabel();
if (StringUtils.isNotBlank(node.getObject().getPath())) {
pathStr = node.getObject().getPath() + IPath.SEPARATOR + pathStr;
}
path = new Path(pathStr);
}
List<IRepositoryNode> repositoryList = node.getChildren();
boolean success = true;
Exception bex = null;

View File

@@ -18,6 +18,8 @@ import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.ui.PlatformUI;
@@ -30,12 +32,15 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.JobletReferenceBean;
import org.talend.core.repository.model.ProjectRepositoryNode;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject;
import org.talend.core.repository.ui.actions.metadata.CopyToGenericSchemaHelper;
import org.talend.core.repository.ui.dialog.JobletReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.IRepositoryNode.ENodeType;
@@ -155,8 +160,11 @@ public class MoveObjectAction {
switch (targetNode.getType()) {
case SYSTEM_FOLDER:
case SIMPLE_FOLDER:
boolean booleanValue = ((ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE))
.equals(sourceNode.getProperties(EProperties.CONTENT_TYPE));
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
ERepositoryObjectType targetType = (ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE);
boolean booleanValue = sourceType == targetType || (ERepositoryObjectType.METADATA_CONNECTIONS == targetType
&& (ERepositoryObjectType.METADATA_TACOKIT_JDBC == sourceType
|| RepositoryNodeManager.isSnowflake(sourceType)));
if (isGenericSchema) {
return true;
} else {
@@ -274,7 +282,9 @@ public class MoveObjectAction {
targetPath = (targetNode == null ? new Path("") : RepositoryNodeUtilities.getPath(targetNode)); //$NON-NLS-1$
}
List<IRepositoryViewObject> objectToMoves = new ArrayList<IRepositoryViewObject>();
List<IRepositoryViewObject> snowflakeToMove = new ArrayList<>();
Map<IRepositoryViewObject, IPath> map = new HashMap<IRepositoryViewObject, IPath>();
Map<IRepositoryViewObject, IPath> snowflakeMap = new HashMap<>();
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
for (RepositoryNode sourceNode : nodeList) {
IPath sourcePath = RepositoryNodeUtilities.getPath(sourceNode);
@@ -298,6 +308,18 @@ public class MoveObjectAction {
// Move :
if (isGenericSchema) {
CopyToGenericSchemaHelper.copyToGenericSchema(factory, objectToMove, targetPath);
} else if (RepositoryNodeManager.isSnowflake(sourceNode.getObjectType())
&& ERepositoryObjectType.METADATA_CONNECTIONS == targetNode.getContentType()
&& (ENodeType.SYSTEM_FOLDER == targetNode.getType()
|| ENodeType.SIMPLE_FOLDER == targetNode.getType())) {
if (!ProjectRepositoryNode.class.isInstance(targetNode.getParent())
&& targetNode.getObject() != null) {
factory.createFolder(ERepositoryObjectType.SNOWFLAKE,
RepositoryNodeUtilities.getPath(targetNode.getParent()),
targetNode.getObject().getProperty().getLabel());
}
snowflakeToMove.add(objectToMove);
snowflakeMap.put(objectToMove, sourcePath);
} else {
// MOD gdbu 2011-9-29 TDQ-3546
ERepositoryObjectType repositoryObjectType = objectToMove.getRepositoryObjectType();
@@ -325,6 +347,18 @@ public class MoveObjectAction {
// Source is a folder :
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
factory.moveFolder(sourceType, sourcePath, targetPath);
if (ERepositoryObjectType.SNOWFLAKE != null) {
String snowflakePath = ERepositoryObjectType.getFolderName(ERepositoryObjectType.SNOWFLAKE);
if (!sourcePath.isEmpty()) {
snowflakePath += IPath.SEPARATOR + sourcePath.toString();
}
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder folder = ResourceUtils.getFolder(project, snowflakePath, false);
if (folder.exists() && folder.members().length > 0) {
factory.moveFolder(ERepositoryObjectType.SNOWFLAKE, sourcePath, targetPath);
}
}
}
}
if (objectToMoves.size() > 0) {
@@ -335,6 +369,10 @@ public class MoveObjectAction {
}
factory.moveObjectMulti(objectArray, targetPath, map);
}
if (!snowflakeToMove.isEmpty()) {
factory.moveObjectMulti(snowflakeToMove.toArray(new IRepositoryViewObject[] {}),
RepositoryNodeUtilities.getPath(targetNode), snowflakeMap);
}
}
public void execute(RepositoryNode sourceNode, RepositoryNode targetNode, boolean isDnd) throws Exception {

View File

@@ -18,6 +18,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -37,6 +39,7 @@ import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ITDQRepositoryService;
import org.talend.core.model.metadata.builder.connection.AbstractMetadataObject;
@@ -49,6 +52,7 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.service.ICoreUIService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.repository.ProjectManager;
@@ -111,9 +115,42 @@ public class RestoreAction extends AContextualAction {
Item item = node.getObject().getProperty().getItem();
if (item instanceof FolderItem) {
item.getState().setDeleted(false);
if (nodeType == ERepositoryObjectType.METADATA_CONNECTIONS && ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR + sfPath;
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
FolderItem sfItem = ProxyRepositoryFactory.getInstance().getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
sfItem.getState().setDeleted(false);
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE,
sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
}
} else {
RestoreObjectAction restoreObjectAction = RestoreObjectAction.getInstance();
restoreObjectAction.execute(node, null, path);
if (RepositoryNodeManager.isSnowflake(nodeType)) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE, sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
// MOD qiongli 2012-10-16 TDQ-6166 notify sql exploere when restore a connection.
if (item instanceof DatabaseConnectionItem) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {

View File

@@ -62,6 +62,7 @@ import org.talend.core.repository.ui.actions.CopyObjectAction;
import org.talend.core.repository.ui.actions.MoveObjectAction;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.ConvertJobsUtil;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.service.ITransformService;
@@ -379,7 +380,7 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
if (target == null) {
return false;
}
super.validateDrop(target, operation, transferType);
// super.validateDrop(target, operation, transferType);
boolean isValid = true;
Set<IResource> parents = new HashSet<IResource>();
for (Object obj : ((StructuredSelection) getViewer().getSelection()).toArray()) {
@@ -459,6 +460,24 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
}
}
}
} else if (object.getRepositoryObjectType() == ERepositoryObjectType.METADATA_TACOKIT_JDBC) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
} else if (RepositoryNodeManager.isSnowflake(object.getRepositoryObjectType())) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
}
}

View File

@@ -155,4 +155,8 @@ public class RepositoryNodeManager {
return isTacokit;
}
public static boolean isSnowflake(ERepositoryObjectType type) {
return ERepositoryObjectType.SNOWFLAKE != null && ERepositoryObjectType.SNOWFLAKE == type;
}
}

View File

@@ -6,6 +6,7 @@ Bundle-Version: 8.0.1.qualifier
Bundle-Localization: plugin
Bundle-Vendor: .Talend SA.
Export-Package: org.talend.analysistask,
org.talend.commons.report,
org.talend.commons.utils.generation,
org.talend.commons.utils.io,
org.talend.commons.utils.workbench.resources,

View File

@@ -1,567 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="POSTGRESPLUS" id="postgresplus_id" label="Mapping PostgresPlus"
default="true">
<dbTypes>
<dbType type="ABSTIME" ignoreLen="true" ignorePre="true" />
<dbType type="ACLITEM" ignoreLen="true" ignorePre="true" />
<dbType type="BIGSERIAL" ignoreLen="true" ignorePre="true" />
<dbType type="BIT" ignorePre="true" />
<dbType type="BOOL" ignoreLen="true" ignorePre="true" />
<dbType type="BOX" ignoreLen="true" ignorePre="true" />
<dbType type="BPCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="BYTEA" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" defaultLength="50" ignorePre="true"/>
<dbType type="CID" ignoreLen="true" ignorePre="true" />
<dbType type="CIDR" ignoreLen="true" ignorePre="true" />
<dbType type="CIRCLE" ignoreLen="true" ignorePre="true" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT8" ignoreLen="true" ignorePre="true" />
<dbType type="INET" ignoreLen="true" ignorePre="true" />
<dbType type="INT2" ignoreLen="true" ignorePre="true" />
<dbType type="INT2VECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="INT4" ignoreLen="true" ignorePre="true" />
<dbType type="INT8" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignorePre="true" />
<dbType type="LINE" ignoreLen="true" ignorePre="true" />
<dbType type="LSEG" ignoreLen="true" ignorePre="true" />
<dbType type="MACADDR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NAME" ignoreLen="true" ignorePre="true" />
<dbType type="NUMERIC" defaultLength="20" defaultPrecision="10"/>
<dbType type="OID" ignoreLen="true" ignorePre="true" />
<dbType type="OIDVECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="PATH" ignoreLen="true" ignorePre="true" />
<dbType type="POINT" ignoreLen="true" ignorePre="true" />
<dbType type="POLYGON" ignoreLen="true" ignorePre="true"/>
<dbType type="REFCURSOR" ignoreLen="true" ignorePre="true" />
<dbType type="RELTIME" ignoreLen="true" ignorePre="true" />
<dbType type="REGCLASS" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPER" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPERATOR" ignoreLen="true" ignorePre="true" />
<dbType type="REGPROC" ignoreLen="true" ignorePre="true" />
<dbType type="REGPROCEDURE" ignoreLen="true" ignorePre="true" />
<dbType type="REGTYPE" ignoreLen="true" ignorePre="true" />
<dbType type="SERIAL" ignoreLen="true" ignorePre="true" />
<dbType type="SMGR" ignoreLen="true" ignorePre="true" />
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TID" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignorePre="true" />
<dbType type="TINTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMPTZ" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignorePre="true" />
<dbType type="TIMETZ" ignoreLen="true" ignorePre="true" />
<dbType type="VARBIT" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" defaultLength="200" ignorePre="true" />
<dbType type="XID" ignoreLen="true" ignorePre="true" />
<dbType type="_ABSTIME" ignoreLen="true" ignorePre="true" />
<dbType type="_ACLITEM" ignoreLen="true" ignorePre="true" />
<dbType type="_BIT" ignoreLen="true" ignorePre="true" />
<dbType type="_BOX" ignoreLen="true" ignorePre="true" />
<dbType type="_BOOL" ignoreLen="true" ignorePre="true" />
<dbType type="_BPCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_BYTEA" ignoreLen="true" ignorePre="true" />
<dbType type="_CHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_CID" ignoreLen="true" ignorePre="true" />
<dbType type="_CIDR" ignoreLen="true" ignorePre="true" />
<dbType type="_CIRCLE" ignoreLen="true" ignorePre="true" />
<dbType type="_DATE" ignoreLen="true" ignorePre="true" />
<dbType type="_FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="_FLOAT8" ignoreLen="true" ignorePre="true" />
<dbType type="_INET" ignoreLen="true" ignorePre="true" />
<dbType type="_INT2VECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="_INT4" ignoreLen="true" ignorePre="true" />
<dbType type="_INT8" ignoreLen="true" ignorePre="true" />
<dbType type="_INTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="_LINE" ignoreLen="true" ignorePre="true" />
<dbType type="_LSEG" ignoreLen="true" ignorePre="true" />
<dbType type="_MACADDR" ignoreLen="true" ignorePre="true" />
<dbType type="_MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="_NAME" ignoreLen="true" ignorePre="true" />
<dbType type="_NUMERIC" ignoreLen="true" ignorePre="true" />
<dbType type="_OID" ignoreLen="true" ignorePre="true" />
<dbType type="_OIDVECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="_PATH" ignoreLen="true" ignorePre="true"/>
<dbType type="_POINT" ignoreLen="true" ignorePre="true" />
<dbType type="_POLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="_REFCURSOR" ignoreLen="true" ignorePre="true" />
<dbType type="_REGCLASS" ignoreLen="true" ignorePre="true" />
<dbType type="_REGOPER" ignoreLen="true" ignorePre="true" />
<dbType type="_REGOPERATOR" ignoreLen="true" ignorePre="true" />
<dbType type="_REGPROC" ignoreLen="true" ignorePre="true" />
<dbType type="_REGPROCEDURE" ignoreLen="true" ignorePre="true" />
<dbType type="_REGTYPE" ignoreLen="true" ignorePre="true" />
<dbType type="_RELTIME" ignoreLen="true" ignorePre="true" />
<dbType type="_TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="_TID" ignoreLen="true" ignorePre="true" />
<dbType type="_TIME" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMESTAMP" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMESTAMPTZ" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMETZ" ignoreLen="true" ignorePre="true" />
<dbType type="_TINTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="_VARBIT" ignoreLen="true" ignorePre="true" />
<dbType type="_VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_XID" ignoreLen="true" ignorePre="true" />
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BOOL" default="true" />
</talendType>
<talendType type="id_Byte">
</talendType>
<talendType type="id_byte[]">
<dbType type="BIT" default="true" />
<dbType type="VARBIT" />
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="BPCHAR" />
<dbType type="VARCHAR" />
<dbType type="TEXT" />
</talendType>
<talendType type="id_Date">
<dbType type="DATE" default="true" />
<dbType type="ABSTIME" />
<dbType type="TIMETZ" />
<dbType type="TIME" />
<dbType type="TIMESTAMPTZ" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL" />
<dbType type="TINTERVAL" />
<dbType type="RELTIME" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="NUMERIC" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT8"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT4" />
<dbType type="FLOAT8" default="true" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT8" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Integer">
<dbType type="INT2" />
<dbType type="INT4" default="true" />
<dbType type="SERIAL" />
<dbType type="INT8" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_Long">
<dbType type="INT2" />
<dbType type="INT4" />
<dbType type="SERIAL" />
<dbType type="INT8" default="true" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_Object">
<dbType type="_POINT" />
<dbType type="_POLYGON" />
<dbType type="_FLOAT4" />
<dbType type="_REFCURSOR" />
<dbType type="_REGCLASS" />
<dbType type="_REGOPER" />
<dbType type="_REGOPERATOR" />
<dbType type="_REGPROC" />
<dbType type="_REGPROCEDURE" />
<dbType type="_REGTYPE" />
<dbType type="_RELTIME" />
<dbType type="_TEXT" />
<dbType type="_TID" />
<dbType type="_TIMETZ" />
<dbType type="_TIME" />
<dbType type="_TIMESTAMPTZ" />
<dbType type="_TIMESTAMP" />
<dbType type="_TINTERVAL" />
<dbType type="_XID" />
<dbType type="ACLITEM" />
<dbType type="BYTEA" />
<dbType type="CID" />
<dbType type="CIDR" />
<dbType type="CIRCLE" />
<dbType type="INET" />
<dbType type="MACADDR" />
<dbType type="MONEY" />
<dbType type="OID" />
<dbType type="PATH" />
<dbType type="POLYGON" />
<dbType type="REFCURSOR" />
<dbType type="REGCLASS" />
<dbType type="REGOPER" />
<dbType type="REGOPERATOR" />
<dbType type="REGPROC" />
<dbType type="REGPROCEDURE" />
<dbType type="REGTYPE" />
<dbType type="SMGR" />
<dbType type="TID" />
<dbType type="XID" />
<dbType type="_CHAR" />
<dbType type="_ABSTIME" />
<dbType type="_ACLITEM" />
<dbType type="_INT8" />
<dbType type="_VARBIT" />
<dbType type="_BIT" />
<dbType type="_BOOL" />
<dbType type="BOX" />
<dbType type="_BOX" />
<dbType type="_BYTEA" />
<dbType type="_VARCHAR" />
<dbType type="_BPCHAR" />
<dbType type="_CID" />
<dbType type="_CIDR" />
<dbType type="_CIRCLE" />
<dbType type="_DATE" />
<dbType type="_FLOAT8" />
<dbType type="_INET" />
<dbType type="INT2VECTOR" />
<dbType type="_INT2VECTOR" />
<dbType type="_INT4" />
<dbType type="_INTERVAL" />
<dbType type="LINE" />
<dbType type="_LINE" />
<dbType type="LSEG" />
<dbType type="_LSEG" />
<dbType type="_MACADDR" />
<dbType type="_MONEY" />
<dbType type="NAME" />
<dbType type="_NAME" />
<dbType type="_NUMERIC" />
<dbType type="_OID" />
<dbType type="OIDVECTOR" />
<dbType type="_OIDVECTOR" />
<dbType type="_PATH" />
<dbType type="POINT" default="true" />
</talendType>
<talendType type="id_Short">
<dbType type="INT2" default="true" />
<dbType type="INT4" />
<dbType type="SERIAL" />
<dbType type="INT8" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_String">
<dbType type="BPCHAR" />
<dbType type="VARCHAR" default="true" />
<dbType type="TEXT" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="INT2" >
<talendType type="id_Short" default="true" />
</dbType>
<dbType type="INT4" >
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="SERIAL" >
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="INT8" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BIGSERIAL" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="FLOAT4" >
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT8" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NUMERIC">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="BOOL" >
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="VARBIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="CHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="BPCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="VARCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TEXT" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="DATE" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ABSTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMETZ" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMPTZ" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="RELTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INET" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MONEY" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="PATH" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POLYGON" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMGR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="XID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LINE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POINT" >
<talendType type="id_Object" default="true" />
</dbType>
<!-- object -->
<dbType type="_OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_PATH" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NUMERIC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_OID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MONEY" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LINE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT4" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INTERVAL" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BPCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_DATE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_FLOAT8" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INET" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ABSTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT8" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARBIT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BIT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOOL" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_POINT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_POLYGON" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_FLOAT4" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_RELTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TEXT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMETZ" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMPTZ" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMP" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TINTERVAL" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_XID" >
<talendType type="id_Object" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -43,9 +43,9 @@
<dbType type="BIT" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="TINYINT" default="true" />
<dbType type="INT" default="true" />
<dbType type="BIGINT" />
<dbType type="INT" />
<dbType type="TINYINT" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_byte[]">
@@ -204,8 +204,8 @@
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer"/>
<talendType type="id_Integer" default="true" />
<talendType type="id_Byte"/>
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>

View File

@@ -53,7 +53,9 @@ tWebServiceInput=java.base/java.lang
TCK_COMMON_ARGS=java.base/java.io,java.base/java.lang.invoke,java.base/java.lang.reflect,java.base/java.lang,java.base/java.net,java.base/java.nio,java.base/java.util,java.base/sun.nio.ch
# BigData distribution
SPARK_3_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_3_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_2_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_1_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_0_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_2_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar

View File

@@ -26,26 +26,12 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.widgets.WidgetFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.report.ItemsReportUtil;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.commons.report.ReportAccessDialog;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.Item;
@@ -175,8 +161,10 @@ public class ItemAnalysisReportManager {
boolean generateSuccess = ItemsReportUtil.generateReportFile(reportFile, ANALYSIS_REPORT_HEAD, recordLines);
if (generateSuccess) {
Display.getDefault().asyncExec(() -> {
AnalysisReportAccessDialog accessDialog = new AnalysisReportAccessDialog(
ReportAccessDialog accessDialog = new ReportAccessDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
Messages.getString("AnalysisReportAccessDialog.shellTitle"),
Messages.getString("AnalysisReportAccessDialog.generateSuccess"),
reportFile.getAbsolutePath());
accessDialog.open();
});
@@ -240,76 +228,3 @@ public class ItemAnalysisReportManager {
}
}
class AnalysisReportAccessDialog extends Dialog {
private String reportGeneratedFile;
protected AnalysisReportAccessDialog(Shell parentShell, String reportGeneratedFile) {
super(parentShell);
this.reportGeneratedFile = reportGeneratedFile;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(Messages.getString("AnalysisReportAccessDialog.shellTitle"));
}
@Override
protected void initializeBounds() {
getShell().setSize(700, 190);
Point location = getInitialLocation(getShell().getSize());
getShell().setLocation(location.x, location.y);
}
@Override
protected Control createDialogArea(Composite parent) {
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
Composite container = WidgetFactory.composite(SWT.NONE).layout(layout).layoutData(new GridData(GridData.FILL_BOTH))
.create(parent);
applyDialogFont(container);
Composite composite = new Composite(container, SWT.NONE);
GridLayout compositeLayout = new GridLayout();
compositeLayout.numColumns = 1;
compositeLayout.marginWidth = 0;
compositeLayout.marginTop = 8;
compositeLayout.marginLeft = 10;
composite.setLayout(compositeLayout);
Label successMsgLabel = new Label(composite, SWT.NONE);
successMsgLabel.setText(Messages.getString("AnalysisReportAccessDialog.generateSuccess"));
GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL);
successMsgLabel.setLayoutData(gridData);
Link accessLink = new Link(composite, SWT.NONE);
accessLink.setText(Messages.getString("AnalysisReportAccessDialog.completeReportAvailable") + " <a>"
+ Messages.getString("AnalysisReportAccessDialog.accessReport") + "</a> ");
accessLink.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
accessLink.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
File reportFile = new File(reportGeneratedFile);
if (reportFile != null && reportFile.exists()) {
try {
FilesUtils.selectFileInSystemExplorer(reportFile);
} catch (Exception excep) {
ExceptionHandler.process(excep);
}
}
}
});
return container;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
}
}

View File

@@ -0,0 +1,128 @@
// ============================================================================
//
// 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.commons.report;
import java.io.File;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.widgets.WidgetFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.runtime.i18n.Messages;
/**
* DOC jding class global comment. Detailled comment
*/
public class ReportAccessDialog extends Dialog {
private String shellTitle;
private String message;
private String reportGeneratedFile;
public ReportAccessDialog(Shell parentShell, String shellTitle, String message, String reportGeneratedFile) {
super(parentShell);
this.shellTitle = shellTitle;
this.message = message;
this.reportGeneratedFile = reportGeneratedFile;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(shellTitle);
}
@Override
protected void initializeBounds() {
getShell().setSize(700, 190);
Point location = getInitialLocation(getShell().getSize());
getShell().setLocation(location.x, location.y);
}
@Override
protected Control createDialogArea(Composite parent) {
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
Composite container = WidgetFactory.composite(SWT.NONE).layout(layout).layoutData(new GridData(GridData.FILL_BOTH))
.create(parent);
applyDialogFont(container);
Composite composite = new Composite(container, SWT.NONE);
GridLayout compositeLayout = new GridLayout();
compositeLayout.numColumns = 1;
compositeLayout.marginWidth = 0;
compositeLayout.marginTop = 8;
compositeLayout.marginLeft = 10;
composite.setLayout(compositeLayout);
Label successMsgLabel = new Label(composite, SWT.NONE);
successMsgLabel.setText(message);
GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL);
successMsgLabel.setLayoutData(gridData);
Composite noteComp = new Composite(composite, SWT.NONE);
noteComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
noteComp.setLayout(new FormLayout());
Label noteLabel = new Label(noteComp, SWT.NONE);
noteLabel.setText(Messages.getString("AnalysisReportAccessDialog.completeReportAvailable"));
FormData noteLabelFormData = new FormData();
noteLabelFormData.bottom = new FormAttachment(100, -5);
noteLabelFormData.left = new FormAttachment(0, 0);
noteLabel.setLayoutData(noteLabelFormData);
Button browseBtn = new Button(noteComp, SWT.NONE);
browseBtn.setText(Messages.getString("AnalysisReportAccessDialog.accessBrowse"));
FormData linkFormData = new FormData();
linkFormData.top = new FormAttachment(0, 0);
linkFormData.left = new FormAttachment(noteLabel, 5);
browseBtn.setLayoutData(linkFormData);
browseBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
File reportFile = new File(reportGeneratedFile);
if (reportFile != null && reportFile.exists()) {
try {
FilesUtils.selectFileInSystemExplorer(reportFile);
} catch (Exception excep) {
ExceptionHandler.process(excep);
}
}
}
});
return container;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
}
}

View File

@@ -66,7 +66,6 @@ public enum EDatabase4DriverClassName {
// Take care, PSQL is set as first here since actually the audit will take the first db with the postgresql driver
// if change the order, it might break the audit for PSQL.
PSQL(EDatabaseTypeName.PSQL, "org.postgresql.Driver"), //$NON-NLS-1$
PLUSPSQL(EDatabaseTypeName.PLUSPSQL, "org.postgresql.Driver"), //$NON-NLS-1$
GREENPLUM(EDatabaseTypeName.GREENPLUM, "com.pivotal.jdbc.GreenplumDriver"), //$NON-NLS-1$
GREENPLUM_PSQL(EDatabaseTypeName.GREENPLUM, "org.postgresql.Driver"), //$NON-NLS-1$
SAS(EDatabaseTypeName.SAS, "com.sas.rio.MVADriver"), //$NON-NLS-1$

View File

@@ -118,6 +118,7 @@ public enum EDatabaseTypeName {
// General JDBC not support schema defalut
GENERAL_JDBC(
"General JDBC", "General JDBC", Boolean.FALSE, "JDBC", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.None), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
EXASOL(
"Exasol", "Exasol", Boolean.TRUE, "Exasol", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.None), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

View File

@@ -49,10 +49,6 @@ public enum EDatabaseConnTemplate {
"jdbc:postgresql://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
PLUSPSQL(new DbConnStr(EDatabaseTypeName.PLUSPSQL, //
"jdbc:postgresql://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
GREENPLUM(new DbConnStr(EDatabaseTypeName.GREENPLUM, //
"jdbc:pivotal:greenplum://<host>:<port>;;DatabaseName=<sid>;<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
@@ -382,7 +378,6 @@ public enum EDatabaseConnTemplate {
case ORACLE_OCI:
case ORACLE_CUSTOM:
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case REDSHIFT:
case REDSHIFT_SSO:
@@ -426,7 +421,6 @@ public enum EDatabaseConnTemplate {
case REDSHIFT_SSO:
case SAPHana:
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case INGRES:
case VECTORWISE:
@@ -470,7 +464,6 @@ public enum EDatabaseConnTemplate {
case HSQLDB_IN_PROGRESS:
case MAXDB:
case PSQL:
case PLUSPSQL:
return true;
default:
}

View File

@@ -96,9 +96,6 @@ public enum EDatabaseVersion4Drivers {
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.6.0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "Prior to v9 (Deprecated)", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL,
"Prior to v9 (Deprecated)", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.6.0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
IBMDB2(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
"db2jcc_license_cisuz.jar" })), //$NON-NLS-1$
IBMDB2ZOS(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2ZOS, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$

View File

@@ -52,6 +52,7 @@ import org.talend.core.model.metadata.builder.connection.MDMConnection;
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.connection.SAPBWTable;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.prefs.SSLPreferenceConstants;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.utils.KeywordsValidator;
@@ -785,4 +786,17 @@ public final class ConvertionHelper {
}
return entryString;
}
public static DatabaseConnection fillJDBCParams4TacokitDatabaseConnection(Connection conn) {
if (conn instanceof TacokitDatabaseConnection) {
TacokitDatabaseConnection tacokitDatabaseConnection = (TacokitDatabaseConnection) (conn);
if (tacokitDatabaseConnection.getDbmsId() == null) {
String trueDbType = getDbTypeByClassNameAndDriverJar(tacokitDatabaseConnection.getDriverClass(), null);
String product = EDatabaseTypeName.getTypeFromDisplayName(trueDbType).getProduct();
String mapping = MetadataTalendType.getDefaultDbmsFromProduct(product).getId();
tacokitDatabaseConnection.setDbmsId(mapping);
}
}
return (DatabaseConnection) conn;
}
}

View File

@@ -76,6 +76,7 @@ import org.talend.core.model.metadata.builder.connection.SAPFunctionUnit;
import org.talend.core.model.metadata.builder.connection.SalesforceModuleUnit;
import org.talend.core.model.metadata.builder.connection.SalesforceSchemaConnection;
import org.talend.core.model.metadata.builder.connection.SchemaTarget;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.builder.connection.WSDLParameter;
import org.talend.core.model.metadata.builder.connection.WSDLSchemaConnection;
import org.talend.core.model.metadata.builder.connection.XMLFileNode;
@@ -1034,6 +1035,9 @@ public class RepositoryToComponentProperty {
return typeByProduct;
}
}
if (connection instanceof TacokitDatabaseConnection) {
return getTacokitDatabaseConnectionValue((TacokitDatabaseConnection)connection, value, table, targetComponent);
}
if (value.equals("FRAMEWORK_TYPE")) { //$NON-NLS-1$
if (isContextMode(connection, databaseType)) {
if (databaseType.equals("JavaDB Embeded")) { //$NON-NLS-1$
@@ -1176,7 +1180,6 @@ public class RepositoryToComponentProperty {
|| EDatabaseConnTemplate.ORACLE_CUSTOM.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.ORACLEFORSID.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.ORACLESN.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.PLUSPSQL.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.PSQL.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.SAPHana.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(databaseType)) {
@@ -1317,7 +1320,7 @@ public class RepositoryToComponentProperty {
}
return value2;
}
}
if(value.equals("SUPPORT_NLS")) {
return connection.isSupportNLS();
@@ -1892,6 +1895,122 @@ public class RepositoryToComponentProperty {
}
return null;
}
private static Object getTacokitDatabaseConnectionValue(TacokitDatabaseConnection connection, String value,
IMetadataTable table, String targetComponent) {
if (TacokitDatabaseConnection.KEY_DATASTORE_URL.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_URL.equals(value)
|| TacokitDatabaseConnection.KEY_URL.equals(value) || "URL".equals(value)) {
return getAppropriateValue(connection, connection.getURL());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_HOST.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_HOST.equals(value)
|| TacokitDatabaseConnection.KEY_HOST.equals(value)) {
return getAppropriateValue(connection, connection.getServerName());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_PORT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_PORT.equals(value)
|| TacokitDatabaseConnection.KEY_PORT.equals(value)) {
return getAppropriateValue(connection, connection.getPort());
}
if (TacokitDatabaseConnection.KEY_DRIVER.equals(value)) {
return connection.getDrivers();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DRIVER.equals(value) || "DRIVER_JAR".equals(value)) {
List<Map<String, Object>> drivers = new ArrayList<Map<String, Object>>();
// map to datastore key
for (Map<String, Object> map : connection.getDrivers()) {
HashMap<String, Object> newMap = new HashMap<String, Object>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (TacokitDatabaseConnection.KEY_DRIVER_PATH.equals(entry.getKey()) || TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_PATH.equals(entry.getKey())) {
newMap.put(TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_PATH, entry.getValue());
}
}
drivers.add(newMap);
}
return drivers;
}
if (TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER.equals(value)) {
List<Map<String, Object>> drivers = new ArrayList<>();
for (Map<String, Object> map : connection.getDrivers()) {
HashMap<String, Object> newMap = new HashMap<>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (TacokitDatabaseConnection.KEY_DRIVER_PATH.equals(entry.getKey())
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_PATH.equals(entry.getKey())) {
newMap.put(TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_PATH, entry.getValue());
}
}
drivers.add(newMap);
}
return drivers;
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_CLASS.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_CLASS.equals(value)
|| TacokitDatabaseConnection.KEY_DRIVER_CLASS.equals(value) || "DRIVER_CLASS".equals(value)) {
return getAppropriateValue(connection, connection.getDriverClass());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USER_ID.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USER_ID.equals(value)
|| TacokitDatabaseConnection.KEY_USER_ID.equals(value) || "USERNAME".equals(value)) {
return getAppropriateValue(connection, connection.getUsername());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_PASSWORD.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_PASSWORD.equals(value)
|| TacokitDatabaseConnection.KEY_PASSWORD.equals(value) || "PASSWORD".equals(value)) {
return getAppropriateValue(connection, connection.getRawPassword());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DATABASE_MAPPING.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DATABASE_MAPPING.equals(value)
|| TacokitDatabaseConnection.KEY_DATABASE_MAPPING.equals(value)) {
return getAppropriateValue(connection, connection.getDatabaseMappingFile());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DATASOURCE_ALIAS.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DATASOURCE_ALIAS.equals(value)
|| TacokitDatabaseConnection.KEY_DATASOURCE_ALIAS.equals(value)) {
return getAppropriateValue(connection, connection.getDatasourceAlias());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_USE_SHARED_DB_CONNECTION.equals(value)) {
return connection.useSharedDBConnection();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SHARED_DB_CONNECTION.equals(value)) {
return getAppropriateValue(connection, connection.getSharedDBConnectionName());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_DATASOURCE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_DATASOURCE.equals(value)
|| TacokitDatabaseConnection.KEY_USE_DATASOURCE.equals(value)) {
return connection.useDatasourceAlias();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_AUTHENTICATION_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_AUTHENTICATION_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_AUTHENTICATION_TYPE.equals(value)) {
return getAppropriateValue(connection, connection.getAuthenticationType());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_USE_AUTO_COMMIT.equals(value)) {
return connection.useAutoCommit();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_AUTO_COMMIT.equals(value)) {
return connection.autoCommit();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_ENABLE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_ENABLE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_ENABLE_DB_TYPE.equals(value)) {
return connection.enableDBType();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_DB_TYPE.equals(value)) {
return connection.getDatabaseType();
}
return connection.getPropertyValue(value);
}
private static String getAppropriateValue(Connection connection, String rawValue) {
if (isContextMode(connection, rawValue)) {
@@ -1901,17 +2020,6 @@ public class RepositoryToComponentProperty {
}
}
/**
* DOC nrousseau Comment method "getDatabaseValue".
*
* @param connection
* @param value
* @return
*/
private static Object getDatabaseValue(DatabaseConnection connection, String value) {
return getDatabaseValue(connection, value, null, null);
}
private static boolean isContextMode(Connection connection, String value) {
IMetadataManagmentUiService mmService = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IMetadataManagmentUiService.class)) {
@@ -3115,7 +3223,7 @@ public class RepositoryToComponentProperty {
String paramName) {
for (IDragAndDropServiceHandler handler : DragAndDropManager.getHandlers()) {
if (handler.canHandle(connection)) {
return handler.isGenericRepositoryValue(componentProperties, paramName);
return handler.isGenericRepositoryValue(connection, componentProperties, paramName);
}
}
return false;
@@ -3125,7 +3233,7 @@ public class RepositoryToComponentProperty {
String paramName) {
for (IDragAndDropServiceHandler handler : DragAndDropManager.getHandlers()) {
if (handler.canHandle(connection)) {
return handler.getGenericRepositoryValue(componentProperties, paramName);
return handler.getGenericRepositoryValue(connection, componentProperties, paramName);
}
}
return null;

View File

@@ -629,7 +629,7 @@ public final class ElementParameterParser {
return processItem.getProperty().getLabel();
}
// hywang add for 6484
else if ("SELECTED_FILE".equals(param.getRepositoryValue())) { //$NON-NLS-1$
else if ("SELECTED_FILE".equals(param.calcRepositoryValue())) { //$NON-NLS-1$
IElementParameter propertyParam = param.getElement().getElementParameter("PROPERTY:REPOSITORY_PROPERTY_TYPE"); //$NON-NLS-1$
if (propertyParam != null && propertyParam.getValue() != null && !propertyParam.getValue().equals("")) { //$NON-NLS-1$
try {

View File

@@ -84,10 +84,30 @@ public interface IElementParameter {
public Object[] getListItemsValue();
public String getRepositoryValue();
public String calcRepositoryValue();
/**
* use {@link #calcRepositoryValue()} instead
*/
@Deprecated
default public String getRepositoryValue() {
return calcRepositoryValue();
}
default public String getRawRepositoryValue() {
return calcRepositoryValue();
}
public void setRepositoryValue(String repositoryValue);
default public String getRepositoryValueIf() {
return null;
}
default public void setRepositoryValueIf(String repositoryValue) {
}
public String getRepositoryProperty();
public void setRepositoryProperty(String repositoryProperty);

View File

@@ -69,6 +69,7 @@ import org.talend.core.model.properties.SalesforceSchemaConnectionItem;
import org.talend.core.model.properties.SnippetItem;
import org.talend.core.model.properties.SnippetVariable;
import org.talend.core.model.properties.TDQItem;
import org.talend.core.model.properties.TacokitDatabaseConnectionItem;
import org.talend.core.model.properties.ValidationRulesConnectionItem;
import org.talend.core.model.properties.WSDLSchemaConnectionItem;
import org.talend.core.model.properties.XmlFileConnectionItem;
@@ -592,6 +593,14 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
.valueOf("METADATA_SAP_BW_INFOOBJECT"); //$NON-NLS-1$
public final static ERepositoryObjectType JDBC = ERepositoryObjectType.valueOf("JDBC"); //$NON-NLS-1$
public static final ERepositoryObjectType METADATA_TACOKIT_JDBC = ERepositoryObjectType
.valueOf("repository.metadata.tacokit.jdbc.jdbcdatastore"); //$NON-NLS-1$
/**
* <font color="red">This value may be <b>null</b> if Snowflake is not installed, <b>should add NPE check</b></font>
*/
public final static ERepositoryObjectType SNOWFLAKE = ERepositoryObjectType.valueOf("Snowflake"); //$NON-NLS-1$
private static Map<String, ERepositoryObjectType> typeCacheById = new HashMap<String, ERepositoryObjectType>();
@@ -1075,6 +1084,10 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
public Object caseDatabaseConnectionItem(DatabaseConnectionItem object) {
return METADATA_CONNECTIONS;
}
public Object caseTacokitDatabaseConnectionItem(TacokitDatabaseConnectionItem object) {
return METADATA_TACOKIT_JDBC;
}
@Override
public Object caseSAPConnectionItem(SAPConnectionItem object) {

View File

@@ -102,6 +102,7 @@ import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.designer.runprocess.ItemCacheManager;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.IRepositoryService;
import org.talend.repository.model.RepositoryNode;
@@ -1923,7 +1924,7 @@ public abstract class RepositoryUpdateManager {
return updateQueryObject(query, true, false);
}
public static boolean updateQuery(Query query, RepositoryNode node) {
public static boolean updateQuery(Query query, IRepositoryNode node) {
return updateQueryObject(query, true, false, node);
}
@@ -1965,7 +1966,7 @@ public abstract class RepositoryUpdateManager {
return repositoryUpdateManager.doWork(show, onlySimpleShow);
}
private static boolean updateQueryObject(Object parameter, boolean show, boolean onlySimpleShow, RepositoryNode node) {
private static boolean updateQueryObject(Object parameter, boolean show, boolean onlySimpleShow, IRepositoryNode node) {
Item item = node.getObject().getProperty().getItem();
List<Relation> relations = null;
if (parameter instanceof Query) {

View File

@@ -60,7 +60,7 @@ public abstract class AbstractDragAndDropServiceHandler implements IDragAndDropS
}
@Override
public boolean isGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName) {
public boolean isGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName) {
return false;
}
@@ -71,12 +71,12 @@ public abstract class AbstractDragAndDropServiceHandler implements IDragAndDropS
* java.lang.String)
*/
@Override
public Object getGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName) {
public Object getGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName) {
return null;
}
@Override
public boolean isGenericPropertiesValue(String paramName){
public boolean isGenericPropertiesValue(Connection connection, String paramName){
return false;
}
}

View File

@@ -119,9 +119,9 @@ public interface IDragAndDropServiceHandler {
* @param paramName
* @return
*/
public boolean isGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName);
public boolean isGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName);
public Object getGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName);
public Object getGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName);
public boolean isGenericPropertiesValue(String paramName);
public boolean isGenericPropertiesValue(Connection connection, String paramName);
}

View File

@@ -856,7 +856,8 @@ public final class ParameterValueUtil {
if (param != null) {
Object docValue = param.getValue();
if (docValue != null) {
if ((param.getRepositoryValue() != null && param.getRepositoryValue().toUpperCase().contains("PASSWORD") //$NON-NLS-1$
String repositoryValue = param.calcRepositoryValue();
if ((repositoryValue != null && repositoryValue.toUpperCase().contains("PASSWORD") //$NON-NLS-1$
|| EParameterFieldType.isPassword(param.getFieldType()))//
&& !ContextParameterUtils.containContextVariables((String) docValue)) {

View File

@@ -640,7 +640,7 @@ TalendLibsServerManager.cannotGetUserLibraryServer=Cannot get the user library s
MigrationReportAccessDialog.title=Project items migration
MigrationReportAccessDialog.migrateSuccess=Project items migrated successfully.
MigrationReportAccessDialog.completeReportAvailable=Check the report
MigrationReportAccessDialog.accessReport=here
MigrationReportAccessDialog.accessBrowse=Browse...
MigrationReportAccessDialog.provideAnalysisTool=You can run project analysis now to analyze your migrated project. This experimental tool will generate a report containing:
MigrationReportAccessDialog.listOfProblems=- List of items to fix manually.
MigrationReportAccessDialog.listItems=- List of items to check.
@@ -655,7 +655,7 @@ ItemAnalysisReportManager.Warning.message=Can't run a new analysis now. Wait for
AnalysisReportAccessDialog.shellTitle=Project analysis
AnalysisReportAccessDialog.generateSuccess=Project analysis completed successfully.
AnalysisReportAccessDialog.completeReportAvailable=Check the report
AnalysisReportAccessDialog.accessReport=here
AnalysisReportAccessDialog.accessBrowse=Browse...
AbstractPomTemplateProjectSettingPage.defaultTabLabel=Default
AbstractPomTemplateProjectSettingPage.customTabLabel=Custom
AbstractPomTemplateProjectSettingPage.previewButton=Preview

View File

@@ -19,6 +19,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.swt.widgets.Composite;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.metadata.IMetadataTable;
import org.talend.core.model.metadata.builder.connection.Connection;
@@ -68,4 +69,11 @@ public interface IGenericDBService extends IService{
public List<ERepositoryObjectType> getAllGenericMetadataDBRepositoryType();
public static IGenericDBService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericDBService.class);
}
return null;
}
}

View File

@@ -14,7 +14,9 @@ package org.talend.core.runtime.services;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.talend.components.api.component.ComponentDefinition;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.components.IComponent;
@@ -64,6 +66,10 @@ public interface IGenericService extends IService {
public void validateGenericConnection(Connection conn) throws Exception;
void mergeGenericNodes(RepositoryNode parent, String type);
Set<ComponentDefinition> getJDBCComponentDefinitions();
public static IGenericService getService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericService.class);

View File

@@ -15,10 +15,14 @@ package org.talend.core.runtime.services;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.talend.commons.ui.swt.actions.ITreeContextualAction;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.metadata.Dbms;
import org.talend.core.model.metadata.IMetadataTable;
@@ -31,6 +35,7 @@ import org.talend.core.model.process.IElement;
import org.talend.core.model.process.INode;
import org.talend.core.model.properties.Item;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.repository.model.RepositoryNode;
/**
@@ -152,4 +157,17 @@ public interface IGenericWizardService extends IService {
public String getDatabseNameByNode(IElement node);
public Dbms getDbms4AdditionalJDBC(String typeName);
public IWizard newSchemaWizard(IWorkbench workbench, boolean creation, IRepositoryViewObject object,
MetadataTable metadataTable, String[] existingNames, boolean forceReadOnly);
void openGenericWizard(String type, boolean creation, IPath path, String[] existingNames);
public static IGenericWizardService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericWizardService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericWizardService.class);
}
return null;
}
}

View File

@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.Set;
@@ -148,7 +149,7 @@ public class ModuleAccessHelper {
Set<JobInfo> allJobInfos = new HashSet<>();
allJobInfos.add(new JobInfo(mainJobItem, mainJobItem.getProcess().getDefaultContext()));
allJobInfos.addAll(processor.getBuildChildrenJobsAndJoblets());
return ModuleAccessHelper.getModuleAccessVMArgs(property, allJobInfos);
return getModuleAccessVMArgs(property, allJobInfos);
}
@SuppressWarnings("unchecked")
@@ -193,6 +194,9 @@ public class ModuleAccessHelper {
.anyMatch(p -> ((ElementParameterType) p).getField() != null
&& EParameterFieldType.TECHNICAL.getName().equals(((ElementParameterType) p).getField())
&& ((ElementParameterType) p).getName().equals("TACOKIT_COMPONENT_ID")));
if (!hasTck) {
hasTck = hasExtraSettings(parameters);
}
}
}
if (hasTck) {
@@ -206,6 +210,26 @@ public class ModuleAccessHelper {
return vmArgs;
}
private static boolean hasExtraSettings(EList<ElementParameterType> parameters) {
Map<String, String> paramMap = parameters.stream().filter(p -> p.getName() != null && p.getValue() != null)
.collect(Collectors.toMap(ElementParameterType::getName, ElementParameterType::getValue, (a1, a2) -> a1));
// Implicit context
if (Boolean.valueOf(paramMap.getOrDefault("IMPLICIT_TCONTEXTLOAD", "false"))
&& Boolean.valueOf(paramMap.getOrDefault("FROM_DATABASE_FLAG_IMPLICIT_CONTEXT", "false"))
&& "JDBCInput".equals(paramMap.get("DB_TYPE_IMPLICIT_CONTEXT"))) {
return true;
}
// Stats&Logs
if ((Boolean.valueOf(paramMap.getOrDefault("ON_STATCATCHER_FLAG", "false"))
|| Boolean.valueOf(paramMap.getOrDefault("ON_LOGCATCHER_FLAG", "false"))
|| Boolean.valueOf(paramMap.getOrDefault("ON_METERCATCHER_FLAG", "false")))
&& Boolean.valueOf(paramMap.getOrDefault("ON_DATABASE_FLAG", "false"))
&& "JDBCOutput".equals(paramMap.get("DB_TYPE"))) {
return true;
}
return false;
}
public static void reset() {
PROPS = null;
}

View File

@@ -24,7 +24,9 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.lang3.StringUtils;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.Item;
@@ -88,6 +90,13 @@ public interface IDetectCVEService extends IService {
*/
void clearCache();
public static IDetectCVEService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDetectCVEService.class)) {
return GlobalServiceRegister.getDefault().getService(IDetectCVEService.class);
}
return null;
}
public static String mavenUri2GAV(String uri) {
if (MavenUrlHelper.isMvnUrl(uri)) {
MavenArtifact art = MavenUrlHelper.parseMvnUrl(uri);
@@ -1009,7 +1018,7 @@ public interface IDetectCVEService extends IService {
this.version = ver;
}
private Date parseVersion() {
public Date parseVersion() {
String ver = version;
if (ver != null) {
if (ver.startsWith("R")) {
@@ -1019,7 +1028,10 @@ public interface IDetectCVEService extends IService {
try {
return df.parse(ver);
} catch (ParseException e) {
ExceptionHandler.process(e);
if (CommonsPlugin.isDebugMode()) {
// avoid too much log
ExceptionHandler.process(e);
}
}
}
return null;

View File

@@ -0,0 +1,56 @@
// ============================================================================
//
// 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.core.service;
import java.util.function.BiFunction;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.graphics.Image;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.repository.model.RepositoryNode;
public interface ITCKUIService extends IService {
RepositoryNode createTaCoKitRepositoryNode(RepositoryNode parent, ERepositoryObjectType repObjType,
IRepositoryViewObject repositoryObject, Connection connection) throws Exception;
Image getTCKImage(Object element, BiFunction<Image, IRepositoryViewObject, Image> decorator);
boolean isTCKRepoistoryNode(RepositoryNode node);
ERepositoryObjectType getTCKRepositoryType(String componentName);
ERepositoryObjectType getTCKJDBCType();
Wizard createTCKWizard(String type, IPath path);
Wizard createTCKWizard(String type, IPath path, boolean isNew);
Wizard editTCKWizard(RepositoryNode node);
String getComponentFamilyName(IComponent component);
public static ITCKUIService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITCKUIService.class)) {
return GlobalServiceRegister.getDefault().getService(ITCKUIService.class);
}
return null;
}
}

View File

@@ -174,6 +174,8 @@ public class ConnectionParameters {
private Map<String, String> parameters;
private String selectContext = null;
private boolean isTacokitJDBC = false;
/**
* Sets the connectionComment.
@@ -917,4 +919,16 @@ public class ConnectionParameters {
this.selectContext = selectContext;
}
public boolean isTacokitJDBC() {
return isTacokitJDBC;
}
public void setTacokitJDBC(boolean isTacokitJDBC) {
this.isTacokitJDBC = isTacokitJDBC;
}
}

View File

@@ -453,7 +453,6 @@ public final class TalendQuoteUtils {
return QUOTATION_MARK;
case PSQL:
case GREENPLUM:
case PLUSPSQL:
return QUOTATION_MARK;
case SYBASEASE:
return QUOTATION_MARK;

View File

@@ -21,13 +21,15 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.talend.analysistask.ItemAnalysisReportManager;
import org.talend.commons.exception.ExceptionHandler;
@@ -84,11 +86,23 @@ public class MigrationReportAccessDialog extends Dialog {
migrationInfoLayout.marginLeft = 10;
migrationInfoArea.setLayout(migrationInfoLayout);
createMessageLabel(migrationInfoArea, Messages.getString("MigrationReportAccessDialog.migrateSuccess"));
Link accessLink = new Link(migrationInfoArea, SWT.NONE);
accessLink.setText(Messages.getString("MigrationReportAccessDialog.completeReportAvailable") + " <a>"
+ Messages.getString("MigrationReportAccessDialog.accessReport") + "</a> .");
accessLink.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
accessLink.addSelectionListener(new SelectionAdapter() {
Composite noteComp = new Composite(migrationInfoArea, SWT.NONE);
noteComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
noteComp.setLayout(new FormLayout());
Label noteLabel = new Label(noteComp, SWT.NONE);
noteLabel.setText(Messages.getString("MigrationReportAccessDialog.completeReportAvailable"));
FormData noteLabelFormData = new FormData();
noteLabelFormData.bottom = new FormAttachment(100, -5);
noteLabelFormData.left = new FormAttachment(0, 0);
noteLabel.setLayoutData(noteLabelFormData);
Button browseBtn = new Button(noteComp, SWT.NONE);
browseBtn.setText(Messages.getString("MigrationReportAccessDialog.accessBrowse"));
FormData linkFormData = new FormData();
linkFormData.top = new FormAttachment(0, 0);
linkFormData.left = new FormAttachment(noteLabel, 5);
browseBtn.setLayoutData(linkFormData);
browseBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {

View File

@@ -262,6 +262,9 @@ public class RepositoryNodeUtilities {
}
RepositoryNode node = null;
IRepositoryNode nodeFromType = view.getRoot().getRootRepositoryNode(curNode.getRepositoryObjectType());
if (curNode.getRepositoryObjectType() == ERepositoryObjectType.METADATA_TACOKIT_JDBC) {
nodeFromType = view.getRoot().getRootRepositoryNode(ERepositoryObjectType.METADATA_CONNECTIONS);
}
if (nodeFromType != null) {
node = getRepositoryNode(nodeFromType, curNode, view, expanded);
}
@@ -715,7 +718,7 @@ public class RepositoryNodeUtilities {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericWizardService.class)) {
wizardService = GlobalServiceRegister.getDefault().getService(IGenericWizardService.class);
}
if (wizardService != null && wizardService.isGenericType(type)) {
if (wizardService != null && wizardService.isGenericType(type) || ERepositoryObjectType.METADATA_TACOKIT_JDBC == type) {
return getGenericSchemaNode(connection, tableName);
}
if (repType == ERepositoryObjectType.METADATA_CON_QUERY) {

View File

@@ -48,6 +48,9 @@ public class ContextValueLabelAccumulator extends ColumnOverrideLabelAccumulator
public void accumulateConfigLabels(LabelStack configLabels, int columnPosition, int rowPosition) {
super.accumulateConfigLabels(configLabels, columnPosition, rowPosition);
boolean isAddedValueNotMatchStyle = false;
if (modelManager.getProcess() == null) {
return;
}
String currentColumnName = ContextRowDataListFixture.getPropertyNamesAsList(modelManager).get(columnPosition);
ContextTreeNode rowNode = ((GlazedListsDataProvider<ContextTreeNode>) dataProvider).getList().get(rowPosition);
if (configLabels.contains(ContextTableConstants.COLUMN_CONTEXT_VALUE)) {
@@ -62,7 +65,7 @@ public class ContextValueLabelAccumulator extends ColumnOverrideLabelAccumulator
}
}
}
if (!isAddedValueNotMatchStyle) {
if (rowNode.getTreeData() instanceof ContextTableTabParentModel) {
ContextTableTabParentModel rowModel = (ContextTableTabParentModel) rowNode.getTreeData();

View File

@@ -271,6 +271,7 @@ public class ExternalNodeComponentHandler extends AbstractComponentHandler {
value = eleObj.toString();
}
String repositoryValue = null;
if (elemparameter.getName().equals(EParameterFieldType.PROPERTY_TYPE.getName())
&& value.equals(IHTMLDocConstants.REPOSITORY)) {
String repositoryValueForPropertyType = getRepositoryValueForPropertyType(copyElementParameterList,
@@ -298,8 +299,8 @@ public class ExternalNodeComponentHandler extends AbstractComponentHandler {
// value = checkString(type.getListItemsDisplayName()[index]);
// }
else if (elemparameter.getRepositoryValue() != null
&& elemparameter.getRepositoryValue().toUpperCase().contains("PASSWORD") //$NON-NLS-1$
else if ((repositoryValue = elemparameter.calcRepositoryValue()) != null
&& repositoryValue.toUpperCase().contains("PASSWORD") //$NON-NLS-1$
|| EParameterFieldType.isPassword(elemparameter.getFieldType())) {
value = ParameterValueUtil.getValue4Doc(elemparameter).toString();
}

View File

@@ -205,6 +205,7 @@ public class InternalNodeComponentHandler extends AbstractComponentHandler {
if (eleObj != null) {
value = eleObj.toString();
}
String repositoryValue = null;
if (elemparameter.getFieldType() == EParameterFieldType.PROPERTY_TYPE) {
param = getElementParameter(elemparameter, EParameterFieldType.PROPERTY_TYPE);
if (param != null) {
@@ -241,8 +242,8 @@ public class InternalNodeComponentHandler extends AbstractComponentHandler {
// int index = type.getIndexOfItemFromList(type.getDisplayName());
// value = checkString(type.getListItemsDisplayName()[index]);
// }
else if (elemparameter.getRepositoryValue() != null
&& elemparameter.getRepositoryValue().toUpperCase().contains("PASSWORD") //$NON-NLS-1$
else if ((repositoryValue = elemparameter.calcRepositoryValue()) != null
&& repositoryValue.toUpperCase().contains("PASSWORD") //$NON-NLS-1$
|| EParameterFieldType.isPassword(elemparameter.getFieldType())) {
name = elemparameter.getDisplayName();
value = ParameterValueUtil.getValue4Doc(elemparameter).toString();

View File

@@ -210,10 +210,12 @@ public class MetadataDialog extends Dialog {
if (component.isSupportDbType() || component.getOriginalFamilyName().startsWith(DATABASE_LABEL)
|| eltComponent || isEBCDIC) {
dbComponent = !isEBCDIC;
for (IElementParameter currentParam : node.getElementParameters()) {
if (currentParam.getFieldType().equals(EParameterFieldType.MAPPING_TYPE)) {
metaView.setCurrentDbms((String) currentParam.getValue());
hasMappingType = true;
if (!isNewFram) {
for (IElementParameter currentParam : node.getElementParameters()) {
if (currentParam.getFieldType().equals(EParameterFieldType.MAPPING_TYPE)) {
metaView.setCurrentDbms((String) currentParam.getValue());
hasMappingType = true;
}
}
}
@@ -241,8 +243,9 @@ public class MetadataDialog extends Dialog {
}
String componentDbType = ""; //$NON-NLS-1$
for (IElementParameter param : (List<IElementParameter>) node.getElementParameters()) {
if (param.getRepositoryValue() != null) {
if (param.getRepositoryValue().equals("TYPE")) { //$NON-NLS-1$
String repositoryValue = param.calcRepositoryValue();
if (repositoryValue != null) {
if (repositoryValue.equals("TYPE")) { //$NON-NLS-1$
componentDbType = (String) param.getValue();
}
}

View File

@@ -21,6 +21,7 @@ import javax.xml.parsers.ParserConfigurationException;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
import org.talend.core.model.metadata.MetadataColumnsAndDbmsId;
import org.talend.core.model.metadata.MetadataSchema;
@@ -81,7 +82,11 @@ public class MetadataEmfImportXmlCommand extends Command {
editor.getEditorView().setCurrentDbms(dbmsId);
}
}
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTableModel.getTableViewer().refresh();
}
} catch (ParserConfigurationException e) {
ExceptionHandler.process(e);
} catch (SAXException e) {

View File

@@ -21,6 +21,7 @@ import javax.xml.parsers.ParserConfigurationException;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
import org.talend.core.model.metadata.IMetadataColumn;
import org.talend.core.model.metadata.MetadataSchema;
@@ -68,7 +69,11 @@ public class MetadataImportXmlCommand extends Command {
extendedTableModel.removeAll(removed);
added = MetadataSchema.initializeColumns(file);
extendedTableModel.addAll(added);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTableModel.getTableViewer().refresh();
}
} catch (ParserConfigurationException e) {
ExceptionHandler.process(e);
} catch (SAXException e) {

View File

@@ -17,6 +17,7 @@ import java.util.List;
import org.talend.core.CorePlugin;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.query.GenerateQueryFactory;
import org.talend.core.model.metadata.query.IQueryGenerator;
import org.talend.core.model.process.EParameterFieldType;
@@ -58,7 +59,6 @@ public class QueryUtil {
case ORACLEFORSID:
case ORACLESN:
case PSQL:
case PLUSPSQL:
case AS400:
case ACCESS:
case MYSQL:
@@ -408,6 +408,9 @@ public class QueryUtil {
if(param == null){
param = node.getElementParameterFromField(EParameterFieldType.NAME_SELECTION_REFERENCE);
}
if(param == null){
param = node.getElementParameter(TacokitDatabaseConnection.KEY_DATASET_TABLE_NAME);
}
if (param != null && param.isShow(node.getElementParameters())) {
return (String) param.getValue();
}
@@ -415,17 +418,6 @@ public class QueryUtil {
return null;
}
private static String getDbName(Element node) {
String dbName = null;
if (node != null) { // for job settings extra.(feature 2710)
IElementParameter param = node.getElementParameter("DBNAME");
if (param != null && param.isShow(node.getElementParameters())) {
dbName = TalendTextUtils.removeQuotes((String) param.getValue());
}
}
return dbName;
}
private static String checkAndConcatString(String str1, String str2) {
if (str1 == null) {
str1 = ""; //$NON-NLS-1$

View File

@@ -21,6 +21,7 @@ import org.talend.core.language.LanguageManager;
import org.talend.core.model.metadata.IMetadataColumn;
import org.talend.core.model.metadata.IMetadataTable;
import org.talend.core.model.metadata.QueryUtil;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.process.EParameterFieldType;
import org.talend.core.model.process.IElement;
import org.talend.core.model.process.IElementParameter;
@@ -143,6 +144,9 @@ public abstract class AbstractQueryGenerator implements IQueryGenerator {
IElementParameter param = elem.getElementParameterFromField(EParameterFieldType.DBTABLE);
if(param == null){
param = elem.getElementParameterFromField(EParameterFieldType.NAME_SELECTION_REFERENCE);
}
if(param == null){
param = elem.getElementParameter(TacokitDatabaseConnection.KEY_DATASET_TABLE_NAME);
}
if (param != null) {
if (param.isShow(elem.getElementParameters())) {
@@ -219,7 +223,7 @@ public abstract class AbstractQueryGenerator implements IQueryGenerator {
protected String getSchema(IElement elem) {
if (elem != null) {
for (IElementParameter param : elem.getElementParameters()) {
if ("SCHEMA".equals(param.getRepositoryValue())) { //$NON-NLS-1$
if ("SCHEMA".equals(param.calcRepositoryValue())) { //$NON-NLS-1$
if (param.isShow(elem.getElementParameters())) {
String value = (String) param.getValue();
if (value != null) {

View File

@@ -53,7 +53,6 @@ public final class GenerateQueryFactory {
return new ImpalaQueryGenerator(dbType);
case NETEZZA:
return new NetezzaQueryGenerator();
case PLUSPSQL:
case PSQL:
return new PostgreQueryGenerator(dbType);
case AS400:

View File

@@ -49,12 +49,12 @@ public enum EConnectionParameterName {
// TDQ-17294~
GENERIC_TABLENAME("tableSelection.tablename"),//$NON-NLS-1$
GENERIC_USERNAME("connection.userPassword.userId"),//$NON-NLS-1$
GENERIC_PASSWORD("connection.userPassword.password"),//$NON-NLS-1$
GENERIC_URL("connection.jdbcUrl"),//$NON-NLS-1$
GENERIC_DRIVER_JAR("connection.driverTable"),//$NON-NLS-1$
GENERIC_DRIVER_CLASS("connection.driverClass"), //$NON-NLS-1$
GENERIC_MAPPING_FILE("mappingFile"); //$NON-NLS-1$
GENERIC_USERNAME("configuration.userId"), //$NON-NLS-1$
GENERIC_PASSWORD("configuration.password"), //$NON-NLS-1$
GENERIC_URL("configuration.jdbcUrl"), //$NON-NLS-1$
GENERIC_DRIVER_JAR("configuration.jdbcDriver"), //$NON-NLS-1$
GENERIC_DRIVER_CLASS("configuration.jdbcClass"), //$NON-NLS-1$
GENERIC_MAPPING_FILE("configuration.dbMapping"); //$NON-NLS-1$
private String displayName;

View File

@@ -361,7 +361,7 @@ public class ObjectElementParameter implements IElementParameter {
* @see org.talend.core.model.process.IElementParameter#getRepositoryValue()
*/
@Override
public String getRepositoryValue() {
public String calcRepositoryValue() {
return null;
}

View File

@@ -613,7 +613,7 @@ public class TalendTextUtils {
* @return
*/
private static boolean isPSQLSimilar(EDatabaseTypeName name) {
return !name.equals(EDatabaseTypeName.PSQL) && !name.equals(EDatabaseTypeName.PLUSPSQL)
return !name.equals(EDatabaseTypeName.PSQL)
&& !name.equals(EDatabaseTypeName.GREENPLUM);
}

View File

@@ -67,6 +67,8 @@ public class CorePreferenceInitializer extends AbstractPreferenceInitializer {
node.put(ITalendCorePrefConstants.JAVA_INTERPRETER, javaPath + JAVA_WIN32_INTERPRETER);
} else if (os.equals(Platform.OS_LINUX)) {
node.put(ITalendCorePrefConstants.JAVA_INTERPRETER, javaPath + JAVA_LINUX_INTERPRETER_PATH);
} else if (os.toLowerCase().contains("mac")) {
node.put(ITalendCorePrefConstants.JAVA_INTERPRETER, javaPath + JAVA_LINUX_INTERPRETER_PATH);
}
// Sets default language

View File

@@ -20,7 +20,7 @@
<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.80</tomcat.version>
<tomcat.version>9.0.82</tomcat.version>
<xbean.version>4.20</xbean.version>
<reload4j.version>1.2.22</reload4j.version>
<log4j2.version>2.20.0</log4j2.version>

View File

@@ -84,6 +84,21 @@
<artifactId>plexus-archiver</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.2.0</version>
<exclusions><!-- fix CVE to plexus-io:3.2.0-->
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>

View File

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

View File

@@ -809,10 +809,9 @@ public class AggregatorPomsHelper {
childJobProperty.getAdditionalProperties().remove(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT);
}
if ("ROUTE".equalsIgnoreCase(routeBuildType) || null == routeBuildType) {
if (!ProcessUtils.isRoutelet(item.getProperty())) {
childJobProperty.getAdditionalProperties().put(TalendProcessArgumentConstant.ARG_BUILD_TYPE, "OSGI");
} else {
childJobProperty.getAdditionalProperties().put(TalendProcessArgumentConstant.ARG_BUILD_TYPE, "Standalone");
}
runProcessService.generatePom(childJob.getProcessItem(), TalendProcessOptionConstants.GENERATE_POM_NO_FILTER);

View File

@@ -297,7 +297,7 @@ public class PomUtil {
}
String path = "../"; //$NON-NLS-1$
// TODO should not allow user-defined folder named poms.
if (file != null && !file.getParentFile().getName().equals(baseFolder)) {
if (file != null && file.getParentFile() != null && !file.getParentFile().getName().equals(baseFolder)) {
path += getPomRelativePath(file.getParentFile(), baseFolder);
} else {
path = ""; //$NON-NLS-1$

View File

@@ -5,6 +5,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PushbackInputStream;
import java.io.Reader;
import java.nio.CharBuffer;
public class UnicodeReader extends Reader {
private static final int BOM_SIZE = 4;
@@ -71,4 +72,16 @@ public class UnicodeReader extends Reader {
public void close() throws IOException {
reader.close();
}
public boolean ready() throws IOException {
return reader.ready();
}
public int read() throws IOException {
return reader.read();
}
public int read(CharBuffer target) throws IOException {
return reader.read(target);
}
}

View File

@@ -0,0 +1,27 @@
package org.talend.metadata.managment.ui.model;
// ============================================================================
//
// Copyright (C) 2006-2021 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
//
// ============================================================================
public class AbsConnParamName implements IConnParamName {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@@ -59,6 +59,7 @@ import org.talend.core.model.metadata.builder.connection.LdifFileConnection;
import org.talend.core.model.metadata.builder.connection.MDMConnection;
import org.talend.core.model.metadata.builder.connection.SAPConnection;
import org.talend.core.model.metadata.builder.connection.SalesforceSchemaConnection;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.builder.connection.WSDLSchemaConnection;
import org.talend.core.model.metadata.builder.connection.XmlFileConnection;
import org.talend.core.model.metadata.builder.database.JavaSqlFactory;
@@ -102,6 +103,7 @@ import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.designer.core.model.utils.emf.talendfile.impl.ContextTypeImpl;
import org.talend.metadata.managment.ui.dialog.PromptDialog;
import org.talend.metadata.managment.ui.i18n.Messages;
import org.talend.metadata.managment.ui.model.AbsConnParamName;
import org.talend.metadata.managment.ui.model.IConnParamName;
import org.talend.metadata.managment.ui.utils.DBConnectionContextUtils.EDBParamName;
import org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName;
@@ -289,7 +291,7 @@ public final class ConnectionContextHelper {
List<IContextParameter> varList = null;
if(conn.getCompProperties() != null){
varList = ExtendedNodeConnectionContextUtils.getContextVariables(label, conn, paramSet);
}else if (conn instanceof DatabaseConnection) {
}else if (conn instanceof DatabaseConnection && !(conn instanceof TacokitDatabaseConnection)) {
varList = DBConnectionContextUtils.getDBVariables(label, (DatabaseConnection) conn, paramSet);
} else if (conn instanceof FileConnection) {
varList = FileConnectionContextUtils.getFileVariables(label, (FileConnection) conn, paramSet);
@@ -348,8 +350,8 @@ public final class ConnectionContextHelper {
if (param instanceof EHadoopParamName) {
varList.add(((EHadoopParamName) param).name());
}
if (param instanceof GenericConnParamName) {
varList.add(((GenericConnParamName) param).getName());
if (param instanceof AbsConnParamName) {
varList.add(((AbsConnParamName) param).getName());
}
}
}
@@ -385,7 +387,7 @@ public final class ConnectionContextHelper {
for (AdditionalConnectionProperty sapProperty : sapConn.getAdditionalProperties()) {
varList.add(sapProperty.getPropertyName());
}
} else if (currentConnection instanceof DatabaseConnection) {
} else if (currentConnection instanceof DatabaseConnection && !(currentConnection instanceof TacokitDatabaseConnection)) {
DatabaseConnection dbConn = (DatabaseConnection) currentConnection;
List<Map<String, Object>> hadoopPropertiesList = DBConnectionContextUtils.getHiveOrHbaseHadoopProperties(dbConn);
if (!hadoopPropertiesList.isEmpty()) {
@@ -415,11 +417,10 @@ public final class ConnectionContextHelper {
if (connectionItem == null || contextItem == null) {
return;
}
Connection conn = connectionItem.getConnection();
if(conn.getCompProperties() != null){
ExtendedNodeConnectionContextUtils.setConnectionPropertiesForContextMode(defaultContextName, conn, paramSet);
}else if (conn instanceof DatabaseConnection) {
}else if (conn instanceof DatabaseConnection && !(conn instanceof TacokitDatabaseConnection)) {
DBConnectionContextUtils.setPropertiesForContextMode(defaultContextName, (DatabaseConnection) conn, contextItem,
paramSet, map);
// DBConnectionContextUtils.updateConnectionParam((DatabaseConnection) conn, map);
@@ -466,7 +467,7 @@ public final class ConnectionContextHelper {
Connection conn = connectionItem.getConnection();
if(conn.getCompProperties() != null){
ExtendedNodeConnectionContextUtils.setConnectionPropertiesForExistContextMode(conn, paramSet, modelMap);
}else if (conn instanceof DatabaseConnection) {
}else if (conn instanceof DatabaseConnection && !(conn instanceof TacokitDatabaseConnection)) {
DBConnectionContextUtils.setPropertiesForExistContextMode((DatabaseConnection) conn, paramSet, modelMap);
} else if (conn instanceof FileConnection) {
FileConnectionContextUtils.setPropertiesForExistContextMode((FileConnection) conn, paramSet, modelMap);
@@ -640,7 +641,10 @@ public final class ConnectionContextHelper {
}
IProcess process = node.getProcess();
if (process instanceof IProcess2) {
addContextForElementParameters((IProcess2) process, connItem, node.getElementParameters(), null, ignoreContextMode);
Map<Object, Object> contextMap = new HashMap<Object, Object>();
contextMap.put("NODE", (INode) node);
addContextForElementParameters((IProcess2) process, connItem, node.getElementParameters(), null,
ignoreContextMode, contextMap);
}
}
@@ -658,7 +662,8 @@ public final class ConnectionContextHelper {
if (process == null || connItem == null) {
return;
}
addContextForElementParameters(process, connItem, process.getElementParameters(), category, ignoreContextMode);
addContextForElementParameters(process, connItem, process.getElementParameters(), category, ignoreContextMode,
new HashMap<Object, Object>());
}
/**
@@ -673,7 +678,7 @@ public final class ConnectionContextHelper {
*/
private static void addContextForElementParameters(final IProcess2 process, final ConnectionItem connItem,
List<? extends IElementParameter> elementParameters, final EComponentCategory category,
final boolean ignoreContextMode) {
final boolean ignoreContextMode, Map<Object, Object> contextData) {
if (connItem == null || elementParameters == null || process == null) {
return;
}
@@ -686,7 +691,7 @@ public final class ConnectionContextHelper {
Connection connection = connItem.getConnection();
if (connection != null && connection.isContextMode()) {
// get the context variables from the node parameters.
Set<String> neededVars = retrieveContextVar(elementParameters, connection, category);
Set<String> neededVars = retrieveContextVar(elementParameters, connection, category, contextData);
boolean isGeneric = isGenericConnection(connection);
Map<String, String> renamedMap = ContextUtils.getContextParamterRenamedMap(process.getProperty().getItem());
if (neededVars != null && !neededVars.isEmpty() || isGeneric) {
@@ -1116,9 +1121,17 @@ public final class ConnectionContextHelper {
continue;
}
if (category == null || category == param.getCategory()) {
String repositoryValue = param.getRepositoryValue();
String repositoryValue = param.calcRepositoryValue();
if (repositoryValue != null) {
Object objectValue = RepositoryToComponentProperty.getValue(connection, repositoryValue, null, null, contextData);
String componentName = null;
if (contextData != null) {
Object node = contextData.get("NODE");
if (node instanceof INode) {
componentName = ((INode) node).getComponent().getName();
}
}
Object objectValue = RepositoryToComponentProperty.getValue(connection, repositoryValue, null,
componentName, contextData);
if (objectValue != null) {
if (objectValue instanceof List) {
@@ -2043,7 +2056,7 @@ public final class ConnectionContextHelper {
Connection conn = connItem.getConnection();
if(conn.getCompProperties() != null){
ExtendedNodeConnectionContextUtils.revertPropertiesForContextMode(conn, contextType);
}else if (conn instanceof DatabaseConnection) {
}else if (conn instanceof DatabaseConnection && !(conn instanceof TacokitDatabaseConnection)) {
DBConnectionContextUtils.revertPropertiesForContextMode((DatabaseConnection) conn, contextType);
} else if (conn instanceof FileConnection) {
FileConnectionContextUtils.revertPropertiesForContextMode((FileConnection) conn, contextType);

View File

@@ -23,6 +23,7 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.Path;
import org.eclipse.emf.common.util.EMap;
import org.talend.commons.runtime.service.ITaCoKitService;
import org.talend.commons.ui.utils.PathUtils;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.EImpalaDriver;
@@ -43,6 +44,7 @@ import org.talend.core.model.metadata.builder.ConvertionHelper;
import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.metadata.builder.connection.ConnectionFactory;
import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.connection.hive.HiveServerVersionInfo;
import org.talend.core.model.metadata.types.JavaTypesManager;
import org.talend.core.model.process.IContextParameter;
@@ -1040,7 +1042,6 @@ public final class DBConnectionContextUtils {
cloneConn.setSID(sidOrDatabase);
cloneConn.setUsername(username);
cloneConn.setDriverJarPath(jarPath);
cloneConn.setComment(dbConn.getComment());
cloneConn.setDatabaseType(dbConn.getDatabaseType());
cloneConn.setDbmsId(dbmsID);
@@ -1441,6 +1442,8 @@ public final class DBConnectionContextUtils {
}
newURL = DatabaseConnStrUtil.getImpalaString(cloneConn, cloneConn.getServerName(), cloneConn.getPort(),
cloneConn.getSID(), template);
} else if(dbConn instanceof TacokitDatabaseConnection) {
newURL = url;
} else {
newURL = DatabaseConnStrUtil.getURLString(cloneConn.getDatabaseType(), dbConn.getDbVersionString(), server, username,
password, port, sidOrDatabase, filePath.toLowerCase(), datasource, dbRootPath, additionParam);

View File

@@ -1,43 +1,33 @@
// ============================================================================
//
// Copyright (C) 2006-2021 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.metadata.managment.ui.utils;
import org.talend.metadata.managment.ui.model.IConnParamName;
/**
* created by ycbai on 2015年11月20日 Detailled comment
*
*/
public class GenericConnParamName implements IConnParamName {
private String name;
private String contextVar;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getContextVar() {
return this.contextVar;
}
public void setContextVar(String contextVar) {
this.contextVar = contextVar;
}
}
// ============================================================================
//
// Copyright (C) 2006-2021 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.metadata.managment.ui.utils;
import org.talend.metadata.managment.ui.model.AbsConnParamName;
/**
* created by ycbai on 2015<EFBFBD>11鏈<EFBFBD>20鏃<EFBFBD> Detailled comment
*
*/
public class GenericConnParamName extends AbsConnParamName {
private String contextVar;
public String getContextVar() {
return this.contextVar;
}
public void setContextVar(String contextVar) {
this.contextVar = contextVar;
}
}

View File

@@ -41,4 +41,5 @@ public interface IRepositoryContextHandler {
public void revertPropertiesForContextMode(Connection connection, ContextType contextType);
public Set<String> getConAdditionPropertiesForContextMode(Connection conn);
}

View File

@@ -560,7 +560,7 @@ public abstract class AbstractForm extends Composite {
return contextParamSet; // for db and file connection
}
protected void addContextParams(IConnParamName param, boolean added) {
public void addContextParams(IConnParamName param, boolean added) {
if (added) {
contextParamSet.add(param);
} else {

View File

@@ -33,6 +33,7 @@ import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
import org.talend.core.model.metadata.builder.connection.DelimitedFileConnection;
import org.talend.core.model.metadata.builder.connection.MDMConnection;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.builder.database.dburl.SupportDBUrlStore;
import org.talend.core.model.metadata.builder.database.dburl.SupportDBUrlType;
import org.talend.core.model.process.IContext;
@@ -336,6 +337,13 @@ public final class JavaSqlFactory {
if (Platform.isRunning()) {
DatabaseConnection dbConn = SwitchHelpers.DATABASECONNECTION_SWITCH.doSwitch(conn);
if (dbConn != null) {
// for TCK JDBC
// username,password, jdbcUrl,jdbcDriver,jdbcClass
if (dbConn instanceof TacokitDatabaseConnection) {
setPromptContextUrl(dbConn);
setPromptContextDriverClass(dbConn);
setPromptContextDriverJarPath(dbConn);
}
setPromptContextPassword(dbConn);
setPromptContextUsername(dbConn);
setPromptContextServerName(dbConn);
@@ -443,7 +451,10 @@ public final class JavaSqlFactory {
}
private static void setPromptContextPassword(DatabaseConnection dbConn) {
String promptConVarsMapKey = getPromptConVarsMapKey(dbConn, dbConn.getPassword());
// format like: Default-_NtX8IG5LEe6Fac08UAbwqg-context.context_jdbcmysql21_password
String variableName =
dbConn instanceof TacokitDatabaseConnection ? dbConn.getRawPassword() : dbConn.getPassword();
String promptConVarsMapKey = getPromptConVarsMapKey(dbConn, variableName);
if (promptContextVars.containsKey(promptConVarsMapKey)) {
dbConn.setRawPassword(promptContextVars.get(promptConVarsMapKey));
}
@@ -456,6 +467,27 @@ public final class JavaSqlFactory {
}
}
private static void setPromptContextUrl(DatabaseConnection dbConn) {
String promptConVarsMapKey = getPromptConVarsMapKey(dbConn, dbConn.getURL());
if (promptContextVars.containsKey(promptConVarsMapKey)) {
dbConn.setURL(promptContextVars.get(promptConVarsMapKey));
}
}
private static void setPromptContextDriverClass(DatabaseConnection dbConn) {
String promptConVarsMapKey = getPromptConVarsMapKey(dbConn, dbConn.getDriverClass());
if (promptContextVars.containsKey(promptConVarsMapKey)) {
dbConn.setDriverClass(promptContextVars.get(promptConVarsMapKey));
}
}
private static void setPromptContextDriverJarPath(DatabaseConnection dbConn) {
String promptConVarsMapKey = getPromptConVarsMapKey(dbConn, dbConn.getDriverJarPath());
if (promptContextVars.containsKey(promptConVarsMapKey)) {
dbConn.setDriverJarPath(promptContextVars.get(promptConVarsMapKey));
}
}
/**
* // host
*

View File

@@ -58,6 +58,7 @@ import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
import org.talend.core.model.metadata.builder.connection.MDMConnection;
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.builder.database.DriverShim;
import org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils;
import org.talend.core.model.metadata.builder.database.IDriverService;
@@ -1480,7 +1481,8 @@ public class MetadataConnectionUtils {
if (!Platform.isRunning() || !connection.isContextMode()) {
return connection;
}
Connection copyConnection = deepCopy(connection);
Connection copyConnection = deepCopyAll(connection);
JavaSqlFactory.haveSetPromptContextVars = false;
ContextItem contextItem = ContextUtils.getContextItemById2(connection.getContextId());
// only consider the connection currently used context
@@ -1523,6 +1525,18 @@ public class MetadataConnectionUtils {
return copyConnection;
}
/**
* DOC msjian Comment method "deepCopyAll".
* @param connection
* @return
*/
public static Connection deepCopyAll(Connection connection) {
Connection copyConnection = deepCopy(connection);
HashMap cloneProperties = (HashMap) connection.getProperties().clone();
copyConnection.setProperties(cloneProperties);
return copyConnection;
}
public static <T extends EObject> T deepCopy(T emfObject) {
EcoreUtil.Copier copier = new EcoreUtil.Copier(Boolean.TRUE, Boolean.FALSE);
preDeepCopy(emfObject, copier);

View File

@@ -161,7 +161,7 @@ public class MigrationToolService implements IMigrationToolService {
try {
// in case the resource has been modified (see MergeTosMetadataMigrationTask for example)
if ((item.getProperty().eResource() == null || item.eResource() == null)) {
Property updatedProperty = factory.reload(item.getProperty());
Property updatedProperty = factory.getSpecificVersion(project, item.getProperty().getId(), item.getProperty().getVersion(), true).getProperty();
item = updatedProperty.getItem();
}
if (item != null) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

View File

@@ -515,6 +515,28 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
return databaseConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.TacokitDatabaseConnectionItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TacokitDatabaseConnectionItemItemProvider tacokitDatabaseConnectionItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.TacokitDatabaseConnectionItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createTacokitDatabaseConnectionItemAdapter() {
if (tacokitDatabaseConnectionItemItemProvider == null) {
tacokitDatabaseConnectionItemItemProvider = new TacokitDatabaseConnectionItemItemProvider(this);
}
return tacokitDatabaseConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.SAPConnectionItem} instances.
* <!-- begin-user-doc -->
@@ -647,6 +669,28 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
return mdmConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ValidationRulesConnectionItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ValidationRulesConnectionItemItemProvider validationRulesConnectionItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ValidationRulesConnectionItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createValidationRulesConnectionItemAdapter() {
if (validationRulesConnectionItemItemProvider == null) {
validationRulesConnectionItemItemProvider = new ValidationRulesConnectionItemItemProvider(this);
}
return validationRulesConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ProcessItem} instances.
* <!-- begin-user-doc -->
@@ -1131,6 +1175,28 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
return executionTaskItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ExecutionTaskProperties} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ExecutionTaskPropertiesItemProvider executionTaskPropertiesItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ExecutionTaskProperties}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createExecutionTaskPropertiesAdapter() {
if (executionTaskPropertiesItemProvider == null) {
executionTaskPropertiesItemProvider = new ExecutionTaskPropertiesItemProvider(this);
}
return executionTaskPropertiesItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ExecutionTaskCmdPrm} instances.
* <!-- begin-user-doc -->
@@ -1967,6 +2033,292 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
return tdqItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.BRMSConnectionItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BRMSConnectionItemItemProvider brmsConnectionItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.BRMSConnectionItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createBRMSConnectionItemAdapter() {
if (brmsConnectionItemItemProvider == null) {
brmsConnectionItemItemProvider = new BRMSConnectionItemItemProvider(this);
}
return brmsConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.JobScriptItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected JobScriptItemItemProvider jobScriptItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.JobScriptItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createJobScriptItemAdapter() {
if (jobScriptItemItemProvider == null) {
jobScriptItemItemProvider = new JobScriptItemItemProvider(this);
}
return jobScriptItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.EDIFACTConnectionItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EDIFACTConnectionItemItemProvider edifactConnectionItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.EDIFACTConnectionItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createEDIFACTConnectionItemAdapter() {
if (edifactConnectionItemItemProvider == null) {
edifactConnectionItemItemProvider = new EDIFACTConnectionItemItemProvider(this);
}
return edifactConnectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.TechnicalVariable} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TechnicalVariableItemProvider technicalVariableItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.TechnicalVariable}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createTechnicalVariableAdapter() {
if (technicalVariableItemProvider == null) {
technicalVariableItemProvider = new TechnicalVariableItemProvider(this);
}
return technicalVariableItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ReferenceFileItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ReferenceFileItemItemProvider referenceFileItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ReferenceFileItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createReferenceFileItemAdapter() {
if (referenceFileItemItemProvider == null) {
referenceFileItemItemProvider = new ReferenceFileItemItemProvider(this);
}
return referenceFileItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ReferenceItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ReferenceItemItemProvider referenceItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ReferenceItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createReferenceItemAdapter() {
if (referenceItemItemProvider == null) {
referenceItemItemProvider = new ReferenceItemItemProvider(this);
}
return referenceItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ExchangeUser} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ExchangeUserItemProvider exchangeUserItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ExchangeUser}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createExchangeUserAdapter() {
if (exchangeUserItemProvider == null) {
exchangeUserItemProvider = new ExchangeUserItemProvider(this);
}
return exchangeUserItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.ArtifactNotification} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ArtifactNotificationItemProvider artifactNotificationItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.ArtifactNotification}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createArtifactNotificationAdapter() {
if (artifactNotificationItemProvider == null) {
artifactNotificationItemProvider = new ArtifactNotificationItemProvider(this);
}
return artifactNotificationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link java.util.Map.Entry} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected AdditionalInfoMapItemProvider additionalInfoMapItemProvider;
/**
* This creates an adapter for a {@link java.util.Map.Entry}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createAdditionalInfoMapAdapter() {
if (additionalInfoMapItemProvider == null) {
additionalInfoMapItemProvider = new AdditionalInfoMapItemProvider(this);
}
return additionalInfoMapItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.MigrationTask} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MigrationTaskItemProvider migrationTaskItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.MigrationTask}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createMigrationTaskAdapter() {
if (migrationTaskItemProvider == null) {
migrationTaskItemProvider = new MigrationTaskItemProvider(this);
}
return migrationTaskItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.PigudfItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PigudfItemItemProvider pigudfItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.PigudfItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createPigudfItemAdapter() {
if (pigudfItemItemProvider == null) {
pigudfItemItemProvider = new PigudfItemItemProvider(this);
}
return pigudfItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.RoutinesJarType} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RoutinesJarTypeItemProvider routinesJarTypeItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.RoutinesJarType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createRoutinesJarTypeAdapter() {
if (routinesJarTypeItemProvider == null) {
routinesJarTypeItemProvider = new RoutinesJarTypeItemProvider(this);
}
return routinesJarTypeItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.talend.core.model.properties.RoutinesJarItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RoutinesJarItemItemProvider routinesJarItemItemProvider;
/**
* This creates an adapter for a {@link org.talend.core.model.properties.RoutinesJarItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Adapter createRoutinesJarItemAdapter() {
if (routinesJarItemItemProvider == null) {
routinesJarItemItemProvider = new RoutinesJarItemItemProvider(this);
}
return routinesJarItemItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
@@ -2083,12 +2435,14 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
if (regExFileConnectionItemItemProvider != null) regExFileConnectionItemItemProvider.dispose();
if (csvFileConnectionItemItemProvider != null) csvFileConnectionItemItemProvider.dispose();
if (databaseConnectionItemItemProvider != null) databaseConnectionItemItemProvider.dispose();
if (tacokitDatabaseConnectionItemItemProvider != null) tacokitDatabaseConnectionItemItemProvider.dispose();
if (sapConnectionItemItemProvider != null) sapConnectionItemItemProvider.dispose();
if (xmlFileConnectionItemItemProvider != null) xmlFileConnectionItemItemProvider.dispose();
if (ldifFileConnectionItemItemProvider != null) ldifFileConnectionItemItemProvider.dispose();
if (excelFileConnectionItemItemProvider != null) excelFileConnectionItemItemProvider.dispose();
if (ebcdicConnectionItemItemProvider != null) ebcdicConnectionItemItemProvider.dispose();
if (mdmConnectionItemItemProvider != null) mdmConnectionItemItemProvider.dispose();
if (validationRulesConnectionItemItemProvider != null) validationRulesConnectionItemItemProvider.dispose();
if (processItemItemProvider != null) processItemItemProvider.dispose();
if (userRoleItemProvider != null) userRoleItemProvider.dispose();
if (userItemProvider != null) userItemProvider.dispose();
@@ -2110,6 +2464,7 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
if (executionPlanPartCmdPrmItemProvider != null) executionPlanPartCmdPrmItemProvider.dispose();
if (executionPlanPartJobPrmItemProvider != null) executionPlanPartJobPrmItemProvider.dispose();
if (executionTaskItemProvider != null) executionTaskItemProvider.dispose();
if (executionTaskPropertiesItemProvider != null) executionTaskPropertiesItemProvider.dispose();
if (executionTaskCmdPrmItemProvider != null) executionTaskCmdPrmItemProvider.dispose();
if (executionTaskJobPrmItemProvider != null) executionTaskJobPrmItemProvider.dispose();
if (taskExecutionHistoryItemProvider != null) taskExecutionHistoryItemProvider.dispose();
@@ -2149,6 +2504,19 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
if (ftpConnectionItemItemProvider != null) ftpConnectionItemItemProvider.dispose();
if (customComponentSettingItemProvider != null) customComponentSettingItemProvider.dispose();
if (tdqItemItemProvider != null) tdqItemItemProvider.dispose();
if (brmsConnectionItemItemProvider != null) brmsConnectionItemItemProvider.dispose();
if (jobScriptItemItemProvider != null) jobScriptItemItemProvider.dispose();
if (edifactConnectionItemItemProvider != null) edifactConnectionItemItemProvider.dispose();
if (technicalVariableItemProvider != null) technicalVariableItemProvider.dispose();
if (referenceFileItemItemProvider != null) referenceFileItemItemProvider.dispose();
if (referenceItemItemProvider != null) referenceItemItemProvider.dispose();
if (exchangeUserItemProvider != null) exchangeUserItemProvider.dispose();
if (artifactNotificationItemProvider != null) artifactNotificationItemProvider.dispose();
if (additionalInfoMapItemProvider != null) additionalInfoMapItemProvider.dispose();
if (migrationTaskItemProvider != null) migrationTaskItemProvider.dispose();
if (pigudfItemItemProvider != null) pigudfItemItemProvider.dispose();
if (routinesJarTypeItemProvider != null) routinesJarTypeItemProvider.dispose();
if (routinesJarItemItemProvider != null) routinesJarItemItemProvider.dispose();
}
}

View File

@@ -0,0 +1,92 @@
/**
*/
package org.talend.core.model.properties.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.talend.core.model.properties.TacokitDatabaseConnectionItem;
/**
* This is the item provider adapter for a {@link org.talend.core.model.properties.TacokitDatabaseConnectionItem} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class TacokitDatabaseConnectionItemItemProvider extends DatabaseConnectionItemItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TacokitDatabaseConnectionItemItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public List getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
}
return itemPropertyDescriptors;
}
/**
* This returns TacokitDatabaseConnectionItem.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/TacokitDatabaseConnectionItem"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getText(Object object) {
String label = ((TacokitDatabaseConnectionItem)object).getTypeName();
return label == null || label.length() == 0 ?
getString("_UI_TacokitDatabaseConnectionItem_type") :
getString("_UI_TacokitDatabaseConnectionItem_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void notifyChanged(Notification notification) {
updateChildren(notification);
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -351,6 +351,7 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="supportNLS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false" unsettable="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TacokitDatabaseConnection" eSuperTypes="#//DatabaseConnection"/>
<eClassifiers xsi:type="ecore:EClass" name="SAPConnection" eSuperTypes="#//Connection">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Host" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Username" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

View File

@@ -189,6 +189,7 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference metadata.ecore#//DatabaseConnection/parameters"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute metadata.ecore#//DatabaseConnection/supportNLS"/>
</genClasses>
<genClasses ecoreClass="metadata.ecore#//TacokitDatabaseConnection"/>
<genClasses ecoreClass="metadata.ecore#//SAPConnection">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute metadata.ecore#//SAPConnection/Host"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute metadata.ecore#//SAPConnection/Username"/>

View File

@@ -183,6 +183,7 @@
<eClassifiers xsi:type="ecore:EClass" name="RegExFileConnectionItem" eSuperTypes="#//ConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="CSVFileConnectionItem" eSuperTypes="#//DelimitedFileConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="DatabaseConnectionItem" eSuperTypes="#//ConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="TacokitDatabaseConnectionItem" eSuperTypes="#//DatabaseConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="SAPConnectionItem" eSuperTypes="#//ConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlFileConnectionItem" eSuperTypes="#//ConnectionItem"/>
<eClassifiers xsi:type="ecore:EClass" name="LdifFileConnectionItem" eSuperTypes="#//ConnectionItem"/>

View File

@@ -164,6 +164,7 @@
<genClasses ecoreClass="properties.ecore#//RegExFileConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//CSVFileConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//DatabaseConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//TacokitDatabaseConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//SAPConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//XmlFileConnectionItem"/>
<genClasses ecoreClass="properties.ecore#//LdifFileConnectionItem"/>

View File

@@ -22,92 +22,93 @@ package org.talend.core.model.metadata.builder.connection;
* @generated
*/
public interface BigQueryConnection extends Connection {
/**
* Returns the value of the '<em><b>Service Account Credentials File</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Service Account Credentials File</em>' attribute.
* @see #setServiceAccountCredentialsFile(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_ServiceAccountCredentialsFile()
* @model
* @generated
*/
String getServiceAccountCredentialsFile();
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getServiceAccountCredentialsFile <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Service Account Credentials File</em>' attribute.
* @see #getServiceAccountCredentialsFile()
* @generated
*/
void setServiceAccountCredentialsFile(String value);
/**
* Returns the value of the '<em><b>Service Account Credentials File</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Service Account Credentials File</em>' attribute.
* @see #setServiceAccountCredentialsFile(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_ServiceAccountCredentialsFile()
* @model
* @generated
*/
String getServiceAccountCredentialsFile();
/**
* Returns the value of the '<em><b>Project Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Project Id</em>' attribute.
* @see #setProjectId(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_ProjectId()
* @model
* @generated
*/
String getProjectId();
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getServiceAccountCredentialsFile <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Service Account Credentials File</em>' attribute.
* @see #getServiceAccountCredentialsFile()
* @generated
*/
void setServiceAccountCredentialsFile(String value);
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getProjectId <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Project Id</em>' attribute.
* @see #getProjectId()
* @generated
*/
void setProjectId(String value);
/**
* Returns the value of the '<em><b>Project Id</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Project Id</em>' attribute.
* @see #setProjectId(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_ProjectId()
* @model
* @generated
*/
String getProjectId();
/**
* Returns the value of the '<em><b>Use Region Endpoint</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Use Region Endpoint</em>' attribute.
* @see #setUseRegionEndpoint(boolean)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_UseRegionEndpoint()
* @model
* @generated
*/
boolean isUseRegionEndpoint();
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getProjectId <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Project Id</em>' attribute.
* @see #getProjectId()
* @generated
*/
void setProjectId(String value);
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#isUseRegionEndpoint <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Use Region Endpoint</em>' attribute.
* @see #isUseRegionEndpoint()
* @generated
*/
void setUseRegionEndpoint(boolean value);
/**
* Returns the value of the '<em><b>Use Region Endpoint</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Use Region Endpoint</em>' attribute.
* @see #setUseRegionEndpoint(boolean)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_UseRegionEndpoint()
* @model
* @generated
*/
boolean isUseRegionEndpoint();
/**
* Returns the value of the '<em><b>Region Endpoint</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Region Endpoint</em>' attribute.
* @see #setRegionEndpoint(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_RegionEndpoint()
* @model
* @generated
*/
String getRegionEndpoint();
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#isUseRegionEndpoint <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Use Region Endpoint</em>' attribute.
* @see #isUseRegionEndpoint()
* @generated
*/
void setUseRegionEndpoint(boolean value);
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getRegionEndpoint <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Region Endpoint</em>' attribute.
* @see #getRegionEndpoint()
* @generated
*/
void setRegionEndpoint(String value);
/**
* Returns the value of the '<em><b>Region Endpoint</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Region Endpoint</em>' attribute.
* @see #setRegionEndpoint(String)
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getBigQueryConnection_RegionEndpoint()
* @model
* @generated
*/
String getRegionEndpoint();
/**
* Sets the value of the '{@link org.talend.core.model.metadata.builder.connection.BigQueryConnection#getRegionEndpoint <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Region Endpoint</em>' attribute.
* @see #getRegionEndpoint()
* @generated
*/
void setRegionEndpoint(String value);
} // BigQueryConnection

View File

@@ -15,481 +15,490 @@ import org.eclipse.emf.ecore.EFactory;
*/
public interface ConnectionFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
ConnectionFactory eINSTANCE = org.talend.core.model.metadata.builder.connection.impl.ConnectionFactoryImpl.init();
/**
* The singleton instance of the factory.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
ConnectionFactory eINSTANCE = org.talend.core.model.metadata.builder.connection.impl.ConnectionFactoryImpl.init();
/**
* Returns a new object of class '<em>Metadata</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata</em>'.
* @generated
*/
Metadata createMetadata();
/**
* Returns a new object of class '<em>Metadata</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata</em>'.
* @generated
*/
Metadata createMetadata();
/**
* Returns a new object of class '<em>Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Connection</em>'.
* @generated
*/
Connection createConnection();
/**
* Returns a new object of class '<em>Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Connection</em>'.
* @generated
*/
Connection createConnection();
/**
* Returns a new object of class '<em>Metadata Column</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata Column</em>'.
* @generated
*/
MetadataColumn createMetadataColumn();
/**
* Returns a new object of class '<em>Metadata Column</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata Column</em>'.
* @generated
*/
MetadataColumn createMetadataColumn();
/**
* Returns a new object of class '<em>Metadata Table</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata Table</em>'.
* @generated
*/
MetadataTable createMetadataTable();
/**
* Returns a new object of class '<em>Metadata Table</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Metadata Table</em>'.
* @generated
*/
MetadataTable createMetadataTable();
/**
* Returns a new object of class '<em>Delimited File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Delimited File Connection</em>'.
* @generated
*/
DelimitedFileConnection createDelimitedFileConnection();
/**
* Returns a new object of class '<em>Delimited File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Delimited File Connection</em>'.
* @generated
*/
DelimitedFileConnection createDelimitedFileConnection();
/**
* Returns a new object of class '<em>Positional File Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Positional File Connection</em>'.
* @generated
*/
PositionalFileConnection createPositionalFileConnection();
/**
* Returns a new object of class '<em>Positional File Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Positional File Connection</em>'.
* @generated
*/
PositionalFileConnection createPositionalFileConnection();
/**
* Returns a new object of class '<em>Ebcdic Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Ebcdic Connection</em>'.
* @generated
*/
EbcdicConnection createEbcdicConnection();
/**
* Returns a new object of class '<em>Ebcdic Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Ebcdic Connection</em>'.
* @generated
*/
EbcdicConnection createEbcdicConnection();
/**
* Returns a new object of class '<em>MDM Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>MDM Connection</em>'.
* @generated
*/
MDMConnection createMDMConnection();
/**
* Returns a new object of class '<em>MDM Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>MDM Connection</em>'.
* @generated
*/
MDMConnection createMDMConnection();
/**
* Returns a new object of class '<em>Database Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Database Connection</em>'.
* @generated
*/
DatabaseConnection createDatabaseConnection();
/**
* Returns a new object of class '<em>Database Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Database Connection</em>'.
* @generated
*/
DatabaseConnection createDatabaseConnection();
/**
* Returns a new object of class '<em>SAP Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAP Connection</em>'.
* @generated
*/
SAPConnection createSAPConnection();
/**
* Returns a new object of class '<em>Tacokit Database Connection</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Tacokit Database Connection</em>'.
* @generated
*/
TacokitDatabaseConnection createTacokitDatabaseConnection();
/**
* Returns a new object of class '<em>SAP Function Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Unit</em>'.
* @generated
*/
SAPFunctionUnit createSAPFunctionUnit();
/**
* Returns a new object of class '<em>SAP Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAP Connection</em>'.
* @generated
*/
SAPConnection createSAPConnection();
/**
* Returns a new object of class '<em>SAPI Doc Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAPI Doc Unit</em>'.
* @generated
*/
SAPIDocUnit createSAPIDocUnit();
/**
* Returns a new object of class '<em>SAP Function Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Unit</em>'.
* @generated
*/
SAPFunctionUnit createSAPFunctionUnit();
/**
* Returns a new object of class '<em>SAP Function Parameter Column</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>SAP Function Parameter Column</em>'.
* @generated
*/
SAPFunctionParameterColumn createSAPFunctionParameterColumn();
/**
* Returns a new object of class '<em>SAPI Doc Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>SAPI Doc Unit</em>'.
* @generated
*/
SAPIDocUnit createSAPIDocUnit();
/**
* Returns a new object of class '<em>SAP Function Parameter Table</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>SAP Function Parameter Table</em>'.
* @generated
*/
SAPFunctionParameterTable createSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>SAP Function Parameter Column</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>SAP Function Parameter Column</em>'.
* @generated
*/
SAPFunctionParameterColumn createSAPFunctionParameterColumn();
/**
* Returns a new object of class '<em>Input SAP Function Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>Input SAP Function Parameter Table</em>'.
* @generated
*/
InputSAPFunctionParameterTable createInputSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>SAP Function Parameter Table</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>SAP Function Parameter Table</em>'.
* @generated
*/
SAPFunctionParameterTable createSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>Output SAP Function Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>Output SAP Function Parameter Table</em>'.
* @generated
*/
OutputSAPFunctionParameterTable createOutputSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>Input SAP Function Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>Input SAP Function Parameter Table</em>'.
* @generated
*/
InputSAPFunctionParameterTable createInputSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>Regexp File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Regexp File Connection</em>'.
* @generated
*/
RegexpFileConnection createRegexpFileConnection();
/**
* Returns a new object of class '<em>Output SAP Function Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>Output SAP Function Parameter Table</em>'.
* @generated
*/
OutputSAPFunctionParameterTable createOutputSAPFunctionParameterTable();
/**
* Returns a new object of class '<em>Xml File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Xml File Connection</em>'.
* @generated
*/
XmlFileConnection createXmlFileConnection();
/**
* Returns a new object of class '<em>Regexp File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Regexp File Connection</em>'.
* @generated
*/
RegexpFileConnection createRegexpFileConnection();
/**
* Returns a new object of class '<em>Schema Target</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Schema Target</em>'.
* @generated
*/
SchemaTarget createSchemaTarget();
/**
* Returns a new object of class '<em>Xml File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Xml File Connection</em>'.
* @generated
*/
XmlFileConnection createXmlFileConnection();
/**
* Returns a new object of class '<em>Queries Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Queries Connection</em>'.
* @generated
*/
QueriesConnection createQueriesConnection();
/**
* Returns a new object of class '<em>Schema Target</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Schema Target</em>'.
* @generated
*/
SchemaTarget createSchemaTarget();
/**
* Returns a new object of class '<em>Query</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Query</em>'.
* @generated
*/
Query createQuery();
/**
* Returns a new object of class '<em>Queries Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Queries Connection</em>'.
* @generated
*/
QueriesConnection createQueriesConnection();
/**
* Returns a new object of class '<em>Ldif File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Ldif File Connection</em>'.
* @generated
*/
LdifFileConnection createLdifFileConnection();
/**
* Returns a new object of class '<em>Query</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Query</em>'.
* @generated
*/
Query createQuery();
/**
* Returns a new object of class '<em>File Excel Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>File Excel Connection</em>'.
* @generated
*/
FileExcelConnection createFileExcelConnection();
/**
* Returns a new object of class '<em>Ldif File Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Ldif File Connection</em>'.
* @generated
*/
LdifFileConnection createLdifFileConnection();
/**
* Returns a new object of class '<em>Xml XPath Loop Descriptor</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Xml XPath Loop Descriptor</em>'.
* @generated
*/
XmlXPathLoopDescriptor createXmlXPathLoopDescriptor();
/**
* Returns a new object of class '<em>File Excel Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>File Excel Connection</em>'.
* @generated
*/
FileExcelConnection createFileExcelConnection();
/**
* Returns a new object of class '<em>Generic Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Generic Schema Connection</em>'.
* @generated
*/
GenericSchemaConnection createGenericSchemaConnection();
/**
* Returns a new object of class '<em>Xml XPath Loop Descriptor</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Xml XPath Loop Descriptor</em>'.
* @generated
*/
XmlXPathLoopDescriptor createXmlXPathLoopDescriptor();
/**
* Returns a new object of class '<em>LDAP Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>LDAP Schema Connection</em>'.
* @generated
*/
LDAPSchemaConnection createLDAPSchemaConnection();
/**
* Returns a new object of class '<em>Generic Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Generic Schema Connection</em>'.
* @generated
*/
GenericSchemaConnection createGenericSchemaConnection();
/**
* Returns a new object of class '<em>WSDL Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>WSDL Schema Connection</em>'.
* @generated
*/
WSDLSchemaConnection createWSDLSchemaConnection();
/**
* Returns a new object of class '<em>LDAP Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>LDAP Schema Connection</em>'.
* @generated
*/
LDAPSchemaConnection createLDAPSchemaConnection();
/**
* Returns a new object of class '<em>Salesforce Schema Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Salesforce Schema Connection</em>'.
* @generated
*/
SalesforceSchemaConnection createSalesforceSchemaConnection();
/**
* Returns a new object of class '<em>WSDL Schema Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>WSDL Schema Connection</em>'.
* @generated
*/
WSDLSchemaConnection createWSDLSchemaConnection();
/**
* Returns a new object of class '<em>CDC Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>CDC Connection</em>'.
* @generated
*/
CDCConnection createCDCConnection();
/**
* Returns a new object of class '<em>Salesforce Schema Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Salesforce Schema Connection</em>'.
* @generated
*/
SalesforceSchemaConnection createSalesforceSchemaConnection();
/**
* Returns a new object of class '<em>CDC Type</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>CDC Type</em>'.
* @generated
*/
CDCType createCDCType();
/**
* Returns a new object of class '<em>CDC Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>CDC Connection</em>'.
* @generated
*/
CDCConnection createCDCConnection();
/**
* Returns a new object of class '<em>Subscriber Table</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Subscriber Table</em>'.
* @generated
*/
SubscriberTable createSubscriberTable();
/**
* Returns a new object of class '<em>CDC Type</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>CDC Type</em>'.
* @generated
*/
CDCType createCDCType();
/**
* Returns a new object of class '<em>SAP Test Input Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>SAP Test Input Parameter Table</em>'.
* @generated
*/
SAPTestInputParameterTable createSAPTestInputParameterTable();
/**
* Returns a new object of class '<em>Subscriber Table</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Subscriber Table</em>'.
* @generated
*/
SubscriberTable createSubscriberTable();
/**
* Returns a new object of class '<em>Concept</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Concept</em>'.
* @generated
*/
Concept createConcept();
/**
* Returns a new object of class '<em>SAP Test Input Parameter Table</em>'.
* <!-- begin-user-doc --> <!--
* end-user-doc -->
* @return a new object of class '<em>SAP Test Input Parameter Table</em>'.
* @generated
*/
SAPTestInputParameterTable createSAPTestInputParameterTable();
/**
* Returns a new object of class '<em>Concept Target</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Concept Target</em>'.
* @generated
*/
ConceptTarget createConceptTarget();
/**
* Returns a new object of class '<em>Concept</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Concept</em>'.
* @generated
*/
Concept createConcept();
/**
* Returns a new object of class '<em>HL7 Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>HL7 Connection</em>'.
* @generated
*/
HL7Connection createHL7Connection();
/**
* Returns a new object of class '<em>Concept Target</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Concept Target</em>'.
* @generated
*/
ConceptTarget createConceptTarget();
/**
* Returns a new object of class '<em>Header Footer Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Header Footer Connection</em>'.
* @generated
*/
HeaderFooterConnection createHeaderFooterConnection();
/**
* Returns a new object of class '<em>HL7 Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>HL7 Connection</em>'.
* @generated
*/
HL7Connection createHL7Connection();
/**
* Returns a new object of class '<em>XML File Node</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>XML File Node</em>'.
* @generated
*/
XMLFileNode createXMLFileNode();
/**
* Returns a new object of class '<em>Header Footer Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Header Footer Connection</em>'.
* @generated
*/
HeaderFooterConnection createHeaderFooterConnection();
/**
* Returns a new object of class '<em>WSDL Parameter</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>WSDL Parameter</em>'.
* @generated
*/
WSDLParameter createWSDLParameter();
/**
* Returns a new object of class '<em>XML File Node</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>XML File Node</em>'.
* @generated
*/
XMLFileNode createXMLFileNode();
/**
* Returns a new object of class '<em>Generic Package</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Generic Package</em>'.
* @generated
*/
GenericPackage createGenericPackage();
/**
* Returns a new object of class '<em>WSDL Parameter</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>WSDL Parameter</em>'.
* @generated
*/
WSDLParameter createWSDLParameter();
/**
* Returns a new object of class '<em>HL7 File Node</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>HL7 File Node</em>'.
* @generated
*/
HL7FileNode createHL7FileNode();
/**
* Returns a new object of class '<em>Generic Package</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Generic Package</em>'.
* @generated
*/
GenericPackage createGenericPackage();
/**
* Returns a new object of class '<em>FTP Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>FTP Connection</em>'.
* @generated
*/
FTPConnection createFTPConnection();
/**
* Returns a new object of class '<em>HL7 File Node</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>HL7 File Node</em>'.
* @generated
*/
HL7FileNode createHL7FileNode();
/**
* Returns a new object of class '<em>BRMS Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>BRMS Connection</em>'.
* @generated
*/
BRMSConnection createBRMSConnection();
/**
* Returns a new object of class '<em>FTP Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>FTP Connection</em>'.
* @generated
*/
FTPConnection createFTPConnection();
/**
* Returns a new object of class '<em>Condition Type</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Condition Type</em>'.
* @generated
*/
ConditionType createConditionType();
/**
* Returns a new object of class '<em>BRMS Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>BRMS Connection</em>'.
* @generated
*/
BRMSConnection createBRMSConnection();
/**
* Returns a new object of class '<em>EDIFACT Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>EDIFACT Connection</em>'.
* @generated
*/
EDIFACTConnection createEDIFACTConnection();
/**
* Returns a new object of class '<em>Condition Type</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Condition Type</em>'.
* @generated
*/
ConditionType createConditionType();
/**
* Returns a new object of class '<em>Salesforce Module Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Salesforce Module Unit</em>'.
* @generated
*/
SalesforceModuleUnit createSalesforceModuleUnit();
/**
* Returns a new object of class '<em>EDIFACT Connection</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>EDIFACT Connection</em>'.
* @generated
*/
EDIFACTConnection createEDIFACTConnection();
/**
* Returns a new object of class '<em>SAP Table Field</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Table Field</em>'.
* @generated
*/
SAPTableField createSAPTableField();
/**
* Returns a new object of class '<em>Salesforce Module Unit</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>Salesforce Module Unit</em>'.
* @generated
*/
SalesforceModuleUnit createSalesforceModuleUnit();
/**
* Returns a new object of class '<em>SAP Function Parameter</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Parameter</em>'.
* @generated
*/
SAPFunctionParameter createSAPFunctionParameter();
/**
* Returns a new object of class '<em>SAP Table Field</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Table Field</em>'.
* @generated
*/
SAPTableField createSAPTableField();
/**
* Returns a new object of class '<em>SAP Function Param Data</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Param Data</em>'.
* @generated
*/
SAPFunctionParamData createSAPFunctionParamData();
/**
* Returns a new object of class '<em>SAP Function Parameter</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Parameter</em>'.
* @generated
*/
SAPFunctionParameter createSAPFunctionParameter();
/**
* Returns a new object of class '<em>Additional Connection Property</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Additional Connection Property</em>'.
* @generated
*/
AdditionalConnectionProperty createAdditionalConnectionProperty();
/**
* Returns a new object of class '<em>SAP Function Param Data</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Function Param Data</em>'.
* @generated
*/
SAPFunctionParamData createSAPFunctionParamData();
/**
* Returns a new object of class '<em>SAPBW Table</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAPBW Table</em>'.
* @generated
*/
SAPBWTable createSAPBWTable();
/**
* Returns a new object of class '<em>Additional Connection Property</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Additional Connection Property</em>'.
* @generated
*/
AdditionalConnectionProperty createAdditionalConnectionProperty();
/**
* Returns a new object of class '<em>SAPBW Table Field</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAPBW Table Field</em>'.
* @generated
*/
SAPBWTableField createSAPBWTableField();
/**
* Returns a new object of class '<em>SAPBW Table</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAPBW Table</em>'.
* @generated
*/
SAPBWTable createSAPBWTable();
/**
* Returns a new object of class '<em>Big Query Connection</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Big Query Connection</em>'.
* @generated
*/
BigQueryConnection createBigQueryConnection();
/**
* Returns a new object of class '<em>SAPBW Table Field</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAPBW Table Field</em>'.
* @generated
*/
SAPBWTableField createSAPBWTableField();
/**
* Returns a new object of class '<em>SAP Table</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Table</em>'.
* @generated
*/
SAPTable createSAPTable();
/**
* Returns a new object of class '<em>Big Query Connection</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Big Query Connection</em>'.
* @generated
*/
BigQueryConnection createBigQueryConnection();
/**
* Returns a new object of class '<em>EDIFACT Column</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>EDIFACT Column</em>'.
* @generated
*/
EDIFACTColumn createEDIFACTColumn();
/**
* Returns a new object of class '<em>SAP Table</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>SAP Table</em>'.
* @generated
*/
SAPTable createSAPTable();
/**
* Returns a new object of class '<em>Validation Rules Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Validation Rules Connection</em>'.
* @generated
*/
ValidationRulesConnection createValidationRulesConnection();
/**
* Returns a new object of class '<em>EDIFACT Column</em>'.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return a new object of class '<em>EDIFACT Column</em>'.
* @generated
*/
EDIFACTColumn createEDIFACTColumn();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
ConnectionPackage getConnectionPackage();
/**
* Returns a new object of class '<em>Validation Rules Connection</em>'. <!-- begin-user-doc --> <!-- end-user-doc
* -->
*
* @return a new object of class '<em>Validation Rules Connection</em>'.
* @generated
*/
ValidationRulesConnection createValidationRulesConnection();
/**
* copy this MetadataColumn.
*
* @return
*/
MetadataColumn copy(MetadataColumn column, String newId);
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
ConnectionPackage getConnectionPackage();
/**
* copy this MetadataColumn.
*
* @return
*/
MetadataColumn copy(MetadataColumn column, String newId);
} // ConnectionFactory

View File

@@ -0,0 +1,184 @@
// ============================================================================
//
// Copyright (C) 2006-2021 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.core.model.metadata.builder.connection;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.RegExUtils;
/**
* <!-- begin-user-doc --> A representation of the model object '<em><b>Tacokit Database Connection</b></em>'. <!--
* end-user-doc -->
*
*
* @see org.talend.core.model.metadata.builder.connection.ConnectionPackage#getTacokitDatabaseConnection()
* @model
* @generated
*/
public interface TacokitDatabaseConnection extends DatabaseConnection {
String KEY_DRIVER = "configuration.jdbcDriver";
String KEY_DRIVER_PATH = "configuration.jdbcDriver[].path";
String KEY_DRIVER_NAME = "configuration.jdbcDriver[].name";
String KEY_DRIVER_CLASS = "configuration.jdbcClass";
String KEY_URL = "configuration.jdbcUrl";
String KEY_PORT = "configuration.port";
String KEY_HOST = "configuration.host";
String KEY_USER_ID = "configuration.userId";
String KEY_PASSWORD = "configuration.password";
String KEY_DATABASE_MAPPING = "configuration.dbMapping";
String KEY_USE_SHARED_DB_CONNECTION = "configuration.useSharedDBConnection";
String KEY_SHARED_DB_CONNECTION = "configuration.sharedDBConnectionName";
String KEY_USE_DATASOURCE = "configuration.useDataSource";
String KEY_DATASOURCE_ALIAS = "configuration.dataSourceAlias";
String KEY_AUTHENTICATION_TYPE = "configuration.authenticationType";
String KEY_USE_AUTO_COMMIT = "configuration.useAutoCommit";
String KEY_AUTO_COMMIT = "configuration.autoCommit";
String KEY_ENABLE_DB_TYPE = "configuration.enableDBType";
String KEY_DB_TYPE = "configuration.dbType";
String JDBCSP_EXCLUSION = "\\.dataSet";
String KEY_DATASTORE_DRIVER = "configuration.dataSet.dataStore.jdbcDriver";
String KEY_SP_DATASTORE_DRIVER = RegExUtils.removeFirst(KEY_DATASTORE_DRIVER, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DRIVER_PATH = "configuration.dataSet.dataStore.jdbcDriver[].path";
String KEY_SP_DATASTORE_DRIVER_PATH = RegExUtils.removeFirst(KEY_DATASTORE_DRIVER_PATH, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DRIVER_NAME = "configuration.dataSet.dataStore.jdbcDriver[].name";
String KEY_SP_DATASTORE_DRIVER_NAME = RegExUtils.removeFirst(KEY_DATASTORE_DRIVER_NAME, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DRIVER_CLASS = "configuration.dataSet.dataStore.jdbcClass";
String KEY_SP_DATASTORE_DRIVER_CLASS = RegExUtils.removeFirst(KEY_DATASTORE_DRIVER_CLASS, JDBCSP_EXCLUSION);
String KEY_DATASTORE_URL = "configuration.dataSet.dataStore.jdbcUrl";
String KEY_SP_DATASTORE_URL = RegExUtils.removeFirst(KEY_DATASTORE_URL, JDBCSP_EXCLUSION);
String KEY_DATASTORE_PORT = "configuration.dataSet.dataStore.port";
String KEY_SP_DATASTORE_PORT = RegExUtils.removeFirst(KEY_DATASTORE_PORT, JDBCSP_EXCLUSION);
String KEY_DATASTORE_HOST = "configuration.dataSet.dataStore.host";
String KEY_SP_DATASTORE_HOST = RegExUtils.removeFirst(KEY_DATASTORE_HOST, JDBCSP_EXCLUSION);
String KEY_DATASTORE_USER_ID = "configuration.dataSet.dataStore.userId";
String KEY_SP_DATASTORE_USER_ID = RegExUtils.removeFirst(KEY_DATASTORE_USER_ID, JDBCSP_EXCLUSION);
String KEY_DATASTORE_PASSWORD = "configuration.dataSet.dataStore.password";
String KEY_SP_DATASTORE_PASSWORD = RegExUtils.removeFirst(KEY_DATASTORE_PASSWORD, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DATABASE_MAPPING = "configuration.dataSet.dataStore.dbMapping";
String KEY_SP_DATASTORE_DATABASE_MAPPING = RegExUtils.removeFirst(KEY_DATASTORE_DATABASE_MAPPING, JDBCSP_EXCLUSION);
String KEY_DATASTORE_USE_SHARED_DB_CONNECTION = "configuration.dataSet.dataStore.useSharedDBConnection";
String KEY_SP_DATASTORE_USE_SHARED_DB_CONNECTION = RegExUtils.removeFirst(KEY_DATASTORE_USE_SHARED_DB_CONNECTION,
JDBCSP_EXCLUSION);
String KEY_DATASTORE_SHARED_DB_CONNECTION = "configuration.dataSet.dataStore.sharedDBConnectionName";
String KEY_SP_DATASTORE_SHARED_DB_CONNECTION = RegExUtils.removeFirst(KEY_DATASTORE_SHARED_DB_CONNECTION, JDBCSP_EXCLUSION);
String KEY_DATASTORE_USE_DATASOURCE = "configuration.dataSet.dataStore.useDataSource";
String KEY_SP_DATASTORE_USE_DATASOURCE = RegExUtils.removeFirst(KEY_DATASTORE_USE_DATASOURCE, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DATASOURCE_ALIAS = "configuration.dataSet.dataStore.dataSourceAlias";
String KEY_SP_DATASTORE_DATASOURCE_ALIAS = RegExUtils.removeFirst(KEY_DATASTORE_DATASOURCE_ALIAS, JDBCSP_EXCLUSION);
String KEY_DATASTORE_AUTHENTICATION_TYPE = "configuration.dataSet.dataStore.authenticationType";
String KEY_SP_DATASTORE_AUTHENTICATION_TYPE = RegExUtils.removeFirst(KEY_DATASTORE_AUTHENTICATION_TYPE, JDBCSP_EXCLUSION);
String KEY_DATASTORE_USE_AUTO_COMMIT = "configuration.dataSet.dataStore.useAutoCommit";
String KEY_SP_DATASTORE_USE_AUTO_COMMIT = RegExUtils.removeFirst(KEY_DATASTORE_USE_AUTO_COMMIT, JDBCSP_EXCLUSION);
String KEY_DATASTORE_AUTO_COMMIT = "configuration.dataSet.dataStore.autoCommit";
String KEY_SP_DATASTORE_AUTO_COMMIT = RegExUtils.removeFirst(KEY_DATASTORE_AUTO_COMMIT, JDBCSP_EXCLUSION);
String KEY_DATASTORE_ENABLE_DB_TYPE = "configuration.dataSet.dataStore.enableDBType";
String KEY_SP_DATASTORE_ENABLE_DB_TYPE = RegExUtils.removeFirst(KEY_DATASTORE_ENABLE_DB_TYPE, JDBCSP_EXCLUSION);
String KEY_DATASTORE_DB_TYPE = "configuration.dataSet.dataStore.dbType";
String KEY_SP_DATASTORE_DB_TYPE = RegExUtils.removeFirst(KEY_DATASTORE_DB_TYPE, JDBCSP_EXCLUSION);
String KEY_DATASET_SQL_QUERY = "configuration.dataSet.sqlQuery";
String KEY_DATASET_TABLE_NAME = "configuration.dataSet.tableName";
String KEY_JDBC_DATASTORE_NAME = "JDBCDataStore";
public String getDatabaseMappingFile();
public boolean useSharedDBConnection();
public String getSharedDBConnectionName();
public boolean useDatasourceAlias();
public String getDatasourceAlias();
public String getAuthenticationType();
public void setAuthenticationType(String paramName);
public boolean useAutoCommit();
public void setUseAutoCommit(boolean isUseAutoCommit);
public boolean autoCommit();
public void setAutoCommit(boolean isAutoCommit);
public boolean enableDBType();
public void setEnableDBType(boolean isEnable);
public List<Map<String, Object>> getDrivers();
public Object getPropertyValue(String key);
} // TacokitDatabaseConnection

View File

@@ -28,306 +28,305 @@ import org.talend.core.model.metadata.builder.connection.ConnectionPackage;
* @generated
*/
public class BigQueryConnectionImpl extends ConnectionImpl implements BigQueryConnection {
/**
* The default value of the '{@link #getServiceAccountCredentialsFile() <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getServiceAccountCredentialsFile()
* @generated
* @ordered
*/
protected static final String SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT = null;
/**
* The cached value of the '{@link #getServiceAccountCredentialsFile() <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getServiceAccountCredentialsFile()
* @generated
* @ordered
*/
protected String serviceAccountCredentialsFile = SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT;
/**
* The default value of the '{@link #getServiceAccountCredentialsFile() <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getServiceAccountCredentialsFile()
* @generated
* @ordered
*/
protected static final String SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT = null;
/**
* The default value of the '{@link #getProjectId() <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectId()
* @generated
* @ordered
*/
protected static final String PROJECT_ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getServiceAccountCredentialsFile() <em>Service Account Credentials File</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getServiceAccountCredentialsFile()
* @generated
* @ordered
*/
protected String serviceAccountCredentialsFile = SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT;
/**
* The cached value of the '{@link #getProjectId() <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectId()
* @generated
* @ordered
*/
protected String projectId = PROJECT_ID_EDEFAULT;
/**
* The default value of the '{@link #getProjectId() <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectId()
* @generated
* @ordered
*/
protected static final String PROJECT_ID_EDEFAULT = null;
/**
* The default value of the '{@link #isUseRegionEndpoint() <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isUseRegionEndpoint()
* @generated
* @ordered
*/
protected static final boolean USE_REGION_ENDPOINT_EDEFAULT = false;
/**
* The cached value of the '{@link #getProjectId() <em>Project Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProjectId()
* @generated
* @ordered
*/
protected String projectId = PROJECT_ID_EDEFAULT;
/**
* The cached value of the '{@link #isUseRegionEndpoint() <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isUseRegionEndpoint()
* @generated
* @ordered
*/
protected boolean useRegionEndpoint = USE_REGION_ENDPOINT_EDEFAULT;
/**
* The default value of the '{@link #isUseRegionEndpoint() <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isUseRegionEndpoint()
* @generated
* @ordered
*/
protected static final boolean USE_REGION_ENDPOINT_EDEFAULT = false;
/**
* The default value of the '{@link #getRegionEndpoint() <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegionEndpoint()
* @generated
* @ordered
*/
protected static final String REGION_ENDPOINT_EDEFAULT = null;
/**
* The cached value of the '{@link #isUseRegionEndpoint() <em>Use Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isUseRegionEndpoint()
* @generated
* @ordered
*/
protected boolean useRegionEndpoint = USE_REGION_ENDPOINT_EDEFAULT;
/**
* The cached value of the '{@link #getRegionEndpoint() <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegionEndpoint()
* @generated
* @ordered
*/
protected String regionEndpoint = REGION_ENDPOINT_EDEFAULT;
/**
* The default value of the '{@link #getRegionEndpoint() <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegionEndpoint()
* @generated
* @ordered
*/
protected static final String REGION_ENDPOINT_EDEFAULT = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BigQueryConnectionImpl() {
super();
}
/**
* The cached value of the '{@link #getRegionEndpoint() <em>Region Endpoint</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRegionEndpoint()
* @generated
* @ordered
*/
protected String regionEndpoint = REGION_ENDPOINT_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return ConnectionPackage.Literals.BIG_QUERY_CONNECTION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BigQueryConnectionImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getServiceAccountCredentialsFile() {
return serviceAccountCredentialsFile;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return ConnectionPackage.Literals.BIG_QUERY_CONNECTION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setServiceAccountCredentialsFile(String newServiceAccountCredentialsFile) {
String oldServiceAccountCredentialsFile = serviceAccountCredentialsFile;
serviceAccountCredentialsFile = newServiceAccountCredentialsFile;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE,
oldServiceAccountCredentialsFile, serviceAccountCredentialsFile));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getServiceAccountCredentialsFile() {
return serviceAccountCredentialsFile;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getProjectId() {
return projectId;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setServiceAccountCredentialsFile(String newServiceAccountCredentialsFile) {
String oldServiceAccountCredentialsFile = serviceAccountCredentialsFile;
serviceAccountCredentialsFile = newServiceAccountCredentialsFile;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE, oldServiceAccountCredentialsFile,
serviceAccountCredentialsFile));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProjectId(String newProjectId) {
String oldProjectId = projectId;
projectId = newProjectId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID,
oldProjectId, projectId));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getProjectId() {
return projectId;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isUseRegionEndpoint() {
return useRegionEndpoint;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProjectId(String newProjectId) {
String oldProjectId = projectId;
projectId = newProjectId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID,
oldProjectId, projectId));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setUseRegionEndpoint(boolean newUseRegionEndpoint) {
boolean oldUseRegionEndpoint = useRegionEndpoint;
useRegionEndpoint = newUseRegionEndpoint;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT, oldUseRegionEndpoint,
useRegionEndpoint));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isUseRegionEndpoint() {
return useRegionEndpoint;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getRegionEndpoint() {
return regionEndpoint;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setUseRegionEndpoint(boolean newUseRegionEndpoint) {
boolean oldUseRegionEndpoint = useRegionEndpoint;
useRegionEndpoint = newUseRegionEndpoint;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT,
oldUseRegionEndpoint, useRegionEndpoint));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRegionEndpoint(String newRegionEndpoint) {
String oldRegionEndpoint = regionEndpoint;
regionEndpoint = newRegionEndpoint;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET,
ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT, oldRegionEndpoint, regionEndpoint));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getRegionEndpoint() {
return regionEndpoint;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
return getServiceAccountCredentialsFile();
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
return getProjectId();
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
return isUseRegionEndpoint();
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
return getRegionEndpoint();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setRegionEndpoint(String newRegionEndpoint) {
String oldRegionEndpoint = regionEndpoint;
regionEndpoint = newRegionEndpoint;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT,
oldRegionEndpoint, regionEndpoint));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
setServiceAccountCredentialsFile((String) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
setProjectId((String) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
setUseRegionEndpoint((Boolean) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
setRegionEndpoint((String) newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
return getServiceAccountCredentialsFile();
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
return getProjectId();
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
return isUseRegionEndpoint();
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
return getRegionEndpoint();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
setServiceAccountCredentialsFile(SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
setProjectId(PROJECT_ID_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
setUseRegionEndpoint(USE_REGION_ENDPOINT_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
setRegionEndpoint(REGION_ENDPOINT_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
setServiceAccountCredentialsFile((String) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
setProjectId((String) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
setUseRegionEndpoint((Boolean) newValue);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
setRegionEndpoint((String) newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
return SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT == null ? serviceAccountCredentialsFile != null
: !SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT.equals(serviceAccountCredentialsFile);
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
return PROJECT_ID_EDEFAULT == null ? projectId != null : !PROJECT_ID_EDEFAULT.equals(projectId);
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
return useRegionEndpoint != USE_REGION_ENDPOINT_EDEFAULT;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
return REGION_ENDPOINT_EDEFAULT == null ? regionEndpoint != null
: !REGION_ENDPOINT_EDEFAULT.equals(regionEndpoint);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
setServiceAccountCredentialsFile(SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
setProjectId(PROJECT_ID_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
setUseRegionEndpoint(USE_REGION_ENDPOINT_EDEFAULT);
return;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
setRegionEndpoint(REGION_ENDPOINT_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy())
return super.toString();
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case ConnectionPackage.BIG_QUERY_CONNECTION__SERVICE_ACCOUNT_CREDENTIALS_FILE:
return SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT == null ? serviceAccountCredentialsFile != null
: !SERVICE_ACCOUNT_CREDENTIALS_FILE_EDEFAULT.equals(serviceAccountCredentialsFile);
case ConnectionPackage.BIG_QUERY_CONNECTION__PROJECT_ID:
return PROJECT_ID_EDEFAULT == null ? projectId != null : !PROJECT_ID_EDEFAULT.equals(projectId);
case ConnectionPackage.BIG_QUERY_CONNECTION__USE_REGION_ENDPOINT:
return useRegionEndpoint != USE_REGION_ENDPOINT_EDEFAULT;
case ConnectionPackage.BIG_QUERY_CONNECTION__REGION_ENDPOINT:
return REGION_ENDPOINT_EDEFAULT == null ? regionEndpoint != null : !REGION_ENDPOINT_EDEFAULT.equals(regionEndpoint);
}
return super.eIsSet(featureID);
}
StringBuilder result = new StringBuilder(super.toString());
result.append(" (ServiceAccountCredentialsFile: ");
result.append(serviceAccountCredentialsFile);
result.append(", ProjectId: ");
result.append(projectId);
result.append(", UseRegionEndpoint: ");
result.append(useRegionEndpoint);
result.append(", RegionEndpoint: ");
result.append(regionEndpoint);
result.append(')');
return result.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy())
return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (ServiceAccountCredentialsFile: ");
result.append(serviceAccountCredentialsFile);
result.append(", ProjectId: ");
result.append(projectId);
result.append(", UseRegionEndpoint: ");
result.append(useRegionEndpoint);
result.append(", RegionEndpoint: ");
result.append(regionEndpoint);
result.append(')');
return result.toString();
}
} //BigQueryConnectionImpl

View File

@@ -1226,6 +1226,37 @@ public class ConnectionImpl extends AbstractMetadataObjectImpl implements Connec
}
return value;
}
/**
* @generated NOT
*/
public String getValueIgnoreContextMode(String value, boolean encrypt) {
if (value != null && value.length() > 0) {
StudioEncryption se = StudioEncryption.getStudioEncryption(StudioEncryption.EncryptionKeyName.SYSTEM);
// Set default encrypt and decrypt methods
if (this.encrypt == null) {
this.encrypt = (src) -> se.encrypt(src);
}
if (this.decrypt == null) {
this.decrypt = (src) -> {
if (src != null && StudioEncryption.hasEncryptionSymbol(src)) {
return se.decrypt(src);
}
return src;
};
}
String newValue = null;
if (encrypt) {
newValue = this.encrypt.apply(value);
} else {
newValue = this.decrypt.apply(value);
}
if (newValue != null) { // if enable to encrypt/decrypt will return the new value.
return newValue;
}
}
return value;
}
/**
* @generated NOT

View File

@@ -0,0 +1,416 @@
// ============================================================================
//
// Copyright (C) 2006-2021 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.core.model.metadata.builder.connection.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import org.talend.commons.runtime.service.ITaCoKitService;
import org.talend.core.model.metadata.builder.connection.ConnectionPackage;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.cwm.helper.StudioEncryptionHelper;
/**
* <!-- begin-user-doc --> An implementation of the model object '<em><b>Tacokit Database Connection</b></em>'. <!--
* end-user-doc -->
*
* @generated
*/
public class TacokitDatabaseConnectionImpl extends DatabaseConnectionImpl implements TacokitDatabaseConnection {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
protected TacokitDatabaseConnectionImpl() {
super();
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return ConnectionPackage.Literals.TACOKIT_DATABASE_CONNECTION;
}
@Override
public List<Map<String, Object>> getDrivers() {
String jdbcDriverData = (String) this.getProperties().get(KEY_DRIVER);
List<Map<String, Object>> driverList = new ArrayList<Map<String, Object>>();
ITaCoKitService service = getTaCoKitService();
if (service != null) {
driverList = service.convertToTable(jdbcDriverData);
}
return driverList;
}
public ITaCoKitService getTaCoKitService() {
if (Platform.isRunning()) {
return ITaCoKitService.getInstance();
}
// TDQ-21221: the follows is for DQ tDqReportRun component
final String serviceClassName = "org.talend.sdk.component.studio.service.TaCoKitService"; //$NON-NLS-1$
try {
return (ITaCoKitService) Class.forName(serviceClassName).newInstance();
} catch (InstantiationException e) {
EcorePlugin.INSTANCE.log(e);
} catch (IllegalAccessException e) {
EcorePlugin.INSTANCE.log(e);
} catch (ClassNotFoundException e) {
EcorePlugin.INSTANCE.log(e);
}
return null;
}
/**
* @generated NOT
*/
@Override
public String getDriverJarPath() {
List<Map<String, Object>> drivers = getDrivers();
StringBuffer jarPath = new StringBuffer();
for (int i = 0; i < drivers.size(); i++) {
if (i != 0) {
jarPath.append(";");
}
Map<String, Object> map = drivers.get(i);
String path = (String) map.get(KEY_DRIVER_PATH);
if (StringUtils.isNotBlank(path)) {
jarPath.append(path);
}
}
return jarPath.toString();
}
/**
* @generated NOT
*/
@Override
public void setDriverJarPath(String value) {
if (value == null) {
return;
}
// normally this used for create / clone, list might be empty
List<Map<String, Object>> drivers = getDrivers();
// TODO later consider add name in method parameter or remove name column
for (String driverJar : value.split(";")) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put(KEY_DRIVER_PATH, driverJar);
map.put(KEY_DRIVER_NAME, null);
drivers.add(map);
}
this.getProperties().put(KEY_DRIVER, drivers.toString());
}
/**
* @generated NOT
*/
@Override
public String getDriverClass() {
return (String) this.getProperties().get(KEY_DRIVER_CLASS);
}
/**
* @generated NOT
*/
@Override
public void setDriverClass(String value) {
String oldValue = getDriverClass();
this.getProperties().put(KEY_DRIVER_CLASS, value);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__DRIVER_CLASS,
oldValue, value));
}
/**
* @generated NOT
*/
@Override
public String getURL() {
return (String) this.getProperties().get(KEY_URL);
}
/**
* @generated NOT
*/
@Override
public void setURL(String value) {
String oldValue = getURL();
this.getProperties().put(KEY_URL, value);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__URL, oldValue, value));
}
/**
* @generated NOT
*/
@Override
public String getPort() {
return (String) this.getProperties().get(KEY_PORT);
}
/**
* @generated NOT
*/
@Override
public void setPort(String value) {
String oldValue = getPort();
this.getProperties().put(KEY_PORT, value);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__PORT, oldValue, value));
}
/**
* @generated NOT
*/
@Override
public String getUsername() {
return (String) this.getProperties().get(KEY_USER_ID);
}
/**
* @generated NOT
*/
@Override
public void setUsername(String value) {
String oldValue = getUsername();
this.getProperties().put(KEY_USER_ID, value);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__USERNAME, oldValue,
value));
}
@Override
public void setPassword(String newPassword) {
String oldValue = getPassword();
this.getProperties().put(KEY_PASSWORD, newPassword);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__PASSWORD, oldValue,
newPassword));
}
@Override
public void setRawPassword(String value) {
if (value != null && StudioEncryptionHelper.isLatestEncryptionKey(getPassword()) && value.equals(getRawPassword())) {
return;
}
setPassword(getValue(value, true));
}
/**
* @generated NOT
*/
@Override
public String getPassword() {
return (String) this.getProperties().get(KEY_PASSWORD);
}
/**
* @generated NOT
*/
@Override
public String getRawPassword() {
return getValueIgnoreContextMode(getPassword(), false);
}
/**
* @generated NOT
*/
@Override
public String getDatabaseMappingFile() {
if (this.getProperties().containsKey(KEY_DATABASE_MAPPING)) {
return (String) this.getProperties().get(KEY_DATABASE_MAPPING);
}
return null;
}
/**
* @generated NOT
*/
@Override
public String getDbmsId() {
return getDatabaseMappingFile();
}
/**
* @generated NOT
*/
@Override
public void setDbmsId(String newDbmsId) {
String oldValue = getDbmsId();
this.getProperties().put(KEY_DATABASE_MAPPING, newDbmsId);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__DBMS_ID, oldValue,
newDbmsId));
}
/**
* @generated NOT
*/
@Override
public boolean useSharedDBConnection() {
if (this.getProperties().containsKey(KEY_USE_SHARED_DB_CONNECTION)) {
return Boolean.valueOf(this.getProperties().get(KEY_USE_SHARED_DB_CONNECTION).toString());
}
return false;
}
/**
* @generated NOT
*/
@Override
public String getSharedDBConnectionName() {
if (this.getProperties().containsKey(KEY_SHARED_DB_CONNECTION)) {
return (String) this.getProperties().get(KEY_SHARED_DB_CONNECTION);
}
return null;
}
/**
* @generated NOT
*/
@Override
public boolean useDatasourceAlias() {
if (this.getProperties().containsKey(KEY_USE_DATASOURCE)) {
return Boolean.valueOf(this.getProperties().get(KEY_USE_DATASOURCE).toString());
}
return false;
}
/**
* @generated NOT
*/
@Override
public String getDatasourceAlias() {
if (this.getProperties().containsKey(KEY_DATASOURCE_ALIAS)) {
return (String) this.getProperties().get(KEY_DATASOURCE_ALIAS);
}
return null;
}
/**
* @generated NOT
*/
@Override
public String getAuthenticationType() {
if (this.getProperties().containsKey(KEY_AUTHENTICATION_TYPE)) {
return (String) this.getProperties().get(KEY_AUTHENTICATION_TYPE);
}
return null;
}
/**
* @generated NOT
*/
@Override
public void setAuthenticationType(String authenticationType) {
this.getProperties().put(KEY_AUTHENTICATION_TYPE, authenticationType);
}
/**
* @generated NOT
*/
@Override
public boolean useAutoCommit() {
if (this.getProperties().containsKey(KEY_USE_AUTO_COMMIT)) {
return Boolean.valueOf(this.getProperties().get(KEY_USE_AUTO_COMMIT).toString());
}
return false;
}
/**
* @generated NOT
*/
@Override
public void setUseAutoCommit(boolean isUseAutoCommit) {
this.getProperties().put(KEY_USE_AUTO_COMMIT, isUseAutoCommit);
}
/**
* @generated NOT
*/
@Override
public boolean autoCommit() {
if (this.getProperties().containsKey(KEY_AUTO_COMMIT)) {
return Boolean.valueOf(this.getProperties().get(KEY_AUTO_COMMIT).toString());
}
return false;
}
/**
* @generated NOT
*/
@Override
public void setAutoCommit(boolean isAutoCommit) {
this.getProperties().put(KEY_AUTO_COMMIT, isAutoCommit);
}
@Override
public String getServerName() {
if (this.getProperties().containsKey(KEY_HOST)) {
return (String) this.getProperties().get(KEY_HOST);
}
return null;
}
@Override
public void setServerName(String newServerName) {
String oldValue = getServerName();
this.getProperties().put(KEY_HOST, newServerName);
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ConnectionPackage.DATABASE_CONNECTION__SERVER_NAME,
oldValue, newServerName));
}
@Override
public boolean enableDBType() {
if (this.getProperties().containsKey(KEY_ENABLE_DB_TYPE)) {
return Boolean.valueOf(this.getProperties().get(KEY_ENABLE_DB_TYPE).toString());
}
return false;
}
public void setEnableDBType(boolean isEnable) {
this.getProperties().put(KEY_ENABLE_DB_TYPE, String.valueOf(isEnable));
}
@Override
public Object getPropertyValue(String key) {
return this.getProperties().get(key);
}
public static void main(String[] args) {
TacokitDatabaseConnectionImpl c = new TacokitDatabaseConnectionImpl();
String driverPath = "mvn:com.mysql/mysql-connector-j/8.0.33/jar;mvn:net.minidev/accessors-smart/1.1/jar;mvn:javax.activation/activation/1.1.1/jar";
c.setDriverJarPath(driverPath);
System.out.println(c.getDriverJarPath());
}
} // TacokitDatabaseConnectionImpl

View File

@@ -11,25 +11,26 @@ package org.talend.core.model.metadata.builder.connection.validation;
* This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
*/
public interface BigQueryConnectionValidator {
boolean validate();
boolean validateAccessToken(String value);
boolean validate();
boolean validateServiceAccountCredentialsFile(String value);
boolean validateAccessToken(String value);
boolean validateClientId(String value);
boolean validateServiceAccountCredentialsFile(String value);
boolean validateClientSecret(String value);
boolean validateClientId(String value);
boolean validateAuthorizationCode(String value);
boolean validateClientSecret(String value);
boolean validateProjectId(String value);
boolean validateAuthorizationCode(String value);
boolean validateUseRegionEndpoint(boolean value);
boolean validateProjectId(String value);
boolean validateRegionEndpoint(String value);
boolean validateUseRegionEndpoint(boolean value);
boolean validateTokenFilePath(String value);
boolean validateRegionEndpoint(String value);
boolean validateAuthMode(String value);
boolean validateTokenFilePath(String value);
boolean validateAuthMode(String value);
}

View File

@@ -15,13 +15,13 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.talend.core.model.properties.ProjectReference#getProject <em>Project</em>}</li>
* <li>{@link org.talend.core.model.properties.ProjectReference#getBranch <em>Branch</em>}</li>
* <li>{@link org.talend.core.model.properties.ProjectReference#getReferencedProject <em>Referenced Project</em>}</li>
* <li>{@link org.talend.core.model.properties.ProjectReference#getReferencedBranch <em>Referenced Branch</em>}</li>
* </ul>
* </p>
*
* @see org.talend.core.model.properties.PropertiesPackage#getProjectReference()
* @model

View File

@@ -0,0 +1,17 @@
/**
*/
package org.talend.core.model.properties;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Tacokit Database Connection Item</b></em>'.
* <!-- end-user-doc -->
*
*
* @see org.talend.core.model.properties.PropertiesPackage#getTacokitDatabaseConnectionItem()
* @model
* @generated
*/
public interface TacokitDatabaseConnectionItem extends DatabaseConnectionItem {
} // TacokitDatabaseConnectionItem

View File

@@ -16,21 +16,21 @@ import org.talend.core.model.properties.PropertiesPackage;
*/
public class BigQueryConnectionItemImpl extends ConnectionItemImpl implements BigQueryConnectionItem {
/**
* <!-- begin-user-doc -->
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
* @generated
*/
protected BigQueryConnectionItemImpl() {
super();
}
super();
}
/**
* <!-- begin-user-doc -->
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
* @generated
*/
protected EClass eStaticClass() {
return PropertiesPackage.Literals.BIG_QUERY_CONNECTION_ITEM;
}
return PropertiesPackage.Literals.BIG_QUERY_CONNECTION_ITEM;
}
} //BigQueryConnectionItemImpl

View File

@@ -0,0 +1,36 @@
/**
*/
package org.talend.core.model.properties.impl;
import org.eclipse.emf.ecore.EClass;
import org.talend.core.model.properties.PropertiesPackage;
import org.talend.core.model.properties.TacokitDatabaseConnectionItem;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Tacokit Database Connection Item</b></em>'.
* <!-- end-user-doc -->
*
* @generated
*/
public class TacokitDatabaseConnectionItemImpl extends DatabaseConnectionItemImpl implements TacokitDatabaseConnectionItem {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TacokitDatabaseConnectionItemImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EClass eStaticClass() {
return PropertiesPackage.Literals.TACOKIT_DATABASE_CONNECTION_ITEM;
}
} //TacokitDatabaseConnectionItemImpl

Some files were not shown because too many files have changed in this diff Show More