use of org.talend.cwm.compare.factory.comparisonlevel.TableViewComparisonLevel in project tdq-studio-se by Talend.
the class ComparisonLevelFactory method creatComparisonLevel.
public static IComparisonLevel creatComparisonLevel(Object selectedObject) {
IComparisonLevel comparisonLevel = null;
if (selectedObject instanceof DBConnectionRepNode) {
// MOD klliu 2011-02-24 bug 19015
IRepositoryViewObject resObject = ((DBConnectionRepNode) selectedObject).getObject();
comparisonLevel = new RepositoryObjectComparisonLevel(resObject);
} else if (selectedObject instanceof DBTableFolderRepNode) {
// MOD mzhao FolderNode param need to pass for later reloading from this folder.
DBTableFolderRepNode dbFolderNode = (DBTableFolderRepNode) selectedObject;
comparisonLevel = new CatalogSchemaComparisonLevel(dbFolderNode);
} else if (selectedObject instanceof DBViewFolderRepNode) {
// MOC yyin 20121101, TDQ-6092, add a condition for the db which donot have catalog, like oracle.
if ((null == ((DBViewFolderRepNode) selectedObject).getCatalog()) && (((DBViewFolderRepNode) selectedObject).getParent() instanceof DBConnectionFolderRepNode)) {
// MOD yyi 2011-07-14 21512:the selected obj is db connection in this case
IRepositoryViewObject resObject = ((DBViewFolderRepNode) selectedObject).getParent().getObject();
comparisonLevel = new RepositoryObjectComparisonLevel(resObject);
} else {
DBViewFolderRepNode dbFolderNode = (DBViewFolderRepNode) selectedObject;
comparisonLevel = new CatalogSchemaComparisonLevel(dbFolderNode);
}
} else if (selectedObject instanceof DBColumnFolderRepNode) {
DBColumnFolderRepNode dbFolderNode = (DBColumnFolderRepNode) selectedObject;
comparisonLevel = new TableViewComparisonLevel(dbFolderNode);
} else if (selectedObject instanceof MetadataTable) {
MetadataTable resObject = (MetadataTable) selectedObject;
comparisonLevel = new FileMetadataTableComparisonLevel(resObject);
} else if (selectedObject instanceof Connection) {
// MOD qiongli 2011-9-5 feature TDQ-3317.
comparisonLevel = new DataProviderComparisonLevel(selectedObject);
} else {
comparisonLevel = null;
}
return comparisonLevel;
}
use of org.talend.cwm.compare.factory.comparisonlevel.TableViewComparisonLevel in project tdq-studio-se by Talend.
the class TestComparisonLevelFactoryTest method testCreatComparisonLevelObject_5.
/**
* Test method for
* {@link org.talend.cwm.compare.factory.ComparisonLevelFactory#creatComparisonLevel(java.lang.Object)}. test for
* the type of : rep node
*/
@Test
public void testCreatComparisonLevelObject_5() {
RepositoryNode dbCatalogRepNode = createCatalogRepNode();
DBTableRepNode dbTableRepNode = new DBTableRepNode(null, dbCatalogRepNode, ENodeType.TDQ_REPOSITORY_ELEMENT, null);
DBColumnFolderRepNode node = new DBColumnFolderRepNode(null, dbTableRepNode, null, null);
IComparisonLevel level = ComparisonLevelFactory.creatComparisonLevel(node);
Assert.assertTrue(level instanceof TableViewComparisonLevel);
}
Aggregations