Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [buckminster-dev] Bug#173950

Hi Filip,
Truly sloppy programming. I must have a serious talk with the guy behind that one :-)

Fix is in CVS.

Regards,
Thomas Hallgren


Filip Hrbek wrote:
Hi Thomas,
I am getting this error when saving a CPEX file: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 at java.util.ArrayList.RangeCheck(Unknown Source)
 at java.util.ArrayList.set(Unknown Source)
at org.eclipse.buckminster.core.cspec.builder.GroupBuilder.getPrerequisiteList(GroupBuilder.java:117) at org.eclipse.buckminster.core.cspec.builder.GroupBuilder.createAttribute(GroupBuilder.java:77) at org.eclipse.buckminster.core.cspec.builder.GroupBuilder.createAttribute(GroupBuilder.java:1)
 at org.eclipse.buckminster.core.cspec.model.CSpec.<init>(CSpec.java:154)
at org.eclipse.buckminster.core.cspec.builder.CSpecBuilder.createCSpec(CSpecBuilder.java:150) at org.eclipse.buckminster.core.cspec.parser.CSpecHandler.getCSpec(CSpecHandler.java:50) at org.eclipse.buckminster.core.cspec.parser.CSpecParser.childPopped(CSpecParser.java:87) at org.eclipse.buckminster.sax.ChildHandler.endElement(ChildHandler.java:85) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at org.eclipse.buckminster.core.parser.AbstractParser.parseInput(AbstractParser.java:140) at org.eclipse.buckminster.core.cspec.parser.CSpecParser.parse(CSpecParser.java:66) at org.eclipse.buckminster.core.cspec.parser.CSpecParser.parse(CSpecParser.java:1) at org.eclipse.buckminster.core.metadata.FileStorage.getElement(FileStorage.java:145) at org.eclipse.buckminster.core.metadata.model.Resolution.getCSpec(Resolution.java:177) at org.eclipse.buckminster.core.metadata.model.Resolution.getComponentIdentifier(Resolution.java:166) at org.eclipse.buckminster.core.metadata.WorkspaceInfo.getActiveResolutions(WorkspaceInfo.java:122) at org.eclipse.buckminster.core.metadata.WorkspaceInfo.getResolution(WorkspaceInfo.java:260) at org.eclipse.buckminster.core.metadata.WorkspaceInfo.getCSpec(WorkspaceInfo.java:213) at org.eclipse.buckminster.core.metadata.MetadataSynchronizer.refreshProject(MetadataSynchronizer.java:291) at org.eclipse.buckminster.core.metadata.MetadataSynchronizer$MetadataRefreshJob.run(MetadataSynchronizer.java:167)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
The problem could be solved by modifying the org.eclipse.buckminster.core.cspec.builder.GroupBuilder: Current code:

List<Prerequisite> getPrerequisiteList()

{

*int* idx = (m_prerequisites == *null*) ? 0 : m_prerequisites.size();

*if*(idx == 0)

*return* Collections.emptyList();

ArrayList<Prerequisite> bld = *new* ArrayList<Prerequisite>(idx);

*while*(--idx >= 0)

bld.set(idx, m_prerequisites.get(idx).createPrerequisite());

*return* bld;

}

Modified code:

List<Prerequisite> getPrerequisiteList()

{

*int* idx = (m_prerequisites == *null*) ? 0 : m_prerequisites.size();

*if*(idx == 0)

*return* Collections.emptyList();

ArrayList<Prerequisite> bld = *new* ArrayList<Prerequisite>(idx);

*for* (PrerequisiteBuilder prerequisite : m_prerequisites)

bld.add(prerequisite.createPrerequisite());

*return* bld;

}

But after this modification I get another error (with no stack trace):

More than one version of component javax.servet:plugin$2.4.0#OSGi is known to the Buckminster

Any idea?

Regards

  Filip




Back to the top