- 
    Bug 
- 
    Resolution: Low Engagement
- 
    Medium 
- 
    None
- 
    None
- 
    jre1.6 
- 
        1
- 
        Severity 2 - Major
- 
        
When using java6 and trying to persist a list that was initialized as Arrays.asList("foo") you get following exception (SAL cdk tests hit this problem. ):
com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Invalid final field java.util.Arrays$ArrayList.a
        at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.validateFieldAccess(PureJavaReflectionProvider.java:150)
        at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:105)
        at com.thoughtworks.xstream.converters.reflection.ReflectionConverter.marshal(ReflectionConverter.java:44)
        at com.thoughtworks.xstream.core.ReferenceByXPathMarshaller.convertAnother(ReferenceByXPathMarshaller.java:36)
        at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:46)
        at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.marshal(ReferenceByXPathMarshallingStrategy.java:17)
        at com.thoughtworks.xstream.XStream.marshal(XStream.java:489)
        at com.thoughtworks.xstream.XStream.marshal(XStream.java:479)
        at com.thoughtworks.xstream.XStream.toXML(XStream.java:464)
        at com.atlassian.confluence.setup.bandana.ConfluenceDaoBandanaPersister.store(ConfluenceDaoBandanaPersister.java:65)
        at sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy9.store(Unknown Source)
        at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.store(ConfluenceCachingBandanaPersister.java:92)
        at com.atlassian.bandana.DefaultBandanaManager.setValue(DefaultBandanaManager.java:74)
        ...
xstream seems to be incapable of dealing of some 1.6 object. We are on version 1.1.1 which is pre - jre1.6. The earliest version that is 'buildable' with 1.6 is 1.2.2 - see http://xstream.codehaus.org/changes.html
- relates to
- 
                    CONFSERVER-7278 Upgrade project dependencies to use XStream 1.2 - Closed