// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.ui.wizard.analysis.provider; import java.util.ArrayList; import java.util.List; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IResource; import org.talend.core.model.repository.Folder; import org.talend.core.model.repository.IRepositoryViewObject; import org.talend.dataprofiler.core.ui.views.provider.ResourceViewContentProvider; import org.talend.dq.nodes.DBColumnRepNode; import org.talend.repository.model.IRepositoryNode.ENodeType; import org.talend.repository.model.RepositoryNode; import org.talend.resource.ResourceManager; /** * DOC klliu class global comment. Detailled comment,2011-02-16 feature 15387 */ public class ColumnContentProvider extends ResourceViewContentProvider { // private static Logger log = Logger.getLogger(CatalogContentProvider.class); public ColumnContentProvider() { } /* * (non-Javadoc) * * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#getChildren(java.lang.Object) */ @Override public Object[] getChildren(Object parentElement) { List<RepositoryNode> analyzeNode = new ArrayList<RepositoryNode>(); if (parentElement instanceof IContainer) { if (ResourceManager.isMetadataFolder((IResource) parentElement)) { IFolder container = (IFolder) parentElement; IRepositoryViewObject viewObject = new Folder(container.getName(), container.getName()); RepositoryNode node = new RepositoryNode(viewObject, null, ENodeType.SYSTEM_FOLDER); viewObject.setRepositoryNode(node); Object[] children = super.getChildren(node); // if analyze Connection/Catalog/Schema,now only surpport DB type klliu 2011-01-28 for (Object object : children) { analyzeNode.add((RepositoryNode) object); } return analyzeNode.toArray(); } } return super.getChildren(parentElement); } @Override public Object[] getElements(Object object) { return this.getChildren(object); } @Override public Object getParent(Object element) { if (element instanceof IContainer) { return ((IContainer) element).getParent(); } return super.getParent(element); } @Override public boolean hasChildren(Object element) { if (element instanceof DBColumnRepNode) { return false; } return true; } }