Search in sources :

Example 1 with TdExpression

use of org.talend.cwm.relational.TdExpression in project tdq-studio-se by Talend.

the class ExpressionEditDialog method storeTdExpValuesFromText.

/**
 * set Text value as body of TdExpression.
 *
 * @param text
 */
public TdExpression storeTdExpValuesFromText(Text text) {
    TdExpression result = BooleanExpressionHelper.createTdExpression(language, text.getText().trim(), version);
    result.setModificationDate(UDIUtils.getCurrentDateTime());
    return result;
}
Also used : TdExpression(org.talend.cwm.relational.TdExpression)

Example 2 with TdExpression

use of org.talend.cwm.relational.TdExpression in project tdq-studio-se by Talend.

the class ImportFactoryTest method testImportParserRuleToStuctureNoneEmptyWithoutDoubleQuote.

/**
 * Test method for
 * {@link org.talend.dataprofiler.core.pattern.ImportFactory#importParserRuleToStucture(org.talend.dataprofiler.core.ui.action.actions.ImportObject, org.eclipse.core.resources.IFolder, boolean, boolean, java.lang.String)}
 * None Empty Without Double Quote.
 */
@Test
public void testImportParserRuleToStuctureNoneEmptyWithoutDoubleQuote() throws IOException {
    // the parser rule name, use it to get the imported file name
    // $NON-NLS-1$
    String parserRuleName = "parserRule";
    // $NON-NLS-1$
    String parserRuleFileName = parserRuleName + "_0.1.rules";
    // the expect expression's values: name and body will add double quote after import, lang will not add double
    // quote after import
    // $NON-NLS-1$
    String name = "\"a\"";
    // $NON-NLS-1$
    String lang = "Enumeration";
    // $NON-NLS-1$
    String body = "\"'a'|'b'\"";
    // $NON-NLS-1$
    File dict = new File("");
    // $NON-NLS-1$
    File importFile = new File(dict.getAbsolutePath() + File.separator + "paser_rule.csv");
    if (importFile.exists()) {
        importFile.delete();
    }
    importFile.createNewFile();
    // set the csv file's head
    // $NON-NLS-1$
    String content = "\"Label\"\t\"Purpose\"\t\"Description\"\t\"Author\"\t\"Relative_Path\"\t\"Name\"\t\"Type\"\t\"Value\"\n";
    // set the csv file's content: the clumn's value is none empty without double quote
    content += // $NON-NLS-1$
    "\"" + parserRuleName + // $NON-NLS-1$
    "\"\t\"\"\t\"\"\t\"trunk@talend.com\"\t\"\"\t\"a\"\t\"Enumeration\"\t\"'a'|'b'\"";
    BufferedWriter output = new BufferedWriter(new FileWriter(importFile));
    output.write(content);
    output.close();
    List<File> pJarfilesMock = new ArrayList<File>();
    ImportObject importObject = ImportObject.createImportObject(importFile, pJarfilesMock);
    IFolder parserRuleFolder = ResourceManager.getOneFolder(EResourceConstant.RULES_PARSER);
    boolean skip = false;
    boolean rename = true;
    // $NON-NLS-1$
    String importItemName = "importItemName";
    List<ReturnCode> importParserRuleToStucture = ImportFactory.importParserRuleToStucture(importObject, parserRuleFolder, skip, rename, importItemName);
    for (ReturnCode rc : importParserRuleToStucture) {
        assertTrue(rc.isOk());
    }
    // the imported parser rule's name is a
    IFile parserRuleFile = parserRuleFolder.getFile(parserRuleFileName);
    ParserRule parserRule = (ParserRule) DQRuleResourceFileHelper.getInstance().findDQRule(parserRuleFile);
    List<TdExpression> expressions = parserRule.getExpression();
    for (TdExpression expression : expressions) {
        assertEquals(name, expression.getName());
        assertEquals(lang, expression.getLanguage());
        assertEquals(body, expression.getBody());
    }
}
Also used : ParserRule(org.talend.dataquality.rules.ParserRule) ReturnCode(org.talend.utils.sugars.ReturnCode) IFile(org.eclipse.core.resources.IFile) TdExpression(org.talend.cwm.relational.TdExpression) FileWriter(java.io.FileWriter) ArrayList(java.util.ArrayList) BufferedWriter(java.io.BufferedWriter) ImportObject(org.talend.dataprofiler.core.ui.action.actions.ImportObject) IFile(org.eclipse.core.resources.IFile) File(java.io.File) IFolder(org.eclipse.core.resources.IFolder) Test(org.junit.Test)

