// ============================================================================ // // 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.migration.impl; import java.io.File; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import org.talend.commons.emf.FactoriesUtil; import org.talend.commons.utils.io.FilesUtils; import org.talend.core.model.repository.ERepositoryObjectType; import org.talend.core.model.repository.IRepositoryViewObject; import org.talend.core.repository.model.ProxyRepositoryFactory; import org.talend.dataprofiler.core.migration.AbstractWorksapceUpdateTask; import org.talend.resource.EResourceConstant; import org.talend.resource.ResourceService; /** * DOC zshen class global comment. Detailled comment */ public class ChangeDuplicateFrequenceUUIDTask extends AbstractWorksapceUpdateTask { Logger log = Logger.getLogger(ChangeDuplicateFrequenceUUIDTask.class); /* * (non-Javadoc) * * @see org.talend.dataprofiler.migration.IMigrationTask#getOrder() */ public Date getOrder() { return createDate(2011, 11, 28); } /* * (non-Javadoc) * * @see org.talend.dataprofiler.migration.IMigrationTask#getMigrationTaskType() */ public MigrationTaskType getMigrationTaskType() { return MigrationTaskType.FILE; } /* * (non-Javadoc) * * @see org.talend.dataprofiler.migration.AMigrationTask#doExecute() */ @Override protected boolean doExecute() throws Exception { boolean result = true; File indicatorfileIndicator = getWorkspacePath() .append(EResourceConstant.SYSTEM_INDICATORS_ADVANCED_STATISTICS.getPath()).toFile(); File anafileIndicator = getWorkspacePath().append(EResourceConstant.ANALYSIS.getPath()).toFile(); try { String[] indicatorFileExtentionNames = { FactoriesUtil.DEFINITION, FactoriesUtil.PROPERTIES_EXTENSION }; String[] anaFileExtentionNames = { FactoriesUtil.ANA }; Map<String, String> indicatorStringMap = new HashMap<String, String>(); indicatorStringMap.putAll(initIndicatorReplaceMap()); indicatorStringMap.putAll(initAnaReplaceMap()); result &= FilesUtils.migrateFolder(anafileIndicator, anaFileExtentionNames, initAnaReplaceMap(), log) && FilesUtils.migrateFolder(indicatorfileIndicator, indicatorFileExtentionNames, indicatorStringMap, log); if (isWorksapcePath()) { for (IRepositoryViewObject viewObject : ProxyRepositoryFactory.getInstance().getAll( ERepositoryObjectType.SYSTEM_INDICATORS_ADVANCED_STATISTICS)) { ProxyRepositoryFactory.getInstance().reload(viewObject.getProperty()); } } // FolderHelper folderHelper = // getFolderHelper(ProjectManager.getInstance().getCurrentProject().getEmfProject()); // folderHelper.getFolder(((IFolder) objectFolder) // // ((org.talend.dataquality.properties.TDQIndicatorDefinitionItem)org.talend.core.repository.model.ProxyRepositoryFactory.getInstance().getAll(org.talend.core.model.repository.ERepositoryObjectType.SYSTEM_INDICATORS_ADVANCED_STATISTICS) ResourceService.refreshStructure(); } catch (Exception e) { result = false; log.error(e, e); } return result; } /** * DOC zshen Comment method "initIndicatorReplaceMap". */ private Map<String, String> initIndicatorReplaceMap() { Map<String, String> replaceStringMap = new HashMap<String, String>(); replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Bin Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_OCCCEBl4EeGMPdtm417kpw\" name=\"Bin Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Bin Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_LAwpcBl4EeGMPdtm417kpw\" name=\"Bin Low Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Date Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIkTE2EeGvsfvHpG2Eqg\" name=\"Date Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Date Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIljE2EeGvsfvHpG2Eqg\" name=\"Date Low Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Month Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIkjE2EeGvsfvHpG2Eqg\" name=\"Month Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Month Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIlzE2EeGvsfvHpG2Eqg\" name=\"Month Low Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Quarter Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIkzE2EeGvsfvHpG2Eqg\" name=\"Quarter Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Quarter Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraImDE2EeGvsfvHpG2Eqg\" name=\"Quarter Low Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Week Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIlDE2EeGvsfvHpG2Eqg\" name=\"Week Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Week Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraImTE2EeGvsfvHpG2Eqg\" name=\"Week Low Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_ccIR4hF2Ed2PKb6nEJEvhw\" name=\"Year Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraIlTE2EeGvsfvHpG2Eqg\" name=\"Year Frequency Table\""); //$NON-NLS-1$ replaceStringMap.put("xmi:id=\"_-0C00JOtEd2Iyo0dtkB9pA\" name=\"Year Low Frequency Table\"", //$NON-NLS-1$ "xmi:id=\"_hraImjE2EeGvsfvHpG2Eqg\" name=\"Year Low Frequency Table\""); //$NON-NLS-1$ return replaceStringMap; } /** * DOC zshen Comment method "initAnaReplaceMap". */ private Map<String, String> initAnaReplaceMap() { Map<String, String> replaceStringMap = new HashMap<String, String>(); replaceStringMap.put("Bin_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Bin_Low_Frequency_Table_0.1.definition#_LAwpcBl4EeGMPdtm417kpw"); //$NON-NLS-1$ replaceStringMap.put("Bin_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Bin_Frequency_Table_0.1.definition#_OCCCEBl4EeGMPdtm417kpw"); //$NON-NLS-1$ replaceStringMap.put("Date_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Date_Low_Frequency_Table_0.1.definition#_hraIljE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Month_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Month_Low_Frequency_Table_0.1.definition#_hraIlzE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Quarter_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Quarter_Low_Frequency_Table_0.1.definition#_hraImDE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Week_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Week_Low_Frequency_Table_0.1.definition#_hraImTE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Year_Low_Frequency_Table_0.1.definition#_-0C00JOtEd2Iyo0dtkB9pA", //$NON-NLS-1$ "Year_Low_Frequency_Table_0.1.definition#_hraImjE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Date_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Date_Frequency_Table_0.1.definition#_hraIkTE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Month_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Month_Frequency_Table_0.1.definition#_hraIkjE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Quarter_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Quarter_Frequency_Table_0.1.definition#_hraIkzE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Week_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Week_Frequency_Table_0.1.definition#_hraIlDE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ replaceStringMap.put("Year_Frequency_Table_0.1.definition#_ccIR4hF2Ed2PKb6nEJEvhw", //$NON-NLS-1$ "Year_Frequency_Table_0.1.definition#_hraIlTE2EeGvsfvHpG2Eqg"); //$NON-NLS-1$ return replaceStringMap; } }