Skip to main content
summaryrefslogtreecommitdiffstats
path: root/jaxb
diff options
context:
space:
mode:
authorBrian Vosburgh2013-07-03 21:54:56 +0000
committerBrian Vosburgh2013-07-03 21:54:56 +0000
commit910f74245dd6cfd0c47b5d791a5c1b5b9b4569b9 (patch)
treea32255fe8b3ef89d5b123d903b588951ffea7ddb /jaxb
parent37c7a52abee2351c348284afaf0427d9b6149f70 (diff)
downloadwebtools.dali-910f74245dd6cfd0c47b5d791a5c1b5b9b4569b9.tar.gz
webtools.dali-910f74245dd6cfd0c47b5d791a5c1b5b9b4569b9.tar.xz
webtools.dali-910f74245dd6cfd0c47b5d791a5c1b5b9b4569b9.zip
[397108] fix NPE in JAXB JavaElementAdapterFactory
Diffstat (limited to 'jaxb')
-rw-r--r--jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/JavaElementAdapterFactory.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/JavaElementAdapterFactory.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/JavaElementAdapterFactory.java
index 885627eaec..22d07b29a5 100644
--- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/JavaElementAdapterFactory.java
+++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/JavaElementAdapterFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012 Oracle. All rights reserved.
+ * Copyright (c) 2012, 2013 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,8 +9,10 @@
******************************************************************************/
package org.eclipse.jpt.jaxb.core.internal;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jpt.jaxb.core.platform.JaxbPlatformConfig;
/**
@@ -39,8 +41,18 @@ public class JavaElementAdapterFactory
private Object getAdapter(IJavaElement javaElement, Class<?> adapterType) {
if (adapterType == JaxbPlatformConfig.class) {
- return javaElement.getResource().getAdapter(JaxbPlatformConfig.class);
+ return this.getJaxbPlatformConfig(javaElement);
}
return null;
}
+
+ private Object getJaxbPlatformConfig(IJavaElement javaElement) {
+ IJavaProject javaProject = javaElement.getJavaProject();
+ if (javaProject == null) {
+ return null; // IJavaModel does not have an IJavaProject
+ }
+ IProject project = javaProject.getProject();
+ // not sure an IJavaProject can have no IProject...
+ return (project == null) ? null : project.getAdapter(JaxbPlatformConfig.class);
+ }
}

Back to the top