use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class UpdateDependenciesFileTask method updateDependencies.
/**
* Method "updateDependencies" updates dependencies between elements in TOP.
*
* @param analysesSubFolder
* @throws CoreException
*/
private void updateDependencies(IFolder analysesSubFolder) throws CoreException {
for (IResource resource : analysesSubFolder.members()) {
if (resource instanceof IFolder) {
IFolder folder = (IFolder) resource;
updateDependencies(folder);
}
if (resource instanceof IFile) {
IFile file = (IFile) resource;
final Analysis analysis = AnaResourceFileHelper.getInstance().findAnalysis(file);
// update dependency between analyses and patterns
if (analysis != null) {
final List<Pattern> patterns = AnalysisHelper.getPatterns(analysis);
for (Pattern pattern : patterns) {
DependenciesHandler.getInstance().setDependencyOn(analysis, pattern);
AnaResourceFileHelper.getInstance().save(analysis);
}
// update dependency between analyses and dq rules
final List<IndicatorDefinition> userDefinedIndicators = AnalysisHelper.getUserDefinedIndicators(analysis);
for (IndicatorDefinition indicatorDefinition : userDefinedIndicators) {
DependenciesHandler.getInstance().setDependencyOn(analysis, indicatorDefinition);
AnaResourceFileHelper.getInstance().save(analysis);
}
}
}
}
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class DependenciesHandlerTest method testRemoveConnDependencyAndSave.
@Test
public void testRemoveConnDependencyAndSave() {
TDQAnalysisItem analysisItem = PropertiesFactoryImpl.eINSTANCE.createTDQAnalysisItem();
Analysis analysis = AnalysisFactory.eINSTANCE.createAnalysis();
// $NON-NLS-1$
analysis.setName("testDependAnalysis");
analysisItem.setAnalysis(analysis);
Property propertyAna = org.talend.core.model.properties.PropertiesFactory.eINSTANCE.createProperty();
propertyAna.setId(EcoreUtil.generateUUID());
// $NON-NLS-1$
propertyAna.setLabel("ana");
analysisItem.setProperty(propertyAna);
ItemState itemState = org.talend.core.model.properties.PropertiesFactory.eINSTANCE.createItemState();
itemState.setDeleted(false);
analysisItem.setState(itemState);
AnalysisResult analysisResult1 = AnalysisFactory.eINSTANCE.createAnalysisResult();
analysis.setResults(analysisResult1);
AnalysisContext analysisContext = AnalysisFactory.eINSTANCE.createAnalysisContext();
analysis.setContext(analysisContext);
try {
ProxyRepositoryFactory.getInstance().create(analysisItem, Path.EMPTY, false);
} catch (PersistenceException e) {
Assert.fail(e.getMessage());
}
DatabaseConnectionItem connectionItem = UnitTestBuildHelper.createDatabaseConnectionItem("testDependeceConnection", null, // $NON-NLS-1$
false);
DependenciesHandler.getInstance().setUsageDependencyOn(analysis, connectionItem.getConnection());
analysisContext.setConnection(connectionItem.getConnection());
ElementWriterFactory.getInstance().createDataProviderWriter().save(connectionItem, true);
Assert.assertNotNull(analysis.getContext().getConnection());
Assert.assertEquals(false, analysis.getClientDependency().isEmpty());
DependenciesHandler.getInstance().removeConnDependencyAndSave(analysisItem);
Assert.assertNull(analysis.getContext().getConnection());
Assert.assertEquals(true, analysis.getClientDependency().isEmpty());
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class AnalysisHandlerTest method testChangeDefaultRowLoaded.
/**
* Test method for {@link org.talend.dq.analysis.AnalysisHandler#changeDefaultRowLoaded(java.lang.String)}.
*/
@Test
public void testChangeDefaultRowLoaded() {
int rowCountValue = 100;
Analysis createAna = AnalysisFactory.eINSTANCE.createAnalysis();
AnalysisResult createAnalysisResult = AnalysisFactory.eINSTANCE.createAnalysisResult();
createAna.setResults(createAnalysisResult);
ExecutionInformations createExecutionInformations = AnalysisFactory.eINSTANCE.createExecutionInformations();
createAnalysisResult.setResultMetadata(createExecutionInformations);
AnalysisHandler createHandler = AnalysisHandler.createHandler(createAna);
createHandler.changeDefaultRowLoaded(String.valueOf(rowCountValue));
String defaultLoadedRowCount = createHandler.getDefaultLoadedRowCount();
Assert.assertEquals(Integer.valueOf(rowCountValue), Integer.valueOf(defaultLoadedRowCount));
}
use of org.talend.dataquality.analysis.Analysis 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.dataquality.analysis.Analysis 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));
}
Aggregations