use of org.talend.utils.sugars.TypedReturnCode in project tdq-studio-se by Talend.
the class UniquePkAndFkTask method getTables.
private TypedReturnCode<List<TdTable>> getTables(ModelElement element) {
TypedReturnCode<List<TdTable>> returnCode = new TypedReturnCode<List<TdTable>>(false);
List<TdTable> tableList = new ArrayList<TdTable>();
returnCode.setObject(tableList);
if (element == null)
return returnCode;
if (element instanceof Catalog) {
for (ModelElement subElement : ((Catalog) element).getOwnedElement()) {
TypedReturnCode<List<TdTable>> newreturnCode = getTables(subElement);
tableList.addAll(newreturnCode.getObject());
if (newreturnCode.isOk()) {
returnCode.setOk(newreturnCode.isOk());
}
}
} else if (element instanceof Schema) {
for (ModelElement subElement : ((Schema) element).getOwnedElement()) {
TypedReturnCode<List<TdTable>> newreturnCode = getTables(subElement);
tableList.addAll(newreturnCode.getObject());
if (newreturnCode.isOk()) {
returnCode.setOk(newreturnCode.isOk());
}
}
} else if (element instanceof TdTable) {
tableList.add((TdTable) element);
if (checkPkAndFk((TdTable) element)) {
returnCode.setOk(true);
}
}
return returnCode;
}
use of org.talend.utils.sugars.TypedReturnCode in project tdq-studio-se by Talend.
the class ExportConnectionToTOSAction method fillCatalogSchema.
/**
* DOC gdbu Comment method "fillCatalogSchema".
*
* @deprecated Won't be used.
* @param tdDataProvider
*/
@Deprecated
protected DatabaseConnection fillCatalogSchema(IMetadataConnection newMetadataConn) {
MetadataFillFactory instance = MetadataFillFactory.getDBInstance(newMetadataConn);
ReturnCode rc = instance.createConnection(newMetadataConn);
DatabaseConnection dbConn = null;
if (rc.isOk()) {
dbConn = (DatabaseConnection) instance.fillUIConnParams(newMetadataConn, null);
DatabaseMetaData dbMetadata = null;
java.sql.Connection sqlConn = null;
try {
if (rc instanceof TypedReturnCode) {
Object sqlConnObject = ((TypedReturnCode) rc).getObject();
if (sqlConnObject instanceof java.sql.Connection) {
sqlConn = (java.sql.Connection) sqlConnObject;
dbMetadata = ExtractMetaDataUtils.getInstance().getConnectionMetadata(sqlConn);
}
}
List<String> packageFilterCatalog = MetadataConnectionUtils.getPackageFilter(dbConn, dbMetadata, true);
instance.fillCatalogs(dbConn, dbMetadata, packageFilterCatalog);
List<String> packageFilterSchema = MetadataConnectionUtils.getPackageFilter(dbConn, dbMetadata, false);
instance.fillSchemas(dbConn, dbMetadata, packageFilterSchema);
} catch (SQLException e) {
log.error(e, e);
} finally {
if (sqlConn != null) {
ConnectionUtils.closeConnection(sqlConn);
}
}
} else {
log.error(rc.getMessage());
}
return dbConn;
}
use of org.talend.utils.sugars.TypedReturnCode in project tdq-studio-se by Talend.
the class MatchingKeySection method refreshChart.
public void refreshChart(boolean needCompute) {
if (!hasMatchKey(true)) {
MessageDialogWithToggle.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), DefaultMessagesImpl.getString("BlockingKeySection.RefreshChartError"), // $NON-NLS-1$ //$NON-NLS-2$
DefaultMessagesImpl.getString("MatchMasterDetailsPage.NoMatchKey"));
return;
}
ReturnCode checkResultStatus = checkResultStatus();
if (!checkResultStatus.isOk()) {
MessageDialogWithToggle.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), DefaultMessagesImpl.getString("BlockingKeySection.RefreshChartError"), // $NON-NLS-1$
checkResultStatus.getMessage());
return;
}
listeners.firePropertyChange(MatchAnalysisConstant.NEED_REFRESH_DATA, true, false);
List<Object[]> results;
// MOD TDQ-9741: "chart" button will compute, "hide group" will not compute
if (needCompute) {
TypedReturnCode<RecordMatchingIndicator> computeMatchResult = computeMatchResult();
if (!computeMatchResult.isOk()) {
if (computeMatchResult.getMessage() != null && !computeMatchResult.getMessage().equals(StringUtils.EMPTY)) {
MessageDialogWithToggle.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), DefaultMessagesImpl.getString("RunAnalysisAction.runAnalysis"), // $NON-NLS-1$
computeMatchResult.getMessage());
}
return;
}
RecordMatchingIndicator recordMatchingIndicator = computeMatchResult.getObject();
matchRuleChartComp.refresh(recordMatchingIndicator.getGroupSize2groupFrequency());
// sort the result before refresh
results = MatchRuleAnlaysisUtils.sortResultByGID(recordMatchingIndicator.getMatchRowSchema(), this.getTableResult());
} else {
// for "hide group" , get the result from the last "chart" directly.
matchRuleChartComp.refresh(getChartResult());
results = getTableResult();
}
// refresh related table
MatchRuleAnlaysisUtils.refreshDataTable(analysis, results);
// Clear the match row data.
matchRows.clear();
}
use of org.talend.utils.sugars.TypedReturnCode in project tdq-studio-se by Talend.
the class AbstractSchemaEvaluator method reloadConnectionAfterException.
/**
* DOC scorreia Comment method "reloadConnection".
*
* @param catalog
*/
protected void reloadConnectionAfterException(String catalog) {
nbExceptions++;
if (nbExceptions < MAX_EXCEPTION) {
// not yet
return;
}
ReturnCode connClosed = super.closeConnection();
if (!connClosed.isOk()) {
// $NON-NLS-1$
log.error(Messages.getString("AbstractSchemaEvaluator.ReloadProblem", connClosed.getMessage()));
}
Connection dp = this.getDataManager();
TypedReturnCode<java.sql.Connection> conn = JavaSqlFactory.createConnection(dp);
if (!conn.isOk()) {
log.error(conn.getMessage());
return;
}
// else ok
this.setConnection(conn.getObject());
this.selectCatalog(catalog);
// reset the number of exceptions
nbExceptions = 0;
}
use of org.talend.utils.sugars.TypedReturnCode in project tdq-studio-se by Talend.
the class DQStructureComparer method getRefreshedDataProvider.
public static TypedReturnCode<Connection> getRefreshedDataProvider(Connection prevDataProvider) {
// ADD xqliu 2010-03-29 bug 11951
TypedReturnCode<Connection> returnProvider = new TypedReturnCode<Connection>();
// ~11951
// MOD by zshen 2012-07-05 for bug 5074 remove convert about DatabaseParameter instead
// Connection->DatabaseParameter->ImetadataConnection into Connection->ImetadataConnection
IMetadataConnection metadataConnection = ConvertionHelper.convert((DatabaseConnection) prevDataProvider, false, prevDataProvider.getContextName());
Connection copyedConnection = null;
EDatabaseTypeName currentEDatabaseType = EDatabaseTypeName.getTypeFromDbType(metadataConnection.getDbType());
if (currentEDatabaseType != null) {
MetadataFillFactory dbInstance = MetadataFillFactory.getDBInstance(metadataConnection);
TypedReturnCode<?> trc = (TypedReturnCode<?>) dbInstance.createConnection(metadataConnection);
Object sqlConnObject = trc.getObject();
DatabaseMetaData dbJDBCMetadata = null;
if (trc.isOk() && sqlConnObject instanceof java.sql.Connection) {
java.sql.Connection sqlConn = (java.sql.Connection) sqlConnObject;
// MOD sizhaoliu 2012-5-21 TDQ-4884 reload structure issue
// dbJDBCMetadata = org.talend.utils.sql.ConnectionUtils.getConnectionMetadata(sqlConn);
dbJDBCMetadata = ExtractMetaDataUtils.getInstance().getDatabaseMetaData(sqlConn, (DatabaseConnection) prevDataProvider);
copyedConnection = EObjectHelper.deepCopy(prevDataProvider);
copyedConnection.getDataPackage().clear();
// MOD zshen the parameter for packageFiler need to differnent isCatalog or not.
dbInstance.fillCatalogs(copyedConnection, dbJDBCMetadata, metadataConnection, MetadataConnectionUtils.getPackageFilter(copyedConnection, dbJDBCMetadata, true));
dbInstance.fillSchemas(copyedConnection, dbJDBCMetadata, metadataConnection, MetadataConnectionUtils.getPackageFilter(copyedConnection, dbJDBCMetadata, false));
ConnectionUtils.closeConnection(sqlConn);
} else {
returnProvider.setMessage(trc.getMessage());
}
}
if (copyedConnection == null) {
returnProvider.setOk(false);
} else {
returnProvider.setObject(copyedConnection);
}
// ~11951
return returnProvider;
}
Aggregations