Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 247732 - JavaFieldJDOMAdapter causing StringIndexOutOfBoundsException
Summary: JavaFieldJDOMAdapter causing StringIndexOutOfBoundsException
Status: RESOLVED FIXED
Alias: None
Product: WTP Java EE Tools
Classification: WebTools
Component: jst.jem (show other bugs)
Version: 1.5.5   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.0.3   Edit
Assignee: Carl Anderson CLA
QA Contact: Chuck Bridgham CLA
URL:
Whiteboard:
Keywords:
Depends on: 247701
Blocks:
  Show dependency tree
 
Reported: 2008-09-17 16:51 EDT by Carl Anderson CLA
Modified: 2008-10-02 00:20 EDT (History)
0 users

See Also:
cbridgha: review+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carl Anderson CLA 2008-09-17 16:51:31 EDT
This bug is to get the patch from 247701 into the R3_0_maintenance stream

+++ This bug was initially created as a clone of Bug #247701 +++

The steps to reproduce are simple- create a Servlet or an EJB, and in the Java class, add a multi-variable declaration with one of the latter variables having an initializer, such as:

int value, value2 = 999;

When JEM performs the inspection of the Java class, an exception like the following will occur:

+++ Warning +++: Mon Jun 23 13:26:08 EDT 2008 java.lang.StringIndexOutOfBoundsException
at java.lang.String.substring(String.java:1088)
at org.eclipse.jem.internal.adapters.jdom.JavaFieldJDOMAdaptor.getFieldInitializerString(JavaFieldJDOMAdaptor.java:131)
at org.eclipse.jem.internal.adapters.jdom.JavaFieldJDOMAdaptor.setModifiers(JavaFieldJDOMAdaptor.java:247)
at org.eclipse.jem.internal.adapters.jdom.JavaFieldJDOMAdaptor.reflectValues(JavaFieldJDOMAdaptor.java:234)
at org.eclipse.jem.internal.java.adapters.ReflectionAdaptor.reflectValuesIfNecessary(ReflectionAdaptor.java:143)
at org.eclipse.jem.internal.java.adapters.JavaReflectionAdaptor.reflectValuesIfNecessary(JavaReflectionAdaptor.java:260)
at org.eclipse.jem.java.internal.impl.FieldImpl.reflectValues(FieldImpl.java:240)
at org.eclipse.jem.java.internal.impl.FieldImpl.isTransient(FieldImpl.java:203)
at org.eclipse.jst.j2ee.model.internal.validation.ASessionBeanClassVRule.validateTransientField(ASessionBeanClassVRule.java:25)
at org.eclipse.jst.j2ee.model.internal.validation.ABeanClassVRule.validate(ABeanClassVRule.java:409)
at org.eclipse.jst.j2ee.model.internal.validation.ATypeVRule.validate(ATypeVRule.java:129)
at org.eclipse.jst.j2ee.model.internal.validation.ATypeVRule.validate(ATypeVRule.java:83)
at org.eclipse.jst.j2ee.model.internal.validation.AbstractEJBValidator.run(AbstractEJBValidator.java:133)
at org.eclipse.jst.j2ee.model.internal.validation.EJBValidator.fullValidate(EJBValidator.java:418)
at org.eclipse.jst.j2ee.model.internal.validation.EJBValidator.commonValidate(EJBValidator.java:80)
at org.eclipse.jst.j2ee.model.internal.validation.EJBValidator.validateInJob(EJBValidator.java:104)
at org.eclipse.jst.j2ee.internal.ejb.workbench.validation.UIEjbValidator.validateInJob(UIEjbValidator.java:51)
at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:72)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Comment 1 Carl Anderson CLA 2008-09-30 18:33:47 EDT
The same patch works, since the base version is still v1.6 of ArchiveManifestImpl
Comment 2 Chuck Bridgham CLA 2008-10-01 13:50:23 EDT
approved
Comment 3 Carl Anderson CLA 2008-10-02 00:20:00 EDT
Committed to R3_0_maintenance for 3.0.3