use of org.talend.dataquality.rules.ParserRule 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());
}
}
use of org.talend.dataquality.rules.ParserRule 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());
}
}
use of org.talend.dataquality.rules.ParserRule 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());
}
}
use of org.talend.dataquality.rules.ParserRule 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()));
}
}
use of org.talend.dataquality.rules.ParserRule in project tdq-studio-se by Talend.
the class AElementPersistanceRealTest method testCreateItemParserRule.
/**
* Test method for
* {@link org.talend.dq.writer.AElementPersistance#createItem(orgomg.cwm.objectmodel.core.ModelElement)}.
*/
@Test
public void testCreateItemParserRule() {
DQRuleWriter createdRuleWriter = ElementWriterFactory.getInstance().createdRuleWriter();
// test normal name
// $NON-NLS-1$
String parserRuleName = "parserRule1";
// $NON-NLS-1$
String exceptedFileName = parserRuleName + "_0.1.rules";
ParserRule createParserRule = RulesFactory.eINSTANCE.createParserRule();
createParserRule.setName(parserRuleName);
Item createItem = createdRuleWriter.createItem(createParserRule);
assertTrue(createItem instanceof TDQBusinessRuleItem);
TDQBusinessRuleItem ruleItem = (TDQBusinessRuleItem) createItem;
assertTrue(ruleItem.getFilename().equals(exceptedFileName));
// test special name
// $NON-NLS-1$
String parserRuleName2 = "parserRule1:;\".";
// $NON-NLS-1$
String exceptedFileName2 = "parserRule1_____0.1.rules";
ParserRule createParserRule2 = RulesFactory.eINSTANCE.createParserRule();
createParserRule2.setName(parserRuleName2);
Item createItem2 = createdRuleWriter.createItem(createParserRule2);
assertTrue(createItem2 instanceof TDQBusinessRuleItem);
TDQBusinessRuleItem ruleItem2 = (TDQBusinessRuleItem) createItem2;
assertTrue(ruleItem2.getFilename().equals(exceptedFileName2));
}
Aggregations