Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbateman2009-09-02 18:02:49 +0000
committercbateman2009-09-02 18:02:49 +0000
commit115111eb0f23a3a7ec0876f849c9ad764d505f4b (patch)
treea3fe21fd2679d4a0c9403b26b690551d5ec7ce39
parent52d28464998277e6edf97076d59b2e7192a9ac15 (diff)
downloadwebtools.jsf-115111eb0f23a3a7ec0876f849c9ad764d505f4b.tar.gz
webtools.jsf-115111eb0f23a3a7ec0876f849c9ad764d505f4b.tar.xz
webtools.jsf-115111eb0f23a3a7ec0876f849c9ad764d505f4b.zip
PMC approved fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=281108.
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java10
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig/facesconfig/org/eclipse/jst/jsf/facesconfig/util/FacesConfigArtifactEdit.java49
2 files changed, 39 insertions, 20 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
index 02b3c8e89..bf9a2bce2 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/FacesConfigEditor.java
@@ -822,9 +822,13 @@ public class FacesConfigEditor extends FormEditor implements
if (isWebProject &&
_modelLoader.getEdit() != null) {
// modelResource.save(Collections.EMPTY_MAP);
- _modelLoader.getEdit()
- .getDeploymentDescriptorResource().save(
- Collections.EMPTY_MAP);
+ Resource deploymentDescriptorResource = _modelLoader.getEdit()
+ .getDeploymentDescriptorResource();
+ if (deploymentDescriptorResource != null)
+ {
+ deploymentDescriptorResource.save(
+ Collections.EMPTY_MAP);
+ }
IFile file = ((IFileEditorInput) getEditorInput())
.getFile();
pageflowPage.doSave(file, monitor_);
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig/facesconfig/org/eclipse/jst/jsf/facesconfig/util/FacesConfigArtifactEdit.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig/facesconfig/org/eclipse/jst/jsf/facesconfig/util/FacesConfigArtifactEdit.java
index 89e340982..509eb12d0 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig/facesconfig/org/eclipse/jst/jsf/facesconfig/util/FacesConfigArtifactEdit.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facesconfig/facesconfig/org/eclipse/jst/jsf/facesconfig/util/FacesConfigArtifactEdit.java
@@ -20,6 +20,7 @@ import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jst.jsf.facesconfig.FacesConfigPlugin;
import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
import org.eclipse.wst.common.componentcore.ArtifactEdit;
+import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
import org.eclipse.wst.xml.core.internal.emf2xml.EMF2DOMSSERenderer;
@@ -142,21 +143,29 @@ public final class FacesConfigArtifactEdit extends ArtifactEdit {
return facesConfigURI;
}
- /**
- * @return the model root
- */
- public EObject getDeploymentDescriptorRoot() {
- List contents = getDeploymentDescriptorResource().getContents();
- if (contents.size() > 0)
- return (EObject) contents.get(0);
- return null;
- // TODO: XN
- //addFacesConfigIfNecessary((IFacesConfigResource)getDeploymentDescriptorResource());
- //return (EObject) contents.get(0);
- }
+ /**
+ * @return the model root
+ */
+ public EObject getDeploymentDescriptorRoot()
+ {
+ Resource deploymentDescriptorResource = getDeploymentDescriptorResource();
+ if (deploymentDescriptorResource != null)
+ {
+ List contents = deploymentDescriptorResource.getContents();
+ if (contents.size() > 0)
+ {
+ return (EObject) contents.get(0);
+ }
+ }
+ return null;
+ // TODO: XN
+ // addFacesConfigIfNecessary((IFacesConfigResource)getDeploymentDescriptorResource());
+ // return (EObject) contents.get(0);
+ }
/**
- * @return the EMF resource retrieved for this artifact's uri
+ * @return the EMF resource retrieved for this artifact's uri or null if
+ * this descriptor has not resource.
*/
public Resource getDeploymentDescriptorResource() {
if (sFileName != null) {
@@ -164,7 +173,12 @@ public final class FacesConfigArtifactEdit extends ArtifactEdit {
} else {// default is "WEB-INF/faces-config.xml"
facesConfigURI = URI.createURI(IFacesConfigConstants.FACES_CONFIG_URI);
}
- return getArtifactEditModel().getResource(facesConfigURI);
+ final ArtifactEditModel artifactEditModel = getArtifactEditModel();
+ if (artifactEditModel != null)
+ {
+ return artifactEditModel.getResource(facesConfigURI);
+ }
+ return null;
}
/**
@@ -210,9 +224,10 @@ public final class FacesConfigArtifactEdit extends ArtifactEdit {
// TODO - XN This is a little hackish because it depends on the resource's
// renderer being an EMF2DOMSedRenderer (which it is, but that could
// change).
- IFacesConfigResource resource = (IFacesConfigResource)getDeploymentDescriptorResource();
- if (resource != null) {
- EMF2DOMSSERenderer renderer = (EMF2DOMSSERenderer) resource.getRenderer();
+ Resource resource = getDeploymentDescriptorResource();
+ if (resource instanceof IFacesConfigResource) {
+ EMF2DOMSSERenderer renderer = (EMF2DOMSSERenderer)
+ ((IFacesConfigResource)resource).getRenderer();
return renderer.getXMLModel();
}
return null;

Back to the top