Compare commits

...

7 Commits

8 changed files with 25 additions and 13 deletions

View File

@@ -6,6 +6,7 @@
<dbType type="Binary" ignoreLen="true" ignorePre="true" />
<dbType type="Collection" ignorePre="true" />
<dbType type="DateTimeOffset" ignorePre="true" ignoreLen="true"/>
<dbType type="Date" ignorePre="true" ignoreLen="true"/>
<dbType type="Decimal" defaultLength="20" defaultPrecision="10" preBeforelen="false" />
<dbType type="Double" defaultLength="20" defaultPrecision="10" />
<dbType type="Guid" ignorePre="true" default="true" defaultLength="100" />
@@ -28,6 +29,7 @@
<talendType type="id_Character" />
<talendType type="id_Date">
<dbType type="DateTimeOffset" default="true" />
<dbType type="Date" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="Decimal" default="true" />
@@ -62,6 +64,9 @@
<dbType type="DateTimeOffset">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="Date">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="Decimal">
<talendType type="id_BigDecimal" default="true" />
</dbType>

View File

@@ -33,7 +33,7 @@ public class JobInfo {
private IContext context;
boolean applyContextToChildren = false;
boolean applyContextToChildren = Boolean.getBoolean("force_context_applychildren");
private ProcessItem processItem;

View File

@@ -166,12 +166,16 @@ public class StringUtils {
}
}
int resultSize = substrings.size();
String[] result = substrings.toArray(new String[resultSize]);
while (resultSize > 0 && substrings.get(resultSize - 1).equals("")) {
resultSize--;
resultSize--;
// Setting data to null for empty string in last columns to keep original behavior
result[resultSize] = null;
}
String[] result = new String[resultSize];
return substrings.subList(0, resultSize).toArray(result);
return result;
}
/**

View File

@@ -201,7 +201,6 @@ public abstract class ShareLibrareisHelper {
try {
deployToLocalMaven(deployer, file, next);
deployer.installToRemote(file, artifact, artifact.getType());
deployer.installToRemote(pomFile, artifact, MavenConstants.PACKAGING_POM);
mainSubMonitor.worked(1);
} catch (Exception e) {
ExceptionHandler.process(new Exception("Share libraries :" + name + " failed !", e));

View File

@@ -360,11 +360,12 @@ public class ExtractManager {
// StringUtils.trimToEmpty(name) is because bug 4547
if (name != null && StringUtils.trimToEmpty(name).equals(ETableTypes.TABLETYPE_SYNONYM.getName())) {
String tableName = getTableNameBySynonyms(extractMeta.getConn(), newNode.getValue());
String nodeValue = newNode.getValue();
String tableName = getTableNameBySynonyms(extractMeta.getConn(), nodeValue);
if (tableName != null && tableName.contains("/")) {
tableName = tableName.replace("/", "");
}
fillSynonyms(metadataConnection, metadataColumns, table, tableName, dbMetaData);
fillSynonyms(metadataConnection, metadataColumns, table, tableName, nodeValue, dbMetaData);
} else {
EDatabaseTypeName currentEDatabaseType = EDatabaseTypeName.getTypeFromDbType(metadataConnection.getDbType());
metadataColumns = MetadataFillFactory.getDBInstance(currentEDatabaseType).fillColumns(table, metadataConnection,
@@ -437,7 +438,7 @@ public class ExtractManager {
* @throws SQLException
*/
protected void fillSynonyms(IMetadataConnection metadataConnection, List<TdColumn> metadataColumns, NamedColumnSet table,
String tableName, DatabaseMetaData dbMetaData) throws SQLException {
String tableName, String synonymName, DatabaseMetaData dbMetaData) throws SQLException {
// nothing to do by default
}

View File

@@ -34,6 +34,7 @@ import org.talend.cwm.helper.ColumnHelper;
import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.relational.TdColumn;
import org.talend.metadata.managment.utils.ManagementTextUtils;
import orgomg.cwm.resource.relational.NamedColumnSet;
/**
@@ -102,7 +103,7 @@ public class IBMDB2ExtractManager extends ExtractManager {
@Override
protected void fillSynonyms(IMetadataConnection metadataConnection, List<TdColumn> metadataColumns, NamedColumnSet table,
String tableName, DatabaseMetaData dbMetaData) throws SQLException {
String tableName, String synonymName, DatabaseMetaData dbMetaData) throws SQLException {
if (metadataConnection == null || dbMetaData == null) {
return;
}

View File

@@ -36,6 +36,7 @@ import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.relational.TdColumn;
import org.talend.metadata.managment.utils.ManagementTextUtils;
import org.talend.utils.sql.metadata.constants.GetColumn;
import orgomg.cwm.resource.relational.NamedColumnSet;
/**
@@ -90,7 +91,7 @@ public class MSSQLExtractManager extends ExtractManager {
@Override
protected void fillSynonyms(IMetadataConnection metadataConnection, List<TdColumn> metadataColumns, NamedColumnSet table,
String tableName, DatabaseMetaData dbMetaData) throws SQLException {
String tableName, String synonymName, DatabaseMetaData dbMetaData) throws SQLException {
if (metadataConnection == null || dbMetaData == null) {
return;
}

View File

@@ -45,6 +45,7 @@ import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.relational.TdColumn;
import org.talend.metadata.managment.utils.ManagementTextUtils;
import org.talend.utils.sql.metadata.constants.GetColumn;
import orgomg.cwm.resource.relational.NamedColumnSet;
import orgomg.cwm.resource.relational.Schema;
@@ -163,7 +164,7 @@ public class OracleExtractManager extends ExtractManager {
@Override
protected void fillSynonyms(IMetadataConnection metadataConnection, List<TdColumn> metadataColumns, NamedColumnSet table,
String tableName, DatabaseMetaData dbMetaData) throws SQLException {
String tableName, String synonymName, DatabaseMetaData dbMetaData) throws SQLException {
if (metadataConnection == null || dbMetaData == null) {
return;
}
@@ -172,8 +173,8 @@ public class OracleExtractManager extends ExtractManager {
// need to retrieve columns of synonym by useing sql rather than get them from jdbc metadata
String synSQL = "SELECT all_tab_columns.*\n" + "FROM all_tab_columns\n" + "LEFT OUTER JOIN all_synonyms\n"
+ "ON all_tab_columns.TABLE_NAME = all_synonyms.TABLE_NAME\n"
+ "AND ALL_SYNONYMS.TABLE_OWNER = all_tab_columns.OWNER\n" + "WHERE all_synonyms.SYNONYM_NAME =" + "\'"
+ tableName + "\'\n";
+ "AND ALL_SYNONYMS.TABLE_OWNER = all_tab_columns.OWNER\n" + "WHERE all_synonyms.SYNONYM_NAME =" + "\'"
+ synonymName + "\'\n";
// bug TDI-19382
if (!("").equals(metadataConnection.getSchema())) {
synSQL += "and all_synonyms.OWNER =\'" + metadataConnection.getSchema() + "\'";