Difference between revisions of "NexJ Express/JSON Adapter"

From CDOT Wiki
Jump to: navigation, search
(Created page with '{{NexJ_Express Index}} == Project Goal== Develope an adapter to expose NexJ Express Server objects using JSON == Current Status== '''Phase 10: Apply Changes as per Code Review 4…')
 
(Blanked the page)
 
Line 1: Line 1:
{{NexJ_Express Index}}
 
== Project Goal==
 
Develope an adapter to expose NexJ Express Server objects using JSON
 
  
== Current Status==
 
'''Phase 10: Apply Changes as per Code Review 4''' <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
 
 
* JSONUnmarshaller
 
** Develop an marshaller to transform JSON representation into NexJ Server Objects
 
 
* JSON Server
 
** Develop a JSON Server to expose NexJ Server objects in JSON
 
 
* Demo application that interacts with the Server using JSON
 
** Read Server Objects
 
** Update Server Objects
 
** 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===
 
 
==Links==
 
'''JSON''' <br/>
 
http://www.json.org <br/>
 

Latest revision as of 12:02, 17 November 2010