Search in sources :

Example 41 with Folder

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

the class PatternRegexFolderRepNode 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()) {
        Folder folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_PATTERN_REGEX);
        if (isIgnoreFolder(withDeleted, project, folder)) {
            continue;
        }
        PatternRegexSubFolderRepNode childNodeFolder = new PatternRegexSubFolderRepNode(folder, this, ENodeType.SIMPLE_FOLDER, project);
        childNodeFolder.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_PATTERN_REGEX);
        childNodeFolder.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_PATTERN_REGEX);
        super.getChildren().add(childNodeFolder);
    }
    // pattern regex files
    for (IRepositoryViewObject viewObject : tdqViewObjects.getMembers()) {
        if (!withDeleted && viewObject.isDeleted()) {
            continue;
        }
        PatternRepNode repNode = new PatternRepNode(viewObject, this, ENodeType.REPOSITORY_ELEMENT, project);
        repNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_PATTERN_REGEX);
        repNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_PATTERN_REGEX);
        viewObject.setRepositoryNode(repNode);
        // merge mode)
        if (ProxyRepositoryManager.getInstance().isMergeRefProject()) {
            if (!project.isMainProject()) {
                ModelElement meNode = RepositoryNodeHelper.getResourceModelElement(repNode);
                if (meNode != null) {
                    String uuid = RepositoryNodeHelper.getUUID(meNode);
                    if (RepositoryNodeHelper.isSystemRegexPattern(uuid)) {
                        continue;
                    }
                }
            }
        }
        // TDQ-4914~
        super.getChildren().add(repNode);
    }
}
Also used : ModelElement(orgomg.cwm.objectmodel.core.ModelElement) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) Folder(org.talend.core.model.repository.Folder)

Example 42 with Folder

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

the class JrxmlTempFolderRepNode method getChildrenForProject.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.dq.nodes.DQFolderRepNode#getChildrenForProject(boolean, org.talend.core.model.general.Project)
     */
@Override
public void getChildrenForProject(boolean withDeleted, Project project) throws PersistenceException {
    RootContainer<String, IRepositoryViewObject> tdqViewObjects = super.getTdqViewObjects(project, this);
    // sub folders
    for (Container<String, IRepositoryViewObject> container : tdqViewObjects.getSubContainer()) {
        Folder folder = new Folder((Property) container.getProperty(), ERepositoryObjectType.TDQ_JRAXML_ELEMENT);
        if (isIgnoreFolder(withDeleted, project, folder)) {
            continue;
        }
        JrxmlTempSubFolderNode childNodeFolder = new JrxmlTempSubFolderNode(folder, this, ENodeType.SIMPLE_FOLDER, project);
        childNodeFolder.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_JRAXML_ELEMENT);
        childNodeFolder.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_JRAXML_ELEMENT);
        folder.setRepositoryNode(childNodeFolder);
        super.getChildren().add(childNodeFolder);
    }
    // jrxml templates
    for (IRepositoryViewObject viewObject : tdqViewObjects.getMembers()) {
        if (!withDeleted && viewObject.isDeleted()) {
            continue;
        }
        JrxmlTempleteRepNode jrxmlNode = new JrxmlTempleteRepNode(viewObject, this, ENodeType.REPOSITORY_ELEMENT, project);
        jrxmlNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_JRAXML_ELEMENT);
        jrxmlNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_JRAXML_ELEMENT);
        viewObject.setRepositoryNode(jrxmlNode);
        // MOD yyi 2011-04-21 19977 duplicate template after replace
        if (!duplicateNode(super.getChildren(), jrxmlNode)) {
            super.getChildren().add(jrxmlNode);
        }
    }
}
Also used : IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) Folder(org.talend.core.model.repository.Folder)

Example 43 with Folder

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

the class RecycleBinRepNode method addItemToRecycleBin.

