Difference between revisions of "Nexjexpress/JSON Adapter"
(→Current Status) |
(→Current Status) |
||
Line 3: | Line 3: | ||
== Current Status== | == Current Status== | ||
− | Phase | + | Phase 8: Apply Changes as per Code Review 3 <br/> |
+ | Ongoing... | ||
<br/> | <br/> | ||
Revision as of 10:22, 7 October 2010
Project Goal
Develope an adapter to expose NexJ Express Server objects using JSON
Current Status
Phase 8: Apply Changes as per Code Review 3
Ongoing...
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
- Send patch to NexJ for review
Phase 6: Apply Changes per Code Review 2
- Minor Clean Up
- Removed unnecessary files
- Ensure all files use CRLF line-endings
- Add Servlet Mapping to cert/web.xml
- GenericCharacterStreamServer
- Use
abstract String getType()
for creating error codes - Use
getLogger()
for lazy initialization of logger
- Use
- 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
JSONLookup
to find unmarshllers - Create
DetachableByteArrayOutputStream
- Change logic in
Base64Util.decode(String)
- Use
Base64Util.decode(String)
to decode 64 streams - Only TO unmarshaller should use
remove()
otherwise useget()
on m_jsonMap - Change instances of
Collection.toArray()
to usetoArray(new Object[size])
- Use
Phase 7: Code Review 3
- Send patch to NexJ for review
Links
JSON
http://www.json.org