Example 3 with TdExpression

use of org.talend.cwm.relational.TdExpression in project tdq-studio-se by Talend.

the class ImportFactoryTest method testImportParserRuleToStuctureNoneEmptyWithDoubleQuote.

/**
 * Test method for
 * {@link org.talend.dataprofiler.core.pattern.ImportFactory#importParserRuleToStucture(org.talend.dataprofiler.core.ui.action.actions.ImportObject, org.eclipse.core.resources.IFolder, boolean, boolean, java.lang.String)}
 * None Empty With Double Quote.
 */
@Test
public void testImportParserRuleToStuctureNoneEmptyWithDoubleQuote() throws IOException {
    // the parser rule name, use it to get the imported file name
    // $NON-NLS-1$
    String parserRuleName = "parserRule";
    // $NON-NLS-1$
    String parserRuleFileName = parserRuleName + "_0.1.rules";
    // the expect expression's values: name and body will add double quote after import, lang will not add double
    // quote after import
    // $NON-NLS-1$
    String name = "\"a\"";
    // $NON-NLS-1$
    String lang = "Enumeration";
    // $NON-NLS-1$
    String body = "\"'a'|'b'\"";
    // $NON-NLS-1$
    File dict = new File("");
    // $NON-NLS-1$
    File importFile = new File(dict.getAbsolutePath() + File.separator + "paser_rule.csv");
    if (importFile.exists()) {
        importFile.delete();
    }
    importFile.createNewFile();
    // set the csv file's head
    // $NON-NLS-1$
    String content = "\"Label\"\t\"Purpose\"\t\"Description\"\t\"Author\"\t\"Relative_Path\"\t\"Name\"\t\"Type\"\t\"Value\"\n";
    // set the csv file's content: the clumn's value is none empty with double quote
    content += // $NON-NLS-1$
    "\"" + parserRuleName + // $NON-NLS-1$
    "\"\t\"\"\t\"\"\t\"trunk@talend.com\"\t\"\"\t\"\\\"a\\\"\"\t\"\\\"Enumeration\\\"\"\t\"\\\"'a'|'b'\\\"\"";
    BufferedWriter output = new BufferedWriter(new FileWriter(importFile));
    output.write(content);
    output.close();
    List<File> pJarfilesMock = new ArrayList<File>();
    ImportObject importObject = ImportObject.createImportObject(importFile, pJarfilesMock);
    IFolder parserRuleFolder = ResourceManager.getOneFolder(EResourceConstant.RULES_PARSER);
    boolean skip = false;
    boolean rename = true;
    // $NON-NLS-1$
    String importItemName = "importItemName";
    List<ReturnCode> importParserRuleToStucture = ImportFactory.importParserRuleToStucture(importObject, parserRuleFolder, skip, rename, importItemName);
    for (ReturnCode rc : importParserRuleToStucture) {
        assertTrue(rc.isOk());
    }
    // the imported parser rule's name is a
    IFile parserRuleFile = parserRuleFolder.getFile(parserRuleFileName);
    ParserRule parserRule = (ParserRule) DQRuleResourceFileHelper.getInstance().findDQRule(parserRuleFile);
    List<TdExpression> expressions = parserRule.getExpression();
    for (TdExpression expression : expressions) {
        assertEquals(name, expression.getName());
        assertEquals(lang, expression.getLanguage());
        assertEquals(body, expression.getBody());
    }
}
Also used : ParserRule(org.talend.dataquality.rules.ParserRule) ReturnCode(org.talend.utils.sugars.ReturnCode) IFile(org.eclipse.core.resources.IFile) TdExpression(org.talend.cwm.relational.TdExpression) FileWriter(java.io.FileWriter) ArrayList(java.util.ArrayList) BufferedWriter(java.io.BufferedWriter) ImportObject(org.talend.dataprofiler.core.ui.action.actions.ImportObject) IFile(org.eclipse.core.resources.IFile) File(java.io.File) IFolder(org.eclipse.core.resources.IFolder) Test(org.junit.Test)

Example 4 with TdExpression

use of org.talend.cwm.relational.TdExpression in project tdq-studio-se by Talend.

the class ImportFactoryTest method testImportParserRuleToStuctureEmptyWithDoubleQuote.

