From c0924e5a7d7bff3a7759cb7b09c7d1b0a8472f32 Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Mon, 3 Apr 2017 18:15:06 +0300 Subject: [PATCH] CHE-4594: Make che-plugin-product-info optional for IDE Signed-off-by: Vitalii Parfonov --- .../ide/api/ProductInfoDataProviderImpl.java | 49 +++++++++++++++++++ .../eclipse/che/ide/core/CoreGinModule.java | 6 +++ .../client/CheProductInfoDataProvider.java | 3 +- .../client/inject/ProductInfoGinModule.java | 7 +-- 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/ProductInfoDataProviderImpl.java diff --git a/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/ProductInfoDataProviderImpl.java b/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/ProductInfoDataProviderImpl.java new file mode 100644 index 00000000000..098c01374b3 --- /dev/null +++ b/ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/ProductInfoDataProviderImpl.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2012-2017 Codenvy, S.A. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Codenvy, S.A. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.ide.api; + +import org.vectomatic.dom.svg.ui.SVGResource; + +/** + * @author Vitalii Parfonov + */ + +public class ProductInfoDataProviderImpl implements ProductInfoDataProvider { + @Override + public String getName() { + return "Che"; + } + + @Override + public String getSupportLink() { + return ""; + } + + @Override + public String getDocumentTitle() { + return ""; + } + + @Override + public String getDocumentTitle(String workspaceName) { + return workspaceName; + } + + @Override + public SVGResource getLogo() { + return null; + } + + @Override + public String getSupportTitle() { + return ""; + } +} diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java index 0bbc8d47587..3449f8498cf 100644 --- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/core/CoreGinModule.java @@ -22,6 +22,8 @@ import com.google.web.bindery.event.shared.SimpleEventBus; import org.eclipse.che.ide.actions.ActionApiModule; +import org.eclipse.che.ide.api.ProductInfoDataProvider; +import org.eclipse.che.ide.api.ProductInfoDataProviderImpl; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.component.Component; import org.eclipse.che.ide.api.extension.ExtensionGinModule; @@ -29,10 +31,12 @@ import org.eclipse.che.ide.api.git.GitServiceClient; import org.eclipse.che.ide.api.git.GitServiceClientImpl; import org.eclipse.che.ide.api.keybinding.KeyBindingAgent; +import org.eclipse.che.ide.api.machine.CheWsAgentLinksModifier; import org.eclipse.che.ide.api.machine.ExecAgentCommandManager; import org.eclipse.che.ide.api.machine.ExecAgentEventManager; import org.eclipse.che.ide.api.machine.RecipeServiceClient; import org.eclipse.che.ide.api.machine.RecipeServiceClientImpl; +import org.eclipse.che.ide.api.machine.WsAgentURLModifier; import org.eclipse.che.ide.api.machine.execagent.ConnectedEventHandler; import org.eclipse.che.ide.api.machine.execagent.JsonRpcExecAgentCommandManager; import org.eclipse.che.ide.api.machine.execagent.JsonRpcExecAgentEventManager; @@ -151,6 +155,8 @@ protected void configure() { bind(ExecAgentEventManager.class).to(JsonRpcExecAgentEventManager.class); bind(ConnectedEventHandler.class).asEagerSingleton(); bind(AskCredentialsDialog.class).to(AskCredentialsDialogImpl.class); + bind(ProductInfoDataProvider.class).to(ProductInfoDataProviderImpl.class); + bind(WsAgentURLModifier.class).to(CheWsAgentLinksModifier.class); } @Provides diff --git a/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/CheProductInfoDataProvider.java b/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/CheProductInfoDataProvider.java index 56802bd5568..50282146285 100644 --- a/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/CheProductInfoDataProvider.java +++ b/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/CheProductInfoDataProvider.java @@ -13,6 +13,7 @@ import com.google.inject.Singleton; import org.eclipse.che.ide.api.ProductInfoDataProvider; +import org.eclipse.che.ide.api.ProductInfoDataProviderImpl; import org.eclipse.che.ide.ui.Resources; import org.vectomatic.dom.svg.ui.SVGResource; @@ -24,7 +25,7 @@ * @author Alexander Andrienko */ @Singleton -public class CheProductInfoDataProvider implements ProductInfoDataProvider { +public class CheProductInfoDataProvider extends ProductInfoDataProviderImpl { private final LocalizationConstant locale; private final Resources resources; diff --git a/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/inject/ProductInfoGinModule.java b/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/inject/ProductInfoGinModule.java index 446cca14623..a448cf9c138 100644 --- a/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/inject/ProductInfoGinModule.java +++ b/plugins/plugin-product-info/src/main/java/org/eclipse/che/plugin/product/info/client/inject/ProductInfoGinModule.java @@ -12,10 +12,8 @@ import com.google.gwt.inject.client.AbstractGinModule; -import org.eclipse.che.ide.api.ProductInfoDataProvider; +import org.eclipse.che.ide.api.ProductInfoDataProviderImpl; import org.eclipse.che.ide.api.extension.ExtensionGinModule; -import org.eclipse.che.ide.api.machine.CheWsAgentLinksModifier; -import org.eclipse.che.ide.api.machine.WsAgentURLModifier; import org.eclipse.che.plugin.product.info.client.CheProductInfoDataProvider; /** @@ -26,7 +24,6 @@ public class ProductInfoGinModule extends AbstractGinModule { /** {@inheritDoc} */ @Override protected void configure() { - bind(ProductInfoDataProvider.class).to(CheProductInfoDataProvider.class); - bind(WsAgentURLModifier.class).to(CheWsAgentLinksModifier.class); + bind(ProductInfoDataProviderImpl.class).to(CheProductInfoDataProvider.class); } }