private void addItemToRecycleBin(DQRepositoryNode parentNode, Item item, List<DQRepositoryNode> foldersList, Project project) {
    ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
    DQRepositoryNode currentParentNode = parentNode;
    if (item instanceof FolderItem) {
        itemType = getFolderContentType((FolderItem) item);
        FolderItem folderItem = (FolderItem) item;
        EList<Item> childrenList = folderItem.getChildren();
        if (childrenList.isEmpty()) {
            initChildren(folderItem, itemType);
        }
        if (folderItem.getState() != null && folderItem.getState().isDeleted()) {
            // need to display this folder in the recycle bin.
            Folder folder = new Folder(folderItem.getProperty(), itemType);
            DQRepositoryNode folderNode = null;
            for (DQRepositoryNode existingFolder : foldersList) {
                if (existingFolder.getContentType() == null) {
                    // this can appear temporary when another user has deleted a folder
                    break;
                }
                if (existingFolder.getContentType().equals(folder.getRepositoryObjectType()) && existingFolder.getProperties(EProperties.LABEL).equals(folder.getLabel())) {
                    folderNode = existingFolder;
                    break;
                }
            }
            if (folderNode == null) {
                folderNode = new DQRepositoryNode(folder, parentNode, ENodeType.SIMPLE_FOLDER, project);
                folderNode.setProperties(EProperties.CONTENT_TYPE, itemType);
                folderNode.setProperties(EProperties.LABEL, folder.getLabel());
                foldersList.add(folderNode);
                parentNode.getChildren(false).add(folderNode);
                folderNode.setParent(parentNode);
            }
            for (Item curItem : new ArrayList<Item>(childrenList)) {
                if (isAviableFolderForDQ(curItem, itemType)) {
                    addItemToRecycleBin(folderNode, curItem, foldersList, project);
                }
            }
            currentParentNode = folderNode;
        } else {
            for (Item curItem : new ArrayList<Item>(childrenList)) {
                if (isAviableFolderForDQ(curItem, itemType)) {
                    addItemToRecycleBin(parentNode, curItem, foldersList, project);
                }
            }
        }
    } else if (item.getState() != null && item.getState().isDeleted()) {
        // try {
        // IRepositoryViewObject lastVersion = ProxyRepositoryFactory.getInstance().getLastVersion(getProject(),
        // item.getProperty().getId());
        // String version = lastVersion.getVersion();
        // if (item.getProperty() .getVersion() .equals(version)) {
        DQRepositoryNode repNode = new DQRepositoryNode(new RepositoryViewObject(item.getProperty()), currentParentNode, ENodeType.REPOSITORY_ELEMENT, project);
        repNode.setProperties(EProperties.CONTENT_TYPE, itemType);
        repNode.setProperties(EProperties.LABEL, item.getProperty().getLabel());
        currentParentNode.getChildren(false).add(repNode);
        repNode.setParent(currentParentNode);
    // }
    // } catch (PersistenceException e) {
    // ExceptionHandler.process(e);
    // }
    }
}
Also used : Item(org.talend.core.model.properties.Item) FolderItem(org.talend.core.model.properties.FolderItem) FolderItem(org.talend.core.model.properties.FolderItem) ArrayList(java.util.ArrayList) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Folder(org.talend.core.model.repository.Folder) RepositoryViewObject(org.talend.core.model.repository.RepositoryViewObject)

Example 44 with Folder

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

the class HadoopClusterFolderRepNode method getChildrenForProject.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.dq.nodes.DQFolderRepNode#getChildrenForProject(boolean, org.talend.core.model.general.Project)
     */
