Article - CS420736

"Cannot invoke \"java.lang.Comparable.compareTo(Object)\" because the return value of \"java.util.function.Function.apply(Object)\" is null" when using Swagger API "GET /v3/tracker/{trackerId}/configuration" endpoint on Codebeamer

Modified: 27-Nov-2024   


Applies To

  • Codebeamer 2.1.0.0 to 2.1.0.3
  • Codebeamer 2.2.0.1

Description

 

  • Unable to get tracker configuration using GET /v3/tracker/{trackerId}/configuration endpoint Swagger API endpoint with error observed in cb.txt :
  • 2024-10-03 15:52:31,896 WARN  rest.v2.AbstractRestController - Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)" is null [catalina-exec-22] [314] {Req#=307360, Sess#=4c5..12f, serverId=server}
    com.intland.codebeamer.controller.rest.v2.exception.InternalServerErrorException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)" is null
    	at com.intland.codebeamer.controller.rest.v2.TrackerConfigurationRestController.getTrackerConfiguration(TrackerConfigurationRestController.java:78) ~[cb-2.2.0.1.jar:?]
    ...
    Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)" is null
    	at java.base/java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:473) ~[?:?]
    	at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[?:?]
    	at java.base/java.util.TimSort.sort(TimSort.java:220) ~[?:?]
    	at java.base/java.util.Arrays.sort(Arrays.java:1308) ~[?:?]
    	at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:353) ~[?:?]
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?]
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:?]
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:?]
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.field.ChoiceOptionFieldAttributeConverter.convertOptionChoiceOptionRelatedAttributes(ChoiceOptionFieldAttributeConverter.java:226) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.field.ChoiceOptionFieldAttributeConverter.convertFromLegacy(ChoiceOptionFieldAttributeConverter.java:203) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.TrackerFieldLegacyTrackerModelConverter.lambda$convertFromLegacy$1(TrackerFieldLegacyTrackerModelConverter.java:61) ~[cb-2.2.0.1.jar:?]
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.TrackerFieldLegacyTrackerModelConverter.convertFromLegacy(TrackerFieldLegacyTrackerModelConverter.java:61) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.LegacyTrackerModelConverterSupport.convertFields(LegacyTrackerModelConverterSupport.java:48) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl.getTrackerConfiguration(TrackerConfigurationManagerImpl.java:214) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl$$FastClassBySpringCGLIB$$1f8b154.invoke(<generated>) ~[cb-2.2.0.1.jar:?]
    	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) ~[spring-aop-5.3.34.jar:5.3.34]
    	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707) ~[spring-aop-5.3.34.jar:5.3.34]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl$$EnhancerBySpringCGLIB$$8bfab63d.getTrackerConfiguration(<generated>) ~[cb-2.2.0.1.jar:?]
    	at com.intland.codebeamer.controller.rest.v2.TrackerConfigurationRestController.getTrackerConfiguration(TrackerConfigurationRestController.java:74) ~[cb-2.2.0.1.jar:?]
    	... 175 more
     
  • OR
  • Caused by: java.lang.NullPointerException: Cannot read field "value" because "anotherInteger" is null
    	at java.lang.Integer.compareTo(Integer.java:1477) ~[?:?]
    	at java.lang.Integer.compareTo(Integer.java:71) ~[?:?]
    	at java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:473) ~[?:?]
    	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[?:?]
    	at java.util.TimSort.sort(TimSort.java:220) ~[?:?]
    	at java.util.Arrays.sort(Arrays.java:1307) ~[?:?]
    	at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:353) ~[?:?]
    	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?]
    	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
    	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
    	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
    	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
    	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.field.ChoiceOptionFieldAttributeConverter.convertOptionChoiceOptionRelatedAttributes(ChoiceOptionFieldAttributeConverter.java:226) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.field.ChoiceOptionFieldAttributeConverter.convertFromLegacy(ChoiceOptionFieldAttributeConverter.java:203) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.TrackerFieldLegacyTrackerModelConverter.lambda$convertFromLegacy$1(TrackerFieldLegacyTrackerModelConverter.java:60) ~[cb-2.1.0.3.jar:?]
    	at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.TrackerFieldLegacyTrackerModelConverter.convertFromLegacy(TrackerFieldLegacyTrackerModelConverter.java:60) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.converter.impl.LegacyTrackerModelConverterSupport.convertFields(LegacyTrackerModelConverterSupport.java:48) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl.getTrackerConfiguration(TrackerConfigurationManagerImpl.java:203) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl$$FastClassBySpringCGLIB$$1f8b154.invoke(<generated>) ~[cb-2.1.0.3.jar:?]
    	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.27.jar:5.3.27]
    	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.27.jar:5.3.27]
    	at com.intland.codebeamer.manager.tracker.configuration.impl.TrackerConfigurationManagerImpl$$EnhancerBySpringCGLIB$$e26b8011.getTrackerConfiguration(<generated>) ~[cb-2.1.0.3.jar:?]
    	at com.intland.codebeamer.controller.rest.v2.TrackerConfigurationRestController.getTrackerConfiguration(TrackerConfigurationRestController.java:74) ~[cb-2.1.0.3.jar:?]
    	... 164 more
  • While sending a Swagger API REST call through the GET /v3/tracker/{trackerId}/configuration endpoint, certain trackers may return the below error:
{
"resourceUri": "/api/v3/tracker/<trackerId>/configuration",
"message": "Cannot invoke \"java.lang.Comparable.compareTo(Object)\" because the return value of \"java.util.function.Function.apply(Object)\" is null"
}
This is a printer-friendly version of Article 420736 and may be out of date. For the latest version click CS420736