[
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