Search in sources :

Example 11 with TdView

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

the class DBColumnRepNode method getParentViewObject.

/*
     * (non-Javadoc)
     * 
     * @see
     * org.talend.dq.nodes.DQRepositoryNode#getParentViewObject(org.talend.core.model.repository.IRepositoryViewObject)
     */
@Override
protected IRepositoryViewObject getParentViewObject() {
    IRepositoryViewObject returnViewObject = null;
    MetadataTable columnOwnerAsMetadataTable = ColumnHelper.getColumnOwnerAsMetadataTable(getTdColumn());
    if (columnOwnerAsMetadataTable instanceof TdTable) {
        returnViewObject = new TdTableRepositoryObject(metadataColumnRepositoryObject.getViewObject(), (TdTable) columnOwnerAsMetadataTable);
    } else if (columnOwnerAsMetadataTable instanceof TdView) {
        returnViewObject = new TdViewRepositoryObject(metadataColumnRepositoryObject.getViewObject(), (TdView) columnOwnerAsMetadataTable);
    }
    return returnViewObject;
}
Also used : TdTable(org.talend.cwm.relational.TdTable) TdView(org.talend.cwm.relational.TdView) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) TdTableRepositoryObject(org.talend.core.repository.model.repositoryObject.TdTableRepositoryObject) TdViewRepositoryObject(org.talend.core.repository.model.repositoryObject.TdViewRepositoryObject)

Example 12 with TdView

use of org.talend.cwm.relational.TdView in project tdi-studio-se by Talend.

the class FillParametersForDatabaseConnectionMigrationTask method fillParametersForColumns.

private void fillParametersForColumns(EList<orgomg.cwm.objectmodel.core.Package> pkgs) {
    for (orgomg.cwm.objectmodel.core.Package pkg : pkgs) {
        // handle tables
        List<TdTable> tables = PackageHelper.getTables(pkg);
        for (TdTable table : tables) {
            fillParamaters(TableHelper.getColumns(table));
        }
        // handle views
        List<TdView> views = PackageHelper.getViews(pkg);
        for (TdView view : views) {
            fillParamaters(ViewHelper.getColumns(view));
        }
    }
}
Also used : TdTable(org.talend.cwm.relational.TdTable) TdView(org.talend.cwm.relational.TdView)

Example 13 with TdView

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

the class RepositoryNodeHelper method getAllColumnNodes.

/**
 * get All the Column level Nodes.
 *
 * @param selectedNodes
 * @return
 */
