Krystian Panek created SLING-3674:
-------------------------------------

             Summary: Array of wrappers to primitives conversion in Sling Models
                 Key: SLING-3674
                 URL: https://issues.apache.org/jira/browse/SLING-3674
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Sling Models Implementation 1.0.6
            Reporter: Krystian Panek
             Fix For: Sling Models Implementation 1.0.6


Problem is related with: https://issues.apache.org/jira/browse/SLING-3547

Suppose that I have:
{quote}
@Inject
private int[] scores;

@Inject
private Integer[] scores;
{quote}

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:
{quote}
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)
{quote}
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.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to