You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Daan Hoogland (JIRA)" <ji...@apache.org> on 2015/10/14 12:13:05 UTC

[jira] [Commented] (CLOUDSTACK-8708) Use Google Gson 2.3.1

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-8708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956632#comment-14956632 ] 

Daan Hoogland commented on CLOUDSTACK-8708:
-------------------------------------------

rewrote the ArrayTypeAdaptor<T>. it seems to work different in different environments. Old tests succeed in eclipse but not in a cli compile.

> Use Google Gson 2.3.1
> ---------------------
>
>                 Key: CLOUDSTACK-8708
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8708
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.6.0
>            Reporter: Wido den Hollander
>            Assignee: Daan Hoogland
>            Priority: Critical
>              Labels: gson, reflection
>
> Currently CloudStack uses Google GSON 1.7.2 which is from 30-Sep-2011.
> This is a outdated version. CLOUDSTACK-8677 (Call-Home feature) uses GSON 2.3.1 (20-Nov-2014) which is not compatible with the current code.
> The roadmap of Gson shows that since 2.0 there is a change in casting: https://sites.google.com/site/gson/gson-roadmap
> "Gson 2.0 doesn’t support type adapters for primitive types."
> The "com.cloud.agent.transport.RequestTest" test in "core" fails with the new Gson version and this leads back to "ArrayTypeAdaptor" which does the serializing and de-serializing of JSON to Objects and back.
> Class<?> type = ((Class<?>)typeOfT).getComponentType();
> Fails, since getComponentType() doesn't return com.cloud.api.Command.
> This seems to be a Java Reflection issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)