use of org.talend.dq.nodes.DBColumnFolderRepNode in project tdq-studio-se by Talend.
the class ReloadDatabaseProvider method fillContextMenu.
@Override
public void fillContextMenu(IMenuManager menu) {
// MOD mzhao user readonly role on svn repository mode.
if (!isShowMenu()) {
return;
}
// MOD bug 16532 scorreia 2010-10-19 hide menu when not in TOP standalone
// if (!PluginChecker.isOnlyTopLoaded()) {
// return;
// }
// ~
Object obj = ((TreeSelection) this.getContext().getSelection()).getFirstElement();
if (obj instanceof RepositoryNode) {
RepositoryNode node = (RepositoryNode) obj;
if (shouldShowReloadMenu(node)) {
String menuText = RELOADDATABASE_MENUTEXT;
if (node instanceof DBTableFolderRepNode) {
menuText = RELOADTABLES_MENUTEXT;
} else if (node instanceof DBViewFolderRepNode) {
menuText = RELOADVIEWS_MENUTEXT;
} else if (node instanceof DBColumnFolderRepNode) {
menuText = RELOADCOLUMNS_MENUTEXT;
}
// menu.add(new ReloadDatabaseAction(node.getObject(), menuText));
menu.add(new ReloadDatabaseAction(node, menuText));
}
}
}
use of org.talend.dq.nodes.DBColumnFolderRepNode 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.dq.nodes.DBColumnFolderRepNode in project tdq-studio-se by Talend.
the class TableViewComparisonLevel method findDataProvider.
@Override
protected Connection findDataProvider() {
Connection provider = null;
if (selectedObj instanceof DBColumnFolderRepNode) {
DBColumnFolderRepNode columnFolderRepNode = (DBColumnFolderRepNode) selectedObj;
ColumnSet columnSet = columnFolderRepNode.getColumnSet();
if (columnSet != null) {
Package parentCatalogOrSchema = ColumnSetHelper.getParentCatalogOrSchema(columnSet);
provider = ConnectionHelper.getTdDataProvider(parentCatalogOrSchema);
}
} else if (selectedObj instanceof RepositoryNode) {
Item connItem = ((RepositoryNode) selectedObj).getObject().getProperty().getItem();
provider = ((ConnectionItem) connItem).getConnection();
} else {
ColumnSet columnSet = (ColumnSet) selectedObj;
Package parentCatalogOrSchema = ColumnSetHelper.getParentCatalogOrSchema(columnSet);
provider = ConnectionHelper.getTdDataProvider(parentCatalogOrSchema);
}
return provider;
}
use of org.talend.dq.nodes.DBColumnFolderRepNode in project tdq-studio-se by Talend.
the class TableViewComparisonLevel method getRightResource.
@Override
protected Resource getRightResource() throws ReloadCompareException {
ColumnSet selectedColumnSet = null;
if (selectedObj instanceof RepositoryNode) {
selectedColumnSet = (ColumnSet) RepositoryNodeHelper.getMetadataElement((RepositoryNode) selectedObj);
} else if (selectedObj instanceof DBColumnFolderRepNode) {
DBColumnFolderRepNode columnFolderRepNode = (DBColumnFolderRepNode) selectedObj;
selectedColumnSet = columnFolderRepNode.getColumnSet();
} else {
selectedColumnSet = (ColumnSet) selectedObj;
}
ColumnSet findMatchedColumnSet = DQStructureComparer.findMatchedColumnSet(selectedColumnSet, tempReloadProvider);
List<TdColumn> columns = null;
try {
// MOD scorreia 2009-01-29 clear content of findMatchedColumnSet
ColumnSetHelper.setColumns(findMatchedColumnSet, EMPTY_COLUMN_LIST);
columns = DqRepositoryViewService.getColumns(tempReloadProvider, findMatchedColumnSet, true);
} catch (Exception e1) {
throw new ReloadCompareException(e1);
}
// MOD scorreia 2009-01-29 columns are stored in the table
// ColumnSetHelper.addColumns(findMatchedColumnSet, columns);
URI uri = tempReloadProvider.eResource().getURI();
Resource rightResource = null;
rightResource = EMFSharedResources.getInstance().getResource(uri, true);
if (rightResource == null) {
// $NON-NLS-1$
throw new ReloadCompareException(DefaultMessagesImpl.getString("TableViewComparisonLevel.NoFactoryFoundForURI", uri));
}
rightResource.getContents().clear();
for (TdColumn column : columns) {
DQStructureComparer.clearSubNode(column);
rightResource.getContents().add(column);
}
EMFSharedResources.getInstance().saveResource(rightResource);
return upperCaseResource(rightResource);
}
use of org.talend.dq.nodes.DBColumnFolderRepNode in project tdq-studio-se by Talend.
the class TableViewComparisonLevel method getCurrentColumnSet.
/**
* DOC msjian Comment method "getCurrentColumnSet".
*
* @return
*/
private ColumnSet getCurrentColumnSet() {
ColumnSet columnSet = null;
if (selectedObj instanceof DBColumnFolderRepNode) {
DBColumnFolderRepNode columnFolderRepNode = (DBColumnFolderRepNode) selectedObj;
columnSet = columnFolderRepNode.getColumnSet();
} else if (selectedObj instanceof ColumnSet) {
columnSet = (ColumnSet) selectedObj;
}
return columnSet;
}
Aggregations