// ============================================================================ // // 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.cwm.management.handler; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IPath; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.util.EcoreUtil; import org.talend.core.GlobalServiceRegister; import org.talend.core.ITDQItemService; import org.talend.core.model.properties.FileItem; import org.talend.core.model.properties.Item; import org.talend.core.repository.constants.FileConstants; import org.talend.repository.items.importexport.handlers.imports.ImportRepTypeHandler; import org.talend.repository.items.importexport.handlers.model.ImportItem; import org.talend.repository.items.importexport.manager.ResourcesManager; /** * created by talend on 2015-07-28 Detailled comment. * */ public class TOPImportHandler extends ImportRepTypeHandler { public TOPImportHandler() { super(); } /* * (non-Javadoc) * * @see * org.talend.repository.items.importexport.handlers.imports.ImportRepTypeHandler#setInitializationData(org.eclipse * .core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) */ @Override public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException { super.setInitializationData(config, propertyName, data); // TUP-1374 create dq structure if the structure doesn't exsit. if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQItemService.class)) { ITDQItemService tdqService = (ITDQItemService) GlobalServiceRegister.getDefault().getService(ITDQItemService.class); if (tdqService != null) { tdqService.createDQStructor(); } } } /* * (non-Javadoc) . * * @see * org.talend.repository.items.importexport.handlers.imports.ImportBasicHandler#computeItemRecord(org.talend.repository * .items.importexport.manager.ResourcesManager, org.eclipse.core.runtime.IPath) */ @Override public ImportItem computeImportItem(ResourcesManager resManager, IPath path) { ImportItem itemRecord = new ImportItem(path); // Load the DQ specific resource such as patterns and rules. // Load resource only super.loadResource(resManager, itemRecord); IPath propertyPath = path.removeFileExtension().addFileExtension(FileConstants.PROPERTIES_EXTENSION); ResourceSet resSet = itemRecord.getResourceSet(); itemRecord = new ImportItem(propertyPath); itemRecord.setResourceSet(resSet); // Load property resource. super.computeProperty(resManager, itemRecord); Item item = itemRecord.getItem(); // only resolveAll EMF-Model items. if (item != null && !(item instanceof FileItem)) { EcoreUtil.resolveAll(itemRecord.getResourceSet()); } return itemRecord; } /* * (non-Javadoc) * * @see * org.talend.repository.items.importexport.handlers.imports.ImportBasicHandler#computeProperty(org.talend.repository * .items.importexport.manager.ResourcesManager, org.talend.repository.items.importexport.handlers.model.ImportItem) */ @Override protected void computeProperty(ResourcesManager manager, ImportItem itemRecord) { // Empty implementation } /* * (non-Javadoc) * * @see * org.talend.repository.items.importexport.handlers.imports.ImportBasicHandler#isValidFile(org.eclipse.core.runtime * .IPath) */ @Override protected boolean isValidFile(IPath path) { String[] exts = getResourceNeededExtensions(); for (String ext : exts) { if (path.lastSegment().endsWith(ext)) { return Boolean.TRUE; } } return Boolean.FALSE; } /* * (non-Javadoc) * * @see org.talend.repository.items.importexport.handlers.imports.ImportBasicHandler#getResourceNeededExtensions() */ @Override protected String[] getResourceNeededExtensions() { return new String[] { FileConstants.ITEM_EXTENSION, FileConstants.ANA_EXTENSION, FileConstants.REP_EXTENSION, FileConstants.PAT_EXTENSION, FileConstants.RULE_EXTENSION, FileConstants.DEF_EXTENSION, FileConstants.SQL_EXTENSION }; } }