Hi Clovis, Yeah, at the moment, the REST support in data services is not ideal, there are some technical limitations of Axis2 and how we handle the REST requests and JSON handling and so on. But we are going to fix these with our next major release of DSS, where we are going to re-architect how we implement RESTful behavior and how to handle different data formats, so after that, you will not have strict schema enforcements like "_postcountry" in the JSON payload.
As for the NPE you're getting, can you please check on the latest 3.2.2 release, if you still get this error, since we have fixed several JSON related bug in this release. You can certainly check out the necessary source code from our SVN repository (the current version is on our SVN at the moment, future development is done on Github). For example, the latest data services core component can be found here [1]. You can simply check it out, and build using Maven, and it should download all the required dependencies from the online repository. And you can do your fix, and build the jar and simply replace that jar in the product's /repository/components/plugins directory, to test it out (remember to replace the one in plugins directory, not just copy the build jar to the directory). And of course, patches are always welcome, simply create a JIRA for the product and attach it, and you can also send a mail to the @dev list. And lastly, do stay tuned for plans for DSS 4.0, these haven't been finalized yet, we will start discussions on these soon. [1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4 Cheers, Anjana. On Fri, Dec 5, 2014 at 4:57 PM, Clovis Wichoski <[email protected]> wrote: > Hi, > > I'm researching for a way to improve some things in DSS, especially in the > REST part, for example, I wish to implement, a better way to receive any > JSON format, or do a better dynamic query construct without the SQL > injection problems, or to use JPQL instead SQL, and to support REST that > allow, dynamic filter, queries range and count of this filter, to support > WADL generation, etc..., > I know how to do these things using JAX-RS, but I like to create this > inside DSS as appears to be a better place for this type of service as its > especially focused in Data part of SOA. > > For example, today in DSS we must send this payload to create a New > Country: > > { > "_postcountry":{ > "code":"7", > "name":"BRASIL", > "acronym":"BRA", > "bankCode":"1058", > "ddiCode":"55" > } > } > > and this broke the RESTFul idea to use HTTP Methods, as some clients use > today the payload just as: > { > "code":"7", > "name":"BRASIL", > "acronym":"BRA", > "bankCode":"1058", > "ddiCode":"55" > } > > I know we can deal with this using mediation in ESB to inject the parts > needed by DSS, but why dont support this directly in DSS to avoid > unnecessary overheads? or for example, a more complex scenario, where I > post a payload with all data, and create the other data if necessary. > > Other example, I wish to solve some bugs, like if we send this payload: > > { > "_postcountry":{ > "code":"8", > "name":"BOLIVIA", > "acronym":"BOL", > "bankCode": null, > "ddiCode": null > } > } > > we got java.lang.NullPointerException > at > org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:863) > at > org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:2247) > .... > > > Then I wish to know what is the better point to starting implementing this > inside DSS, can the DSS developers point me to a roadmap of how to achieve > this, and cut the path of research just in code? About BUGs, whats is the > better way to discover the right source of the running version, checkout, > run tests, debug, try to solve, and after solved, send the patch? > > Thanks for any tip or help. > > Clóvis Wichoski > NeoInix > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Anjana Fernando* Senior Technical Lead WSO2 Inc. | http://wso2.com lean . enterprise . middleware
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
