Search in sources :

Example 6 with Folder

use of org.talend.core.model.repository.Folder in project tdq-studio-se by Talend.

the class CatalogContentProvider method getChildren.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#getChildren(java.lang.Object)
     */
@Override
public Object[] getChildren(Object parentElement) {
    // if (parentElement instanceof IContainer) {
    // try {
    // Object[] members = ((IContainer) parentElement).members();
    // if (parentElement.equals(ResourceManager.getConnectionFolder())) {
    // try {
    // members = ProxyRepositoryFactory.getInstance().getAll(ERepositoryObjectType.METADATA_CONNECTIONS)
    // .toArray();
    // } catch (PersistenceException e) {
    // log.error(e, e);
    // }
    // }
    // return members;
    // } catch (CoreException e) {
    // log.error("Can't get the children of container:" + ((IContainer) parentElement).getLocation()); //$NON-NLS-1$
    // }
    // } else if (parentElement instanceof IRepositoryViewObject) {
    // IRepositoryViewObject repoistoryViewObj = (IRepositoryViewObject) parentElement;
    // Item item = repoistoryViewObj.getProperty().getItem();
    // if (item instanceof ConnectionItem) {
    // ((ConnectionItem) item).getConnection().getDataPackage();
    // return ComparatorsFactory.sort(((ConnectionItem) item).getConnection().getDataPackage().toArray(),
    // ComparatorsFactory.MODELELEMENT_COMPARATOR_ID);
    // }
    // }
    // else if (parentElement instanceof IFile) {
    // IFile prvFile = (IFile) parentElement;
    // if (FactoriesUtil.isProvFile(prvFile.getFileExtension())) {
    // parentElement = PrvResourceFileHelper.getInstance().getFileResource((IFile) parentElement);
    // return ComparatorsFactory.sort(super.getChildren(parentElement),
    // ComparatorsFactory.MODELELEMENT_COMPARATOR_ID);
    // }
    // }
    List<RepositoryNode> analyzeNode = new ArrayList<RepositoryNode>();
    if (parentElement instanceof IContainer) {
        if (ResourceManager.isMetadataFolder((IResource) parentElement)) {
            IFolder container = (IFolder) parentElement;
            IRepositoryViewObject viewObject = new Folder(((IFolder) container).getName(), ((IFolder) 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) {
                if (object instanceof DBConnectionFolderRepNode) {
                    analyzeNode.add((RepositoryNode) object);
                }
            }
            return analyzeNode.toArray();
        }
    }
    return super.getChildren(parentElement);
}
Also used : ArrayList(java.util.ArrayList) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) RepositoryNode(org.talend.repository.model.RepositoryNode) IContainer(org.eclipse.core.resources.IContainer) IFolder(org.eclipse.core.resources.IFolder) Folder(org.talend.core.model.repository.Folder) DBConnectionFolderRepNode(org.talend.dq.nodes.DBConnectionFolderRepNode) IFolder(org.eclipse.core.resources.IFolder)

Example 7 with Folder

use of org.talend.core.model.repository.Folder in project tdq-studio-se by Talend.

the class ConnectionsContentProvider method getChildren.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#getChildren(java.lang.Object)
     */
@Override
public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof IContainer) {
        IContainer container = (IContainer) parentElement;
        IRepositoryNode node = null;
        // IResource[] members = null;
        // try {
        // 
        // // if (ResourceManager.getConnectionFolder().equals(container)) {
        // // return
        // // ProxyRepositoryFactory.getInstance().getAll(ERepositoryObjectType.METADATA_CONNECTIONS).toArray();
        // // } else if (ResourceManager.getMDMConnectionFolder().equals(container)) {
        // // return
        // // ProxyRepositoryFactory.getInstance().getAll(ERepositoryObjectType.METADATA_CONNECTIONS).toArray();
        // // }
        // } catch (PersistenceException e) {
        // log.error(e, e);
        // }
        // try {
        // members = container.members();
        // } catch (CoreException e) {
        // log.error("Can't get the children of container:" + ((IContainer) parentElement).getLocation()); //$NON-NLS-1$
        // }
        List<RepositoryNode> analyzeNode = new ArrayList<RepositoryNode>();
        if (ResourceManager.isMetadataFolder(container)) {
            IRepositoryViewObject viewObject = new Folder(((IFolder) container).getName(), ((IFolder) container).getName());
            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) {
                if (object instanceof DBConnectionFolderRepNode) {
                    analyzeNode.add((RepositoryNode) object);
                }
            }
            return analyzeNode.toArray();
        }
    }
    return super.getChildren(parentElement);
}
Also used : IRepositoryNode(org.talend.repository.model.IRepositoryNode) ArrayList(java.util.ArrayList) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) IContainer(org.eclipse.core.resources.IContainer) IRepositoryNode(org.talend.repository.model.IRepositoryNode) RepositoryNode(org.talend.repository.model.RepositoryNode) IFolder(org.eclipse.core.resources.IFolder) Folder(org.talend.core.model.repository.Folder) DBConnectionFolderRepNode(org.talend.dq.nodes.DBConnectionFolderRepNode)

