TeamPlatform.startup courses NullPointerException
![]()
Hello,
I'm using the Rational Team Concert Version 3.0.1 and the Plain Java API 3.0.1.2 . While starting up the TeamPlatform TeamPlatform.startup(); the following Exception appears. java.lang.NullPointerException at com.ibm.team.repository.common.internal.util.VersionStringComparator.getIntegerParts(VersionStringComparator.java:71) at com.ibm.team.repository.common.internal.util.VersionStringComparator.innerCompare(VersionStringComparator.java:45) at com.ibm.team.repository.common.internal.util.VersionStringComparator.compare(VersionStringComparator.java:32) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor$EvolutionDescriptorComponentVersionComparator.compare(ModelElementDescriptor.java:152) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor$EvolutionDescriptorComponentVersionComparator.compare(ModelElementDescriptor.java:1) at java.util.TreeMap.compare(Unknown Source) at java.util.TreeMap.put(Unknown Source) at java.util.TreeSet.add(Unknown Source) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.processEvolutionElement(ModelElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.processChild(ModelElementDescriptor.java:53) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.processChildren(AbstractElementDescriptor.java:725) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.<init>(AbstractElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.AbstractComponentChildElementDescriptor.<init>(AbstractComponentChildElementDescriptor.java:30) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.<init>(ModelElementDescriptor.java:37) at com.ibm.team.repository.common.internal.util.ComponentElementDescriptor.processChild(ComponentElementDescriptor.java:262) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.processChildren(AbstractElementDescriptor.java:725) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.<init>(AbstractElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.ComponentElementDescriptor.<init>(ComponentElementDescriptor.java:39) at com.ibm.team.repository.common.internal.util.ComponentRegistry.handleExtensionAdded(ComponentRegistry.java:860) at com.ibm.team.repository.common.internal.util.ComponentRegistry.handleExtensionAdded(ComponentRegistry.java:1) at com.ibm.team.repository.common.util.ExtensionRegistryReader.basicHandleExtensionAdded(ExtensionRegistryReader.java:205) at com.ibm.team.repository.common.util.ExtensionRegistryReader.handleExtensionAddedToRegistry(ExtensionRegistryReader.java:624) at com.ibm.team.repository.common.util.ExtensionRegistryReader.addContributedExtensions(ExtensionRegistryReader.java:143) at com.ibm.team.repository.common.util.ExtensionRegistryReader.start(ExtensionRegistryReader.java:1129) at com.ibm.team.repository.common.util.ExtensionRegistryReader.earlyStart(ExtensionRegistryReader.java:318) at com.ibm.team.repository.common.util.ExtensionRegistryReader.<init>(ExtensionRegistryReader.java:114) at com.ibm.team.repository.common.internal.util.ComponentRegistry.<init>(ComponentRegistry.java:75) at com.ibm.team.repository.common.internal.util.ComponentRegistry.<clinit>(ComponentRegistry.java:47) at com.ibm.team.repository.common.LogFactory.getLog(LogFactory.java:73) at com.ibm.team.repository.client.internal.TeamRepositoryService.<clinit>(TeamRepositoryService.java:70) at com.ibm.team.repository.client.TeamPlatform.getTeamRepositoryService(TeamPlatform.java:126) at jazzExcel.jazz.JazzConnection.getConnection(JazzConnection.java:43) at jazzExcel.jazz.JazzConnection.<init>(JazzConnection.java:27) at jazzExcel.main.Start.main(Start.java:12) Mrz 08, 2012 10:57:37 AM com.ibm.team.repository.common.transport.AbstractElementDescriptor processChildren Schwerwiegend: null java.lang.NullPointerException at com.ibm.team.repository.common.internal.util.VersionStringComparator.getIntegerParts(VersionStringComparator.java:71) at com.ibm.team.repository.common.internal.util.VersionStringComparator.innerCompare(VersionStringComparator.java:45) at com.ibm.team.repository.common.internal.util.VersionStringComparator.compare(VersionStringComparator.java:32) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor$EvolutionDescriptorComponentVersionComparator.compare(ModelElementDescriptor.java:152) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor$EvolutionDescriptorComponentVersionComparator.compare(ModelElementDescriptor.java:1) at java.util.TreeMap.compare(Unknown Source) at java.util.TreeMap.put(Unknown Source) at java.util.TreeSet.add(Unknown Source) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.processEvolutionElement(ModelElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.processChild(ModelElementDescriptor.java:53) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.processChildren(AbstractElementDescriptor.java:725) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.<init>(AbstractElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.AbstractComponentChildElementDescriptor.<init>(AbstractComponentChildElementDescriptor.java:30) at com.ibm.team.repository.common.internal.util.ModelElementDescriptor.<init>(ModelElementDescriptor.java:37) at com.ibm.team.repository.common.internal.util.ComponentElementDescriptor.processChild(ComponentElementDescriptor.java:262) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.processChildren(AbstractElementDescriptor.java:725) at com.ibm.team.repository.common.transport.AbstractElementDescriptor.<init>(AbstractElementDescriptor.java:60) at com.ibm.team.repository.common.internal.util.ComponentElementDescriptor.<init>(ComponentElementDescriptor.java:39) at com.ibm.team.repository.common.internal.util.ComponentRegistry.handleExtensionAdded(ComponentRegistry.java:860) at com.ibm.team.repository.common.internal.util.ComponentRegistry.handleExtensionAdded(ComponentRegistry.java:1) at com.ibm.team.repository.common.util.ExtensionRegistryReader.basicHandleExtensionAdded(ExtensionRegistryReader.java:205) at com.ibm.team.repository.common.util.ExtensionRegistryReader.handleExtensionAddedToRegistry(ExtensionRegistryReader.java:624) at com.ibm.team.repository.common.util.ExtensionRegistryReader.addContributedExtensions(ExtensionRegistryReader.java:143) at com.ibm.team.repository.common.util.ExtensionRegistryReader.start(ExtensionRegistryReader.java:1129) at com.ibm.team.repository.common.util.ExtensionRegistryReader.earlyStart(ExtensionRegistryReader.java:318) at com.ibm.team.repository.common.util.ExtensionRegistryReader.<init>(ExtensionRegistryReader.java:114) at com.ibm.team.repository.common.internal.util.ComponentRegistry.<init>(ComponentRegistry.java:75) at com.ibm.team.repository.common.internal.util.ComponentRegistry.<clinit>(ComponentRegistry.java:47) at com.ibm.team.repository.common.LogFactory.getLog(LogFactory.java:73) at com.ibm.team.repository.client.internal.TeamRepositoryService.<clinit>(TeamRepositoryService.java:70) at com.ibm.team.repository.client.TeamPlatform.getTeamRepositoryService(TeamPlatform.java:126) at jazzExcel.jazz.JazzConnection.getConnection(JazzConnection.java:43) at jazzExcel.jazz.JazzConnection.<init>(JazzConnection.java:27) at jazzExcel.main.Start.main(Start.java:12) Contacting https://clm-tomcat:9443/ccm/... Connected Because on top stands something with VersionString I tried the Java API 3.0.1, but the same Exception occured. Despite of this Exception I am connected and can read Workitems through it. Does it course any harm? Kind regards |
Accepted answer
![]()
This seems to be a bug. The plugin.xml file within the com.ibm.team.scm.common bundle contains the following line:
[dtoEvolution componentVersion="3.0"] where the attribute modelVersion is missing. So the invocation of com.ibm.team.repository.common.internal.util.EvolutionDescriptor#getModelVersion() returns null. This null-value is used for comparison within the com.ibm.team.repository.common.internal.util.VersionStringComparator. Unfortunately, this comparator is not able to handle null values. So one of those (a missing modelVersion or the comparator) have to get fixed. Melanie Finke selected this answer as the correct answer
|
2 other answers
![]()
I have a similar problem; To hide this from the user I redirect stderr and stdout before the call and then restore them afterwards.
// Stop bug displaying
// at com.ibm.team.repository.common.internal.util.VersionStringComparator.getIntegerParts(VersionStringComparator.java:71)
// Capture for restore
PrintStream stderr = System.err;
PrintStream stdout = System.out;
try {
// Redirect output to null (don't capture)
System.setErr(null);
System.setOut(null);
// Get RTC connection
connection = TeamPlatform.getTeamRepositoryService().getTeamRepository(repository);
}
finally {
// Ensure we restore afterwards
System.setErr(stderr);
System.setOut(stdout);
}
|