From fe39c8b0b30e8e467c7c9c2baff48927e08fc5e7 Mon Sep 17 00:00:00 2001 From: hcyi Date: Thu, 11 Oct 2012 10:02:31 +0000 Subject: [PATCH] bug TDI-23037 fixed : HDFS_fail to update repository for HDFS connection . git-svn-id: http://talendforge.org/svn/tos/trunk@91975 f6f1c999-d317-4740-80b0-e6d1abc6f99e --- .../java/org/talend/core/PluginChecker.java | 6 +++++ .../repository/ERepositoryObjectType.java | 3 +++ .../talend/core/ui/IHDFSProviderService.java | 22 +++++++++++++++++++ .../repository/metadata/MetadataService.java | 7 ++++++ 4 files changed, 38 insertions(+) create mode 100644 org.talend.core/src/main/java/org/talend/core/ui/IHDFSProviderService.java 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) {