cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-8708) Use Google Gson 2.3.1
Date Tue, 20 Oct 2015 22:42:27 GMT

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

ASF GitHub Bot commented on CLOUDSTACK-8708:
--------------------------------------------

Github user rafaelweingartner commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/932#discussion_r42564487
  
    --- Diff: core/src/org/apache/cloudstack/agent/transport/AnswerArrayTypeAdaptor.java ---
    @@ -0,0 +1,33 @@
    +package org.apache.cloudstack.agent.transport;
    +
    +import java.io.IOException;
    +import java.lang.reflect.Array;
    +
    +import com.cloud.agent.api.Answer;
    +import com.cloud.utils.exception.CloudRuntimeException;
    +import com.google.gson.stream.JsonWriter;
    +
    +public class AnswerArrayTypeAdaptor extends GenericArrayTypeAdaptor<Answer> {
    +
    +    @Override
    +    protected Answer[] newArray(int size) {
    +        Answer[] answers = (Answer[])Array.newInstance(Answer.class, size);
    --- End diff --
    
    what do you think about using "return (Answer[])Array.newInstance(Answer.class, size);"?


> 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)

Mime
View raw message