Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 407939

Summary: Extra space in org.eclipse.jst.j2ee.J2EEModelProvider extension attribute value causing exception
Product: [WebTools] Web Tools Reporter: Danny Ju <danny.ju>
Component: J2EE Standard ToolsAssignee: jst-inbox <jst-inbox>
Status: CLOSED DUPLICATE QA Contact: Chuck Bridgham <cbridgha>
Severity: normal    
Priority: P3 CC: ccc
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Danny Ju CLA 2013-05-13 15:00:47 EDT
Noticed following exception in Kelper M7:

java.lang.IllegalArgumentException: Version  7.0 of project facet jst.appclient does not exist.
	at org.eclipse.wst.common.project.facet.core.util.internal.Versionable.getVersion(Versionable.java:80)
	at org.eclipse.wst.common.project.facet.core.internal.ProjectFacet.getVersion(ProjectFacet.java:1)
	at org.eclipse.jst.j2ee.model.J2EEModelProviderRegistry.readElement(J2EEModelProviderRegistry.java:85)
	at org.eclipse.wst.common.core.util.RegistryReader.internalReadElement(RegistryReader.java:81)
	at org.eclipse.wst.common.core.util.RegistryReader.readRegistry(RegistryReader.java:122)
	at org.eclipse.jst.j2ee.model.J2EEModelProviderRegistry.getInstance(J2EEModelProviderRegistry.java:43)
	at org.eclipse.jst.j2ee.model.ModelProviderManager.initProviders(ModelProviderManager.java:262)
	at org.eclipse.jst.j2ee.model.ModelProviderManager.getProviders(ModelProviderManager.java:338)
	at org.eclipse.jst.j2ee.model.ModelProviderManager.getProvider(ModelProviderManager.java:223)
	at org.eclipse.jst.j2ee.model.ModelProviderManager.getModelProvider(ModelProviderManager.java:93)
	at org.eclipse.jst.j2ee.model.ModelProviderManager.getModelProvider(ModelProviderManager.java:281)
	at oracle.eclipse.tools.common.util.wtp.webxml.WebXmlUpdater.<init>(WebXmlUpdater.java:46)
	at oracle.eclipse.tools.webtier.jstl.JstlFacetInstallDelegate.updateWebXml(JstlFacetInstallDelegate.java:83)
	at oracle.eclipse.tools.webtier.jstl.JstlFacetInstallDelegate.execute(JstlFacetInstallDelegate.java:55)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.callDelegate(FacetedProject.java:1477)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:441)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$5.run(FacetedProject.java:1099)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChanges(FacetedProject.java:1109)
	at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.commitChanges(FacetedProjectWorkingCopy.java:2020)
	at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard.performFinish(ModifyFacetedProjectWizard.java:400)
	at org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard.performFinish(NewProjectDataModelFacetWizard.java:282)
	at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$3.run(ModifyFacetedProjectWizard.java:331)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
	at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$4.run(ModifyFacetedProjectWizard.java:345)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)


After some debugging, I think the problem is caused by an extra space before 
the 7.0 in facet versions attribute:

   <extension
        point="org.eclipse.jst.j2ee.J2EEModelProvider">
      	<provider>
        	<modelProvider factoryClass="org.eclipse.jst.jee.model.internal.AppClient5ModelProviderFactory"/>	
      		<facet id="jst.appclient" versions="5.0,6.0, 7.0"/>
      	</provider>
   </extension>
Comment 1 Danny Ju CLA 2013-05-13 15:03:57 EDT
Forgot to mention the problem was found in org.eclipse.jst.jee plugin ( org.eclipse.jst.jee_1.0.600.v201305070100.jar ).

And there is a similar bug for EAR5ModelProviderFactory in the same plugin.xml 
  	<extension
        point="org.eclipse.jst.j2ee.J2EEModelProvider">
      	<provider>
        	<modelProvider factoryClass="org.eclipse.jst.jee.model.internal.EAR5ModelProviderFactory"/>	
      		<facet id="jst.ear" versions="5.0,6.0, 7.0"/>
      	</provider>
  </extension>
Comment 2 Carl Anderson CLA 2013-06-04 11:06:36 EDT
Yes, these spaces were accidentally added, and were removed as part of bug 400483

*** This bug has been marked as a duplicate of bug 400483 ***