Bug 289349 - [WPE] NPE in WebrootUtil.getWebContentPath() method
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java
index ff65eeb..3a99bf3 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java
@@ -15,6 +15,7 @@
import java.util.Iterator;
import java.util.Set;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -27,6 +28,8 @@
import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
@@ -81,7 +84,16 @@
*/
public static IPath getWebContentPath(IProject project) {
if (project != null) {
- return ComponentCore.createComponent(project).getRootFolder().getUnderlyingFolder().getFullPath();
+ IVirtualComponent component = ComponentCore.createComponent(project);
+ if (component != null) {
+ IVirtualFolder rootFolder = component.getRootFolder();
+ if (rootFolder != null) {
+ IContainer underlyingFolder = rootFolder.getUnderlyingFolder();
+ if (underlyingFolder != null) {
+ return underlyingFolder.getFullPath();
+ }
+ }
+ }
}
return null;
}