Open main menu

CDOT Wiki β

Changes

NexJ Express/JSON Adapter

2,455 bytes added, 12:00, 17 November 2010
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…'
{{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/>
1
edit