Open main menu

CDOT Wiki β

Changes

Nexjexpress/JSON Adapter

643 bytes added, 20:52, 26 January 2014
no edit summary
== JSON Adapter ===== Project Goal===Developer an adapter to expose NexJ Express Server objects using JSON{{Admon/obsolete}}
==Project Goal= Definitions ==='''JSON (JavaScript Object Notation)'''<br/>A data text based data interchange format for representing simple data structures and associative arrays (called objects).<br/> <br/>'''Develope an adapter to expose NexJ Express Server Objects'''<br/>Integer, Long, Float, Double, BigDecimal, String, StringId, OID, Character, Boolean, Symbol, java.util.Date, java.sql.Date, TZ, TimeZone, SimpleTimeZone, java.sql.Time, java.sql.Timestamp, Binary, PagedBinary, locale, PrivilegeSet, char[], String[], Object[], byte[], ArrayList, PagedArrayList, Pair, ConstPair, PCodeFunction, PCodeMacro, Exception, TransferObject, Request, Responseobjects using JSON
=== Current Status==='''Phase 510: Apply Changes as per Code Review 4'''On-going<br/>Ongoing...'''
<br/>
===Project Phases======= Phase 1: Design Proposal (Done) ====
* Get requirements from NexJ
* Incorporate requirements from NexJ into Design of JSON Adapater
* Proposal proposal for review, make changes as by NexJ until approved
====Phase 2: Coding (Done) ====
* JSONMarshaller
** Develop marshaller to transform NexJ Server Objects into JSON representation
** Create Server objects
====Phase 3: Code Review 1 (Done)====
* Send patch to NexJ for review
====Phase 4: Make Changes as per Code Review 1 (Done)====
* Refactor JSONSever and TextServer to inherit from GenericCharacterStreamHTTPServer
* Optimize marshaling of nested Pair objects
* Rename variables and methods as per NexJ Developer's Guide
====Phase 5: Code Review 2 =(Done) ===
* Send patch to NexJ for review
===Phase 6: Apply Changes per Code Review 2 (Done) ===* Minor Clean Up** Removed unnecessary files** Ensure all files use CRLF line-endings* Add Servlet Mapping to cert/web.xml* GenericCharacterStreamServer** Use <code>abstract String getType()</code> for creating error codes** Use <code>getLogger()</code> for lazy initialization of logger* TextServer** Members should be protected* JSONWriter** Methods names should start with "write"* JSONMarshaller** Remove unused methods** Remove visReferencable()</code>, do lookup in TransferObject Marshaller* JSONUnmarshaller** Use <code>JSONLookup</code> to find unmarshllers** Create <code>DetachableByteArrayOutputStream</code>** Change logic in <code>Base64Util.decode(String)</code>** Use <code>Base64Util.decode(String)</code> to decode 64 streams** Only TO unmarshaller should use <code>remove()</code> otherwise use <code>get()</code> on m_jsonMap** Change instances of <code>Collection.toArray()</code> to use <code>toArray(new Object[size])</code> ===Phase 7: Code Review 3 (Done) ===* Send patch to NexJ for review===Phase 8: Apply Changes per Code Review 3 (DONE)===  ----  :::'''The JSON Adapter Project has been successfully completed'''  ---- ==Links===
'''JSON''' <br/>
http://www.json.org <br/>