230256 [hotbug] jst.jee JEEDeployableFactory refuses to load ejb3 module
diff --git a/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java b/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java
index 64f7010..55dd659 100644
--- a/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java
+++ b/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java
@@ -30,6 +30,7 @@
 import org.eclipse.jst.j2ee.internal.deployables.J2EEFlexProjDeployable;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.jca.Connector;
+import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.jst.j2ee.webapplication.WebApp;
 import org.eclipse.wst.common.componentcore.ArtifactEdit;
 import org.eclipse.wst.common.componentcore.ComponentCore;
@@ -141,28 +142,48 @@
 						ArtifactEdit moduleEdit = null;
 						try {
 							if (j2eeModule.isEjbModule()) {
-								moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.EJB);
-								EJBJar ejbJar = (EJBJar) moduleEdit.getContentModelRoot();
-								moduleType = J2EEProjectUtilities.EJB;
-								moduleVersion = ejbJar.getVersion();
+								try {
+									moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.EJB);
+									EJBJar ejbJar = (EJBJar) moduleEdit.getContentModelRoot();
+									moduleType = J2EEProjectUtilities.EJB;
+									moduleVersion = ejbJar.getVersion();
+								} catch( NullPointerException npe ) {
+									moduleType = IJ2EEFacetConstants.EJB; 
+									moduleVersion = IJ2EEFacetConstants.EJB_30.getVersionString();
+								}
 							}
 							else if (j2eeModule.isWebModule()) {
-								moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.DYNAMIC_WEB);
-								WebApp webApp = (WebApp) moduleEdit.getContentModelRoot();
-								moduleType = J2EEProjectUtilities.DYNAMIC_WEB;
-								moduleVersion = webApp.getVersion();
+								try {
+									moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.DYNAMIC_WEB);
+									WebApp webApp = (WebApp) moduleEdit.getContentModelRoot();
+									moduleType = J2EEProjectUtilities.DYNAMIC_WEB;
+									moduleVersion = webApp.getVersion();
+								} catch( NullPointerException npe ) {
+									moduleType = IJ2EEFacetConstants.DYNAMIC_WEB;
+									moduleVersion = IJ2EEFacetConstants.DYNAMIC_WEB_24.getVersionString();
+								}
 							}
 							else if (j2eeModule.isConnectorModule()) {
-								moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.JCA);
-								Connector connector = (Connector) moduleEdit.getContentModelRoot();
-								moduleType = J2EEProjectUtilities.JCA;
-								moduleVersion = connector.getVersion();
+								try {
+									moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.JCA);
+									Connector connector = (Connector) moduleEdit.getContentModelRoot();
+									moduleType = J2EEProjectUtilities.JCA;
+									moduleVersion = connector.getVersion();
+								} catch( NullPointerException npe ) {
+									moduleType = IJ2EEFacetConstants.JCA;
+									moduleVersion = "1.5";
+								}
 							}
 							else if (j2eeModule.isJavaModule()) {
-								moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.APPLICATION_CLIENT);
-								ApplicationClient appClient = (ApplicationClient) moduleEdit.getContentModelRoot();
-								moduleType = J2EEProjectUtilities.APPLICATION_CLIENT;
-								moduleVersion = appClient.getVersion();
+								try {
+									moduleEdit = ComponentUtilities.getArtifactEditForRead(moduleComponent, J2EEProjectUtilities.APPLICATION_CLIENT);
+									ApplicationClient appClient = (ApplicationClient) moduleEdit.getContentModelRoot();
+									moduleType = J2EEProjectUtilities.APPLICATION_CLIENT;
+									moduleVersion = appClient.getVersion();
+								} catch( NullPointerException npe ) {
+									moduleType = IJ2EEFacetConstants.APPLICATION_CLIENT;
+									moduleVersion = IJ2EEFacetConstants.APPLICATION_CLIENT_50.getVersionString();
+								}
 							}
 						} finally {
 							if (moduleEdit!=null)