Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Sling Models Implementation 1.0.4
Description
Problem is related with: https://issues.apache.org/jira/browse/SLING-3547
Suppose that I have:
@Inject
private int[] scores;@Inject
private Integer[] scores;
For first declaration injection does not work, because in my environment ValueMap contains array of wrapped integers and type cast to array of primitives cannot be done. I noticed an exception:
27 [main] ERROR org.apache.sling.models.impl.ModelAdapterFactory - unable to create object
java.lang.ClassCastException: [I cannot be cast to [Ljava.lang.Object;
at org.apache.sling.api.wrappers.ValueMapDecorator.convertToArray(ValueMapDecorator.java:100)
Second declaration seems to work but how to apply default value for it? According to Sling Models documentation, example with default value for array of integers currently it is not possible to get it working. Same error as for first declaration.
I wrote unit test for it. I hope, useful for reproducing problem, see attachments.