Compare commits
21 Commits
clesaec/TD
...
patch/TPS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1561df4ee2 | ||
|
|
f61b793263 | ||
|
|
1e694d07f0 | ||
|
|
bfb26a7bfb | ||
|
|
47ee1e1ed0 | ||
|
|
164641111e | ||
|
|
3251e99e35 | ||
|
|
c69d2348b8 | ||
|
|
88f2a8734b | ||
|
|
592be6abb1 | ||
|
|
cb7468510a | ||
|
|
626748e4cb | ||
|
|
0a5277ae6e | ||
|
|
761fbcf5b0 | ||
|
|
8560b26217 | ||
|
|
059332dd05 | ||
|
|
06d54bf796 | ||
|
|
b13cf8c27c | ||
|
|
cdb0912a5a | ||
|
|
2777cc69a9 | ||
|
|
3b70073b38 |
57
PATCH_RELEASE_NOTE.md
Normal file
57
PATCH_RELEASE_NOTE.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
version: 7.1.1
|
||||
module: https://talend.poolparty.biz/coretaxonomy/42
|
||||
product:
|
||||
- https://talend.poolparty.biz/coretaxonomy/23
|
||||
---
|
||||
|
||||
# TPS-3236
|
||||
|
||||
| Info | Value |
|
||||
| ---------------- | ---------------- |
|
||||
| Patch Name | Patch\_20190716\_TPS\-3236\_v1\-7.1.1 |
|
||||
| Release Date | 2019-07-16 |
|
||||
| Target Version | Talend-Studio-20181026_1147-V7.1.1 |
|
||||
| Product affected | Talend Studio |
|
||||
|
||||
## Introduction
|
||||
|
||||
This is a self-contained patch.
|
||||
|
||||
**NOTE**: For information on how to obtain this patch, reach out to your Support contact at Talend.
|
||||
|
||||
## Fixed issues
|
||||
|
||||
This patch contains the following fixes:
|
||||
|
||||
- TPS-3236 [7.1.1] tExaBulkExec component has a wrong number formatting in bulk imports to Exasol (TDI-42572)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Consider the following requirements for your system:
|
||||
|
||||
- Talend Studio 7.1.1 must be installed.
|
||||
|
||||
## Installation
|
||||
|
||||
### Installing the patch using Software update
|
||||
|
||||
1) Logon TAC and switch to Configuration->Software Update, then enter the correct values and save referring to the documentation: https://help.talend.com/reader/f7Em9WV_cPm2RRywucSN0Q/j9x5iXV~vyxMlUafnDejaQ
|
||||
|
||||
2) Switch to Software update page, where the new patch will be listed. The patch can be downloaded from here into the nexus repository.
|
||||
|
||||
3) On Studio Side: Logon Studio with remote mode, on the logon page the Update button is displayed: click this button to install the patch.
|
||||
|
||||
### Installing the patch using Talend Studio
|
||||
|
||||
1) Create a folder named "patches" under your studio installer directory and copy the patch .zip file to this folder.
|
||||
|
||||
2) Restart your studio: a window pops up, then click OK to install the patch, or restart the commandline and the patch will be installed automatically.
|
||||
|
||||
### Installing the patch using Commandline
|
||||
|
||||
Execute the following commands:
|
||||
|
||||
1. Talend-Studio-win-x86_64.exe -nosplash -application org.talend.commandline.CommandLine -consoleLog -data commandline-workspace startServer -p 8002 --talendDebug
|
||||
2. initRemote {tac_url} -ul {TAC login username} -up {TAC login password}
|
||||
3. checkAndUpdate -tu {TAC login username} -tup {TAC login password}
|
||||
@@ -11,7 +11,6 @@
|
||||
<import feature="org.talend.tos.feature" version="0.0.0" match="greaterOrEqual"/>
|
||||
</requires>
|
||||
<plugin id="org.talend.designer.maven.tos" download-size="0" install-size="0" version="0.0.0" fragment="true"/>
|
||||
<plugin id="org.talend.libraries.mdm.webservice.ce" download-size="0" install-size="0" version="0.0.0" fragment="true"/>
|
||||
<plugin id="org.talend.presentation.onboarding" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="org.talend.presentation.onboarding.nl" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.presentation.onboarding.resource" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
|
||||
@@ -69,145 +69,140 @@ if(hasInput){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
boolean hasValidInput = inputConn!=null;
|
||||
|
||||
IMetadataTable metadata = null;
|
||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||
boolean haveValidNodeMetadata = ((metadatas != null) && (metadatas.size() > 0) && (metadata = metadatas.get(0)) != null);
|
||||
|
||||
if (hasValidInput && haveValidNodeMetadata) {
|
||||
if (hasValidInput) {
|
||||
List<IMetadataColumn> input_columnList = inputConn.getMetadataTable().getListColumns();
|
||||
if(input_columnList == null) {
|
||||
input_columnList = new ArrayList<IMetadataColumn>();
|
||||
}
|
||||
// add incoming (not present) columns to enforcer for this comps
|
||||
if (cid.contains("tDataStewardship") || cid.contains("tMarkLogic")){
|
||||
%>
|
||||
boolean shouldCreateRuntimeSchemaForIncomingNode = false;
|
||||
<%
|
||||
for (int i = 0; i < input_columnList.size(); i++) {
|
||||
if(!input_columnList.get(i).getTalendType().equals("id_Dynamic")) {
|
||||
%>
|
||||
if (incomingEnforcer_<%=cid%>.getDesignSchema().getField("<%=input_columnList.get(i)%>") == null){
|
||||
incomingEnforcer_<%=cid%>.addIncomingNodeField("<%=input_columnList.get(i)%>", ((Object) <%=inputConn.getName()%>.<%=input_columnList.get(i)%>).getClass().getCanonicalName());
|
||||
shouldCreateRuntimeSchemaForIncomingNode = true;
|
||||
}
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
if (shouldCreateRuntimeSchemaForIncomingNode){
|
||||
incomingEnforcer_<%=cid%>.createRuntimeSchema();
|
||||
}
|
||||
<%
|
||||
}
|
||||
// If there are dynamic columns in the schema, they need to be
|
||||
// initialized into the runtime schema of the actual IndexedRecord
|
||||
// provided to the component.
|
||||
|
||||
int dynamicPos = -1;
|
||||
for (int i = 0; i < input_columnList.size(); i++) {
|
||||
if (input_columnList.get(i).getTalendType().equals("id_Dynamic")) {
|
||||
dynamicPos = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicPos != -1) {
|
||||
%>
|
||||
if (!incomingEnforcer_<%=cid%>.areDynamicFieldsInitialized()) {
|
||||
// Initialize the dynamic columns when they are first encountered.
|
||||
for (routines.system.DynamicMetadata dm_<%=cid%> : <%=inputConn.getName()%>.<%=input_columnList.get(dynamicPos).getLabel()%>.metadatas) {
|
||||
incomingEnforcer_<%=cid%>.addDynamicField(
|
||||
dm_<%=cid%>.getName(),
|
||||
dm_<%=cid%>.getType(),
|
||||
dm_<%=cid%>.getLogicalType(),
|
||||
dm_<%=cid%>.getFormat(),
|
||||
dm_<%=cid%>.getDescription(),
|
||||
dm_<%=cid%>.isNullable());
|
||||
}
|
||||
incomingEnforcer_<%=cid%>.createRuntimeSchema();
|
||||
}
|
||||
<%
|
||||
}
|
||||
|
||||
%>
|
||||
incomingEnforcer_<%=cid%>.createNewRecord();
|
||||
<%
|
||||
for (int i = 0; i < input_columnList.size(); i++) { // column
|
||||
IMetadataColumn column = input_columnList.get(i);
|
||||
if (dynamicPos != i) {
|
||||
%>
|
||||
//skip the put action if the input column doesn't appear in component runtime schema
|
||||
if (incomingEnforcer_<%=cid%>.getRuntimeSchema().getField("<%=input_columnList.get(i)%>") != null){
|
||||
incomingEnforcer_<%=cid%>.put("<%=column.getLabel()%>", <%=inputConn.getName()%>.<%=column.getLabel()%>);
|
||||
}
|
||||
<%
|
||||
} else {
|
||||
%>
|
||||
for (int i = 0; i < <%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnCount(); i++) {
|
||||
incomingEnforcer_<%=cid%>.put(<%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnMetadata(i).getName(),
|
||||
<%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnValue(i));
|
||||
}
|
||||
<%
|
||||
}
|
||||
} // column
|
||||
|
||||
// If necesary, generate the code to handle outgoing connections.
|
||||
// TODO: For now, this can only handle one outgoing record for
|
||||
// each incoming record. To handle multiple outgoing records, code
|
||||
// generation needs to occur in component_begin in order to open
|
||||
// a for() loop.
|
||||
|
||||
// There will be a ClassCastException if the output component does
|
||||
// not implement WriterWithFeedback, but permits outgoing
|
||||
// connections.
|
||||
|
||||
if (input_columnList!=null && !input_columnList.isEmpty()) {
|
||||
// add incoming (not present) columns to enforcer for this comps
|
||||
if (cid.contains("tDataStewardship") || cid.contains("tMarkLogic")){
|
||||
%>
|
||||
boolean shouldCreateRuntimeSchemaForIncomingNode = false;
|
||||
<%
|
||||
for (int i = 0; i < input_columnList.size(); i++) {
|
||||
if(!input_columnList.get(i).getTalendType().equals("id_Dynamic")) {
|
||||
%>
|
||||
if (incomingEnforcer_<%=cid%>.getDesignSchema().getField("<%=input_columnList.get(i)%>") == null){
|
||||
incomingEnforcer_<%=cid%>.addIncomingNodeField("<%=input_columnList.get(i)%>", ((Object) <%=inputConn.getName()%>.<%=input_columnList.get(i)%>).getClass().getCanonicalName());
|
||||
shouldCreateRuntimeSchemaForIncomingNode = true;
|
||||
}
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
if (shouldCreateRuntimeSchemaForIncomingNode){
|
||||
incomingEnforcer_<%=cid%>.createRuntimeSchema();
|
||||
}
|
||||
<%
|
||||
}
|
||||
// If there are dynamic columns in the schema, they need to be
|
||||
// initialized into the runtime schema of the actual IndexedRecord
|
||||
// provided to the component.
|
||||
|
||||
int dynamicPos = -1;
|
||||
for (int i = 0; i < input_columnList.size(); i++) {
|
||||
if (input_columnList.get(i).getTalendType().equals("id_Dynamic")) {
|
||||
dynamicPos = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicPos != -1) {
|
||||
%>
|
||||
if (!incomingEnforcer_<%=cid%>.areDynamicFieldsInitialized()) {
|
||||
// Initialize the dynamic columns when they are first encountered.
|
||||
for (routines.system.DynamicMetadata dm_<%=cid%> : <%=inputConn.getName()%>.<%=input_columnList.get(dynamicPos).getLabel()%>.metadatas) {
|
||||
incomingEnforcer_<%=cid%>.addDynamicField(
|
||||
dm_<%=cid%>.getName(),
|
||||
dm_<%=cid%>.getType(),
|
||||
dm_<%=cid%>.getLogicalType(),
|
||||
dm_<%=cid%>.getFormat(),
|
||||
dm_<%=cid%>.getDescription(),
|
||||
dm_<%=cid%>.isNullable());
|
||||
}
|
||||
incomingEnforcer_<%=cid%>.createRuntimeSchema();
|
||||
}
|
||||
<%
|
||||
}
|
||||
|
||||
%>
|
||||
incomingEnforcer_<%=cid%>.createNewRecord();
|
||||
<%
|
||||
for (int i = 0; i < input_columnList.size(); i++) { // column
|
||||
IMetadataColumn column = input_columnList.get(i);
|
||||
if (dynamicPos != i) {
|
||||
%>
|
||||
//skip the put action if the input column doesn't appear in component runtime schema
|
||||
if (incomingEnforcer_<%=cid%>.getRuntimeSchema().getField("<%=input_columnList.get(i)%>") != null){
|
||||
incomingEnforcer_<%=cid%>.put("<%=column.getLabel()%>", <%=inputConn.getName()%>.<%=column.getLabel()%>);
|
||||
}
|
||||
<%
|
||||
} else {
|
||||
%>
|
||||
for (int i = 0; i < <%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnCount(); i++) {
|
||||
incomingEnforcer_<%=cid%>.put(<%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnMetadata(i).getName(),
|
||||
<%=inputConn.getName()%>.<%=column.getLabel()%>.getColumnValue(i));
|
||||
}
|
||||
<%
|
||||
}
|
||||
} // column
|
||||
|
||||
// If necesary, generate the code to handle outgoing connections.
|
||||
// TODO: For now, this can only handle one outgoing record for
|
||||
// each incoming record. To handle multiple outgoing records, code
|
||||
// generation needs to occur in component_begin in order to open
|
||||
// a for() loop.
|
||||
|
||||
// There will be a ClassCastException if the output component does
|
||||
// not implement WriterWithFeedback, but permits outgoing
|
||||
// connections.
|
||||
|
||||
ComponentProperties componentProps = node.getComponentProperties();
|
||||
ProcessPropertiesGenerator generator = new ProcessPropertiesGenerator(cid, component);
|
||||
List<Component.CodegenPropInfo> propsToProcess = component.getCodegenPropInfos(componentProps);
|
||||
for (Component.CodegenPropInfo propInfo : propsToProcess) { // propInfo
|
||||
List<NamedThing> properties = propInfo.props.getProperties();
|
||||
for (NamedThing prop : properties) { // property
|
||||
if (prop instanceof Property) { // if, only deal with valued Properties
|
||||
Property property = (Property)prop;
|
||||
if (property.getFlags() != null && (property.getFlags().contains(Property.Flags.DESIGN_TIME_ONLY) || property.getFlags().contains(Property.Flags.HIDDEN)))
|
||||
continue;
|
||||
if(property.getTaggedValue(IGenericConstants.DYNAMIC_PROPERTY_VALUE)!=null && Boolean.valueOf(String.valueOf(property.getTaggedValue(IGenericConstants.DYNAMIC_PROPERTY_VALUE)))) {
|
||||
generator.setPropertyValues(property, propInfo, null, false, false);
|
||||
}
|
||||
ComponentProperties componentProps = node.getComponentProperties();
|
||||
ProcessPropertiesGenerator generator = new ProcessPropertiesGenerator(cid, component);
|
||||
List<Component.CodegenPropInfo> propsToProcess = component.getCodegenPropInfos(componentProps);
|
||||
for (Component.CodegenPropInfo propInfo : propsToProcess) { // propInfo
|
||||
List<NamedThing> properties = propInfo.props.getProperties();
|
||||
for (NamedThing prop : properties) { // property
|
||||
if (prop instanceof Property) { // if, only deal with valued Properties
|
||||
Property property = (Property)prop;
|
||||
if (property.getFlags() != null && (property.getFlags().contains(Property.Flags.DESIGN_TIME_ONLY) || property.getFlags().contains(Property.Flags.HIDDEN)))
|
||||
continue;
|
||||
if(property.getTaggedValue(IGenericConstants.DYNAMIC_PROPERTY_VALUE)!=null && Boolean.valueOf(String.valueOf(property.getTaggedValue(IGenericConstants.DYNAMIC_PROPERTY_VALUE)))) {
|
||||
generator.setPropertyValues(property, propInfo, null, false, false);
|
||||
}
|
||||
} // property
|
||||
} // propInfo
|
||||
|
||||
%>
|
||||
org.apache.avro.generic.IndexedRecord data_<%=cid%> = incomingEnforcer_<%=cid%>.getCurrentRecord();
|
||||
|
||||
<%
|
||||
boolean isParallelize ="true".equalsIgnoreCase(ElementParameterParser.getValue(node, "__PARALLELIZE__"));
|
||||
if (isParallelize) {
|
||||
String sourceComponentId = inputConn.getSource().getUniqueName();
|
||||
if(sourceComponentId!=null && sourceComponentId.contains("tAsyncIn")) {
|
||||
%>
|
||||
globalMap.put(buffersSizeKey_<%=cid%>, buffersSize_<%=sourceComponentId%>);
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
}
|
||||
} // property
|
||||
} // propInfo
|
||||
|
||||
%>
|
||||
org.apache.avro.generic.IndexedRecord data_<%=cid%> = incomingEnforcer_<%=cid%>.getCurrentRecord();
|
||||
|
||||
<%
|
||||
boolean isParallelize ="true".equalsIgnoreCase(ElementParameterParser.getValue(node, "__PARALLELIZE__"));
|
||||
if (isParallelize) {
|
||||
String sourceComponentId = inputConn.getSource().getUniqueName();
|
||||
if(sourceComponentId!=null && sourceComponentId.contains("tAsyncIn")) {
|
||||
%>
|
||||
globalMap.put(buffersSizeKey_<%=cid%>, buffersSize_<%=sourceComponentId%>);
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
||||
writer_<%=cid%>.write(data_<%=cid%>);
|
||||
|
||||
nb_line_<%=cid %>++;
|
||||
<%if(hasMainOutput){
|
||||
%>
|
||||
if(!(writer_<%=cid%> instanceof org.talend.components.api.component.runtime.WriterWithFeedback)) {
|
||||
// For no feedback writer,just pass the input record to the output
|
||||
if (data_<%=cid%>!=null) {
|
||||
outgoingMainRecordsList_<%=cid%> = java.util.Arrays.asList(data_<%=cid%>);
|
||||
}
|
||||
}
|
||||
<%
|
||||
}
|
||||
writer_<%=cid%>.write(data_<%=cid%>);
|
||||
|
||||
nb_line_<%=cid %>++;
|
||||
<%if(hasMainOutput){
|
||||
%>
|
||||
if(!(writer_<%=cid%> instanceof org.talend.components.api.component.runtime.WriterWithFeedback)) {
|
||||
// For no feedback writer,just pass the input record to the output
|
||||
if (data_<%=cid%>!=null) {
|
||||
outgoingMainRecordsList_<%=cid%> = java.util.Arrays.asList(data_<%=cid%>);
|
||||
}
|
||||
}
|
||||
<%
|
||||
}
|
||||
}
|
||||
} // canStart
|
||||
|
||||
@@ -258,76 +258,80 @@
|
||||
|
||||
com.google.api.services.bigquery.model.JobConfiguration config_<%=cid%> = new com.google.api.services.bigquery.model.JobConfiguration();
|
||||
com.google.api.services.bigquery.model.JobConfigurationLoad queryLoad_<%=cid%> = new com.google.api.services.bigquery.model.JobConfigurationLoad();
|
||||
com.google.api.services.bigquery.model.TableSchema schema_<%=cid%> = new com.google.api.services.bigquery.model.TableSchema();
|
||||
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
log.info("<%=cid%> - Table field schema:");
|
||||
<%
|
||||
}
|
||||
%>
|
||||
java.util.List<com.google.api.services.bigquery.model.TableFieldSchema> fields_<%=cid%> = new java.util.ArrayList<com.google.api.services.bigquery.model.TableFieldSchema>();
|
||||
<%
|
||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||
if ((metadatas!=null) && (metadatas.size() > 0)) {
|
||||
IMetadataTable metadata = metadatas.get(0);
|
||||
if (metadata != null) {
|
||||
List<IMetadataColumn> columns = metadata.getListColumns();
|
||||
int nbColumns = columns.size();
|
||||
for (int i = 0; i < nbColumns; i++ ) {
|
||||
IMetadataColumn column = columns.get(i);
|
||||
String columnName = column.getLabel();
|
||||
String typeToGenerate = "string";
|
||||
if("id_Float".equals(column.getTalendType()) || "id_Double".equals(column.getTalendType())) {
|
||||
typeToGenerate = "float";
|
||||
}else if("id_Integer".equals(column.getTalendType()) || "id_Long".equals(column.getTalendType()) || "id_Short".equals(column.getTalendType())) {
|
||||
typeToGenerate = "integer";
|
||||
} else if("id_Character".equals(column.getTalendType())) {
|
||||
typeToGenerate = "string";
|
||||
} else if("id_BigDecimal".equals(column.getTalendType())) {
|
||||
typeToGenerate = "numeric";
|
||||
} else if("id_Boolean".equals(column.getTalendType())) {
|
||||
typeToGenerate = "boolean";
|
||||
} else if("id_Date".equals(column.getTalendType())) {
|
||||
String pattern = column.getPattern();
|
||||
if(pattern.length() == 12 || pattern.isEmpty() || "\"\"".equals(pattern)) {
|
||||
typeToGenerate = "date";
|
||||
}else if(pattern.length() > 12){
|
||||
typeToGenerate = "timestamp";
|
||||
}else{
|
||||
typeToGenerate = "string";
|
||||
}
|
||||
}
|
||||
%>
|
||||
<%
|
||||
String modeType = null;
|
||||
if (!column.isNullable()) {
|
||||
modeType = "REQUIRED";
|
||||
} else {
|
||||
modeType = "NULLABLE";
|
||||
|
||||
if (<%=ElementParameterParser.getBooleanValue(node, "__CREATE_TABLE_IF_NOT_EXIST__")%>) {
|
||||
com.google.api.services.bigquery.model.TableSchema schema_<%=cid%> = new com.google.api.services.bigquery.model.TableSchema();
|
||||
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
log.info("<%=cid%> - Table field schema:");
|
||||
<%
|
||||
}
|
||||
%>
|
||||
java.util.List<com.google.api.services.bigquery.model.TableFieldSchema> fields_<%=cid%> = new java.util.ArrayList<com.google.api.services.bigquery.model.TableFieldSchema>();
|
||||
<%
|
||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||
if ((metadatas!=null) && (metadatas.size() > 0)) {
|
||||
IMetadataTable metadata = metadatas.get(0);
|
||||
if (metadata != null) {
|
||||
List<IMetadataColumn> columns = metadata.getListColumns();
|
||||
int nbColumns = columns.size();
|
||||
for (int i = 0; i < nbColumns; i++ ) {
|
||||
IMetadataColumn column = columns.get(i);
|
||||
String columnName = column.getLabel();
|
||||
String typeToGenerate = "string";
|
||||
if("id_Float".equals(column.getTalendType()) || "id_Double".equals(column.getTalendType())) {
|
||||
typeToGenerate = "float";
|
||||
}else if("id_Integer".equals(column.getTalendType()) || "id_Long".equals(column.getTalendType()) || "id_Short".equals(column.getTalendType())) {
|
||||
typeToGenerate = "integer";
|
||||
} else if("id_Character".equals(column.getTalendType())) {
|
||||
typeToGenerate = "string";
|
||||
} else if("id_BigDecimal".equals(column.getTalendType())) {
|
||||
typeToGenerate = "numeric";
|
||||
} else if("id_Boolean".equals(column.getTalendType())) {
|
||||
typeToGenerate = "boolean";
|
||||
} else if("id_Date".equals(column.getTalendType())) {
|
||||
String pattern = column.getPattern();
|
||||
if(pattern.length() == 12 || pattern.isEmpty() || "\"\"".equals(pattern)) {
|
||||
typeToGenerate = "date";
|
||||
}else if(pattern.length() > 12){
|
||||
typeToGenerate = "timestamp";
|
||||
}else{
|
||||
typeToGenerate = "string";
|
||||
}
|
||||
}
|
||||
%>
|
||||
<%
|
||||
String modeType = null;
|
||||
if (!column.isNullable()) {
|
||||
modeType = "REQUIRED";
|
||||
} else {
|
||||
modeType = "NULLABLE";
|
||||
}
|
||||
%>
|
||||
com.google.api.services.bigquery.model.TableFieldSchema <%=columnName%>_<%=cid%> = new com.google.api.services.bigquery.model.TableFieldSchema();
|
||||
<%=columnName%>_<%=cid%>.setName("<%=columnName%>");
|
||||
<%=columnName%>_<%=cid%>.setType("<%=typeToGenerate%>");
|
||||
<%=columnName%>_<%=cid%>.setMode("<%=modeType%>");
|
||||
fields_<%=cid%>.add(<%=columnName%>_<%=cid%>);
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
log.debug("<%=cid%> - Field index[<%=i%>] {\"name\":\"<%=columnName%>\",\"type\":\"<%=typeToGenerate%>\",\"mode\":\"<%=modeType%>\"}");
|
||||
<%
|
||||
}
|
||||
%>
|
||||
com.google.api.services.bigquery.model.TableFieldSchema <%=columnName%>_<%=cid%> = new com.google.api.services.bigquery.model.TableFieldSchema();
|
||||
<%=columnName%>_<%=cid%>.setName("<%=columnName%>");
|
||||
<%=columnName%>_<%=cid%>.setType("<%=typeToGenerate%>");
|
||||
<%=columnName%>_<%=cid%>.setMode("<%=modeType%>");
|
||||
fields_<%=cid%>.add(<%=columnName%>_<%=cid%>);
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
log.debug("<%=cid%> - Field index[<%=i%>] {\"name\":\"<%=columnName%>\",\"type\":\"<%=typeToGenerate%>\",\"mode\":\"<%=modeType%>\"}");
|
||||
<%
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
%>
|
||||
|
||||
|
||||
|
||||
schema_<%=cid%>.setFields(fields_<%=cid%>);
|
||||
|
||||
queryLoad_<%=cid%>.setSchema(schema_<%=cid%>);
|
||||
schema_<%=cid%>.setFields(fields_<%=cid%>);
|
||||
|
||||
queryLoad_<%=cid%>.setSchema(schema_<%=cid%>);
|
||||
|
||||
}
|
||||
<%
|
||||
if("true".equals(ElementParameterParser.getValue(node, "__CREATE_TABLE_IF_NOT_EXIST__"))) {
|
||||
%>
|
||||
|
||||
@@ -253,6 +253,9 @@ if ("http".equals(protocol) || "https".equals(protocol)) {
|
||||
client_<%=cid %>.getState().setProxyCredentials(
|
||||
new org.apache.commons.httpclient.auth.AuthScope(<%=proxyHost %>, Integer.parseInt(<%=proxyPort%>), null),
|
||||
new org.apache.commons.httpclient.UsernamePasswordCredentials(<%=proxyUser %>, decryptedPassword_<%=cid%>));
|
||||
|
||||
java.util.List<String> authPrefs_<%=cid %> = java.util.Collections.singletonList(org.apache.commons.httpclient.auth.AuthPolicy.BASIC);
|
||||
client_<%=cid %>.getParams().setParameter(org.apache.commons.httpclient.auth.AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs_<%=cid %>);
|
||||
<%}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
SHOW="false"
|
||||
REPOSITORY_VALUE="TYPE"
|
||||
>
|
||||
<DEFAULT>PostgreSQL</DEFAULT>
|
||||
<DEFAULT>PostgresPlus</DEFAULT>
|
||||
</PARAMETER>
|
||||
|
||||
<PARAMETER
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
SHOW="false"
|
||||
REPOSITORY_VALUE="TYPE"
|
||||
>
|
||||
<DEFAULT>PostgreSQL</DEFAULT>
|
||||
<DEFAULT>PostgresPlus</DEFAULT>
|
||||
</PARAMETER>
|
||||
|
||||
<PARAMETER
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
SHOW="false"
|
||||
REPOSITORY_VALUE="TYPE"
|
||||
>
|
||||
<DEFAULT>PostgreSQL</DEFAULT>
|
||||
<DEFAULT>PostgresPlus</DEFAULT>
|
||||
</PARAMETER>
|
||||
|
||||
<PARAMETER
|
||||
|
||||
@@ -8322,15 +8322,13 @@
|
||||
context="plugin:org.talend.libraries.apache"
|
||||
id="logback-classic-1.0.9.jar"
|
||||
mvn_uri="mvn:org.talend.libraries/logback-classic-1.0.9/6.0.0"
|
||||
name="logback-classic-1.0.9.jar"
|
||||
uripath="platform:/plugin/org.talend.libraries.apache/lib/logback-classic-1.0.9.jar">
|
||||
name="logback-classic-1.0.9.jar">
|
||||
</libraryNeeded>
|
||||
<libraryNeeded
|
||||
context="plugin:org.talend.libraries.apache"
|
||||
id="logback-core-1.0.9.jar"
|
||||
mvn_uri="mvn:org.talend.libraries/logback-core-1.0.9/6.0.0"
|
||||
name="logback-core-1.0.9.jar"
|
||||
uripath="platform:/plugin/org.talend.libraries.apache/lib/logback-core-1.0.9.jar">
|
||||
name="logback-core-1.0.9.jar">
|
||||
</libraryNeeded>
|
||||
<libraryNeeded
|
||||
context="plugin:"
|
||||
|
||||
@@ -14,6 +14,7 @@ package org.talend.designer.core.ui.editor.properties.controllers;
|
||||
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -76,6 +77,7 @@ import org.talend.designer.rowgenerator.data.Function;
|
||||
import org.talend.utils.json.JSONArray;
|
||||
import org.talend.utils.json.JSONException;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
import org.talend.utils.sql.TalendTypeConvert;
|
||||
|
||||
import orgomg.cwm.objectmodel.core.TaggedValue;
|
||||
|
||||
@@ -112,6 +114,12 @@ public class ColumnListController extends AbstractElementPropertySectionControll
|
||||
*/
|
||||
private static final String FILTER_PREFIX_CUSTOM = "CUSTOM_COLUMNS:"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* Indicate you want to filter columns by data type
|
||||
* DATA_TYPE:Date,String will only keep Date and String columns
|
||||
*/
|
||||
private static final String FILTER_DATA_TYPE = "DATA_TYPE:"; //$NON-NLS-1$
|
||||
|
||||
private static Logger log = Logger.getLogger(ColumnListController.class);
|
||||
|
||||
private boolean updateColumnListFlag;
|
||||
@@ -778,9 +786,15 @@ public class ColumnListController extends AbstractElementPropertySectionControll
|
||||
}
|
||||
boolean unlimited = !onlyFilterCustom && !onlyFilterNoneCustom;
|
||||
boolean hasReg = false;
|
||||
boolean hasDataTypeFilter = false;
|
||||
List<String> datatypeNameList = null;
|
||||
if (filter.startsWith(FILTER_PREFIX_REGEXP)) {
|
||||
filter = filter.substring(FILTER_PREFIX_REGEXP.length());
|
||||
hasReg = true;
|
||||
} else if (filter.startsWith(FILTER_DATA_TYPE)) {
|
||||
filter = filter.substring(FILTER_DATA_TYPE.length());
|
||||
hasDataTypeFilter = true;
|
||||
datatypeNameList = Arrays.asList(filter.split(FILTER_SEPARATOR));
|
||||
}
|
||||
boolean filterAll = false;
|
||||
if (filter.equals(FILTER_ALL)) {
|
||||
@@ -798,6 +812,17 @@ public class ColumnListController extends AbstractElementPropertySectionControll
|
||||
columnValueList = (String[]) ArrayUtils.removeElement(columnValueList, colName);
|
||||
}
|
||||
}
|
||||
} else if (hasDataTypeFilter && datatypeNameList != null) {
|
||||
IMetadataTable metadataTable = getMetadataTable(param.getElement(), param.getContext());
|
||||
for (String colName : tmpColumnNameList) {
|
||||
IMetadataColumn metadataColumn = metadataTable.getColumn(colName);
|
||||
String dataType = metadataColumn.getTalendType();
|
||||
if (!(datatypeNameList.contains(dataType)
|
||||
|| datatypeNameList.contains(TalendTypeConvert.convertToJavaType(dataType)))) {
|
||||
columnNameList = (String[]) ArrayUtils.removeElement(columnNameList, colName);
|
||||
columnValueList = (String[]) ArrayUtils.removeElement(columnValueList, colName);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (filterAll) {
|
||||
for (String colName : tmpColumnNameList) {
|
||||
@@ -923,28 +948,7 @@ public class ColumnListController extends AbstractElementPropertySectionControll
|
||||
private static List<String> getColumnList(IElement element, String context, Map<String, Boolean> customColMap) {
|
||||
List<String> columnList = new ArrayList<String>();
|
||||
|
||||
IMetadataTable table = null;
|
||||
if (element instanceof INode) {
|
||||
table = ((INode) element).getMetadataFromConnector(context);
|
||||
if (table == null) {
|
||||
List<IMetadataTable> tableList = ((INode) element).getMetadataList();
|
||||
if (tableList.size() == 1) {
|
||||
table = tableList.get(0);
|
||||
} else {
|
||||
for (IMetadataTable itable : tableList) {
|
||||
if (itable.getAttachedConnector() != null && !itable.getAttachedConnector().equals("REJECT")) {
|
||||
table = itable;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if (tableList.size() > 0) {
|
||||
// table = tableList.get(0);
|
||||
// }
|
||||
}
|
||||
} else if (element instanceof IConnection) {
|
||||
table = ((IConnection) element).getMetadataTable();
|
||||
}
|
||||
IMetadataTable table = getMetadataTable(element, context);
|
||||
|
||||
if (table != null) {
|
||||
for (IMetadataColumn column : table.getListColumns()) {
|
||||
@@ -968,6 +972,31 @@ public class ColumnListController extends AbstractElementPropertySectionControll
|
||||
return columnList;
|
||||
}
|
||||
|
||||
private static IMetadataTable getMetadataTable(IElement element, String context) {
|
||||
|
||||
IMetadataTable table = null;
|
||||
if (element instanceof INode) {
|
||||
table = ((INode) element).getMetadataFromConnector(context);
|
||||
if (table == null) {
|
||||
List<IMetadataTable> tableList = ((INode) element).getMetadataList();
|
||||
if (tableList.size() == 1) {
|
||||
table = tableList.get(0);
|
||||
} else {
|
||||
for (IMetadataTable itable : tableList) {
|
||||
if (itable.getAttachedConnector() != null && !itable.getAttachedConnector().equals("REJECT")) {
|
||||
table = itable;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (element instanceof IConnection) {
|
||||
table = ((IConnection) element).getMetadataTable();
|
||||
}
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
private static List<String> getPrevColumnList(INode node, Map<String, Boolean> customColMap) {
|
||||
List<String> columnList = new ArrayList<String>();
|
||||
|
||||
|
||||
@@ -384,7 +384,6 @@ public class UpdateDetectionDialog extends SelectionDialog {
|
||||
tree.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
addViewerListener();
|
||||
createColumns(tree);
|
||||
helper.selectAll(true);
|
||||
return composite;
|
||||
}
|
||||
|
||||
|
||||
@@ -450,7 +450,7 @@ public final class UpdateManagerUtils {
|
||||
} else {
|
||||
((ProcessItem) item).setProcess(processType);
|
||||
}
|
||||
factory.save(item);
|
||||
factory.save(item, true);
|
||||
} catch (IOException e) {
|
||||
ExceptionHandler.process(e);
|
||||
} catch (PersistenceException e) {
|
||||
|
||||
@@ -61,4 +61,7 @@ NameSpaceDialog.prefixInvalid=Prefix value is invalid\!
|
||||
|
||||
Schema2XMLDragAndDropHandler.HasChildrenWarning=has element children, can not have linker.
|
||||
Schema2XMLDragAndDropHandler.IsRootWarning=is root, can not have linker.
|
||||
Schema2XMLDragAndDropHandler.IsNotElementWarning=isn't a Element, can not create sub-elements or attributes.
|
||||
Schema2XMLDragAndDropHandler.IsNotElementWarning=isn't a Element, can not create sub-elements or attributes.
|
||||
|
||||
ImportTreeFromXMLAction.ImportSchemaNotExistError=Required reference schema files are missing.
|
||||
ImportTreeFromXMLAction.schemaFileNotExistDetailTitle=The following files do not exist:
|
||||
@@ -14,6 +14,7 @@ package org.talend.designer.fileoutputxml.action;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jface.dialogs.IDialogConstants;
|
||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||
@@ -24,9 +25,11 @@ import org.eclipse.ui.actions.SelectionProviderAction;
|
||||
import org.eclipse.xsd.XSDSchema;
|
||||
import org.talend.commons.runtime.xml.XmlUtil;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.ui.swt.dialogs.ErrorDialogWidthDetailArea;
|
||||
import org.talend.datatools.xml.utils.ATreeNode;
|
||||
import org.talend.datatools.xml.utils.SchemaPopulationUtil;
|
||||
import org.talend.datatools.xml.utils.XSDPopulationUtil2;
|
||||
import org.talend.designer.fileoutputxml.i18n.Messages;
|
||||
import org.talend.designer.fileoutputxml.ui.FOXUI;
|
||||
import org.talend.metadata.managment.ui.dialog.RootNodeSelectDialog;
|
||||
import org.talend.metadata.managment.ui.wizard.metadata.xml.node.Attribute;
|
||||
@@ -43,6 +46,8 @@ import org.talend.metadata.managment.ui.wizard.metadata.xml.utils.TreeUtil;
|
||||
*/
|
||||
public class ImportTreeFromXMLAction extends SelectionProviderAction {
|
||||
|
||||
private static final String LINEFEED = "\n";//$NON-NLS-1$
|
||||
|
||||
// the xml viewer, see FOXUI.
|
||||
private TreeViewer xmlViewer;
|
||||
|
||||
@@ -172,19 +177,32 @@ public class ImportTreeFromXMLAction extends SelectionProviderAction {
|
||||
try {
|
||||
if (XmlUtil.isXSDFile(filePath)) {
|
||||
XSDSchema xsdSchema = TreeUtil.getXSDSchema(filePath);
|
||||
List<ATreeNode> list = new XSDPopulationUtil2().getAllRootNodes(xsdSchema);
|
||||
if (list.size() > 1) {
|
||||
RootNodeSelectDialog dialog = new RootNodeSelectDialog(xmlViewer.getControl().getShell(), list);
|
||||
if (dialog.open() == IDialogConstants.OK_ID) {
|
||||
ATreeNode selectedNode = dialog.getSelectedNode();
|
||||
newInput = TreeUtil.getFoxTreeNodesByRootNode(xsdSchema, selectedNode);
|
||||
changed = true;
|
||||
} else {
|
||||
changed = false;
|
||||
|
||||
// check if there have some (<xs:import>) import reference schema xsd file don't exist
|
||||
Set<String> notExistImportSchema = TreeUtil.getNotExistImportSchema(filePath, xsdSchema);
|
||||
if (!notExistImportSchema.isEmpty()) {
|
||||
StringBuffer detail = new StringBuffer();
|
||||
detail.append(Messages.getString("ImportTreeFromXMLAction.schemaFileNotExistDetailTitle")).append(LINEFEED);//$NON-NLS-1$
|
||||
for (String xsdfilePath : notExistImportSchema) {
|
||||
detail.append(xsdfilePath).append(LINEFEED);
|
||||
}
|
||||
new ErrorDialogWidthDetailArea(xmlViewer.getControl().getShell(), Messages.PLUGIN_ID,
|
||||
Messages.getString("ImportTreeFromXMLAction.ImportSchemaNotExistError"), detail.toString());//$NON-NLS-1$
|
||||
}else {
|
||||
List<ATreeNode> list = new XSDPopulationUtil2().getAllRootNodes(xsdSchema);
|
||||
if (list.size() > 1) {
|
||||
RootNodeSelectDialog dialog = new RootNodeSelectDialog(xmlViewer.getControl().getShell(), list);
|
||||
if (dialog.open() == IDialogConstants.OK_ID) {
|
||||
ATreeNode selectedNode = dialog.getSelectedNode();
|
||||
newInput = TreeUtil.getFoxTreeNodesByRootNode(xsdSchema, selectedNode);
|
||||
changed = true;
|
||||
} else {
|
||||
changed = false;
|
||||
}
|
||||
} else {
|
||||
newInput = TreeUtil.getFoxTreeNodesByRootNode(xsdSchema, list.get(0));
|
||||
changed = true;
|
||||
}
|
||||
} else {
|
||||
newInput = TreeUtil.getFoxTreeNodesByRootNode(xsdSchema, list.get(0));
|
||||
changed = true;
|
||||
}
|
||||
} else {
|
||||
newInput = treeNodeAdapt(filePath);
|
||||
|
||||
@@ -26,7 +26,7 @@ public class Messages extends MessagesCore {
|
||||
|
||||
private static final String BUNDLE_NAME = "messages"; //$NON-NLS-1$
|
||||
|
||||
private static final String PLUGIN_ID = "org.talend.designer.fileoutputxml"; //$NON-NLS-1$
|
||||
public static final String PLUGIN_ID = "org.talend.designer.fileoutputxml"; //$NON-NLS-1$
|
||||
|
||||
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
|
||||
|
||||
|
||||
@@ -1180,7 +1180,12 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
list.addAll(Arrays.asList(cmd2));
|
||||
return list.toArray(new String[0]);
|
||||
} else {
|
||||
return cmd2;
|
||||
List<String> asList = convertArgsToList(cmd2);
|
||||
if ((!isExternalUse() && isStandardJob()) || isGuessSchemaJob(property)) {
|
||||
String localM2Path = "-Dtalend.component.manager.m2.repository=\"" + PomUtil.getLocalRepositoryPath() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
asList.add(3, localM2Path);
|
||||
}
|
||||
return asList.toArray(new String[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Talend Open Studio for Data Integration
|
||||
Copyright (c) 2006 - 2017 Talend Inc. - www.talend.com
|
||||
Copyright (c) 2006-2019 Talend Inc. - www.talend.com
|
||||
All rights reserved.
|
||||
|
||||
|
||||
@@ -21,565 +21,565 @@ The Eclipse Foundation (http://www.eclipse.org).
|
||||
Licensed under the Eclipse Public License - v1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
ASM Helper Minidev.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
AWS SDK Java (https://github.com/aws/aws-sdk-java).
|
||||
Licensed under Apache-2.0
|
||||
© 2016, Amazon Web Services
|
||||
(C) 2016, Amazon Web Services
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Amazon Aws Libraries.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Amazon SDK for Java (https://aws.amazon.com/sdkforjava).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Amazon-S3 (https://github.com/aws/aws-sdk-java/blob/master/LICENSE.txt).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
AtInject (https://code.google.com/p/atinject/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Avro MapReduce.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Box Java SDK (V2) (https://github.com/box/box-java-sdk-v2/blob/master/LICENSE).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
CSV Tools.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Castor.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Ehcache.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Ezmorph.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Google APIs Client Library for Java.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Google Gson (https://code.google.com/p/google-gson/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Groovy.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Guava (https://github.com/google/guava).
|
||||
Licensed under Apache-2.0
|
||||
Copyright (C) 2010 The Guava Authors
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Guava (https://github.com/google/guava/blob/master/COPYING).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Guava: Google Core Libraries for Java (https://code.google.com/p/guava-libraries/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Guava: Google Core Libraries for Java 1.6+ (https://code.google.com/p/guava-libraries/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Guava: Google Core Libraries for Java 1.6+.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Hadoop Libraries.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Hadoop Libraries (Retrieved from CDH3u0. LICENSE.txt explains that Zookeeper is distributed under Apache License 2.0).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Ini4j.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
JClouds.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackcess (http://jackcess.sourceforge.net/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson JSON Processor (http://wiki.fasterxml.com/JacksonLicensing).
|
||||
Licensed under Apache-2.0
|
||||
Copyright © 2012-2013 FasterXML.
|
||||
Copyright (C) 2012-2013 FasterXML.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson JSON processor.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson Java JSON-processor.
|
||||
Licensed under Apache-2.0
|
||||
Copyright ©2009 FasterXML, LLC
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson Java JSON-processor.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson Libraries.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jasypt : Java Simplified Encryption.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
JetS3t.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jettison.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Joda Time.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Joda-Time (http://www.joda.org/joda-time/).
|
||||
Licensed under Apache-2.0
|
||||
Copyright ©2002-2016 Joda.org
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Joda-Time (http://www.joda.org/joda-time/).
|
||||
Licensed under Apache-2.0
|
||||
Copyright ©2002-2015 Joda.org
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Joda-Time.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Json Simple (https://code.google.com/p/json-simple/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Json-Simple (https://github.com/fangyidong/json-simple).
|
||||
Licensed under Apache-2.0
|
||||
Yidong Fang
|
||||
Chris Nokleberg
|
||||
Dave Hughes
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Lucene Core.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
MarkLogic Java Client API.
|
||||
Licensed under Apache-2.0
|
||||
Copyright 2012-2015 MarkLogic Corporation
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Microsoft Azure SDK for Java (https://github.com/Azure/azure-sdk-for-java).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
OpenSAML (https://wiki.shibboleth.net/confluence/display/OpenSAML/Home/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Plexus (https://codehaus-plexus.github.io/index.html).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Resty : A simple HTTP REST client for Java.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Rocoto (http://99soft.github.io/rocoto/index.html
|
||||
).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Sisu Guice (https://github.com/sonatype/sisu-guice).
|
||||
Licensed under Apache-2.0
|
||||
Copyright (c) 2006 Google, Inc. All rights reserved.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Sonatype Plexus (https://github.com/sonatype?utf8=%E2%9C%93&query=plexus).
|
||||
Licensed under Apache-2.0
|
||||
Copyright The Codehaus Foundation.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Spring.
|
||||
Licensed under Apache-2.0
|
||||
Pivotal Software Inc. / The original author or authors
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SshJ (https://github.com/shikhar/sshj/blob/master/LICENSE).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
StAX API.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
StAXON - JSON via StAX (https://github.com/beckchr/staxon/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Talend ESB Libraries.
|
||||
Licensed under Apache-2.0
|
||||
Talend
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
WSS4J.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Woden.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Woodstox.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XMLSchema.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Xerces2 Java Parser.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XmlBeans.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XmlSchema Core.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Zip4J.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
google-gson.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
google-guice (https://code.google.com/p/google-guice/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
json-path (https://code.google.com/p/json-path/).
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
json-smart.
|
||||
Licensed under Apache-2.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jetty (http://www.eclipse.org/jetty/).
|
||||
Licensed under Apache-2.0;EPL-1.0
|
||||
Copyright © 2016 The Eclipse Foundation.
|
||||
Copyright (C) 2016 The Eclipse Foundation.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jetty.
|
||||
Licensed under Apache-2.0;EPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jetty (http://www.eclipse.org/jetty/licenses.php).
|
||||
Licensed under Apache-2.0;EPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jackson Java JSON-processor.
|
||||
Licensed under Apache-2.0;LGPL-2.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Woodstox : High-performance XML processor (http://woodstox.codehaus.org/ http://woodstox.codehaus.org/Download).
|
||||
Licensed under Apache-2.0;LGPL-2.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Woodstox : High-performance XML processor (http://woodstox.codehaus.org).
|
||||
Licensed under Apache-2.0;LGPL-2.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Cryptacular.
|
||||
Licensed under Apache-2.0;LGPL-3.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SqliteJDBC.
|
||||
Licensed under BSD-2-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
ASM.
|
||||
Licensed under BSD-3-Clause
|
||||
INRIA
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
AntlR.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Antlr 3 Runtime.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Force.com Web Service Connector (WSC).
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Ganymed SSH-2 for Java.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
HsqlDB.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jaxen.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Paraccel JDBC Driver.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
PostgreSQL JDBC Driver.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Salesforce.com (http://www.force.com).
|
||||
Licensed under BSD-3-Clause
|
||||
Copyright (c) 2005-2013, salesforce.com
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Scala (http://www.scala-lang.org/).
|
||||
Licensed under BSD-3-Clause
|
||||
Copyright (c) 2002-2016 EPFL; Copyright (c) 2011-2016 Lightbend, Inc. (formerly Typesafe, Inc.)
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XStream (http://xstream.codehaus.org/license.html).
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XStream.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
XStream Core.
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
jsr-305 (JSR 305: Annotations for Software Defect Detection in Java;https://code.google.com/p/jsr-305/).
|
||||
Licensed under BSD-3-Clause
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Java API for RESTful Services.
|
||||
Licensed under CDDL-1.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Java API for RESTful Services (http://grepcode.com/snapshot/repo1.maven.org/maven2/javax.ws.rs/javax.ws.rs-api/2.0-m10).
|
||||
Licensed under CDDL-1.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jaxb.
|
||||
Licensed under CDDL-1.1;GPL-2.0-with-classpath-exception
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
WSDL4J.
|
||||
Licensed under CPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Aether (http://www.eclipse.org/aether/).
|
||||
Licensed under EPL-1.0
|
||||
Copyright (c) 2010, 2014 Sonatype, Inc.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Eclipse Sisu.
|
||||
Licensed under EPL-1.0
|
||||
Copyright (c) 2010, 2015 Sonatype, Inc.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
H2 Embedded Database and JDBC Driver (H2 is EPL 1.0 !).
|
||||
Licensed under EPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Jetty.
|
||||
Licensed under EPL-1.0
|
||||
Copyright (c) ${copyright-range} Mort Bay Consulting Pty. Ltd.
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Mondrian.
|
||||
Licensed under EPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SWTChart.
|
||||
Licensed under EPL-1.0
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Logback.
|
||||
Licensed under EPL-1.0;LGPL-2.1
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Java Json (http://www.json.org/license.html).
|
||||
Licensed under Json
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
org-json-java.
|
||||
Licensed under Json
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
AOP Alliance (Java/J2EE AOP standards) (http://aopalliance.sourceforge.net/).
|
||||
Licensed under Public Domain
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Simple API for CSS.
|
||||
Licensed under W3C
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
BCProv.
|
||||
Licensed under X11
|
||||
Copyright (c) 2000 - 2016 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
BouncyCastle.
|
||||
Licensed under X11
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SL4J.
|
||||
Licensed under X11
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SL4J (http://www.slf4j.org/license.html).
|
||||
Licensed under X11
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
SL4J.
|
||||
Licensed under X11
|
||||
Copyright (c) 2004-2013 QOS.ch
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Simple Logging Facade for Java (http://www.slf4j.org/license.html).
|
||||
Licensed under X11
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
Simple Logging Facade for Java.
|
||||
Licensed under X11
|
||||
|
||||
|
||||
This product includes software developed at
|
||||
This product includes software developed at
|
||||
dropbox-sdk-java : Java library for the Dropbox Core API.
|
||||
Licensed under X11
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2006 - 2019 Talend Inc. - www.talend.com
|
||||
Copyright (c) 2006-2019 Talend Inc. - www.talend.com
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -974,9 +974,7 @@ public class RepositoryService implements IRepositoryService, IRepositoryContext
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
Shell shell = DisplayUtils.getDefaultShell(false);
|
||||
retry.set(askRetryForNetworkIssueInDialog(shell, ex));
|
||||
shell.dispose();
|
||||
retry.set(askRetryForNetworkIssueInDialog(null, ex));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -374,7 +374,7 @@ public class ImportProjectHelper {
|
||||
while (childrenEnum.hasNext()) {
|
||||
Object child = childrenEnum.next();
|
||||
if (level < 1) {
|
||||
if (provider.isFolder(child)) {
|
||||
if (provider.isFolder(child) && !".svnlog".equals(provider.getLabel(child))) { // $NON-NLS-1$
|
||||
collectProjectFilesFromProvider(files, provider, child, level + 1, monitor, searchFileName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.eclipse.jface.viewers.Viewer;
|
||||
import org.talend.core.model.metadata.MetadataTable;
|
||||
import org.talend.core.model.metadata.Query;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.repository.model.IRepositoryNode.ENodeType;
|
||||
import org.talend.repository.model.RepositoryNode;
|
||||
|
||||
/**
|
||||
@@ -56,6 +57,9 @@ public class QueryTypeProcessor extends SingleTypeProcessor {
|
||||
if (isCDCConnection(node)) {
|
||||
return false;
|
||||
}
|
||||
if (node.getType() == ENodeType.STABLE_SYSTEM_FOLDER) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -769,6 +769,7 @@ public class JobJavaScriptOSGIForESBManager extends JobJavaScriptsManager {
|
||||
Manifest manifest = null;
|
||||
try {
|
||||
manifest = analyzer.calcManifest();
|
||||
filterImportPackages(manifest);
|
||||
} catch (IOException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
@@ -792,6 +793,38 @@ public class JobJavaScriptOSGIForESBManager extends JobJavaScriptsManager {
|
||||
|
||||
return manifest;
|
||||
}
|
||||
|
||||
private void filterImportPackages(Manifest manifest) {
|
||||
|
||||
// remove import packages which are present in private packages
|
||||
|
||||
List<String> privatePackages = new ArrayList<String>();
|
||||
String privatePackagesString = manifest.getMainAttributes().getValue(Analyzer.PRIVATE_PACKAGE);
|
||||
if (privatePackagesString != null) {
|
||||
String [] packages = privatePackagesString.split(",");
|
||||
for (String p : packages) {
|
||||
privatePackages.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder fileterdImportPackage = new StringBuilder();
|
||||
String importPackagesString = manifest.getMainAttributes().getValue(Analyzer.IMPORT_PACKAGE);
|
||||
if (importPackagesString != null) {
|
||||
String [] packages = importPackagesString.split(",");
|
||||
for (String p : packages) {
|
||||
String importPackage = p.split(";")[0];
|
||||
if (!privatePackages.contains(importPackage) || importPackage.startsWith("routines")) {
|
||||
fileterdImportPackage.append(p).append(",");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String str = fileterdImportPackage.toString();
|
||||
if (str != null && str.length() > 0 && str.endsWith(",")) {
|
||||
str = str.substring(0, str.length() - 1);
|
||||
}
|
||||
manifest.getMainAttributes().putValue(Analyzer.IMPORT_PACKAGE, str);
|
||||
}
|
||||
|
||||
protected Analyzer createAnalyzer(ExportFileResource libResource, ProcessItem processItem) throws IOException {
|
||||
Analyzer analyzer = new Analyzer();
|
||||
|
||||
11
pom.xml
11
pom.xml
@@ -165,6 +165,17 @@
|
||||
<version>${tycho.version}</version>
|
||||
<extensions>true</extensions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>2.8.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-deploy</id>
|
||||
<phase>none</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
Reference in New Issue
Block a user