Example 8 with Folder

use of org.talend.core.model.repository.Folder in project tdq-studio-se by Talend.

the class ReportFolderRepNode method getChildrenAll.

/**
 * get all children under the folder.
 *
 * @param withDelete include deleted ones
 * @return
 */
public List<IRepositoryNode> getChildrenAll(boolean withDeleted) {
    List<IRepositoryNode> nodes = new ArrayList<IRepositoryNode>();
    try {
        RootContainer<String, IRepositoryViewObject> tdqViewObjects = super.getTdqViewObjects(getProject(), this);
        // sub folders
        for (Container<String, IRepositoryViewObject> container : tdqViewObjects.getSubContainer()) {
            Folder folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_REPORT_ELEMENT);
            if (isIgnoreFolder(withDeleted, getProject(), folder)) {
                continue;
            }
            ReportSubFolderRepNode childNodeFolder = new ReportSubFolderRepNode(folder, this, ENodeType.SIMPLE_FOLDER, getProject());
            childNodeFolder.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_REPORT_ELEMENT);
            childNodeFolder.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_REPORT_ELEMENT);
            folder.setRepositoryNode(childNodeFolder);
            nodes.addAll(childNodeFolder.getChildrenAll(withDeleted));
        }
        // rep files
        for (IRepositoryViewObject viewObject : tdqViewObjects.getMembers()) {
            if (!withDeleted && viewObject.isDeleted()) {
                continue;
            }
            ReportRepNode repNode = new ReportRepNode(viewObject, this, ENodeType.REPOSITORY_ELEMENT, getProject());
            repNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_REPORT_ELEMENT);
            repNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_REPORT_ELEMENT);
            viewObject.setRepositoryNode(repNode);
            nodes.add(repNode);
        }
    } catch (PersistenceException e) {
        log.error(e, e);
    }
    return nodes;
}
Also used : IRepositoryNode(org.talend.repository.model.IRepositoryNode) ArrayList(java.util.ArrayList) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PersistenceException(org.talend.commons.exception.PersistenceException) Folder(org.talend.core.model.repository.Folder)

Example 9 with Folder

use of org.talend.core.model.repository.Folder in project tdq-studio-se by Talend.

the class RulesFolderRepNode method createChildrenNode.

/**
 * DOC msjian Comment method "createChildrenNode".
 *
 * @param withDeleted
 * @param project
 * @throws PersistenceException
 */
