Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritrimble2011-03-21 23:17:14 +0000
committeritrimble2011-03-21 23:17:14 +0000
commit9fa8a0fa818c286bd3fdb662301eac36ba4dfb73 (patch)
treed564f3c12b3fb8b620f42dd535ec66a9aa4045ab
parent22ced9b304a7e91a302d3cf2cda7d210705f29a1 (diff)
downloadwebtools.jsf-9fa8a0fa818c286bd3fdb662301eac36ba4dfb73.tar.gz
webtools.jsf-9fa8a0fa818c286bd3fdb662301eac36ba4dfb73.tar.xz
webtools.jsf-9fa8a0fa818c286bd3fdb662301eac36ba4dfb73.zip
Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java64
1 files changed, 46 insertions, 18 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
index 9fc0b6dd3..be6eefb6c 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDataModelProvider.java
@@ -17,6 +17,7 @@ import java.util.Iterator;
import java.util.Set;
import java.util.regex.Pattern;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
@@ -40,10 +41,12 @@ import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider;
import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
/**
* Provides a data model used by the JSF facet install.
@@ -273,9 +276,14 @@ public class JSFFacetInstallDataModelProvider extends
jars.add(entry.getPath().makeAbsolute().toString());
}
}
- } catch (JavaModelException e) {
- // FIXME: what should we do in this case?
- JSFCorePlugin.log(e, "Error searching class path"); //$NON-NLS-1$
+ } catch (JavaModelException ignore) {
+ /*
+ * Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
+ *
+ * Don't log error, as this is an expected exception if the Java project has not yet
+ * been created - continue processing.
+ */
+ //JSFCorePlugin.log(e, "Error searching class path"); //$NON-NLS-1$
}
}
//else as we do not have a javaProject yet, all we can do is validate that there is no duplicate jars (absolute path)
@@ -360,18 +368,30 @@ public class JSFFacetInstallDataModelProvider extends
String webFolder = getWebContentFolderName();
if (proj.exists()) {
-
- webContentPath = ComponentCore.createComponent(proj).getRootFolder()
- .getUnderlyingFolder().getRawLocation();
- }
- else {
-
+ //Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
+ IVirtualComponent virtComponent = ComponentCore.createComponent(proj);
+ if (virtComponent != null) {
+ IVirtualFolder virtFolder = virtComponent.getRootFolder();
+ if (virtFolder != null) {
+ IContainer container = virtFolder.getUnderlyingFolder();
+ if (container != null) {
+ webContentPath = container.getRawLocation();
+ }
+ }
+ } else {
+ //Java project has not been created yet
+ if (webFolder == null){
+ webContentPath = proj.getFullPath();
+ } else {
+ webContentPath = proj.getFullPath().append(webFolder);
+ }
+ }
+ } else {
if (webFolder == null){
- //we got problems... should not happen
- return proj.getFullPath();
+ webContentPath = proj.getFullPath();
+ } else {
+ webContentPath = proj.getFullPath().append(webFolder);
}
- webContentPath = proj.getFullPath().append(webFolder);
-
}
return webContentPath;
}
@@ -380,10 +400,18 @@ public class JSFFacetInstallDataModelProvider extends
String projName = (String)getProperty(FACET_PROJECT_NAME);
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
if (project.exists()){
- IPath webContentPath = ComponentCore.createComponent(project).getRootFolder()
- .getUnderlyingFolder().getProjectRelativePath();
-
- return webContentPath.toString();
+ //Bug 330819 - Project Properties - Facets - Change Configuration - Receive npe error
+ IVirtualComponent virtComponent = ComponentCore.createComponent(project);
+ if (virtComponent != null) {
+ IVirtualFolder virtFolder = virtComponent.getRootFolder();
+ if (virtFolder != null) {
+ IContainer container = virtFolder.getUnderlyingFolder();
+ if (container != null) {
+ IPath webContentPath = container.getProjectRelativePath();
+ return webContentPath.toString();
+ }
+ }
+ }
}
IFacetedProjectWorkingCopy projWC = (IFacetedProjectWorkingCopy)getProperty(FACETED_PROJECT_WORKING_COPY);

Back to the top