diff options
| author | Carsten Reckord | 2020-09-01 21:19:31 +0000 |
|---|---|---|
| committer | Carsten Reckord | 2020-09-02 18:04:53 +0000 |
| commit | f99217c40d0d662d9074619719d4127c7de09e09 (patch) | |
| tree | ea3cb110ee7e57c507753587ab4bca5affe027ff | |
| parent | 89f7cc970ca25d1edb9331b0c8e7aea7ef962dd4 (diff) | |
| download | org.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>
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; } } |