private void createChildrenNode(boolean withDeleted, Project project) throws PersistenceException {
    RootContainer<String, IRepositoryViewObject> tdqViewObjects = super.getTdqViewObjects(project, this);
    for (Container<String, IRepositoryViewObject> container : tdqViewObjects.getSubContainer()) {
        Folder folder = null;
        // $NON-NLS-1$
        boolean isSql = container.getLabel().equals("SQL");
        // $NON-NLS-1$
        boolean isParser = container.getLabel().equals("Parser");
        // $NON-NLS-1$
        boolean isMatcher = container.getLabel().equals("Match");
        if (isSql) {
            folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_RULES_SQL);
            if (isIgnoreFolder(withDeleted, project, folder)) {
                continue;
            }
            RulesSQLFolderRepNode systemIndicatorFolderNode = new RulesSQLFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
            folder.setRepositoryNode(systemIndicatorFolderNode);
            systemIndicatorFolderNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_RULES_SQL);
            systemIndicatorFolderNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_RULES_SQL);
            super.getChildren().add(systemIndicatorFolderNode);
        } else if (isMatcher) {
            folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_RULES_MATCHER);
            if (isIgnoreFolder(withDeleted, project, folder)) {
                continue;
            }
            RulesMatcherFolderRepNode ruleMatcherFolder = new RulesMatcherFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
            folder.setRepositoryNode(ruleMatcherFolder);
            ruleMatcherFolder.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_RULES_MATCHER);
            ruleMatcherFolder.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_RULES_MATCHER);
            super.getChildren().add(ruleMatcherFolder);
        } else if (isParser && PluginChecker.isTDQLoaded()) {
            folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_RULES_PARSER);
            if (isIgnoreFolder(withDeleted, project, folder)) {
                continue;
            }
            RulesParserFolderRepNode systemIndicatorFolderNode = new RulesParserFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
            folder.setRepositoryNode(systemIndicatorFolderNode);
            systemIndicatorFolderNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_RULES_PARSER);
            systemIndicatorFolderNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_RULES_PARSER);
            super.getChildren().add(systemIndicatorFolderNode);
        }
    }
}
Also used : IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) Folder(org.talend.core.model.repository.Folder) Property(org.talend.core.model.properties.Property)

Example 10 with Folder

use of org.talend.core.model.repository.Folder in project tdq-studio-se by Talend.

the class IndicatorFolderRepNode method createChildrenNode.

/**
 * DOC msjian Comment method "createChildrenNode".
 *
 * @param withDeleted
 * @param project
 * @throws PersistenceException
 */
private void createChildrenNode(boolean withDeleted, Project project) throws PersistenceException {
    RootContainer<String, IRepositoryViewObject> tdqViewObjects = super.getTdqViewObjects(project, this);
    // sub folders
    for (Container<String, IRepositoryViewObject> container : tdqViewObjects.getSubContainer()) {
        boolean isSystem = container.getLabel().equals(EResourceConstant.SYSTEM_INDICATORS.getName());
        ERepositoryObjectType eRepositoryObjectType = isSystem ? ERepositoryObjectType.TDQ_SYSTEM_INDICATORS : ERepositoryObjectType.TDQ_USERDEFINE_INDICATORS;
        Folder folder = new Folder((Property) container.getProperty(), eRepositoryObjectType);
        if (isIgnoreFolder(withDeleted, project, folder)) {
            continue;
        }
        DQRepositoryNode indicatorFolderNode;
        if (isSystem) {
            indicatorFolderNode = new SysIndicatorFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
        } else {
            indicatorFolderNode = new UserDefIndicatorSubFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
        }
        RepositoryNodeHelper.setPropertiesForNode(indicatorFolderNode, eRepositoryObjectType);
        folder.setRepositoryNode(indicatorFolderNode);
        super.getChildren().add(indicatorFolderNode);
    }
}
Also used : IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Folder(org.talend.core.model.repository.Folder)

Aggregations

Folder (org.talend.core.model.repository.Folder)45 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)34 IFolder (org.eclipse.core.resources.IFolder)16 FolderItem (org.talend.core.model.properties.FolderItem)10 ArrayList (java.util.ArrayList)9 ERepositoryObjectType (org.talend.core.model.repository.ERepositoryObjectType)9 RepositoryNode (org.talend.repository.model.RepositoryNode)9 IPath (org.eclipse.core.runtime.IPath)7 IRepositoryNode (org.talend.repository.model.IRepositoryNode)7 PersistenceException (org.talend.commons.exception.PersistenceException)5 File (java.io.File)4 IContainer (org.eclipse.core.resources.IContainer)4 IProject (org.eclipse.core.resources.IProject)4 Path (org.eclipse.core.runtime.Path)4 Item (org.talend.core.model.properties.Item)4 IFile (org.eclipse.core.resources.IFile)3 Project (org.talend.core.model.general.Project)3 ItemState (org.talend.core.model.properties.ItemState)3 Property (org.talend.core.model.properties.Property)3 IOException (java.io.IOException)2