diff options
author | Brian Vosburgh | 2013-07-03 21:54:56 +0000 |
---|---|---|
committer | Brian Vosburgh | 2013-07-03 21:54:56 +0000 |
commit | 910f74245dd6cfd0c47b5d791a5c1b5b9b4569b9 (patch) | |
tree | a32255fe8b3ef89d5b123d903b588951ffea7ddb /jaxb | |
parent | 37c7a52abee2351c348284afaf0427d9b6149f70 (diff) | |
download | webtools.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.java | 16 |
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); + } } |