Open main menu

CDOT Wiki β

Changes

JSON Integration Adapter

539 bytes added, 09:50, 10 August 2011
Code Review Notes
=== Code Review Notes ===
 {| border="2" style="text-align:center"
! Issue
! Description
! Status
! Class
! Priority
|-
| Complete exceptions marked by TODO
| Incomplete
| All Classes
!
|-
| Use Hashholder instead of HashSetDocument methods fully in javadoc style| Use HashHolder Document every method fully in the XMLJSONMessagePartLoader instead of HashSet javadoc style. Also document parameters, and whenever appropriate replace HashSet with HashHolderuse full English sentences. Make sure special settings like root mode or mode are well documented enough to use
| Incomplete
| All classes
!
|-
| Change 0x000 for byteMake sure exceptions output the correct message part.| For Make sure exceptions output the correct message part, for example the inner part, rather than always the root modes, change 0xXXX to a cast to bytepart. Also do not use leading zeroesMore specific is better.
| Incomplete
| All classes
!
|-
| Document methods fully in javadoc styleRemove spaces after new Object[]{(remove space here)}| Document every method fully in javadoc styleRemove spaces after the curly brackets for all exceptions. Also document parameters, and use full English sentences. Make sure special settings like root mode or mode are well documented enough to use
| Incomplete
| All classes
!
|-
| Remove/Use InvocationContextAwareAdd a newline after creating each object or after each decision construct.| Do not implement the invocation context aware interface if not used by the class. Or, use the interface for formatting of primitivesAdd newlines to conform to NexJ coding style.
| Incomplete
| All classes
!
|-
| Name methods XXXPart, not XXXNodeSpace before break keyword.| Rename methods to be XXXPart, for example as writeCompositeMessagePart, instead of writeCompositeMessageNodePut a space before all break keywords.
| Incomplete
| All classes
!
|-
| Format primitive values before outputting to writers.Use Hashholder instead of HashSet| Use HashHolder in the StringFormatter to format primitive values before outputting to the writer. For example, timestamps must be formatted before outputting to the writer.XMLJSONMessagePartLoader instead of HashSet and whenever appropriate replace HashSet with HashHolder
| Incomplete
| JSONMessagePartMapping
!
|-
| Make sure exceptions output the correct message part.Change 0x000 for byte| Make sure exceptions output the correct message part, for example the inner partFor root modes, rather than always the root partchange 0xXXX to a cast to byte. More specific is betterAlso do not use leading zeroes.
| Incomplete
| JSONMessagePartMapping, RootJSONMessagePartMapping
!
|-
| Wrap failRemove StringParsre from JSONMessagePartMapping| Wrap all instances of fail with IntegrationExceptionEither remove StringParser from the mapping, or use it in formatting primitives. Do not leave it in if it is not used.
| Incomplete
| JSONMessagePartMapping
!
|-
| Change design document to note that MessageTable only supports one message.Create class called RootJSONMessagePartMapping| Design document should reflect all special settings of Create a class called RootJSONMessagePartMapping for each CompositeMessagePart. This root JSON parser and formatter. Specifically, any normally standard features which are not implemented by mapping will handle the JSON parser/formatter should be noted"mode" for each CompositeMessagePart.
| Incomplete
| JSONMessagePartMapping, RootJSONMessagePartMapping
!
|-
| Override JSONParseAllow root modes for each CompositeMessagePart| Override parse method Rename root mode to mode, so that each CompositeMessagePart can use every type of JSONParser in the JSONMessageParser class. Do this to avoid changing JSONParsermode.
| Incomplete
| JSONMessagePartMapping, RootJSONMessagePartMapping
!
|-
| Use primitive formatter when reading.Rename m_sFormat| When reading information in from a stream in Rename the formatter, variable m_sFormat if not used (or use primitive formatter to determine it and keep the correct format of a primitivename).
| Incomplete
| JSONMessagePartMapping
!
|-
| Remove spaces after new Object[]{(remove space here)}/Use InvocationContextAware| Remove spaces after Do not implement the curly brackets invocation context aware interface if not used by the class. Or, use the interface for all exceptionsformatting of primitives.
| Incomplete
| JSONMessageParser
!
|-
| Add a newline after creating each object or after each decision construct.Name methods XXXPart, not XXXNode| Add newlines Rename methods to conform to NexJ coding stylebe XXXPart, for example as writeCompositeMessagePart, instead of writeCompositeMessageNode.
| Incomplete
| JSONMessageParser
!
|-
| Remove StringParsre from JSONMessagePartMappingWrap fail| Either remove StringParser from the mapping, or use it in formatting primitives. Do not leave it in if it is not usedWrap all instances of fail with IntegrationException.
| Incomplete
| JSONMessageParser
!
|-
| Create class called RootJSONMappingOverride JSONParse| Create a Override parse method of JSONParser in the JSONMessageParser class called RootJSONMapping for each CompositeMessagePart. This root JSON mapping will handle the "mode" for each CompositeMessagePartDo this to avoid changing JSONParser.
| Incomplete
| JSONMessageParser
!
|-
| Allow root modes for each CompositeMessagePartUse primitive formatter when reading.| Rename root mode to modeWhen reading information in from a stream in the formatter, so that each CompositeMessagePart can use every type primitive formatter to determine the correct format of modea primitive.
| Incomplete
| JSONMessageParser
!
|-
| Rename m_sFormatFormat primitive values before outputting to writers.| Rename Use the variable m_sFormat if not used (or use it and keep StringFormatter to format primitive values before outputting to the name)writer. For example, timestamps must be formatted before outputting to the writer.
| Incomplete
| JSONMessageFormatter
!
|-
| Space before break keyword.Pass enumerations into formatMessageRoot| Put a space before all break keywordsDo not use member/class variables for storing information unless absolutely necessary. Prefer to pass parameters around so that objects do not grow large as the parser/formatter iterates.
| Incomplete
| JSONMessageFormatter
!
|-
| Pass enumerations into formatMessageRootChange design document to note that MessageTable only supports one message.| Do not use member/class variables for storing information unless absolutely necessaryDesign document should reflect all special settings of JSON parser and formatter. Prefer to pass parameters around so that objects do Specifically, any normally standard features which are not grow large as implemented by the JSON parser/formatter iteratesshould be noted.
| Incomplete
| Design Document
!
|}
1
edit