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