diff options
author | Pavel Agapov | 2015-08-24 09:59:59 +0000 |
---|---|---|
committer | Pavel Agapov | 2015-08-24 09:59:59 +0000 |
commit | 3380625ccf6c1135e881ba1b54d4a08de19e7f2f (patch) | |
tree | d9670d1683926db1eb9f3b412d93486f6bed63e3 | |
parent | 5c7c41f71e91e0706d3da4150b7b095e16ed7741 (diff) | |
download | org.eclipse.rcptt-3380625ccf6c1135e881ba1b54d4a08de19e7f2f.tar.gz org.eclipse.rcptt-3380625ccf6c1135e881ba1b54d4a08de19e7f2f.tar.xz org.eclipse.rcptt-3380625ccf6c1135e881ba1b54d4a08de19e7f2f.zip |
[471950] Fixed NPE while starting target platform without installation.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=471950
Change-Id: I884744a70f4c99abe58b39ce907026a9e2235e48
Signed-off-by: Pavel Agapov <pavel.agapov@xored.com>
2 files changed, 15 insertions, 3 deletions
diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java index 6e53409be..3fccd9c20 100644 --- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java +++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java @@ -225,10 +225,10 @@ public class Q7TargetPlatformInitializer { public static void logError(TargetPlatformHelper info) { Q7ExtLaunchingPlugin.log(new MultiStatus(PLUGIN_ID, 0, new IStatus[]{info.getStatus()}, "Target platform initialization error", null)); } - + public static Q7Info getInfo(ITargetPlatformHelper target, Map<String, Version> versions) throws CoreException { Map<String, Version> map = versions; - MultiStatus status = new MultiStatus(PLUGIN_ID, 0, "Invalid eclipse product location: " + target.getTargetPlatformProfilePath(), null); + MultiStatus status = new MultiStatus(PLUGIN_ID, 0, "Invalid eclipse target platform: " + target.toString(), null); Version platform = map.get(AUTInformation.VERSION); Version osgi = map.get(AUTInformation.OSGI); if (platform == null) diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java index a323e686a..883c373a2 100644 --- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java +++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java @@ -87,6 +87,7 @@ import org.eclipse.rcptt.launching.injection.Directory; import org.eclipse.rcptt.launching.injection.Entry; import org.eclipse.rcptt.launching.injection.InjectionConfiguration; import org.eclipse.rcptt.launching.injection.UpdateSite; +import org.eclipse.rcptt.launching.internal.target.Q7Target.AutInstall; import org.eclipse.rcptt.launching.p2utils.P2Utils; import org.eclipse.rcptt.launching.target.ITargetPlatformHelper; import org.eclipse.rcptt.launching.target.TargetPlatformManager; @@ -328,6 +329,9 @@ public class TargetPlatformHelper implements ITargetPlatformHelper { public String getTargetPlatformProfilePath() { ProfileBundleContainer container = (ProfileBundleContainer) getInstanceContainer(); + if (container == null) { + return ""; + } try { return container.getLocation(true).toString(); } catch (CoreException e) { @@ -1245,7 +1249,15 @@ public class TargetPlatformHelper implements ITargetPlatformHelper { } ProfileBundleContainer getInstanceContainer() { - return getQ7Target().getInstall().container; + final Q7Target target = getQ7Target(); + if (target == null) { + return null; + } + final AutInstall install = target.getInstall(); + if (install == null) { + return null; + } + return install.container; } public void setBundleContainers(ITargetLocation[] containers) { |