public static IRepositoryNode[] getAllColumnNodes(Object[] selectedNodes) {
    List<IRepositoryNode> list = new ArrayList<IRepositoryNode>();
    if (selectedNodes == null || selectedNodes.length == 0) {
        return list.toArray(new IRepositoryNode[list.size()]);
    }
    Object firstElement = selectedNodes[0];
    if (firstElement instanceof IRepositoryNode) {
        IRepositoryNode repNode = (IRepositoryNode) firstElement;
        IRepositoryViewObject repViewObject = repNode.getObject();
        if (repViewObject instanceof MetadataColumnRepositoryObject || repViewObject instanceof MetadataXmlElementType) {
            IRepositoryNode[] column = new IRepositoryNode[selectedNodes.length];
            for (int i = 0; i < selectedNodes.length; i++) {
                column[i] = (IRepositoryNode) selectedNodes[i];
            }
            return column;
        } else if (repViewObject instanceof MetadataTableRepositoryObject) {
            for (Object currentObj : selectedNodes) {
                IRepositoryNode columnSetNode = (IRepositoryNode) currentObj;
                List<IRepositoryNode> children = columnSetNode.getChildren();
                if (children.size() > 0) {
                    list.addAll(children.get(0).getChildren());
                }
            }
            return list.toArray(new IRepositoryNode[list.size()]);
        }
    } else if (firstElement instanceof TdTable) {
        TdTable table = (TdTable) firstElement;
        EList<MetadataColumn> columns = table.getColumns();
        for (MetadataColumn column : columns) {
            RepositoryNode recursiveFind = RepositoryNodeHelper.recursiveFind(column);
            list.add(recursiveFind);
        }
        return list.toArray(new IRepositoryNode[list.size()]);
    } else if (firstElement instanceof WhereRuleChartDataEntity) {
        // ADD msjian 2012-2-9 TDQ-4470: get columns from the join conditions
        EList<JoinElement> joinConditions = ((WhereRuleChartDataEntity) firstElement).getIndicator().getJoinConditions();
        if (joinConditions != null && joinConditions.size() > 0) {
            JoinElement joinElement = joinConditions.get(0);
            list.add(RepositoryNodeHelper.recursiveFind(joinElement.getColA()));
            list.add(RepositoryNodeHelper.recursiveFind(joinElement.getColB()));
            return list.toArray(new IRepositoryNode[list.size()]);
        }
    // TDQ-4470 ~
    } else if (firstElement instanceof TdView) {
        // Added yyin 20120522 TDQ-4945, support tdView
        TdView view = (TdView) firstElement;
        EList<MetadataColumn> columns = view.getColumns();
        for (MetadataColumn column : columns) {
            RepositoryNode recursiveFind = RepositoryNodeHelper.recursiveFind(column);
            list.add(recursiveFind);
        }
        return list.toArray(new IRepositoryNode[list.size()]);
    }
    // ~
    return null;
}
Also used : TdTable(org.talend.cwm.relational.TdTable) IRepositoryNode(org.talend.repository.model.IRepositoryNode) ArrayList(java.util.ArrayList) RepositoryNode(org.talend.repository.model.RepositoryNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode) DQRepositoryNode(org.talend.dq.nodes.DQRepositoryNode) MetadataTableRepositoryObject(org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject) JoinElement(org.talend.dataquality.rules.JoinElement) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) EList(org.eclipse.emf.common.util.EList) WhereRuleChartDataEntity(org.talend.dq.indicators.preview.table.WhereRuleChartDataEntity) TdView(org.talend.cwm.relational.TdView) MetadataXmlElementType(org.talend.core.model.metadata.MetadataXmlElementType) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) TdViewRepositoryObject(org.talend.core.repository.model.repositoryObject.TdViewRepositoryObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ISubRepositoryObject(org.talend.core.model.repository.ISubRepositoryObject) RepositoryViewObject(org.talend.core.model.repository.RepositoryViewObject) MetadataTableRepositoryObject(org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject) TdTableRepositoryObject(org.talend.core.repository.model.repositoryObject.TdTableRepositoryObject) MetadataColumnRepositoryObject(org.talend.core.repository.model.repositoryObject.MetadataColumnRepositoryObject) EObject(org.eclipse.emf.ecore.EObject) MetadataColumnRepositoryObject(org.talend.core.repository.model.repositoryObject.MetadataColumnRepositoryObject) ArrayList(java.util.ArrayList) List(java.util.List) EList(org.eclipse.emf.common.util.EList)

Example 14 with TdView

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

the class RepositoryNodeHelper method createRepositoryNode.

/**
 * create a new RepositoryNode when the node is hide on the repositoryView.
 *
 * @param findModelElement
 * @throws PersistenceException
 */
public static RepositoryNode createRepositoryNode(ModelElement findModelElement) {
    RepositoryNode returnNode = null;
    if (findModelElement == null) {
        return returnNode;
    }
    Property property = PropertyHelper.getProperty(findModelElement);
    IRepositoryViewObject lastVersion = null;
    if (property == null) {
        // $NON-NLS-1$
        log.error("Can not find property from modelElement: " + findModelElement.getName());
        return returnNode;
    } else {
        try {
            lastVersion = ProxyRepositoryFactory.getInstance().getLastVersion(property.getId());
        } catch (PersistenceException e) {
            log.error(e, e);
            return returnNode;
        }
        if (lastVersion == null) {
            // $NON-NLS-1$
            log.error("Can not find lastVersion from property: " + property.getDisplayName());
            return returnNode;
        }
    }
    if (findModelElement instanceof TdColumn) {
        returnNode = createMetadataColumnRepNode((TdColumn) findModelElement, lastVersion);
    } else if (findModelElement instanceof TdTable) {
        returnNode = createDBTableRepNode((TdTable) findModelElement, lastVersion);
    } else if (findModelElement instanceof TdView) {
        returnNode = createDBViewRepNode((TdView) findModelElement, lastVersion);
    }
    return returnNode;
}
Also used : TdColumn(org.talend.cwm.relational.TdColumn) TdTable(org.talend.cwm.relational.TdTable) TdView(org.talend.cwm.relational.TdView) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PersistenceException(org.talend.commons.exception.PersistenceException) RepositoryNode(org.talend.repository.model.RepositoryNode) IRepositoryNode(org.talend.repository.model.IRepositoryNode) DQRepositoryNode(org.talend.dq.nodes.DQRepositoryNode) Property(org.talend.core.model.properties.Property)

Example 15 with TdView

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

the class CatalogSchemaComparisonLevel method getSavedReloadObject.

@Override
protected EObject getSavedReloadObject() throws ReloadCompareException {
    Package selectedPackage = getPackageFromObject(selectedObj);
    // ADD TDQ-11146 msjian: to save the TaggedValues before clear
    if (PluginChecker.isTDQLoaded()) {
        tmpTableTaggedValuesMap = new HashMap<String, String>();
        List<TdTable> tables = PackageHelper.getTables(selectedPackage);
        for (TdTable table : tables) {
            String tmpTableConceptName = TaggedValueHelper.getValueString(TaggedValueHelper.CONCEPT_NAME, table);
            if (StringUtils.isNotBlank(tmpTableConceptName)) {
                tmpTableTaggedValuesMap.put(table.getName(), tmpTableConceptName);
            }
        }
        List<TdView> views = PackageHelper.getViews(selectedPackage);
        for (TdView view : views) {
            String tmpViewConceptName = TaggedValueHelper.getValueString(TaggedValueHelper.CONCEPT_NAME, view);
            if (StringUtils.isNotBlank(tmpViewConceptName)) {
                tmpTableTaggedValuesMap.put(view.getName(), tmpViewConceptName);
            }
        }
    }
    // TDQ-11146~
    // MOD mzhao 2009-01-20 Extract method findMatchedPackage to
    // DQStructureComparer class
    // for common use.
    Package findMatchPackage = DQStructureComparer.findMatchedPackage(selectedPackage, tempReloadProvider);
    reloadElementOfPackage(findMatchPackage);
    return findMatchPackage;
}
Also used : TdTable(org.talend.cwm.relational.TdTable) TdView(org.talend.cwm.relational.TdView) Package(orgomg.cwm.objectmodel.core.Package)

Aggregations

TdView (org.talend.cwm.relational.TdView)26 TdTable (org.talend.cwm.relational.TdTable)15 ArrayList (java.util.ArrayList)9 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)9 TdColumn (org.talend.cwm.relational.TdColumn)8 IRepositoryNode (org.talend.repository.model.IRepositoryNode)7 RepositoryNode (org.talend.repository.model.RepositoryNode)7 Catalog (orgomg.cwm.resource.relational.Catalog)7 Test (org.junit.Test)5 TdViewRepositoryObject (org.talend.core.repository.model.repositoryObject.TdViewRepositoryObject)5 Schema (orgomg.cwm.resource.relational.Schema)5 Connection (org.talend.core.model.metadata.builder.connection.Connection)4 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)4 DQRepositoryNode (org.talend.dq.nodes.DQRepositoryNode)4 Package (orgomg.cwm.objectmodel.core.Package)4 EObject (org.eclipse.emf.ecore.EObject)3 MetadataCatalogRepositoryObject (org.talend.core.repository.model.repositoryObject.MetadataCatalogRepositoryObject)3 MetadataColumnRepositoryObject (org.talend.core.repository.model.repositoryObject.MetadataColumnRepositoryObject)3 TdTableRepositoryObject (org.talend.core.repository.model.repositoryObject.TdTableRepositoryObject)3 DBViewRepNode (org.talend.dq.nodes.DBViewRepNode)3