Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Agapov2015-08-24 09:59:59 +0000
committerPavel Agapov2015-08-24 09:59:59 +0000
commit3380625ccf6c1135e881ba1b54d4a08de19e7f2f (patch)
treed9670d1683926db1eb9f3b412d93486f6bed63e3
parent5c7c41f71e91e0706d3da4150b7b095e16ed7741 (diff)
downloadorg.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>
-rw-r--r--launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java4
-rw-r--r--launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java14
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) {

Back to the top