Search in sources :

Example 1 with Query

use of org.talend.core.model.metadata.Query in project tdi-studio-se by Talend.

the class SchemaTypeProcessor method selectRepositoryNode.

@Override
protected boolean selectRepositoryNode(Viewer viewer, RepositoryNode parentNode, RepositoryNode node) {
    if (super.selectRepositoryNode(viewer, parentNode, node)) {
        IRepositoryViewObject object = node.getObject();
        if (object != null) {
            // query
            if (object instanceof Query) {
                return false;
            }
        }
        // cdc
        ICDCProviderService cdcService = null;
        if (PluginChecker.isCDCPluginLoaded()) {
            cdcService = (ICDCProviderService) GlobalServiceRegister.getDefault().getService(ICDCProviderService.class);
        }
        String repositoryType = getRepositoryType();
        if (ERepositoryCategoryType.CDC.getName().equals(repositoryType) && (object != null)) {
            if (object.getRepositoryObjectType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
                DatabaseConnectionItem item = (DatabaseConnectionItem) object.getProperty().getItem();
                DatabaseConnection connection = (DatabaseConnection) item.getConnection();
                if (cdcService != null && cdcService.canCreateCDCConnection(connection)) {
                    return true;
                }
                return false;
            }
            if (object instanceof MetadataTable) {
                return ((MetadataTableRepositoryObject) object).getTable().isActivatedCDC();
            }
        }
        return true;
    }
    return false;
}
Also used : Query(org.talend.core.model.metadata.Query) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) MetadataTable(org.talend.core.model.metadata.MetadataTable) DatabaseConnection(org.talend.core.model.metadata.builder.connection.DatabaseConnection) ICDCProviderService(org.talend.core.ui.ICDCProviderService) DatabaseConnectionItem(org.talend.core.model.properties.DatabaseConnectionItem)

Aggregations

MetadataTable (org.talend.core.model.metadata.MetadataTable)1 Query (org.talend.core.model.metadata.Query)1 DatabaseConnection (org.talend.core.model.metadata.builder.connection.DatabaseConnection)1 DatabaseConnectionItem (org.talend.core.model.properties.DatabaseConnectionItem)1 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)1 ICDCProviderService (org.talend.core.ui.ICDCProviderService)1