Changes

Jump to: navigation, search

JSON Integration Adapter

490 bytes added, 22:41, 26 January 2014
no edit summary
{{Admon/obsolete}} [[category: NexJ Current Past Projects]]
[[category: NexJ Express JSON Message Adapter]]
== Project Goal==
To create an adapter for the NexJ Core similar in methodology and design of existing message adapters (XML, Fixed, CSV etc.) but using the JSON format
===Contributors===
* [[User:Gbatumbya|Grace Batumbya]]
* [[User:Brianlim | Brian Lim]]
 
== Current Status==
Changes being implemented as requested from first code review. ==Project Phases==Phase 6. Apply Changes from Code Review 1 ===Phase 1. Research * '''Completed''' (DONE)===# Complete Fundamentals of NexJ Studio tutorial# Complete NexJ Integration tutorial# Install NexJ Studio Express from source ===Phase 2. Design Proposal (DONE)===# Receive general approval for project# Receive approval for JSON encoding options# Receive approval for JSON formatting options# [https://docs.google.com/document/d/1ecNB98sOqjMcGjEjrmRl5aBt1WSmLNotCxTRvZ6M0h4/edit?hl=en_US Final Project Proposal] ===Phase 3. Create Classes (DONE)===# JSONMessagePartMapping# XMLJSONMessageMappingLoader# JSONMessageFormatter# JSONMessageParser# JSONMessageFormatterTest ===Phase 4. Internal Code Review (DONE)===# Internally review code at CDOT ===Phase 5. Code Review 1 (DONE)===# August 9, 2011# Code review took place at NexJ with [[User:Gbatumbya|Grace Batumbya]], [[User:Brianlim | Brian Lim]] and Andrew Borzenko (NexJ Developer) in attendance. ===Phase 6. Apply Changes from Code Review 1===# Estimated Duration: 3 Weeks (August 29, 2011) ====Summary====# Allowing modes for all Composite message parts, not just the root.# Refactoring methods to check for != right condition instead of checking for the wrong condition to throw an exception. (whitelist instead of blacklist)# Formatting all primitives before writing or storing them (e.g. timestampsFebruary 02, decimal numbers.2012)# Creating a RootJSONMessagePartMapping extending JSONMessagePartMapping ===Phase 7. Code Review 2===# Proposed Date: Week of August 29
== Project Repository ==
BitBucket : https://bitbucket.org/gbatumbya/nexjexpress-jsonintergrationadapter/<br/>Deprecated: <del>https://bitbucket.org/b_lim/nexj-express-json-integration-adapter/</del>
=== Definitions ===
{| class="wikitable" border="1"
## If the part is a CompositeMessagePartInstance, recursively call the format method with TransferObject set to the part. Suggested to overload the format method to format(TransferObject tobj, MessagePart message, Output out) and pass in the part, since retrieving a message root with getRoot() will always get the highest root of the message but what you want is the parent.
## If the part is a PrimitiveMessagePart, write the message part to the output.
 
 
==Project Phases==
 
===Phase 1. Research (DONE)===
# Complete Fundamentals of NexJ Studio tutorial
# Complete NexJ Integration tutorial
# Install NexJ Studio Express from source
 
===Phase 2. Design Proposal (DONE)===
# Receive general approval for project
# Receive approval for JSON encoding options
# Receive approval for JSON formatting options
# [https://docs.google.com/document/d/1wAjG-xSJi227GBPUZtADAROSydIn3KuimoZarqO7xDQ/edit?hl=en_US Final Project Proposal]
 
===Phase 3. Create Classes (DONE)===
# JSONMessagePartMapping
# XMLJSONMessageMappingLoader
# JSONMessageFormatter
# JSONMessageParser
# JSONMessageFormatterTest
 
===Phase 4. Internal Code Review (DONE)===
# Internally review code at CDOT
 
===Phase 5. Code Review 1 (DONE)===
# August 9, 2011
# Code review took place at NexJ with [[User:Gbatumbya|Grace Batumbya]], [[User:Brianlim | Brian Lim]] and Andrew Borzenko (NexJ Developer) in attendance.
 
===Phase 6. Apply Changes from Code Review 1===
# Estimated Duration: 3 Weeks (August 29, 2011)
# [[JSON_Integration_Adapter_Code_Review_1_Changes | Changes to make]]
'''Summary of [[JSON_Integration_Adapter_Code_Review_1_Changes | changes]]'''
# Allowing modes for all Composite message parts, not just the root.
# Refactoring methods to check for != right condition instead of checking for the wrong condition to throw an exception. (whitelist instead of blacklist)
# Formatting all primitives before writing or storing them (e.g. timestamps, decimal numbers.)
# Creating a RootJSONMessagePartMapping extending JSONMessagePartMapping
 
===Phase 7. Code Review 2===
* Proposed Date: Week of <del>September 23</del> October 15
 
===Phase 8. Apply Changes from Code Review 2===
*[[JSON_Integration_Adapter_Code_Review_2_Changes | Changes to make]]
 
===Phase 9. Code Review 3===
* Week of November 14
 
===Phase 10. Apply Changes from Code Review 3===
*[[JSON_Integration_Adapter_Code_Review_3_Changes | Changes to make]]
 
== Resources ==

Navigation menu