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
|