diff --git a/org.talend.core.runtime/src/main/java/org/talend/core/PluginChecker.java b/org.talend.core.runtime/src/main/java/org/talend/core/PluginChecker.java index 973277d438..032a0b7d82 100644 --- a/org.talend.core.runtime/src/main/java/org/talend/core/PluginChecker.java +++ b/org.talend.core.runtime/src/main/java/org/talend/core/PluginChecker.java @@ -78,6 +78,8 @@ public class PluginChecker { private static final String TRACEDEBUG_PLUGIN_ID = "org.talend.designer.runprocess.debug"; //$NON-NLS-1$ + private static final String HDFS_PLUGIN_ID = "org.talend.repository.hdfs"; //$NON-NLS-1$ + /** * Check if specific plug-in is loaded. * @@ -235,4 +237,8 @@ public class PluginChecker { public static boolean isDatacertPluginLoaded() { return isPluginLoaded(DATACERT_PLUGIN_ID); } + + public static boolean isHDFSPluginLoaded() { + return isPluginLoaded(HDFS_PLUGIN_ID); + } } diff --git a/org.talend.core.runtime/src/main/java/org/talend/core/model/repository/ERepositoryObjectType.java b/org.talend.core.runtime/src/main/java/org/talend/core/model/repository/ERepositoryObjectType.java index d5b0f2e427..2b2144b2a7 100644 --- a/org.talend.core.runtime/src/main/java/org/talend/core/model/repository/ERepositoryObjectType.java +++ b/org.talend.core.runtime/src/main/java/org/talend/core/model/repository/ERepositoryObjectType.java @@ -386,6 +386,9 @@ public class ERepositoryObjectType extends DynaEnum { public final static ERepositoryObjectType SYSTEM_INDICATORS_FRAUDDETECTION = new ERepositoryObjectType( "repository.systemIndicators.fraudDetection", "TDQ_Libraries/Indicators/System Indicators/Fraud Detection", "SYSTEM_INDICATORS_FRAUDDETECTION", 103, true, "repository.systemIndicators.fraudDetectionStatistics.alias", new String[] { "DQ" }, new String[] {}, false); //$NON-NLS-1$ //$NON-NLS-2$ + public final static ERepositoryObjectType METADATA_HDFS = new ERepositoryObjectType( + "HDFS", "metadata/hdfs", "HDFS", 104, false, "HDFS", new String[] { "DI" }, new String[] {}); //$NON-NLS-1$ //$NON-NLS-2$ + private String alias; private String folder = ""; diff --git a/org.talend.core/src/main/java/org/talend/core/ui/IHDFSProviderService.java b/org.talend.core/src/main/java/org/talend/core/ui/IHDFSProviderService.java new file mode 100644 index 0000000000..566ea71675 --- /dev/null +++ b/org.talend.core/src/main/java/org/talend/core/ui/IHDFSProviderService.java @@ -0,0 +1,22 @@ +// ============================================================================ +// +// Copyright (C) 2006-2012 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.core.ui; + +import org.talend.core.IProviderService; + +/** + * DOC hcyi class global comment. Detailled comment + */ +public interface IHDFSProviderService extends IProviderService { + +} diff --git a/org.talend.repository.metadata/src/main/java/org/talend/repository/metadata/MetadataService.java b/org.talend.repository.metadata/src/main/java/org/talend/repository/metadata/MetadataService.java index e36d67ced7..2adedf2ff7 100644 --- a/org.talend.repository.metadata/src/main/java/org/talend/repository/metadata/MetadataService.java +++ b/org.talend.repository.metadata/src/main/java/org/talend/repository/metadata/MetadataService.java @@ -200,6 +200,13 @@ public class MetadataService implements IMetadataService { relatedWizard = service.newWizard(PlatformUI.getWorkbench(), creation, realNode, null); } } + } else if (objectType.equals(ERepositoryObjectType.METADATA_HDFS)) { + if (PluginChecker.isHDFSPluginLoaded()) { + IProviderService service = GlobalServiceRegister.getDefault().findService("IHDFSProviderService"); + if (service != null) { + relatedWizard = service.newWizard(PlatformUI.getWorkbench(), creation, realNode, null); + } + } } boolean changed = false; if (relatedWizard != null) {