Hi Udara,

If we used previous provider we cannot deserialized the
ServiceGroupDefinition. In order to add describe-service-group command in
CLI we need to move this new provider. WDYT ?

Thanks !

On Thu, Nov 6, 2014 at 9:44 PM, Udara Liyanage <[email protected]> wrote:

> Hi,
>
> As a solution to the issue descussed in thread "Json response shows arrays
> as string when there are single value", I tried changing json provider
> to org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider  which was
> earlier jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider
>
> I tested cartridge, partition,policies, groups POST and GET operations
> with the new provider and was successful.
>
> *Advantages over existing provider*
>
> 1) support List without any configurations
> Earlier when we have List in beans, we have to explicitly mention them in
> cfx-servlet.xml as "serializeAsArray". With new provider, it is not needed.
>
> <property name="serializeAsArray" value="true"/>
>         <property name="arrayKeys">
>             <list>
>                 <value>partitions</value>
>                 <value>property</value>
>                 <value>hostNames</value>
>                 <value>memberMap</value>
>                 <value>portMap</value>
>                 <value>partitionGroup</value>
>                 <value>member</value>
>                 <value>hostNames</value>
>                 <value>portMappings</value>
>                 <value>volumes</value>
>                 <value>domains</value>
>                 <value>kubernetesHost</value>
>                 <value>cartridges</value>
>             </list>
>         </property>
> 2) Root element is automatically removed
>
> *Disadvantages*
>
> 1) Similar to adding  [] brackets when it is a list in GET requests, we
> have to put []  to list when we are doing POST even when there is one
> element
> for instance have a look at the partition.json
>
> {
>       "id": "temp",
>       "provider": "ec2",
>       "property":* [*
>           {
>                 "name": "region",
>                 "value": "ap-southeast-1"
>           }
>       *]*,
>       "partitionMin": "1",
>       "partitionMax": "3"
> }
>
> 2) Show null values too (There might be configurations to avoid this)
>
> {
>     "cartridges": [
>         "mysql"
>     ],
>     "dependencies": {
>         "startupOrders": [
>  *           null*
>         ],
>         "terminationBehaviour": "terminate-none"
>     },
>     "name": "group111",
>     "subGroups": [
> *        null*
>     ]
> }
>
>
>
> Do we move to the new provider at this time or wait till m4 is released?
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>



-- 
Regards,
Manula Chathurika Thantriwatte
Software Engineer
WSO2 Inc. : http://wso2.com
lean . enterprise . middleware

email : [email protected] / [email protected]
phone : +94 772492511
blog : http://manulachathurika.blogspot.com/

Reply via email to