Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Reckord2020-09-01 21:19:31 +0000
committerCarsten Reckord2020-09-02 18:04:53 +0000
commitf99217c40d0d662d9074619719d4127c7de09e09 (patch)
treeea3cb110ee7e57c507753587ab4bca5affe027ff
parent89f7cc970ca25d1edb9331b0c8e7aea7ef962dd4 (diff)
downloadorg.eclipse.epp.mpc-f99217c40d0d662d9074619719d4127c7de09e09.tar.gz
org.eclipse.epp.mpc-f99217c40d0d662d9074619719d4127c7de09e09.tar.xz
org.eclipse.epp.mpc-f99217c40d0d662d9074619719d4127c7de09e09.zip
Bug 560084: Improve startup up time of Marketplace client
Refactored UI initialization. Everything is lazy and service-based now. Change-Id: I43bebf133f9d764ce336895e8cd6bbff13c166b4 Signed-off-by: Carsten Reckord <reckord@yatta.de>
-rw-r--r--org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/transport/httpclient/HttpClientService.java2
-rw-r--r--org.eclipse.epp.mpc.ui/.settings/org.eclipse.pde.ds.annotations.prefs8
-rw-r--r--org.eclipse.epp.mpc.ui/MPC Runtime.launch406
-rw-r--r--org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.debug.options.xml8
-rw-r--r--org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.marketplace-client.xml (renamed from org.eclipse.epp.mpc.ui/OSGI-INF/services/marketplace-client.xml)6
-rw-r--r--org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.resources.xml7
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUi.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiPlugin.java142
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiResources.java170
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceCatalogSource.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceDiscoveryStrategy.java7
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/commands/AbstractMarketplaceWizardCommand.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverFileSupportJob.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverNatureSupportJob.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/MissingNatureDetector.java10
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/MPCPreferenceInitializer.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/ProjectNaturesPreferencePage.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceDiscoveryItem.java9
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceWizardDialog.java6
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogSwitcherItem.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogToolTip.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/DiscoveryItem.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/FeatureSelectionWizardPage.java19
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ImportFavoritesPage.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceClientService.java2
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplacePage.java8
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java3
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceWizard.java10
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/NewsViewer.java6
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ShareSolutionLink.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/CatalogDescriptor.java4
-rw-r--r--org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/MarketplaceClient.java14
32 files changed, 695 insertions, 195 deletions
diff --git a/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/transport/httpclient/HttpClientService.java b/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/transport/httpclient/HttpClientService.java
index 46af4d40..9acc1ebd 100644
--- a/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/transport/httpclient/HttpClientService.java
+++ b/org.eclipse.epp.mpc.core/src/org/eclipse/epp/internal/mpc/core/transport/httpclient/HttpClientService.java
@@ -47,7 +47,7 @@ public class HttpClientService {
private HttpServiceContext context;
- private IProxyService proxyService;
+ private volatile IProxyService proxyService;
@Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, updated = "bindClientFactory", unbind = "unbindClientFactory")
void bindClientFactory(HttpClientFactory factory) {
diff --git a/org.eclipse.epp.mpc.ui/.settings/org.eclipse.pde.ds.annotations.prefs b/org.eclipse.epp.mpc.ui/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 00000000..9eb1c5f3
--- /dev/null
+++ b/org.eclipse.epp.mpc.ui/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,8 @@
+classpath=true
+dsVersion=V1_3
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/org.eclipse.epp.mpc.ui/MPC Runtime.launch b/org.eclipse.epp.mpc.ui/MPC Runtime.launch
index e16ba398..d7ae5de0 100644
--- a/org.eclipse.epp.mpc.ui/MPC Runtime.launch
+++ b/org.eclipse.epp.mpc.ui/MPC Runtime.launch
@@ -5,7 +5,7 @@
<booleanAttribute key="automaticAdd" value="true"/>
<booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
+<stringAttribute key="checked" value="org.eclipse.osgi"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="true"/>
<booleanAttribute key="clearwslog" value="false"/>
@@ -14,6 +14,7 @@
<booleanAttribute key="generateProfile" value="true"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../runtime-MPCRuntime"/>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CAPTURE_IN_FILE" value="C:\dev\projects\mpc\git\org.eclipse.epp.mpc\stdout.log"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
@@ -22,7 +23,408 @@
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="tracing" value="true"/>
+<mapAttribute key="tracingOptions">
+<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/debug/TypeExtensionManager" value="false"/>
+<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
+<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
+<mapEntry key="org.eclipse.core.net/debug" value="false"/>
+<mapEntry key="org.eclipse.core.net/systemproviders" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/cycle" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
+<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
+<mapEntry key="org.eclipse.core.resources/history" value="false"/>
+<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
+<mapEntry key="org.eclipse.core.resources/notifications" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
+<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
+<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
+<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
+<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
+<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/breadcrumb" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/commandservice" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/memory/dynamicLoading" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/breakpointDeltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/presentationId" value=""/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/listeners" value="false"/>
+<mapEntry key="org.eclipse.e4.core.contexts/debug/names" value="false"/>
+<mapEntry key="org.eclipse.e4.core.di/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.core.services/debug/injector" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/focus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context.verbose" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/focus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/menus" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/renderer" value="false"/>
+<mapEntry key="org.eclipse.e4.ui.workbench/trace/workbench" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/exceptions/catching" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/exceptions/throwing" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/methods/entering" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/methods/exiting" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/client" value="org.eclipse.epp.mpc.core"/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/client.version" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/fakeVersion" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/java.version" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/os" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/platform.version" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/product" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/product.version" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/runtime.version" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/client/ws" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.core/debug" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.ui/debug/dnd" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.ui/news/debug" value="false"/>
+<mapEntry key="org.eclipse.epp.mpc.ui/news/title" value=""/>
+<mapEntry key="org.eclipse.epp.mpc.ui/news/url" value=""/>
+<mapEntry key="org.eclipse.equinox.common/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.common/progress_monitors" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/artifacts/mirrors" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/core/parseproblems" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/core/removeRepo" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/engine/installregistry" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/engine/profilepreferences" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/events/client" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/generator/parsing" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/metadata/parsing" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/planner/encoding" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/planner/operands" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/planner/projector" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/publisher" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/reconciler" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/ui/default" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.core/updatechecker" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/unsigned" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/untrusted" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/engine/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/enginesession/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.p2.engine/profileregistry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug" value="false"/>
+<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
+<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
+<mapEntry key="org.eclipse.help/debug" value="true"/>
+<mapEntry key="org.eclipse.help/debug/context" value="false"/>
+<mapEntry key="org.eclipse.help/debug/search" value="false"/>
+<mapEntry key="org.eclipse.help/debug/toc" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
+<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/failure" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/ast/throw" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/dom/rewrite" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/freespacetest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/indexer" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/locks" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/logsizemegs" value="0"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/pagecache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/scheduling" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/selftest" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/space" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/index/timing" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/indexmanager/advanced" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/classpath" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/insertions" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/invalid_archives" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
+<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
+<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
+<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
+<mapEntry key="org.eclipse.jdt.debug/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations/callingThreads" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiEvents" value="false"/>
+<mapEntry key="org.eclipse.jdt.debug/debug/jdiRequestTimes" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.launching/debug/classpath/jreContainer" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/BreadcrumbItemDropDown" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
+<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
+<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
+<mapEntry key="org.eclipse.jface.text/assert/TextSelection/validConstructorArguments" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
+<mapEntry key="org.eclipse.jface/debug" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/bidiUtils" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2x" value="true"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2xPngForGif" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptorDirectly" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/logURLImageDescriptorMissing2x" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/trace/URLImageDescriptor" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/equalElements" value="false"/>
+<mapEntry key="org.eclipse.jface/debug/viewers/reentrantViewerCalls" value="false"/>
+<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
+<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
+<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
+<mapEntry key="org.eclipse.osgi/debug" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleFile" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleStartTime" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="true"/>
+<mapEntry key="org.eclipse.osgi/debug/cachedmanifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/location" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/adds" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/objectPool/dups" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/storage" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/systemBundle" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
+<mapEntry key="org.eclipse.osgi/monitor/lazy" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/hooks" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/providers" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/report" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/roots" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
+<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apianalyzer" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apidescription" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apifilterstore" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/apiprofile" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/builder" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/classfilevisitor" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/delta" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/descriptor/framework" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/pluginworkspacecomponent" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/profilemanager" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/search" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/tagscanner" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/usereportconverter" value="false"/>
+<mapEntry key="org.eclipse.pde.api.tools/debug/workspacedeltaprocessor" value="false"/>
+<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
+<mapEntry key="org.eclipse.pde.core/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.core/model" value="false"/>
+<mapEntry key="org.eclipse.pde.core/target/profile" value="false"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/debug" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder" value="false"/>
+<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder/processor" value="false"/>
+<mapEntry key="org.eclipse.search/perf" value="false"/>
+<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
+<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
+<mapEntry key="org.eclipse.team.core/streams" value="false"/>
+<mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.team.ui/compare_editor_input" value="false"/>
+<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.team.ui/dnd" value="false"/>
+<mapEntry key="org.eclipse.team.ui/history" value="false"/>
+<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug/focus" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug/text" value="false"/>
+<mapEntry key="org.eclipse.ui.forms/debug/textsize" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
+<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/debug/toolbar" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
+<mapEntry key="org.eclipse.ui.monitoring/debug/event_monitor" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/dnd" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/resolution" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/setup" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/sort" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/debug/viewermap" value="false"/>
+<mapEntry key="org.eclipse.ui.navigator/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
+<mapEntry key="org.eclipse.ui.workbench/debug/e4" value="false"/>
+<mapEntry key="org.eclipse.ui/debug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
+<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/earlyStartup" value="100"/>
+<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
+<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
+<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
+<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/perspectives" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
+<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
+</mapAttribute>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
diff --git a/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.debug.options.xml b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.debug.options.xml
new file mode 100644
index 00000000..fa1713ab
--- /dev/null
+++ b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.debug.options.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.epp.mpc.ui.debug.options">
+ <property name="listener.symbolic.name" value="org.eclipse.epp.mpc.ui"/>
+ <service>
+ <provide interface="org.eclipse.osgi.service.debug.DebugOptionsListener"/>
+ </service>
+ <implementation class="org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin$DebugOptionsInitializer"/>
+</scr:component> \ No newline at end of file
diff --git a/org.eclipse.epp.mpc.ui/OSGI-INF/services/marketplace-client.xml b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.marketplace-client.xml
index 232fe0aa..485fadf7 100644
--- a/org.eclipse.epp.mpc.ui/OSGI-INF/services/marketplace-client.xml
+++ b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.marketplace-client.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.epp.mpc.ui.marketplace-client">
- <implementation class="org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceClientService"/>
<service>
<provide interface="org.eclipse.epp.mpc.ui.IMarketplaceClientService"/>
- </service>
-</scr:component>
+ </service>
+ <implementation class="org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceClientService"/>
+</scr:component> \ No newline at end of file
diff --git a/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.resources.xml b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.resources.xml
new file mode 100644
index 00000000..3ae2633e
--- /dev/null
+++ b/org.eclipse.epp.mpc.ui/OSGI-INF/services/org.eclipse.epp.mpc.ui.resources.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" name="org.eclipse.epp.mpc.ui.resources">
+ <service>
+ <provide interface="org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources"/>
+ </service>
+ <implementation class="org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources"/>
+</scr:component> \ No newline at end of file
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUi.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUi.java
index 2386dcab..6e0c96cc 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUi.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUi.java
@@ -45,6 +45,7 @@ import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.statushandlers.StatusManager;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
/**
@@ -135,7 +136,7 @@ public class MarketplaceClientUi {
}
public static BundleContext getBundleContext() {
- return MarketplaceClientUiPlugin.getInstance().getBundle().getBundleContext();
+ return FrameworkUtil.getBundle(MarketplaceClientUiPlugin.class).getBundleContext();
}
public static Map<String, IInstallableUnit> computeInstalledIUsById(IProgressMonitor monitor) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiPlugin.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiPlugin.java
index 4fd3c71e..57f5ef3f 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiPlugin.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiPlugin.java
@@ -13,33 +13,21 @@
*******************************************************************************/
package org.eclipse.epp.internal.mpc.ui;
-import static org.eclipse.jface.resource.ResourceLocator.imageDescriptorFromBundle;
-
-import java.util.Hashtable;
-
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.epp.internal.mpc.core.util.DebugTraceUtil;
-import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProvider;
-import org.eclipse.epp.mpc.ui.IMarketplaceClientService;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.DecorationOverlayIcon;
-import org.eclipse.jface.viewers.IDecoration;
+import org.eclipse.osgi.service.debug.DebugOptions;
import org.eclipse.osgi.service.debug.DebugOptionsListener;
import org.eclipse.osgi.service.debug.DebugTrace;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.service.component.annotations.Component;
/**
* bundle activator. Prefer {@link MarketplaceClientUi} where possible.
*
* @author David Green
*/
-public class MarketplaceClientUiPlugin extends AbstractUIPlugin {
+public class MarketplaceClientUiPlugin implements BundleActivator {
/**
* image registry key
@@ -105,126 +93,21 @@ public class MarketplaceClientUiPlugin extends AbstractUIPlugin {
public static final String DROP_ADAPTER_DEBUG_OPTION = DEBUG_OPTION + "/dnd"; //$NON-NLS-1$
- private static MarketplaceClientUiPlugin instance;
-
- private static BundleContext bundleContext;
-
public static boolean DEBUG = false;
private static DebugTrace debugTrace;
- private ServiceTracker<IMarketplaceClientService, IMarketplaceClientService> clientServiceTracker;
-
- private ResourceProvider resourceProvider;
-
public MarketplaceClientUiPlugin() {
}
@Override
public void start(BundleContext context) throws Exception {
- instance = this;
- super.start(context);
- MarketplaceClientUiPlugin.bundleContext = context;
- clientServiceTracker = new ServiceTracker<>(context, IMarketplaceClientService.class, null);
- clientServiceTracker.open();
- resourceProvider = new ResourceProvider();
-
- Hashtable<String, String> props = new Hashtable<>(2);
- props.put(org.eclipse.osgi.service.debug.DebugOptions.LISTENER_SYMBOLICNAME, MarketplaceClientUi.BUNDLE_ID);
- context.registerService(DebugOptionsListener.class.getName(), (DebugOptionsListener) options -> {
- DebugTrace debugTrace = null;
- boolean debug = options.getBooleanOption(MarketplaceClientUi.BUNDLE_ID + DEBUG_OPTION, false);
- if (debug) {
- debugTrace = options.newDebugTrace(MarketplaceClientUi.BUNDLE_ID);
- }
- DEBUG = debug;
- MarketplaceClientUiPlugin.debugTrace = debugTrace;
- }, props);
}
@Override
public void stop(BundleContext context) throws Exception {
Job.getJobManager().cancel(context.getBundle());
- clientServiceTracker.close();
- clientServiceTracker = null;
-
- if (resourceProvider != null) {
- resourceProvider.dispose();
- resourceProvider = null;
- }
- MarketplaceClientUiPlugin.bundleContext = null;
- super.stop(context);
debugTrace = null;
- instance = null;
- }
-
- /**
- * Get the singleton instance. Prefer {@link MarketplaceClientUi} where possible.
- */
- public static MarketplaceClientUiPlugin getInstance() {
- return instance;
- }
-
- @Override
- protected ImageRegistry createImageRegistry() {
- ImageRegistry imageRegistry = super.createImageRegistry();
- imageRegistry.put(NO_ICON_PROVIDED,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/noiconprovided.png") //$NON-NLS-1$
- .get());
- imageRegistry.put(NO_ICON_PROVIDED_CATALOG,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/noiconprovided32.png").get()); //$NON-NLS-1$
- imageRegistry.put(DEFAULT_MARKETPLACE_ICON,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/marketplace_banner.png").get()); //$NON-NLS-1$
- imageRegistry.put(IU_ICON, imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_obj.png").get()); //$NON-NLS-1$
- imageRegistry.put(IU_ICON_UPDATE,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_update_obj.png").get()); //$NON-NLS-1$
- imageRegistry.put(IU_ICON_INSTALL,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_install_obj.png").get()); //$NON-NLS-1$
- imageRegistry.put(IU_ICON_UNINSTALL,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_uninstall_obj.png").get()); //$NON-NLS-1$
- imageRegistry.put(IU_ICON_DISABLED,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_disabled_obj.png").get()); //$NON-NLS-1$
- {
- ImageDescriptor errorOverlay = PlatformUI.getWorkbench()
- .getSharedImages()
- .getImageDescriptor(ISharedImages.IMG_DEC_FIELD_ERROR);
- Image iuImage = imageRegistry.get(IU_ICON);
- DecorationOverlayIcon iuErrorIcon = new DecorationOverlayIcon(iuImage, errorOverlay,
- IDecoration.BOTTOM_RIGHT);
- imageRegistry.put(IU_ICON_ERROR, iuErrorIcon);
- }
-
- imageRegistry.put(NEWS_ICON_UPDATE,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/news_update.png").get()); //$NON-NLS-1$
- imageRegistry.put(ITEM_ICON_STAR,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/star.png").get()); //$NON-NLS-1$
- imageRegistry.put(ITEM_ICON_STAR_SELECTED,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/star-selected.png").get()); //$NON-NLS-1$
- imageRegistry.put(ITEM_ICON_SHARE,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/share.png").get()); //$NON-NLS-1$
- imageRegistry.put(ACTION_ICON_FAVORITES,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-favorites.png").get()); //$NON-NLS-1$
- imageRegistry.put(ACTION_ICON_LOGIN,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-login.png").get()); //$NON-NLS-1$
- imageRegistry.put(ACTION_ICON_WARNING,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-warning.png").get()); //$NON-NLS-1$
- imageRegistry.put(ACTION_ICON_UPDATE,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-update.png").get()); //$NON-NLS-1$
- imageRegistry.put(FAVORITES_LIST_ICON,
- imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/favorites-list.png").get()); //$NON-NLS-1$
- return imageRegistry;
- }
-
- public IMarketplaceClientService getClientService() {
- return clientServiceTracker == null ? null : clientServiceTracker.getService();
- }
-
- public ResourceProvider getResourceProvider() {
- return resourceProvider;
- }
-
- public static BundleContext getBundleContext() {
- return bundleContext;
}
public static void trace(String option, String message) {
@@ -240,4 +123,21 @@ public class MarketplaceClientUiPlugin extends AbstractUIPlugin {
DebugTraceUtil.trace(trace, option, message, parameters);
}
}
+
+ @Component(name = "org.eclipse.epp.mpc.ui.debug.options", property = {
+ "listener.symbolic.name=org.eclipse.epp.mpc.ui" })
+ public static class DebugOptionsInitializer implements DebugOptionsListener {
+
+ @Override
+ public void optionsChanged(DebugOptions options) {
+ DebugTrace debugTrace = null;
+ boolean debug = options.getBooleanOption(MarketplaceClientUi.BUNDLE_ID + DEBUG_OPTION, false);
+ if (debug) {
+ debugTrace = options.newDebugTrace(MarketplaceClientUi.BUNDLE_ID);
+ }
+ DEBUG = debug;
+ MarketplaceClientUiPlugin.debugTrace = debugTrace;
+ }
+
+ }
}
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiResources.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiResources.java
new file mode 100644
index 00000000..920e4cff
--- /dev/null
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/MarketplaceClientUiResources.java
@@ -0,0 +1,170 @@
+/*******************************************************************************
+ * Copyright (c) 2018 The Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * The Eclipse Foundation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.epp.internal.mpc.ui;
+
+import static org.eclipse.jface.resource.ResourceLocator.imageDescriptorFromBundle;
+
+import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProvider;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.viewers.DecorationOverlayIcon;
+import org.eclipse.jface.viewers.IDecoration;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+
+@Component(name = "org.eclipse.epp.mpc.ui.resources", service = { MarketplaceClientUiResources.class })
+public class MarketplaceClientUiResources {
+
+ private static MarketplaceClientUiResources instance;
+
+ private ResourceProvider resourceProvider;
+
+ private Bundle bundle;
+
+ private AbstractUIPlugin delegate;
+
+ @Activate
+ protected void activate(ComponentContext context) throws Exception {
+ bundle = context.getBundleContext().getBundle();
+ delegate = new AbstractUIPlugin() {
+ @Override
+ protected void initializeImageRegistry(ImageRegistry reg) {
+ super.initializeImageRegistry(reg);
+ MarketplaceClientUiResources.this.initializeImageRegistry(reg);
+ }
+ };
+ delegate.start(context.getBundleContext());
+ resourceProvider = new ResourceProvider();
+ synchronized (MarketplaceClientUiResources.class) {
+ if (instance == null) {
+ instance = this;
+ }
+ }
+ }
+
+ @Deactivate
+ protected void deactivate(ComponentContext context) throws Exception {
+ synchronized (MarketplaceClientUiResources.class) {
+ if (instance == this) {
+ instance = null;
+ }
+ }
+ if (resourceProvider != null) {
+ resourceProvider.dispose();
+ resourceProvider = null;
+ }
+ if (delegate != null) {
+ delegate.stop(context.getBundleContext());
+ }
+ delegate = null;
+ bundle = null;
+ }
+
+ protected Bundle getBundle() {
+ return bundle;
+ }
+
+ public IPreferenceStore getPreferenceStore() {
+ return delegate == null ? null : delegate.getPreferenceStore();
+ }
+
+ public ImageRegistry getImageRegistry() {
+ return delegate == null ? null : delegate.getImageRegistry();
+ }
+
+ public ResourceProvider getResourceProvider() {
+ return resourceProvider;
+ }
+
+ public IDialogSettings getDialogSettings() {
+ return delegate == null ? null : delegate.getDialogSettings();
+ }
+
+ protected void initializeImageRegistry(ImageRegistry imageRegistry) {
+
+ imageRegistry.put(MarketplaceClientUiPlugin.NO_ICON_PROVIDED,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/noiconprovided.png") //$NON-NLS-1$
+ .get());
+ imageRegistry.put(MarketplaceClientUiPlugin.NO_ICON_PROVIDED_CATALOG,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/noiconprovided32.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.DEFAULT_MARKETPLACE_ICON,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/marketplace_banner.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_obj.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON_UPDATE,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_update_obj.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON_INSTALL,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_install_obj.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON_UNINSTALL,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_uninstall_obj.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON_DISABLED,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/iu_disabled_obj.png").get()); //$NON-NLS-1$
+ {
+ ImageDescriptor errorOverlay = PlatformUI.getWorkbench()
+ .getSharedImages()
+ .getImageDescriptor(ISharedImages.IMG_DEC_FIELD_ERROR);
+ Image iuImage = imageRegistry.get(MarketplaceClientUiPlugin.IU_ICON);
+ DecorationOverlayIcon iuErrorIcon = new DecorationOverlayIcon(iuImage, errorOverlay,
+ IDecoration.BOTTOM_RIGHT);
+ imageRegistry.put(MarketplaceClientUiPlugin.IU_ICON_ERROR, iuErrorIcon);
+ }
+
+ imageRegistry.put(MarketplaceClientUiPlugin.NEWS_ICON_UPDATE,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/news_update.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ITEM_ICON_STAR,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/star.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ITEM_ICON_STAR_SELECTED,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/star-selected.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ITEM_ICON_SHARE,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/share.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ACTION_ICON_FAVORITES,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-favorites.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ACTION_ICON_LOGIN,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-login.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ACTION_ICON_WARNING,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-warning.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.ACTION_ICON_UPDATE,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/action-item-update.png").get()); //$NON-NLS-1$
+ imageRegistry.put(MarketplaceClientUiPlugin.FAVORITES_LIST_ICON,
+ imageDescriptorFromBundle(getBundle().getSymbolicName(), "icons/favorites-list.png").get()); //$NON-NLS-1$
+ }
+
+ public static synchronized MarketplaceClientUiResources getInstance() {
+ if (instance == null) {
+ BundleContext bundleContext = MarketplaceClientUi.getBundleContext();
+ ServiceReference<MarketplaceClientUiResources> serviceReference = bundleContext == null ? null
+ : bundleContext.getServiceReference(MarketplaceClientUiResources.class);
+ MarketplaceClientUiResources registered = serviceReference == null ? null
+ : bundleContext.getService(serviceReference);
+ if (registered != null) {
+ bundleContext.ungetService(serviceReference);//FIXME baaaad...
+ }
+ if (instance == null) {
+ instance = registered;
+ }
+ }
+ return instance;
+ }
+
+}
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceCatalogSource.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceCatalogSource.java
index fa23283d..7e5aced3 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceCatalogSource.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceCatalogSource.java
@@ -16,7 +16,7 @@ package org.eclipse.epp.internal.mpc.ui.catalog;
import java.io.IOException;
import java.net.URL;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.mpc.core.service.IMarketplaceService;
import org.eclipse.equinox.internal.p2.discovery.AbstractCatalogSource;
@@ -32,7 +32,7 @@ public class MarketplaceCatalogSource extends AbstractCatalogSource {
public MarketplaceCatalogSource(IMarketplaceService marketplaceService) {
this.marketplaceService = marketplaceService;
- this.resourceProvider = MarketplaceClientUiPlugin.getInstance().getResourceProvider();
+ this.resourceProvider = MarketplaceClientUiResources.getInstance().getResourceProvider();
}
@Override
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceDiscoveryStrategy.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceDiscoveryStrategy.java
index a4b4c76f..5d5c89b2 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceDiscoveryStrategy.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceDiscoveryStrategy.java
@@ -46,7 +46,6 @@ import org.eclipse.epp.internal.mpc.core.service.AbstractDataStorageService.NotA
import org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService;
import org.eclipse.epp.internal.mpc.core.util.URLUtil;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCategory.Contents;
import org.eclipse.epp.internal.mpc.ui.catalog.UserActionCatalogItem.UserAction;
import org.eclipse.epp.mpc.core.model.ICategories;
@@ -167,10 +166,8 @@ public class MarketplaceDiscoveryStrategy extends AbstractDiscoveryStrategy {
}
@Override
public boolean belongsTo(Object family) {
- BundleContext bundleContext = MarketplaceClientUiPlugin.getBundleContext();
- MarketplaceClientUiPlugin plugin = MarketplaceClientUiPlugin.getInstance();
- return (bundleContext != null && (family == bundleContext || family == bundleContext.getBundle()))
- || (plugin != null && family == plugin);
+ BundleContext bundleContext = MarketplaceClientUi.getBundleContext();
+ return bundleContext != null && (family == bundleContext || family == bundleContext.getBundle());
}
@Override
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/commands/AbstractMarketplaceWizardCommand.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/commands/AbstractMarketplaceWizardCommand.java
index 0dfeae10..eee4419d 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/commands/AbstractMarketplaceWizardCommand.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/commands/AbstractMarketplaceWizardCommand.java
@@ -29,7 +29,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore;
import org.eclipse.epp.internal.mpc.ui.CatalogRegistry;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog;
import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProvider;
import org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceWizardDialog;
@@ -178,7 +178,7 @@ public abstract class AbstractMarketplaceWizardCommand extends AbstractHandler i
List<? extends ICatalog> catalogs = result.get();
for (ICatalog catalog : catalogs) {
- ResourceProvider resourceProvider = MarketplaceClientUiPlugin.getInstance().getResourceProvider();
+ ResourceProvider resourceProvider = MarketplaceClientUiResources.getInstance().getResourceProvider();
String catalogName = catalog.getName();
String requestSource = NLS.bind(Messages.MarketplaceWizardCommand_requestCatalog, catalogName,
catalog.getId());
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverFileSupportJob.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverFileSupportJob.java
index 8d48c224..f0b4fae3 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverFileSupportJob.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverFileSupportJob.java
@@ -24,7 +24,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
import org.eclipse.epp.internal.mpc.ui.Messages;
import org.eclipse.epp.mpc.core.model.INode;
import org.eclipse.epp.mpc.core.model.ISearchResult;
@@ -37,6 +36,7 @@ import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.IEditorRegistry;
import org.eclipse.ui.progress.UIJob;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
final class DiscoverFileSupportJob extends Job {
@@ -59,7 +59,7 @@ final class DiscoverFileSupportJob extends Job {
@Override
protected IStatus run(IProgressMonitor monitor) {
- BundleContext bundleContext = MarketplaceClientUiPlugin.getBundleContext();
+ BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
ServiceReference<IMarketplaceServiceLocator> locatorReference = bundleContext
.getServiceReference(IMarketplaceServiceLocator.class);
IMarketplaceServiceLocator locator = bundleContext.getService(locatorReference);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverNatureSupportJob.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverNatureSupportJob.java
index 6fea1acc..4d4e1627 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverNatureSupportJob.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/DiscoverNatureSupportJob.java
@@ -29,6 +29,7 @@ import org.eclipse.epp.mpc.core.service.IMarketplaceService;
import org.eclipse.epp.mpc.core.service.IMarketplaceServiceLocator;
import org.eclipse.osgi.util.NLS;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
final class DiscoverNatureSupportJob extends Job {
@@ -43,7 +44,7 @@ final class DiscoverNatureSupportJob extends Job {
@Override
protected IStatus run(IProgressMonitor monitor) {
- BundleContext bundleContext = MarketplaceClientUiPlugin.getBundleContext();
+ BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
ServiceReference<IMarketplaceServiceLocator> locatorReference = bundleContext
.getServiceReference(IMarketplaceServiceLocator.class);
IMarketplaceServiceLocator locator = bundleContext.getService(locatorReference);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/MissingNatureDetector.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/MissingNatureDetector.java
index 73844184..666cb131 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/MissingNatureDetector.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/discovery/MissingNatureDetector.java
@@ -27,7 +27,8 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.core.runtime.jobs.JobGroup;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.Messages;
import org.eclipse.epp.mpc.core.model.INode;
import org.eclipse.jface.preference.IPreferenceStore;
@@ -59,10 +60,9 @@ public class MissingNatureDetector implements IStartup, IPropertyChangeListener
showProposalsIfReady();
}
} catch (CoreException e) {
- MarketplaceClientUiPlugin.getInstance()
- .getLog()
+ MarketplaceClientUi.getLog()
.log(new Status(IStatus.ERROR,
- MarketplaceClientUiPlugin.getInstance().getBundle().getSymbolicName(),
+ MarketplaceClientUi.getBundleContext().getBundle().getSymbolicName(),
e.getLocalizedMessage(), e));
}
};
@@ -118,7 +118,7 @@ public class MissingNatureDetector implements IStartup, IPropertyChangeListener
@Override
public void earlyStartup() {
allJobs = new JobGroup(Messages.MissingNatureDetector_Title, 3, 0);
- IPreferenceStore preferenceStore = MarketplaceClientUiPlugin.getInstance().getPreferenceStore();
+ IPreferenceStore preferenceStore = MarketplaceClientUiResources.getInstance().getPreferenceStore();
preferenceStore.addPropertyChangeListener(this);
boolean preferenceValue = preferenceStore.getBoolean(ENABLEMENT_PROPERTY);
if (preferenceValue) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/MPCPreferenceInitializer.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/MPCPreferenceInitializer.java
index 46902862..71233e53 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/MPCPreferenceInitializer.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/MPCPreferenceInitializer.java
@@ -13,7 +13,7 @@
package org.eclipse.epp.internal.mpc.ui.preferences;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.discovery.MissingNatureDetector;
public class MPCPreferenceInitializer extends AbstractPreferenceInitializer {
@@ -23,7 +23,7 @@ public class MPCPreferenceInitializer extends AbstractPreferenceInitializer {
@Override
public void initializeDefaultPreferences() {
- MarketplaceClientUiPlugin.getInstance().getPreferenceStore().setDefault(
+ MarketplaceClientUiResources.getInstance().getPreferenceStore().setDefault(
MissingNatureDetector.ENABLEMENT_PROPERTY, true);
}
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/ProjectNaturesPreferencePage.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/ProjectNaturesPreferencePage.java
index bacaae38..9d2941ef 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/ProjectNaturesPreferencePage.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/preferences/ProjectNaturesPreferencePage.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.epp.internal.mpc.ui.preferences;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.Messages;
import org.eclipse.epp.internal.mpc.ui.discovery.MissingNatureDetector;
import org.eclipse.jface.preference.BooleanFieldEditor;
@@ -33,7 +33,7 @@ public class ProjectNaturesPreferencePage extends FieldEditorPreferencePage impl
@Override
public void init(IWorkbench workbench) {
- setPreferenceStore(MarketplaceClientUiPlugin.getInstance().getPreferenceStore());
+ setPreferenceStore(MarketplaceClientUiResources.getInstance().getPreferenceStore());
}
@Override
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceDiscoveryItem.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceDiscoveryItem.java
index 40613a43..8b6444e6 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceDiscoveryItem.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceDiscoveryItem.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.eclipse.epp.internal.mpc.core.util.TextUtil;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalogSource;
import org.eclipse.epp.internal.mpc.ui.css.StyleHelper;
import org.eclipse.epp.internal.mpc.ui.util.Util;
@@ -424,8 +425,7 @@ public abstract class AbstractMarketplaceDiscoveryItem<T extends CatalogItem> ex
if (getIcon() != null) {
provideIconImage(iconLabel, connector.getSource(), getIcon(), 64, true);
} else {
- iconLabel.setImage(MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ iconLabel.setImage(MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(getDefaultIconResourceId()));
}
}
@@ -492,15 +492,14 @@ public abstract class AbstractMarketplaceDiscoveryItem<T extends CatalogItem> ex
String iconPath = getResources().getIconPath(icon, size, fallback);
if (iconPath.startsWith(REGISTRY_SCHEME)) {
String key = iconPath.substring(REGISTRY_SCHEME.length());
- Image image = MarketplaceClientUiPlugin.getInstance().getImageRegistry().get(key);
+ Image image = MarketplaceClientUiResources.getInstance().getImageRegistry().get(key);
receiver.setImage(image);
} else {
getResources().setImage(
receiver,
source,
iconPath,
- MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(getDefaultIconResourceId()));
}
}
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceWizardDialog.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceWizardDialog.java
index 0c2a716d..be66605b 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceWizardDialog.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/AbstractMarketplaceWizardDialog.java
@@ -12,7 +12,7 @@
*******************************************************************************/
package org.eclipse.epp.internal.mpc.ui.wizards;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.IPageChangedListener;
@@ -240,9 +240,9 @@ public class AbstractMarketplaceWizardDialog extends WizardDialog {
protected static IDialogSettings getDialogBoundsSettings(
Class<? extends AbstractMarketplaceWizardDialog> dialogClass, boolean relative, boolean create) {
- String sectionName = dialogClass.getName() + "_dialogBounds." + (relative ? "relative" : "absolute"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ String sectionName = dialogClass.getName() + "_dialogBounds." + (relative ? "relative" : "absolute");
- IDialogSettings settings = MarketplaceClientUiPlugin.getInstance().getDialogSettings();
+ IDialogSettings settings = MarketplaceClientUiResources.getInstance().getDialogSettings();
IDialogSettings section = settings.getSection(sectionName);
if (section == null && create) {
section = settings.addNewSection(sectionName);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogSwitcherItem.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogSwitcherItem.java
index 2301a90e..29c7b500 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogSwitcherItem.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogSwitcherItem.java
@@ -18,6 +18,7 @@ import org.eclipse.core.runtime.ListenerList;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.css.StyleHelper;
import org.eclipse.epp.mpc.ui.CatalogDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -130,7 +131,7 @@ public class CatalogSwitcherItem extends Composite {
}
private Image getDefaultCatalogImage() {
- return MarketplaceClientUiPlugin.getInstance().getImageRegistry().get(
+ return MarketplaceClientUiResources.getInstance().getImageRegistry().get(
MarketplaceClientUiPlugin.NO_ICON_PROVIDED_CATALOG);
}
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogToolTip.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogToolTip.java
index 6356b5a3..306cb1f5 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogToolTip.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/CatalogToolTip.java
@@ -14,6 +14,7 @@ package org.eclipse.epp.internal.mpc.ui.wizards;
import org.eclipse.epp.internal.mpc.core.util.TextUtil;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.mpc.ui.CatalogDescriptor;
import org.eclipse.equinox.internal.p2.ui.discovery.util.GradientToolTip;
import org.eclipse.jface.layout.GridDataFactory;
@@ -87,7 +88,7 @@ public class CatalogToolTip extends GradientToolTip {
private void createIcon(Composite parent) {
image = label.getImage();
if (image == null) {
- ImageRegistry registry = MarketplaceClientUiPlugin.getInstance().getImageRegistry();
+ ImageRegistry registry = MarketplaceClientUiResources.getInstance().getImageRegistry();
image = registry.get(MarketplaceClientUiPlugin.NO_ICON_PROVIDED_CATALOG);
}
Label iconLabel = new Label(parent, SWT.NULL);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/DiscoveryItem.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/DiscoveryItem.java
index b81cc229..f870347e 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/DiscoveryItem.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/DiscoveryItem.java
@@ -24,6 +24,7 @@ import org.eclipse.epp.internal.mpc.core.service.AbstractDataStorageService.NotA
import org.eclipse.epp.internal.mpc.core.util.URLUtil;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalogSource;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceNodeCatalogItem;
import org.eclipse.epp.internal.mpc.ui.css.StyleHelper;
@@ -327,7 +328,7 @@ public class DiscoveryItem<T extends CatalogItem> extends AbstractMarketplaceDis
favoriteButton.setData(FAVORITED_BUTTON_STATE_DATA, lastFavorited);
String imageId = favorited ? MarketplaceClientUiPlugin.ITEM_ICON_STAR_SELECTED
: MarketplaceClientUiPlugin.ITEM_ICON_STAR;
- favoriteButton.setImage(MarketplaceClientUiPlugin.getInstance().getImageRegistry().get(imageId));
+ favoriteButton.setImage(MarketplaceClientUiResources.getInstance().getImageRegistry().get(imageId));
IUserFavoritesService userFavoritesService = getUserFavoritesService();
favoriteButton.setEnabled(userFavoritesService != null);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/FeatureSelectionWizardPage.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/FeatureSelectionWizardPage.java
index 0f588000..d044e6b7 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/FeatureSelectionWizardPage.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/FeatureSelectionWizardPage.java
@@ -28,6 +28,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.operations.FeatureDescriptor;
import org.eclipse.epp.internal.mpc.ui.operations.ResolveFeatureNamesOperation;
import org.eclipse.epp.internal.mpc.ui.util.Util;
@@ -113,29 +114,23 @@ public class FeatureSelectionWizardPage extends WizardPage implements IWizardBut
FeatureEntry entry = (FeatureEntry) element;
switch (entry.computeChangeOperation()) {
case UPDATE:
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON_UPDATE);
case INSTALL:
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON_INSTALL);
case UNINSTALL:
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON_UNINSTALL);
case NONE:
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON_DISABLED);
default:
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON);
}
} else if (element instanceof CatalogItemEntry) {
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON);
}
return null;
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ImportFavoritesPage.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ImportFavoritesPage.java
index ed9c5dbe..60b306ed 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ImportFavoritesPage.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ImportFavoritesPage.java
@@ -20,7 +20,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore;
import org.eclipse.epp.internal.mpc.core.service.AbstractDataStorageService.NotAuthorizedException;
import org.eclipse.epp.internal.mpc.core.service.UserFavoritesService;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.FavoritesDiscoveryStrategy;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceNodeCatalogItem;
@@ -121,7 +121,7 @@ public class ImportFavoritesPage extends CatalogPage {
}
private IDialogSettings getDialogSettings(boolean create) {
- IDialogSettings dialogSettings = MarketplaceClientUiPlugin.getInstance().getDialogSettings();
+ IDialogSettings dialogSettings = MarketplaceClientUiResources.getInstance().getDialogSettings();
String sectionName = this.getClass().getName();
IDialogSettings section = dialogSettings.getSection(sectionName);
if (create && section == null) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceClientService.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceClientService.java
index 31a7a032..bfbdc992 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceClientService.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceClientService.java
@@ -30,7 +30,9 @@ import org.eclipse.epp.mpc.core.model.INode;
import org.eclipse.epp.mpc.ui.IMarketplaceClientConfiguration;
import org.eclipse.epp.mpc.ui.IMarketplaceClientService;
import org.eclipse.ui.statushandlers.StatusManager;
+import org.osgi.service.component.annotations.Component;
+@Component(name = "org.eclipse.epp.mpc.ui.marketplace-client", service = { IMarketplaceClientService.class })
public class MarketplaceClientService implements IMarketplaceClientService {
@Override
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplacePage.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplacePage.java
index 70fe7ee3..1add7210 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplacePage.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplacePage.java
@@ -32,6 +32,7 @@ import org.eclipse.epp.internal.mpc.core.model.CatalogBranding;
import org.eclipse.epp.internal.mpc.ui.CatalogRegistry;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceNodeCatalogItem;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceNodeInstallableUnitItem;
@@ -625,8 +626,7 @@ public class MarketplacePage extends CatalogPage implements IWizardButtonLabelPr
Image tabImage = null;
if (news != null && newsViewer.isUpdated(news)) {
- tabImage = MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ tabImage = MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.NEWS_ICON_UPDATE);
}
newsTabItem.setImage(tabImage);
@@ -953,8 +953,8 @@ public class MarketplacePage extends CatalogPage implements IWizardButtonLabelPr
setImageDescriptor(defaultWizardIconDescriptor);
} else {
final Display display = Display.getCurrent();
- MarketplaceClientUiPlugin.getInstance()
- .getResourceProvider()
+ MarketplaceClientUiResources.getInstance()
+ .getResourceProvider()
.provideResource(new ResourceReceiver<ImageDescriptor>() {
@Override
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java
index 201fce64..0fe3d9b5 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceViewer.java
@@ -34,7 +34,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.epp.internal.mpc.core.MarketplaceClientCore;
import org.eclipse.epp.internal.mpc.core.model.Identifiable;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCategory;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCategory.Contents;
@@ -950,7 +949,7 @@ public class MarketplaceViewer extends CatalogViewer {
@Override
protected StructuredViewer doCreateViewer(Composite container) {
ServiceReference<IDiscoveryItemFactory> serviceReference = null;
- final BundleContext bundleContext = MarketplaceClientUiPlugin.getInstance().getBundle().getBundleContext();
+ final BundleContext bundleContext = MarketplaceClientUi.getBundleContext();
try {
serviceReference = bundleContext.getServiceReference(IDiscoveryItemFactory.class);
if (serviceReference != null) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceWizard.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceWizard.java
index ab8c9e11..c48723f2 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceWizard.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/MarketplaceWizard.java
@@ -53,6 +53,7 @@ import org.eclipse.epp.internal.mpc.core.model.News;
import org.eclipse.epp.internal.mpc.ui.CatalogRegistry;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.FavoritesCatalog;
import org.eclipse.epp.internal.mpc.ui.catalog.FavoritesDiscoveryStrategy;
import org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog;
@@ -356,8 +357,7 @@ public class MarketplaceWizard extends DiscoveryWizard implements InstallProfile
@Override
public Image getImage(Object element) {
- return MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ return MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.IU_ICON_ERROR);
}
};
@@ -551,8 +551,7 @@ public class MarketplaceWizard extends DiscoveryWizard implements InstallProfile
private void doDefaultCatalogSelection() {
if (getConfiguration().getCatalogDescriptor() == null) {
- String defaultCatalogUrl = MarketplaceClientUiPlugin.getInstance()
- .getPreferenceStore()
+ String defaultCatalogUrl = MarketplaceClientUiResources.getInstance().getPreferenceStore()
.getString(PREF_DEFAULT_CATALOG);
// if a preferences was set, we default to that catalog descriptor
if (defaultCatalogUrl != null && defaultCatalogUrl.length() > 0) {
@@ -583,8 +582,7 @@ public class MarketplaceWizard extends DiscoveryWizard implements InstallProfile
if (getConfiguration().getCatalogDescriptor() != null) {
// remember the catalog for next time.
try {
- MarketplaceClientUiPlugin.getInstance()
- .getPreferenceStore()
+ MarketplaceClientUiResources.getInstance().getPreferenceStore()
.setValue(PREF_DEFAULT_CATALOG,
getConfiguration().getCatalogDescriptor().getUrl().toURI().toString());
} catch (URISyntaxException e) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/NewsViewer.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/NewsViewer.java
index 9a795624..971bfb44 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/NewsViewer.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/NewsViewer.java
@@ -20,7 +20,7 @@ import java.net.URL;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.epp.internal.mpc.core.model.News;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.mpc.core.model.INews;
import org.eclipse.epp.mpc.ui.CatalogDescriptor;
import org.eclipse.equinox.internal.p2.ui.discovery.util.WorkbenchUtil;
@@ -171,7 +171,7 @@ public class NewsViewer {
showUrl(url);
String key = computeNewsPreferenceKey();
- MarketplaceClientUiPlugin.getInstance().getPreferenceStore().putValue(key, computeNewsStamp(news));
+ MarketplaceClientUiResources.getInstance().getPreferenceStore().putValue(key, computeNewsStamp(news));
}
}
@@ -217,7 +217,7 @@ public class NewsViewer {
return false;
}
String key = computeNewsPreferenceKey();
- String previous = MarketplaceClientUiPlugin.getInstance().getPreferenceStore().getString(key);
+ String previous = MarketplaceClientUiResources.getInstance().getPreferenceStore().getString(key);
if (previous != null && previous.length() > 0) {
String current = computeNewsStamp(news);
return !previous.equals(current);
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ShareSolutionLink.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ShareSolutionLink.java
index 1c1ed797..a140d948 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ShareSolutionLink.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/ShareSolutionLink.java
@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.URIUtil;
import org.eclipse.epp.internal.mpc.core.util.TextUtil;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.util.Util;
import org.eclipse.epp.mpc.core.model.INode;
import org.eclipse.equinox.internal.p2.discovery.model.CatalogItem;
@@ -70,8 +71,7 @@ public class ShareSolutionLink {
private static Button createShareLink(Composite parent) {
final Button share = new Button(parent, SWT.PUSH);
AbstractMarketplaceDiscoveryItem.setWidgetId(share, DiscoveryItem.WIDGET_ID_SHARE);
- share.setImage(MarketplaceClientUiPlugin.getInstance()
- .getImageRegistry()
+ share.setImage(MarketplaceClientUiResources.getInstance().getImageRegistry()
.get(MarketplaceClientUiPlugin.ITEM_ICON_SHARE));
share.setToolTipText(Messages.ShareSolutionLink_Tooltip);
share.getAccessible().addAccessibleListener(new AccessibleAdapter() {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/CatalogDescriptor.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/CatalogDescriptor.java
index eee1ce3a..869edd2f 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/CatalogDescriptor.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/CatalogDescriptor.java
@@ -22,7 +22,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.epp.internal.mpc.core.util.URLUtil;
import org.eclipse.epp.internal.mpc.ui.CatalogRegistry;
import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiResources;
import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProvider;
import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProvider.ResourceFuture;
import org.eclipse.epp.internal.mpc.ui.catalog.ResourceProviderImageDescriptor;
@@ -102,7 +102,7 @@ public final class CatalogDescriptor {
private static ImageDescriptor imageDescriptorForUrl(ICatalog catalog, String imageUrl)
throws MalformedURLException {
if (imageUrl != null && imageUrl.length() > 0) {
- ResourceProvider resourceProvider = MarketplaceClientUiPlugin.getInstance().getResourceProvider();
+ ResourceProvider resourceProvider = MarketplaceClientUiResources.getInstance().getResourceProvider();
ResourceFuture resource = resourceProvider.getResource(imageUrl);
if (resource == null) {
String requestSource = NLS.bind(Messages.CatalogDescriptor_requestCatalog, catalog.getName(),
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/MarketplaceClient.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/MarketplaceClient.java
index c406e1e5..5dc08d79 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/MarketplaceClient.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/mpc/ui/MarketplaceClient.java
@@ -17,7 +17,9 @@ import java.util.List;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.epp.internal.mpc.ui.CatalogRegistry;
-import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUiPlugin;
+import org.eclipse.epp.internal.mpc.ui.MarketplaceClientUi;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
/**
* Provides a means to configure and launch the marketplace client.
@@ -97,6 +99,14 @@ public class MarketplaceClient {
* @return a client service from the OSGi service registry
*/
public static IMarketplaceClientService getMarketplaceClientService() {
- return MarketplaceClientUiPlugin.getInstance().getClientService();
+ BundleContext bundleContext = MarketplaceClientUi.getBundleContext();
+ ServiceReference<IMarketplaceClientService> serviceReference = bundleContext == null ? null
+ : bundleContext.getServiceReference(IMarketplaceClientService.class);
+ IMarketplaceClientService clientService = serviceReference == null ? null
+ : bundleContext.getService(serviceReference);
+ if (clientService != null) {
+ bundleContext.ungetService(serviceReference);//FIXME baaaad...
+ }
+ return clientService;
}
}

Back to the top