Search in sources :

Example 6 with PropertyComponentFilter

use of org.talend.core.model.components.filters.PropertyComponentFilter in project tdi-studio-se by Talend.

the class RenametFTPToFTPGetMigrationTaskForPerl method execute.

public ExecutionResult execute(Item item) {
    ProcessType processType = getProcessType(item);
    if (processType == null) {
        return ExecutionResult.NOTHING_TO_DO;
    }
    try {
        ECodeLanguage projectLanguage = getProject().getLanguage();
        if (projectLanguage.equals(ECodeLanguage.PERL)) {
            //$NON-NLS-1$
            IComponentConversion removePropertyComponentConversion = new RemovePropertyComponentConversion("TYPE");
            //$NON-NLS-1$
            RenameComponentConversion renameComponentConversion = new RenameComponentConversion("tFTPGet");
            //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            IComponentFilter filter1 = new PropertyComponentFilter("tFTP", "ACTION", "get");
            ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(renameComponentConversion, removePropertyComponentConversion));
            //$NON-NLS-1$
            renameComponentConversion.setNewName("tFTPPut");
            //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            IComponentFilter filter2 = new PropertyComponentFilter("tFTP", "ACTION", "put");
            ModifyComponentsAction.searchAndModify(item, processType, filter2, Arrays.<IComponentConversion>asList(renameComponentConversion, removePropertyComponentConversion));
            //$NON-NLS-1$
            renameComponentConversion.setNewName("tFTPDelete");
            //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            IComponentFilter filter3 = new PropertyComponentFilter("tFTP", "ACTION", "delete");
            ModifyComponentsAction.searchAndModify(item, processType, filter3, Arrays.<IComponentConversion>asList(renameComponentConversion, removePropertyComponentConversion));
            //$NON-NLS-1$
            renameComponentConversion.setNewName("tFTPRename");
            //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            IComponentFilter filter4 = new PropertyComponentFilter("tFTP", "ACTION", "rename");
            ModifyComponentsAction.searchAndModify(item, processType, filter4, Arrays.<IComponentConversion>asList(renameComponentConversion, removePropertyComponentConversion));
            return ExecutionResult.SUCCESS_WITH_ALERT;
        } else {
            // do nothing
            return ExecutionResult.NOTHING_TO_DO;
        }
    } catch (Exception e) {
        ExceptionHandler.process(e);
        return ExecutionResult.FAILURE;
    }
}
Also used : ProcessType(org.talend.designer.core.model.utils.emf.talendfile.ProcessType) IComponentFilter(org.talend.core.model.components.filters.IComponentFilter) RemovePropertyComponentConversion(org.talend.core.model.components.conversions.RemovePropertyComponentConversion) PropertyComponentFilter(org.talend.core.model.components.filters.PropertyComponentFilter) RenameComponentConversion(org.talend.core.model.components.conversions.RenameComponentConversion) ECodeLanguage(org.talend.core.language.ECodeLanguage) IComponentConversion(org.talend.core.model.components.conversions.IComponentConversion)

Aggregations

IComponentConversion (org.talend.core.model.components.conversions.IComponentConversion)6 RemovePropertyComponentConversion (org.talend.core.model.components.conversions.RemovePropertyComponentConversion)6 RenameComponentConversion (org.talend.core.model.components.conversions.RenameComponentConversion)6 IComponentFilter (org.talend.core.model.components.filters.IComponentFilter)6 PropertyComponentFilter (org.talend.core.model.components.filters.PropertyComponentFilter)6 ProcessType (org.talend.designer.core.model.utils.emf.talendfile.ProcessType)6 ECodeLanguage (org.talend.core.language.ECodeLanguage)1