[jira] [Commented] (FELIX-6157) Converter build fails with Java 12

2023-05-15 Thread Konrad Windszus (Jira)


[ 
https://issues.apache.org/jira/browse/FELIX-6157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17722814#comment-17722814
 ] 

Konrad Windszus commented on FELIX-6157:


FTR {{org.osgi:org.osgi.util.converter}} prior to version 1.0.8 is affected 
from this bug as well.

> Converter build fails with Java 12
> --
>
> Key: FELIX-6157
> URL: https://issues.apache.org/jira/browse/FELIX-6157
> Project: Felix
>  Issue Type: Improvement
>  Components: Converter
>Affects Versions: converter-1.0.8
>Reporter: David Bosschaert
>Assignee: David Bosschaert
>Priority: Major
> Fix For: converter-1.0.10
>
>
> When I build the converter project with Java 12 I get a lot of failures, see 
> below.
> These problems don't exist with Java 11. This needs to be investigated and 
> fixed.
>  
> {code:java}
> [INFO] ---
> [INFO]  T E S T S
> [INFO] ---
> [INFO] Running org.osgi.util.converter.UtilTest
> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 
> s - in org.osgi.util.converter.UtilTest
> [INFO] Running org.osgi.util.converter.ConverterBuilderTest
> [ERROR] Tests run: 9, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 0.046 
> s <<< FAILURE! - in org.osgi.util.converter.ConverterBuilderTest
> [ERROR] testWildcardAdapter1(org.osgi.util.converter.ConverterBuilderTest)  
> Time elapsed: 0.041 s  <<< FAILURE!
> org.junit.ComparisonFailure: expected:<[1]> but was:<[describeConstable]>
>   at 
> org.osgi.util.converter.ConverterBuilderTest.testWildcardAdapter1(ConverterBuilderTest.java:192)
> [INFO] Running org.osgi.util.converter.ConverterTest
> [ERROR] Tests run: 77, Failures: 6, Errors: 13, Skipped: 0, Time elapsed: 
> 0.104 s <<< FAILURE! - in org.osgi.util.converter.ConverterTest
> [ERROR] testCustomErrorHandling(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.001 s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert 12 to class 
> java.lang.Integer
>   at 
> org.osgi.util.converter.ConverterTest.testCustomErrorHandling(ConverterTest.java:495)
> [ERROR] 
> testFromArrayToGenericOrderPreservingSet(org.osgi.util.converter.ConverterTest)
>   Time elapsed: 0.001 s  <<< ERROR!
> java.lang.ClassCastException: class java.lang.String cannot be cast to class 
> java.lang.Long (java.lang.String and java.lang.Long are in module java.base 
> of loader 'bootstrap')
>   at 
> org.osgi.util.converter.ConverterTest.testFromArrayToGenericOrderPreservingSet(ConverterTest.java:313)
> [ERROR] testDTOFieldShadowing(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.006 s  <<< FAILURE!
> java.lang.AssertionError: expected:<{ping=test, count=THREE, pong=0, 
> embedded=null}> but was:<{count=describeConstable, pong=describeConstable, 
> embedded=null, ping=test}>
>   at 
> org.osgi.util.converter.ConverterTest.testDTOFieldShadowing(ConverterTest.java:874)
> [ERROR] testEnums(org.osgi.util.converter.ConverterTest)  Time elapsed: 0.001 
> s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert [] to class 
> org.osgi.util.converter.ConverterTest$TestEnum
>   at 
> org.osgi.util.converter.ConverterTest.testEnums(ConverterTest.java:212)
> [ERROR] 
> testFromUnknownDataTypeViaString(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0 s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert 1234 to class 
> java.lang.Integer
>   at 
> org.osgi.util.converter.ConverterTest.testFromUnknownDataTypeViaString(ConverterTest.java:246)
> [ERROR] testCharArrayConversion(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.001 s  <<< FAILURE!
> org.junit.internal.ArrayComparisonFailure: arrays first differed at element 
> [0]; expected:<> but was:
>   at 
> org.osgi.util.converter.ConverterTest.testCharArrayConversion(ConverterTest.java:342)
> Caused by: java.lang.AssertionError: expected:<> but was:
>   at 
> org.osgi.util.converter.ConverterTest.testCharArrayConversion(ConverterTest.java:342)
> [ERROR] testPrefixDTO(org.osgi.util.converter.ConverterTest)  Time elapsed: 
> 0.001 s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot create DTO class 
> org.osgi.util.converter.PrefixDTO
>   at 
> org.osgi.util.converter.ConverterTest.testPrefixDTO(ConverterTest.java:1288)
> Caused by: org.osgi.util.converter.ConversionException: Cannot convert 327 to 
> class java.lang.Long
>   at 
> org.osgi.util.converter.ConverterTest.testPrefixDTO(ConverterTest.java:1288)
> [ERROR] testFromGenericSetToLinkedList(org.osgi.util.converter.ConverterTest) 
>  Time elapsed: 0.001 s  <<< FAILURE!
> java.lang.AssertionError: expected:<[123, 456]> but was:<[describeConstable, 
> describeConstable]>
> 

[jira] [Commented] (FELIX-6157) Converter build fails with Java 12

2019-08-16 Thread David Bosschaert (JIRA)


[ 
https://issues.apache.org/jira/browse/FELIX-6157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16909129#comment-16909129
 ] 

David Bosschaert commented on FELIX-6157:
-

I looked a little bit into it. For example, the following test case starts 
failing: ConverterTest.testFromUnknownDataTypeViaString() with this error:
{code:java}
org.osgi.util.converter.ConversionException: Cannot convert 1234 to class 
java.lang.Integer
{code}
This is caused by the fact that for a java.lang.Integer the 
ConvertingImpl.isMapType() incorrectly returns true. This in turn is caused by 
the ConvertingImpl.getInterfaces() to return a non-zero set for 
java.lang.Integer. 
 That in turn is caused by the fact that from Java 12 onwards java.lang.Integer 
implements two new interfaces: [interface java.lang.constant.Constable, 
interface java.lang.constant.ConstantDesc]

These 2 interfaces should be added to the NO_MAP_VIEW_TYPES constant in 
ConvertingImpl but only in such a way that it doesn't cause any problems for 
pre-java 12 releases.

> Converter build fails with Java 12
> --
>
> Key: FELIX-6157
> URL: https://issues.apache.org/jira/browse/FELIX-6157
> Project: Felix
>  Issue Type: Improvement
>  Components: Converter
>Affects Versions: converter-1.0.8
>Reporter: David Bosschaert
>Assignee: David Bosschaert
>Priority: Major
>
> When I build the converter project with Java 12 I get a lot of failures, see 
> below.
> These problems don't exist with Java 11. This needs to be investigated and 
> fixed.
>  
> {code:java}
> [INFO] ---
> [INFO]  T E S T S
> [INFO] ---
> [INFO] Running org.osgi.util.converter.UtilTest
> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 
> s - in org.osgi.util.converter.UtilTest
> [INFO] Running org.osgi.util.converter.ConverterBuilderTest
> [ERROR] Tests run: 9, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 0.046 
> s <<< FAILURE! - in org.osgi.util.converter.ConverterBuilderTest
> [ERROR] testWildcardAdapter1(org.osgi.util.converter.ConverterBuilderTest)  
> Time elapsed: 0.041 s  <<< FAILURE!
> org.junit.ComparisonFailure: expected:<[1]> but was:<[describeConstable]>
>   at 
> org.osgi.util.converter.ConverterBuilderTest.testWildcardAdapter1(ConverterBuilderTest.java:192)
> [INFO] Running org.osgi.util.converter.ConverterTest
> [ERROR] Tests run: 77, Failures: 6, Errors: 13, Skipped: 0, Time elapsed: 
> 0.104 s <<< FAILURE! - in org.osgi.util.converter.ConverterTest
> [ERROR] testCustomErrorHandling(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.001 s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert 12 to class 
> java.lang.Integer
>   at 
> org.osgi.util.converter.ConverterTest.testCustomErrorHandling(ConverterTest.java:495)
> [ERROR] 
> testFromArrayToGenericOrderPreservingSet(org.osgi.util.converter.ConverterTest)
>   Time elapsed: 0.001 s  <<< ERROR!
> java.lang.ClassCastException: class java.lang.String cannot be cast to class 
> java.lang.Long (java.lang.String and java.lang.Long are in module java.base 
> of loader 'bootstrap')
>   at 
> org.osgi.util.converter.ConverterTest.testFromArrayToGenericOrderPreservingSet(ConverterTest.java:313)
> [ERROR] testDTOFieldShadowing(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.006 s  <<< FAILURE!
> java.lang.AssertionError: expected:<{ping=test, count=THREE, pong=0, 
> embedded=null}> but was:<{count=describeConstable, pong=describeConstable, 
> embedded=null, ping=test}>
>   at 
> org.osgi.util.converter.ConverterTest.testDTOFieldShadowing(ConverterTest.java:874)
> [ERROR] testEnums(org.osgi.util.converter.ConverterTest)  Time elapsed: 0.001 
> s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert [] to class 
> org.osgi.util.converter.ConverterTest$TestEnum
>   at 
> org.osgi.util.converter.ConverterTest.testEnums(ConverterTest.java:212)
> [ERROR] 
> testFromUnknownDataTypeViaString(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0 s  <<< ERROR!
> org.osgi.util.converter.ConversionException: Cannot convert 1234 to class 
> java.lang.Integer
>   at 
> org.osgi.util.converter.ConverterTest.testFromUnknownDataTypeViaString(ConverterTest.java:246)
> [ERROR] testCharArrayConversion(org.osgi.util.converter.ConverterTest)  Time 
> elapsed: 0.001 s  <<< FAILURE!
> org.junit.internal.ArrayComparisonFailure: arrays first differed at element 
> [0]; expected:<> but was:
>   at 
> org.osgi.util.converter.ConverterTest.testCharArrayConversion(ConverterTest.java:342)
> Caused by: java.lang.AssertionError: expected:<> but was:
>   at 
>