/**
 * Test method for
 * {@link org.talend.dataprofiler.core.pattern.ImportFactory#importParserRuleToStucture(org.talend.dataprofiler.core.ui.action.actions.ImportObject, org.eclipse.core.resources.IFolder, boolean, boolean, java.lang.String)}
 * Empty With Double Quote.
 */
@Test
public void testImportParserRuleToStuctureEmptyWithDoubleQuote() throws IOException {
    // the parser rule name, use it to get the imported file name
    // $NON-NLS-1$
    String parserRuleName = "parserRule1";
    // $NON-NLS-1$
    String parserRuleFileName = parserRuleName + "_0.1.rules";
    // the expect expression's values: name and body will add double quote after import, lang will remove any double
    // quote after import(why???)
    // $NON-NLS-1$
    String name = "\"\"\"\"";
    // $NON-NLS-1$
    String lang = "";
    // $NON-NLS-1$
    String body = "\"\"\"\"";
    // $NON-NLS-1$
    File dict = new File("");
    // $NON-NLS-1$
    File importFile = new File(dict.getAbsolutePath() + File.separator + "paser_rule.csv");
    if (importFile.exists()) {
        importFile.delete();
    }
    importFile.createNewFile();
    // set the csv file's head
    // $NON-NLS-1$
    String content = "\"Label\"\t\"Purpose\"\t\"Description\"\t\"Author\"\t\"Relative_Path\"\t\"Name\"\t\"Type\"\t\"Value\"\n";
    // set the csv file's content: the clumn's value is empty with double quote
    content += // $NON-NLS-1$
    "\"" + parserRuleName + // $NON-NLS-1$
    "\"\t\"\"\t\"\"\t\"trunk@talend.com\"\t\"\"\t\"\\\"\\\"\"\t\"\\\"\\\"\"\t\"\\\"\\\"\"";
    BufferedWriter output = new BufferedWriter(new FileWriter(importFile));
    output.write(content);
    output.close();
    List<File> pJarfilesMock = new ArrayList<File>();
    ImportObject importObject = ImportObject.createImportObject(importFile, pJarfilesMock);
    IFolder parserRuleFolder = ResourceManager.getOneFolder(EResourceConstant.RULES_PARSER);
    boolean skip = false;
    boolean rename = true;
    // $NON-NLS-1$
    String importItemName = "importItemName";
    List<ReturnCode> importParserRuleToStucture = ImportFactory.importParserRuleToStucture(importObject, parserRuleFolder, skip, rename, importItemName);
    for (ReturnCode rc : importParserRuleToStucture) {
        assertTrue(rc.isOk());
    }
    // the imported parser rule's name is a
    IFile parserRuleFile = parserRuleFolder.getFile(parserRuleFileName);
    ParserRule parserRule = (ParserRule) DQRuleResourceFileHelper.getInstance().findDQRule(parserRuleFile);
    List<TdExpression> expressions = parserRule.getExpression();
    for (TdExpression expression : expressions) {
        assertEquals(name, expression.getName());
        assertEquals(lang, expression.getLanguage());
        assertEquals(body, expression.getBody());
    }
}
Also used : ParserRule(org.talend.dataquality.rules.ParserRule) ReturnCode(org.talend.utils.sugars.ReturnCode) IFile(org.eclipse.core.resources.IFile) TdExpression(org.talend.cwm.relational.TdExpression) FileWriter(java.io.FileWriter) ArrayList(java.util.ArrayList) BufferedWriter(java.io.BufferedWriter) ImportObject(org.talend.dataprofiler.core.ui.action.actions.ImportObject) IFile(org.eclipse.core.resources.IFile) File(java.io.File) IFolder(org.eclipse.core.resources.IFolder) Test(org.junit.Test)

Example 5 with TdExpression

use of org.talend.cwm.relational.TdExpression in project tdq-studio-se by Talend.

the class ImportFactoryTest method testImportParserRuleToStuctureEmptyWithoutDoubleQuote.

/**
 * Test method for
 * {@link org.talend.dataprofiler.core.pattern.ImportFactory#importParserRuleToStucture(org.talend.dataprofiler.core.ui.action.actions.ImportObject, org.eclipse.core.resources.IFolder, boolean, boolean, java.lang.String)}
 * Empty Without Double Quote.
 */
