Difference between revisions of "Nexjexpress/JSON Adapter"
(→Project Goal) |
(→Phase 5: Code Review 2) |
||
Line 36: | Line 36: | ||
===Phase 5: Code Review 2 === | ===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 <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 === | ||
* Send patch to NexJ for review | * Send patch to NexJ for review | ||
Revision as of 09:10, 29 September 2010
Project Goal
Develope an adapter to expose NexJ Express Server objects using JSON
Current Status
Phase 5: On-going...
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