@Override
public void getChildrenForProject(boolean withDeleted, Project project) throws PersistenceException {
    RootContainer<String, IRepositoryViewObject> tdqViewObjects = super.getTdqViewObjects(project, this);
    // sub folders
    for (Container<String, IRepositoryViewObject> container : tdqViewObjects.getSubContainer()) {
        Folder folder = new Folder((Property) container.getProperty(), HadoopClusterUtils.getDefault().getHadoopClusterType());
        if (isIgnoreFolder(withDeleted, project, folder)) {
            continue;
        }
        HadoopClusterSubFolderRepNode childNodeFolder = new HadoopClusterSubFolderRepNode(folder, this, ENodeType.SIMPLE_FOLDER, project);
        childNodeFolder.setProperties(EProperties.LABEL, HadoopClusterUtils.getDefault().getHadoopClusterType());
        childNodeFolder.setProperties(EProperties.CONTENT_TYPE, HadoopClusterUtils.getDefault().getHadoopClusterType());
        folder.setRepositoryNode(childNodeFolder);
        super.getChildren().add(childNodeFolder);
    }
    // clusters
    for (IRepositoryViewObject viewObject : tdqViewObjects.getMembers()) {
        if (!withDeleted && viewObject.isDeleted()) {
            continue;
        }
        HadoopClusterConnectionRepNode repNode = new HadoopClusterConnectionRepNode(viewObject, this, ENodeType.REPOSITORY_ELEMENT, project);
        repNode.setProperties(EProperties.LABEL, HadoopClusterUtils.getDefault().getHadoopClusterType());
        repNode.setProperties(EProperties.CONTENT_TYPE, HadoopClusterUtils.getDefault().getHadoopClusterType());
        viewObject.setRepositoryNode(repNode);
        super.getChildren().add(repNode);
    }
}
Also used : IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) Folder(org.talend.core.model.repository.Folder)

Example 45 with Folder

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

the class SysIndicatorFolderRepNode 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()) {
        Folder folder = new Folder((Property) container.getProperty(), RepositoryNodeHelper.getSystemIndicatorFolderRepositoryType(container.getLabel()));
        if (isIgnoreFolder(withDeleted, project, folder)) {
            continue;
        }
        SysIndicatorFolderRepNode childNodeFolder = new SysIndicatorFolderRepNode(folder, this, ENodeType.SYSTEM_FOLDER, project);
        childNodeFolder.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_SYSTEM_INDICATORS);
        childNodeFolder.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_SYSTEM_INDICATORS);
        super.getChildren().add(childNodeFolder);
    }
    // rule files
    for (IRepositoryViewObject viewObject : tdqViewObjects.getMembers()) {
        if (!withDeleted && viewObject.isDeleted()) {
            continue;
        }
        // TDQ-11110: hidden some system indicators.
        String viewObjectlabel = viewObject.getLabel();
        if (// $NON-NLS-1$
        viewObjectlabel.equals("Multiple Column Correlation") || // $NON-NLS-1$
        viewObjectlabel.equals("Multiple Column Frequency Table") || // $NON-NLS-1$
        viewObjectlabel.equals("All Match") || viewObjectlabel.equals("Multiple Column Simple Statistics")) {
            // $NON-NLS-1$
            continue;
        }
        if (!viewObjectlabel.equals("Sum")) {
            // $NON-NLS-1$
            SysIndicatorDefinitionRepNode repNode = new SysIndicatorDefinitionRepNode(viewObject, this, ENodeType.REPOSITORY_ELEMENT, project);
            repNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.TDQ_SYSTEM_INDICATORS);
            repNode.setProperties(EProperties.LABEL, ERepositoryObjectType.TDQ_SYSTEM_INDICATORS);
            viewObject.setRepositoryNode(repNode);
            repNode.setSystemIndicator(true);
            // MOD gdbu 2011-7-27 bug : 23161
            List<TdExpression> indiExpression = repNode.getIndicatorDefinition().getSqlGenericExpression();
            // MOD qiongli 2011-7-27,feature 22362
            boolean isPhoneNumberStatics = false;
            IndicatorCategory category = IndicatorCategoryHelper.getCategory(repNode.getIndicatorDefinition());
            if (category != null && IndicatorCategoryHelper.isPhoneNumberCategory(category)) {
                isPhoneNumberStatics = true;
            }
            if (!isPhoneNumberStatics && !isEastAsiaPatternFequencyStatics(repNode.getIndicatorDefinition()) && (indiExpression == null || indiExpression.size() == 0)) {
                continue;
            }
            // ~23161
            super.getChildren().add(repNode);
        }
    }
}
Also used : TdExpression(org.talend.cwm.relational.TdExpression) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) IndicatorCategory(org.talend.dataquality.indicators.definition.IndicatorCategory) 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