use of org.talend.cwm.relational.TdColumn in project tdq-studio-se by Talend.
the class ColumnAnalysisExecutorTest method testCreateSqlStatement_1.
/**
* when there are some catelog
* {@link org.talend.dq.analysis.ColumnAnalysisExecutor#createSqlStatement(org.talend.dataquality.analysis.Analysis)}
* .
*/
@Test
public void testCreateSqlStatement_1() {
Analysis analysis = AnalysisFactory.eINSTANCE.createAnalysis();
AnalysisContext context = AnalysisFactory.eINSTANCE.createAnalysisContext();
analysis.setContext(context);
TdColumn tdColumn = RelationalFactory.eINSTANCE.createTdColumn();
TdTable tdTable = RelationalFactory.eINSTANCE.createTdTable();
// $NON-NLS-1$
tdTable.setName("tableName");
tdColumn.setOwner(tdTable);
// $NON-NLS-1$
tdColumn.setName("columnName");
AnalysisParameters analysisPara = AnalysisFactory.eINSTANCE.createAnalysisParameters();
analysisPara.setStoreData(false);
analysis.setParameters(analysisPara);
context.getAnalysedElements().add(tdColumn);
AnalysisResult analysisResult = AnalysisFactory.eINSTANCE.createAnalysisResult();
ExecutionInformations info = AnalysisFactory.eINSTANCE.createExecutionInformations();
analysisResult.setResultMetadata(info);
analysis.setResults(analysisResult);
// mock(Catalog.class);
Package catalog = orgomg.cwm.resource.relational.RelationalFactory.eINSTANCE.createCatalog();
// $NON-NLS-1$
catalog.setName("catalogName");
tdTable.setNamespace(catalog);
DatabaseConnection createConnection = ConnectionFactory.eINSTANCE.createDatabaseConnection();
createConnection.getTaggedValue().add(TaggedValueHelper.createTaggedValue(TaggedValueHelper.DB_PRODUCT_NAME, SupportDBUrlType.MYSQLDEFAULTURL.getLanguage()));
analysis.getContext().setConnection(createConnection);
ColumnAnalysisExecutor columnAnalysisExecutor = new ColumnAnalysisExecutor();
// $NON-NLS-1$
assertEquals("SELECT `columnName` FROM `catalogName`.`tableName`", columnAnalysisExecutor.createSqlStatement(analysis));
}
use of org.talend.cwm.relational.TdColumn in project tdq-studio-se by Talend.
the class ColumnAnalysisExecutorTest method testCreateSqlStatement_2.
/**
* when there are some schema.
* {@link org.talend.dq.analysis.ColumnAnalysisExecutor#createSqlStatement(org.talend.dataquality.analysis.Analysis)}
* .
*/
@Test
public void testCreateSqlStatement_2() {
Analysis analysis = AnalysisFactory.eINSTANCE.createAnalysis();
AnalysisContext context = AnalysisFactory.eINSTANCE.createAnalysisContext();
analysis.setContext(context);
TdColumn tdColumn = RelationalFactory.eINSTANCE.createTdColumn();
TdTable tdTable = RelationalFactory.eINSTANCE.createTdTable();
// $NON-NLS-1$
tdTable.setName("tableName");
tdColumn.setOwner(tdTable);
// $NON-NLS-1$
tdColumn.setName("columnName");
AnalysisParameters analysisPara = AnalysisFactory.eINSTANCE.createAnalysisParameters();
analysisPara.setStoreData(false);
analysis.setParameters(analysisPara);
context.getAnalysedElements().add(tdColumn);
AnalysisResult analysisResult = AnalysisFactory.eINSTANCE.createAnalysisResult();
ExecutionInformations info = AnalysisFactory.eINSTANCE.createExecutionInformations();
analysisResult.setResultMetadata(info);
analysis.setResults(analysisResult);
// mock(Schema.class);
Package schema = orgomg.cwm.resource.relational.RelationalFactory.eINSTANCE.createSchema();
// $NON-NLS-1$
schema.setName("schemaName");
tdTable.setNamespace(schema);
// mock(Catalog.class);
Package catalog = orgomg.cwm.resource.relational.RelationalFactory.eINSTANCE.createCatalog();
// $NON-NLS-1$
catalog.setName("catalogName");
schema.setNamespace(catalog);
DatabaseConnection createConnection = ConnectionFactory.eINSTANCE.createDatabaseConnection();
createConnection.getTaggedValue().add(TaggedValueHelper.createTaggedValue(TaggedValueHelper.DB_PRODUCT_NAME, SupportDBUrlType.MSSQLDEFAULTURL.getLanguage()));
analysis.getContext().setConnection(createConnection);
ColumnAnalysisExecutor columnAnalysisExecutor = new ColumnAnalysisExecutor();
assertEquals("SELECT columnName FROM catalogName.schemaName.tableName", // $NON-NLS-1$
columnAnalysisExecutor.createSqlStatement(analysis));
}
use of org.talend.cwm.relational.TdColumn in project tdq-studio-se by Talend.
the class ColumnAnalysisSqlExecutorTest method setUp.
/**
* DOC zshen Comment method "setUp".
*
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
// create analysis element
TdColumn testTdColumn = RelationalFactory.eINSTANCE.createTdColumn();
// $NON-NLS-1$
testTdColumn.setName("columnName");
// testAnalysisResult.setModelElement(testTdColumn);
// create sqlDataType
TdSqlDataType testTdSqlDataType = RelationalFactory.eINSTANCE.createTdSqlDataType();
testTdColumn.setSqlDataType(testTdSqlDataType);
testTdSqlDataType.setJavaDataType(DataminingType.NOMINAL_VALUE);
// create TdTable
TdTable testTdTable = RelationalFactory.eINSTANCE.createTdTable();
testTdColumn.setNamespace(testTdTable);
// $NON-NLS-1$
testTdTable.setName("generateTable");
// create connection
DatabaseConnection testDatabaseConnection = ConnectionFactory.eINSTANCE.createDatabaseConnection();
TaggedValueHelper.setTaggedValue(testDatabaseConnection, TaggedValueHelper.DB_PRODUCT_NAME, SupportDBUrlType.MYSQLDEFAULTURL.getDBKey());
// create catalog
Catalog testCatalog = orgomg.cwm.resource.relational.RelationalFactory.eINSTANCE.createCatalog();
// $NON-NLS-1$
testCatalog.setName("TBI");
testTdTable.setNamespace(testCatalog);
testCatalog.setNamespace(testDatabaseConnection);
testCatalog.getDataManager().add(testDatabaseConnection);
// create analysis
testAnalysis = AnalysisFactory.eINSTANCE.createAnalysis();
// create Analaysis result
AnalysisResult testAnalysisResult = AnalysisFactory.eINSTANCE.createAnalysisResult();
testAnalysis.setResults(testAnalysisResult);
// create analysis parameter
AnalysisParameters testAnalysisParameters = AnalysisFactory.eINSTANCE.createAnalysisParameters();
testAnalysis.setParameters(testAnalysisParameters);
// create analysis Content
AnalysisContext testAnalysisContext = AnalysisFactory.eINSTANCE.createAnalysisContext();
testAnalysis.setContext(testAnalysisContext);
testAnalysisContext.setConnection(testDatabaseConnection);
// create row count indicatorDefinition
testIndicatorDefinition = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
// $NON-NLS-1$
testIndicatorDefinition.setLabel("Pattern Frequency Table");
// create row count indicator
testFrequencyIndicator = IndicatorsFactory.eINSTANCE.createPatternFreqIndicator();
testAnalysisResult.getIndicators().add(testFrequencyIndicator);
testFrequencyIndicator.setAnalyzedElement(testTdColumn);
testFrequencyIndicator.setIndicatorDefinition(testIndicatorDefinition);
}
use of org.talend.cwm.relational.TdColumn in project tdq-studio-se by Talend.
the class RepositoryNodeHelperRealTest method testCreateOracleRepositoryNode.
/**
* Test method for
* {@link org.talend.dq.helper.RepositoryNodeHelper#createRepositoryNode(orgomg.cwm.objectmodel.core.ModelElement)}.
* oracle case
*/
@Test
public void testCreateOracleRepositoryNode() {
// $NON-NLS-1$
DatabaseConnectionItem createConnectionItem = createDataBaseConnection("conn1", null, false);
// $NON-NLS-1$
Schema addSchema = this.addSchema(createConnectionItem.getConnection(), "catalog1");
// $NON-NLS-1$
TdTable addTable = this.addTable(addSchema, "table1");
// $NON-NLS-1$
TdColumn addColumn = this.addColumn(addTable, "column1");
try {
ProxyRepositoryFactory.getInstance().save(createConnectionItem, null);
} catch (PersistenceException e) {
log.error(e, e);
Assert.fail(e.getMessage());
}
RepositoryNode createRepositoryNode = RepositoryNodeHelper.createRepositoryNode(addColumn);
if (createRepositoryNode != null) {
IRepositoryViewObject object = createRepositoryNode.getObject();
Assert.assertTrue(createRepositoryNode instanceof DBColumnRepNode);
Assert.assertTrue(object != null);
Assert.assertTrue(object instanceof MetadataColumnRepositoryObject);
Assert.assertTrue(object.getId().equals(addColumn.getName()));
Assert.assertTrue(object.getLabel().equals(addColumn.getName()));
Assert.assertTrue(object.getRepositoryNode() != null);
Assert.assertTrue(createRepositoryNode.getProperties(EProperties.LABEL).equals(ERepositoryObjectType.METADATA_CON_COLUMN));
Assert.assertTrue(createRepositoryNode.getProperties(EProperties.CONTENT_TYPE).equals(ERepositoryObjectType.METADATA_CON_COLUMN));
Assert.assertTrue(createRepositoryNode.getParent().getParent().getParent().getParent().getParent() != null);
}
}
use of org.talend.cwm.relational.TdColumn in project tdq-studio-se by Talend.
the class MultiColumnAnalysisExecutorTest method setUp.
@Before
public void setUp() throws Exception {
analysis = AnalysisFactory.eINSTANCE.createAnalysis();
AnalysisContext context = AnalysisFactory.eINSTANCE.createAnalysisContext();
analysis.setContext(context);
// mock(Catalog.class);
Package catalog = orgomg.cwm.resource.relational.RelationalFactory.eINSTANCE.createCatalog();
// $NON-NLS-1$
catalog.setName("tbi");
TdTable tdTable = RelationalFactory.eINSTANCE.createTdTable();
// $NON-NLS-1$
tdTable.setName("customer");
tdTable.setNamespace(catalog);
TdColumn tdColumn = RelationalFactory.eINSTANCE.createTdColumn();
tdColumn.setOwner(tdTable);
// $NON-NLS-1$
tdColumn.setName("date_accnt_opened");
tdColumn.setContentType(DataminingType.INTERVAL.getName());
TdColumn tdColumn2 = RelationalFactory.eINSTANCE.createTdColumn();
tdColumn2.setOwner(tdTable);
// $NON-NLS-1$
tdColumn2.setName("product_id");
tdColumn2.setContentType(DataminingType.INTERVAL.getName());
AnalysisParameters analysisPara = AnalysisFactory.eINSTANCE.createAnalysisParameters();
analysisPara.setStoreData(false);
// set analysis type is columnset
analysisPara.setAnalysisType(AnalysisType.COLUMN_SET);
analysis.setParameters(analysisPara);
context.getAnalysedElements().add(tdColumn);
context.getAnalysedElements().add(tdColumn2);
AnalysisResult analysisResult = AnalysisFactory.eINSTANCE.createAnalysisResult();
ExecutionInformations info = AnalysisFactory.eINSTANCE.createExecutionInformations();
analysisResult.setResultMetadata(info);
simpleStatIndicator = ColumnsetFactory.eINSTANCE.createSimpleStatIndicator();
TdExpression expression = RelationalFactory.eINSTANCE.createTdExpression();
expression.setBody(// $NON-NLS-1$
"SELECT <%=__COLUMN_NAMES__%> FROM <%=__TABLE_NAME__%> <%=__WHERE_CLAUSE__%> GROUP BY <%=__GROUP_BY_ALIAS__%>");
// $NON-NLS-1$
expression.setLanguage("SQL");
IndicatorDefinition indicatorDefinition = DefinitionFactory.eINSTANCE.createIndicatorDefinition();
indicatorDefinition.getSqlGenericExpression().add(expression);
simpleStatIndicator.setIndicatorDefinition(indicatorDefinition);
// $NON-NLS-1$
simpleStatIndicator.getDateFunctions().add("");
// $NON-NLS-1$
simpleStatIndicator.getNumericFunctions().add("");
simpleStatIndicator.setDataminingType(DataminingType.NOMINAL);
simpleStatIndicator.getAnalyzedColumns().add(tdColumn);
simpleStatIndicator.getAnalyzedColumns().add(tdColumn2);
analysisResult.getIndicators().add(simpleStatIndicator);
analysis.setResults(analysisResult);
}
Aggregations