use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class MatchWizardTest method testInitCWMResourceBuilder.
/**
* Test method for
* {@link org.talend.dataprofiler.core.ui.wizard.analysis.column.MatchWizard#initCWMResourceBuilder()}.
*/
@Test
public void testInitCWMResourceBuilder() {
AnalysisParameter anaParameter = new AnalysisParameter();
// $NON-NLS-1$
anaParameter.setName("analysis1");
anaParameter.setAnalysisTypeName(AnalysisType.COLUMN.getName());
MatchWizard matchWizard = new MatchWizard(anaParameter);
// Default value should be 10000
Analysis ana = (Analysis) matchWizard.initCWMResourceBuilder();
AnalysisHandler anaHandler = AnalysisHandler.createHandler(ana);
IPreferenceStore preferenceStore = CorePlugin.getDefault().getPreferenceStore();
int maxRows = preferenceStore.getInt(PluginConstant.MAX_NB_ROWS_ANALYSIS_EDITOR);
Assert.assertEquals(String.valueOf(maxRows), anaHandler.getDefaultLoadedRowCount());
// after setting the value, result should be changed too
// $NON-NLS-1$
String rowCountValue = "100";
TaggedValueHelper.setTaggedValue(ana, TaggedValueHelper.PREVIEW_ROW_NUMBER, rowCountValue);
anaHandler = AnalysisHandler.createHandler(ana);
Assert.assertEquals(rowCountValue, anaHandler.getDefaultLoadedRowCount());
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class FileSystemImportWriterTest method testMergePattern.
/**
* Test method for
* {@link org.talend.dataprofiler.core.ui.imex.model.FileSystemImportWriter#mergePattern(org.talend.dataprofiler.core.ui.imex.model.ItemRecord, org.talend.dataquality.domain.pattern.Pattern)}
* .
*
* @throws MalformedURLException
*/
@Test
public void testMergePattern() throws MalformedURLException {
// import object
ItemRecord importItem = mock(ItemRecord.class);
Pattern importPattern = mock(Pattern.class);
when(importItem.getElement()).thenReturn(importPattern);
// old object
TDQPatternItem oldPatternItem = mock(TDQPatternItem.class);
Pattern oldPattern = mock(Pattern.class);
when(oldPatternItem.getPattern()).thenReturn(oldPattern);
// for imported pattern's expression
InternalEObject eo = mock(InternalEObject.class);
EList<PatternComponent> importComponents = new EObjectContainmentEList<PatternComponent>(PatternComponent.class, eo, PatternPackage.PATTERN__COMPONENTS);
RegularExpression re = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression td = RelationalFactory.eINSTANCE.createTdExpression();
// $NON-NLS-1$
td.setBody("sql body");
// $NON-NLS-1$
td.setLanguage("SQL");
// $NON-NLS-1$
td.setModificationDate("20130101");
re.setExpression(td);
importComponents.add(re);
RegularExpression re3 = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression td3 = RelationalFactory.eINSTANCE.createTdExpression();
// $NON-NLS-1$
td3.setBody("imported body");
// $NON-NLS-1$
td3.setLanguage("MYSQL");
// $NON-NLS-1$
td3.setModificationDate("20130101");
re3.setExpression(td3);
importComponents.add(re3);
RegularExpression re4 = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression td4 = RelationalFactory.eINSTANCE.createTdExpression();
// $NON-NLS-1$
td4.setBody("imported 4 body");
// $NON-NLS-1$
td4.setLanguage("Default");
td4.setModificationDate(null);
re4.setExpression(td4);
importComponents.add(re4);
when(importPattern.getComponents()).thenReturn(importComponents);
// for imported pattern's supplierDependencies
Analysis analysis = mock(Analysis.class);
Dependency dependency = mock(Dependency.class);
when(dependency.getKind()).thenReturn(DependenciesHandler.USAGE);
EList<ModelElement> analysisList = new BasicEList<ModelElement>();
analysisList.add(analysis);
when(dependency.getClient()).thenReturn(analysisList);
when(analysis.eIsProxy()).thenReturn(false);
// $NON-NLS-1$
File file = new File("C://Users//msjian//Desktop//myusetest//AA//TDQ_Data Profiling//Analyses//k_0.1.ana");
org.eclipse.emf.common.util.URI uri = URI.createFileURI(file.toURL().getPath().substring(1));
Resource resource = mock(Resource.class);
when(analysis.eResource()).thenReturn(resource);
when(resource.getURI()).thenReturn(uri);
PowerMockito.mockStatic(ResourceManager.class);
IProject pro = mock(IProject.class);
when(ResourceManager.getRootProject()).thenReturn(pro);
// $NON-NLS-1$
when(pro.getLocation()).thenReturn(new Path("D:\\worspace\\workspace_TDQEE_5.3\\A"));
EList<ModelElement> patternlist = mock(EObjectContainmentEList.class);
patternlist.add(importPattern);
when(dependency.getSupplier()).thenReturn(patternlist);
EList<Dependency> supplierDependencies_old = new BasicEList<Dependency>();
when(oldPattern.getSupplierDependency()).thenReturn(supplierDependencies_old);
Assert.assertEquals(0, oldPattern.getSupplierDependency().size());
EList<Dependency> supplierDependencies_import = new BasicEList<Dependency>();
supplierDependencies_import.add(dependency);
when(importPattern.getSupplierDependency()).thenReturn(supplierDependencies_import);
Assert.assertEquals(1, importPattern.getSupplierDependency().size());
PowerMockito.mockStatic(DependenciesHandler.class);
DependenciesHandler instance = mock(DependenciesHandler.class);
when(DependenciesHandler.getInstance()).thenReturn(instance);
TypedReturnCode<Dependency> rc = new TypedReturnCode<Dependency>();
rc.setObject(dependency);
when(instance.setUsageDependencyOn(analysis, oldPattern)).thenReturn(rc);
when(oldPattern.getSupplierDependency()).thenReturn(supplierDependencies_import);
// for system pattern's expression
EList<PatternComponent> components = new EObjectContainmentEList<PatternComponent>(PatternComponent.class, eo, PatternPackage.PATTERN__COMPONENTS);
RegularExpression re2 = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression td2 = RelationalFactory.eINSTANCE.createTdExpression();
// $NON-NLS-1$
td2.setBody("system 2 body");
// $NON-NLS-1$
td2.setLanguage("MYSQL");
// $NON-NLS-1$
td2.setModificationDate("20120101");
re2.setExpression(td2);
components.add(re2);
// for re5: should be replace by re4
RegularExpression re5 = PatternFactory.eINSTANCE.createRegularExpression();
TdExpression td5 = RelationalFactory.eINSTANCE.createTdExpression();
// $NON-NLS-1$
td5.setBody("system 5 body");
// $NON-NLS-1$
td5.setLanguage("Default");
td5.setModificationDate(null);
re5.setExpression(td5);
components.add(re5);
when(oldPattern.getComponents()).thenReturn(components);
ElementWriterFactory ewFactory = mock(ElementWriterFactory.class);
PatternWriter pw = mock(PatternWriter.class);
when(pw.save(oldPatternItem, true)).thenReturn(null);
// $NON-NLS-1$
stub(method(ElementWriterFactory.class, "getInstance")).toReturn(ewFactory);
when(ewFactory.createPatternWriter()).thenReturn(pw);
writer.mergePattern(importItem, oldPatternItem);
for (PatternComponent component : components) {
TdExpression ex = ((RegularExpression) component).getExpression();
if (ex.getLanguage().equals("SQL")) {
// $NON-NLS-1$
// $NON-NLS-1$
Assert.assertEquals("sql body", ex.getBody());
} else if (ex.getLanguage().equals("MYSQL")) {
// $NON-NLS-1$
// $NON-NLS-1$
Assert.assertEquals("imported body", ex.getBody());
} else if (ex.getLanguage().equals("Default")) {
// $NON-NLS-1$
// $NON-NLS-1$
Assert.assertEquals("imported 4 body", ex.getBody());
}
}
Assert.assertNotNull(oldPattern.getSupplierDependency());
Assert.assertEquals(1, oldPattern.getSupplierDependency().size());
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class AbstractColumnDropTree method initializedConnection.
/**
* DOC msjian Comment method "initializedConnection". for 6560
*
* @param indicators
*/
void initializedConnection(ModelElementIndicator[] indicators) {
Analysis analysis = getMasterPage().getAnalysisHandler().getAnalysis();
DataManager connection = analysis.getContext().getConnection();
// Connection tdDataProvider = null;
boolean enableWhereClauseFlag = true;
boolean enableExecuteLanguageFlag = false;
// ~
if (indicators != null && indicators.length > 0) {
if (connection == null) {
connection = ModelElementIndicatorHelper.getTdDataProvider(indicators[0]);
analysis.getContext().setConnection(connection);
}
if (connection != null && getMasterPage().getExecCombo() != null) {
if (ConnectionUtils.isDelimitedFileConnection((DataProvider) connection)) {
getMasterPage().setWhereClauseDisabled();
// when the selected column is not DB type,will disable the execute engine combobox.
getMasterPage().changeExecuteLanguageToJava(true);
enableWhereClauseFlag = false;
enableExecuteLanguageFlag = false;
} else {
// when the selected column is back to DB type, should enable the execute engine combobox again.
getMasterPage().enableExecuteLanguage();
}
}
}
// MOD klliu if default ExecutionLanguage is java,it is not changed to SQL.2011-11-21
String execLang = analysis.getParameters().getExecutionLanguage().getLiteral();
if (execLang != null && ExecutionLanguage.JAVA.getLiteral().equals(execLang) && (ConnectionUtils.isDelimitedFileConnection((DataProvider) connection))) {
enableExecuteLanguageFlag = false;
}
if (enableWhereClauseFlag) {
getMasterPage().setWhereClauseEnable();
}
if (enableExecuteLanguageFlag) {
getMasterPage().changeExecuteLanguageToSql(true);
}
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class DrillDownEditorInput method isColumnSetIndicator.
/**
* DOC talend Comment method "isColumnSetIndicator".
*
* @return
*/
private boolean isColumnSetIndicator() {
Analysis analysis = this.getAnalysis();
AnalysisType analysisType = analysis.getParameters().getAnalysisType();
return AnalysisType.COLUMN_SET == analysisType;
}
use of org.talend.dataquality.analysis.Analysis in project tdq-studio-se by Talend.
the class RepResourceFileHelper method getAnalysisFilesFromReport.
/**
* DOC bZhou Comment method "getAnalysisFilesFromReport".
*
* Get all analysis files used by a Report.
*
* @param report
* @return
*/
public List<IFile> getAnalysisFilesFromReport(Report report) {
List<IFile> analysisFiles = new ArrayList<IFile>();
// MOD yyin 20120530 TDQ-5050
for (AnalysisMap anaMap : ((TdReport) report).getAnalysisMap()) {
Analysis analysis = anaMap.getAnalysis();
analysisFiles.add(ResourceFileMap.findCorrespondingFile(analysis));
}
return analysisFiles;
}
Aggregations