@Test
public void testImportParserRuleToStuctureEmptyWithoutDoubleQuote() throws IOException {
    // the parser rule name, use it to get the imported file name
    // $NON-NLS-1$
    String parserRuleName = "parserRule2";
    // $NON-NLS-1$
    String parserRuleFileName = parserRuleName + "_0.1.rules";
    // the expect expression's values: name and body will add double quote after import, lang will not add double
    // quote after import
    // $NON-NLS-1$
    String name = "\"\"";
    // $NON-NLS-1$
    String lang = "";
    // $NON-NLS-1$
    String body = "\"\"";
    // $NON-NLS-1$
    File dict = new File("");
    // $NON-NLS-1$
    File importFile = new File(dict.getAbsolutePath() + File.separator + "paser_rule.csv");
    if (importFile.exists()) {
        importFile.delete();
    }
    importFile.createNewFile();
    // set the csv file's head
    // $NON-NLS-1$
    String content = "\"Label\"\t\"Purpose\"\t\"Description\"\t\"Author\"\t\"Relative_Path\"\t\"Name\"\t\"Type\"\t\"Value\"\n";
    // set the csv file's content: the clumn's value is empty without double quote
    content += // $NON-NLS-1$
    "\"" + parserRuleName + // $NON-NLS-1$
    "\"\t\"\"\t\"\"\t\"trunk@talend.com\"\t\"\"\t\"\"\t\"\"\t\"\"";
    BufferedWriter output = new BufferedWriter(new FileWriter(importFile));
    output.write(content);
    output.close();
    List<File> pJarfilesMock = new ArrayList<File>();
    ImportObject importObject = ImportObject.createImportObject(importFile, pJarfilesMock);
    IFolder parserRuleFolder = ResourceManager.getOneFolder(EResourceConstant.RULES_PARSER);
    boolean skip = false;
    boolean rename = true;
    // $NON-NLS-1$
    String importItemName = "importItemName";
    List<ReturnCode> importParserRuleToStucture = ImportFactory.importParserRuleToStucture(importObject, parserRuleFolder, skip, rename, importItemName);
    for (ReturnCode rc : importParserRuleToStucture) {
        assertTrue(rc.isOk());
    }
    // the imported parser rule's name is a
    IFile parserRuleFile = parserRuleFolder.getFile(parserRuleFileName);
    ParserRule parserRule = (ParserRule) DQRuleResourceFileHelper.getInstance().findDQRule(parserRuleFile);
    List<TdExpression> expressions = parserRule.getExpression();
    for (TdExpression expression : expressions) {
        assertTrue(name.equals(expression.getName()));
        assertTrue(lang.equals(expression.getLanguage()));
        assertTrue(body.equals(expression.getBody()));
    }
}
Also used : ParserRule(org.talend.dataquality.rules.ParserRule) ReturnCode(org.talend.utils.sugars.ReturnCode) IFile(org.eclipse.core.resources.IFile) TdExpression(org.talend.cwm.relational.TdExpression) FileWriter(java.io.FileWriter) ArrayList(java.util.ArrayList) BufferedWriter(java.io.BufferedWriter) ImportObject(org.talend.dataprofiler.core.ui.action.actions.ImportObject) IFile(org.eclipse.core.resources.IFile) File(java.io.File) IFolder(org.eclipse.core.resources.IFolder) Test(org.junit.Test)

Aggregations

TdExpression (org.talend.cwm.relational.TdExpression)121 Test (org.junit.Test)51 IndicatorDefinition (org.talend.dataquality.indicators.definition.IndicatorDefinition)30 UDIndicatorDefinition (org.talend.dataquality.indicators.definition.userdefine.UDIndicatorDefinition)29 ArrayList (java.util.ArrayList)19 RegularExpression (org.talend.dataquality.domain.pattern.RegularExpression)19 Pattern (org.talend.dataquality.domain.pattern.Pattern)16 TdColumn (org.talend.cwm.relational.TdColumn)12 Expression (orgomg.cwm.objectmodel.core.Expression)12 BasicEList (org.eclipse.emf.common.util.BasicEList)11 IndicatorParameters (org.talend.dataquality.indicators.IndicatorParameters)11 Domain (org.talend.dataquality.domain.Domain)10 TdTable (org.talend.cwm.relational.TdTable)9 ProductVersion (org.talend.utils.ProductVersion)9 Analysis (org.talend.dataquality.analysis.Analysis)8 PatternComponent (org.talend.dataquality.domain.pattern.PatternComponent)8 ChartDataEntity (org.talend.dq.indicators.preview.table.ChartDataEntity)8 File (java.io.File)7 IFile (org.eclipse.core.resources.IFile)6 IFolder (org.eclipse.core.resources.IFolder)6