Hi, You can find it [1]. Please note that other bean classes have public variables which are set when converting to a pojo. This bean as private variables and public getters and setters.
[1] https://github.com/apache/stratos/blob/docker-grouping-merge/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/grouping/definitions/ServiceGroupDefinition.java On Wed, Nov 5, 2014 at 7:34 PM, Nirmal Fernando <[email protected]> wrote: > Can you point to the relevant rest endpoint bean ? > > On Wed, Nov 5, 2014 at 2:52 PM, Udara Liyanage <[email protected]> wrote: > >> Hi Nirmal, >> >> But it works in get deployment policy endpoint, so it can not be a >> limitation ? >> >> curl -X GET -H "Content-Type: application/json" -d @'app-php-only.json' >> -k -u admin:admin >> https://localhost:9443/stratos/admin/policy/deployment/economyDeploymentPolicy >> | python -m json.tool >> % Total % Received % Xferd Average Speed Time Time Time >> Current >> Dload Upload Total Spent Left >> Speed >> 100 908 0 353 100 555 5364 8434 --:--:-- --:--:-- --:--:-- >> 8538 >> { >> "deploymentPolicy": { >> "id": "economyDeploymentPolicy", >> "partitionGroup": [ >> { >> "id": "ec2", >> *"partition": [* >> * {* >> * "id": "AWSEC2AsiaPacificPartition1",* >> * "isPublic": false,* >> * "partitionMax": 3,* >> * "partitionMin": 1,* >> * "property": [* >> * {* >> * "name": "region",* >> * "value": "ap-southeast-1"* >> * },* >> * {* >> * "name": "zone",* >> * "value": "ap-southeast-1a"* >> * }* >> * ],* >> * "provider": "ec2"* >> * }* >> * ],* >> "partitionAlgo": "one-after-another" >> } >> ], >> "public": false >> } >> } >> >> >> On Wed, Nov 5, 2014 at 7:21 PM, Udara Liyanage <[email protected]> wrote: >> >>> Hi, >>> >>> When I add the name of the variable to the cxf-servlet.xml as >>> serializeAsArray, >>> now cartridges are shown as arrays. >>> <value>cartridges</value> >>> >>> But we can't specify it for each variable. >>> >>> >>> >>> >>> On Wed, Nov 5, 2014 at 6:35 PM, Udara Liyanage <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> When I execute the GET serviceGroup Stratos endpoint I get the folowing >>>> output in two different groups. Please note cartridges text in bold. When >>>> there are only one cartridge, it shows as a String (output1), when there >>>> are multiple cartridges it is shown as an array (output2). >>>> >>>> But when I convert the object to a json text, it shows as arrays even >>>> when there are single cartridge. >>>> >>>> The issue happens when the object is sent in response as below >>>> >>>> return Response.ok().entity(serviceGroupDefinition).build(); >>>> >>>> >>>> In the code carridges is set as a list. >>>> >>>> >>>> 1. List<String> cartridgesDef = new ArrayList<String>(Arrays.asList( >>>> cartridges)); >>>> 2. servicegroupDef.setCartridges(cartridgesDef); >>>> >>>> >>>> [1] suggested to set serializeAsArray as true in cxf-servlet.xml.xml, >>>> I tried doing it too. But same result. >>>> >>>> What is the reason for this? >>>> >>>> >>>> output [1] >>>> >>>> { >>>> "serviceGroup": [ >>>> { >>>> * "cartridges": "tomcat",* >>>> "dependencies": { >>>> "startupOrders": "group.group1,cartridge.tomcat", >>>> "terminationBehaviour": "terminate-dependents" >>>> }, >>>> "name": "group5", >>>> "subGroups": "group1" >>>> } >>>> ] >>>> } >>>> >>>> output [2] >>>> >>>> { >>>> "serviceGroup": { >>>> "cartridges": *[* >>>> * "tomcat",* >>>> * "php"* >>>> * ],* >>>> "dependencies": { >>>> "startupOrders": "group.group1,cartridge.tomcat", >>>> "terminationBehaviour": "terminate-dependents" >>>> }, >>>> "name": "group6", >>>> "subGroups": "group2" >>>> } >>>> } >>>> >>>> [1] >>>> http://stackoverflow.com/questions/18918091/when-a-list-has-only-one-element-cxf-return-the-object-instead-a-js-array >>>> -- >>>> >>>> Udara Liyanage >>>> Software Engineer >>>> WSO2, Inc.: http://wso2.com >>>> lean. enterprise. middleware >>>> >>>> web: http://udaraliyanage.wordpress.com >>>> phone: +94 71 443 6897 >>>> >>> >>> >>> >>> -- >>> >>> Udara Liyanage >>> Software Engineer >>> WSO2, Inc.: http://wso2.com >>> lean. enterprise. middleware >>> >>> web: http://udaraliyanage.wordpress.com >>> phone: +94 71 443 6897 >>> >> >> >> >> -- >> >> Udara Liyanage >> Software Engineer >> WSO2, Inc.: http://wso2.com >> lean. enterprise. middleware >> >> web: http://udaraliyanage.wordpress.com >> phone: +94 71 443 6897 >> > > > > -- > Best Regards, > Nirmal > > Nirmal Fernando. > PPMC Member & Committer of Apache Stratos, > Senior Software Engineer, WSO2 Inc. > > Blog: http://nirmalfdo.blogspot.com/ > -- Udara Liyanage Software Engineer WSO2, Inc.: http://wso2.com lean. enterprise. middleware web: http://udaraliyanage.wordpress.com phone: +94 71 443 6897
