calabash-android 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -0
  3. data/CHANGES.txt +9 -0
  4. data/ENVIRONMENT_VARIABLES.md +106 -0
  5. data/Gemfile +0 -1
  6. data/README_YARDOC.md +163 -0
  7. data/Rakefile +9 -0
  8. data/bin/calabash-android-helpers.rb +1 -4
  9. data/calabash-android.gemspec +9 -5
  10. data/irbrc +1 -0
  11. data/lib/calabash-android/canned_steps.md +1 -1
  12. data/lib/calabash-android/defaults.rb +9 -0
  13. data/lib/calabash-android/gestures.rb +2 -3
  14. data/lib/calabash-android/java_keystore.rb +25 -5
  15. data/lib/calabash-android/lib/TestServer.apk +0 -0
  16. data/lib/calabash-android/operations.rb +12 -0
  17. data/lib/calabash-android/text_helpers.rb +9 -4
  18. data/lib/calabash-android/version.rb +1 -1
  19. data/lib/calabash-android.rb +1 -0
  20. metadata +64 -638
  21. data/Gemfile.lock +0 -44
  22. data/doc/calabash-android-help.txt +0 -29
  23. data/test-server/instrumentation-backend/.classpath +0 -11
  24. data/test-server/instrumentation-backend/.gitignore +0 -1
  25. data/test-server/instrumentation-backend/.project +0 -33
  26. data/test-server/instrumentation-backend/.settings/org.eclipse.jdt.core.prefs +0 -11
  27. data/test-server/instrumentation-backend/AndroidManifest.xml +0 -17
  28. data/test-server/instrumentation-backend/CalabashApkBuilder.jar +0 -0
  29. data/test-server/instrumentation-backend/antlr/UIQuery.g +0 -121
  30. data/test-server/instrumentation-backend/antlr/UIQuery.tokens +0 -12
  31. data/test-server/instrumentation-backend/antlr.sh +0 -2
  32. data/test-server/instrumentation-backend/assets/.gitkeep +0 -0
  33. data/test-server/instrumentation-backend/build-libs/antlr-3.4-complete.jar +0 -0
  34. data/test-server/instrumentation-backend/build-libs/junit.jar +0 -0
  35. data/test-server/instrumentation-backend/build.xml +0 -56
  36. data/test-server/instrumentation-backend/libs/robotium-solo-4.3.1.jar +0 -0
  37. data/test-server/instrumentation-backend/project.properties +0 -11
  38. data/test-server/instrumentation-backend/res/drawable-hdpi/ic_launcher.png +0 -0
  39. data/test-server/instrumentation-backend/res/drawable-ldpi/ic_launcher.png +0 -0
  40. data/test-server/instrumentation-backend/res/drawable-mdpi/ic_launcher.png +0 -0
  41. data/test-server/instrumentation-backend/res/layout/main.xml +0 -12
  42. data/test-server/instrumentation-backend/res/values/strings.xml +0 -7
  43. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/MapViewUtils.java +0 -328
  44. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/PublicViewFetcher.java +0 -11
  45. data/test-server/instrumentation-backend/src/com/jayway/android/robotium/solo/SoloEnhanced.java +0 -85
  46. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRFileStream.java +0 -78
  47. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRInputStream.java +0 -70
  48. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRReaderStream.java +0 -95
  49. data/test-server/instrumentation-backend/src/org/antlr/runtime/ANTLRStringStream.java +0 -230
  50. data/test-server/instrumentation-backend/src/org/antlr/runtime/BaseRecognizer.java +0 -894
  51. data/test-server/instrumentation-backend/src/org/antlr/runtime/BitSet.java +0 -325
  52. data/test-server/instrumentation-backend/src/org/antlr/runtime/BufferedTokenStream.java +0 -272
  53. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStream.java +0 -57
  54. data/test-server/instrumentation-backend/src/org/antlr/runtime/CharStreamState.java +0 -45
  55. data/test-server/instrumentation-backend/src/org/antlr/runtime/ClassicToken.java +0 -141
  56. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonToken.java +0 -191
  57. data/test-server/instrumentation-backend/src/org/antlr/runtime/CommonTokenStream.java +0 -153
  58. data/test-server/instrumentation-backend/src/org/antlr/runtime/DFA.java +0 -250
  59. data/test-server/instrumentation-backend/src/org/antlr/runtime/EarlyExitException.java +0 -41
  60. data/test-server/instrumentation-backend/src/org/antlr/runtime/FailedPredicateException.java +0 -54
  61. data/test-server/instrumentation-backend/src/org/antlr/runtime/IntStream.java +0 -122
  62. data/test-server/instrumentation-backend/src/org/antlr/runtime/LegacyCommonTokenStream.java +0 -399
  63. data/test-server/instrumentation-backend/src/org/antlr/runtime/Lexer.java +0 -340
  64. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedNotSetException.java +0 -41
  65. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedRangeException.java +0 -45
  66. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedSetException.java +0 -44
  67. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTokenException.java +0 -45
  68. data/test-server/instrumentation-backend/src/org/antlr/runtime/MismatchedTreeNodeException.java +0 -49
  69. data/test-server/instrumentation-backend/src/org/antlr/runtime/MissingTokenException.java +0 -56
  70. data/test-server/instrumentation-backend/src/org/antlr/runtime/NoViableAltException.java +0 -57
  71. data/test-server/instrumentation-backend/src/org/antlr/runtime/Parser.java +0 -98
  72. data/test-server/instrumentation-backend/src/org/antlr/runtime/ParserRuleReturnScope.java +0 -52
  73. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognitionException.java +0 -180
  74. data/test-server/instrumentation-backend/src/org/antlr/runtime/RecognizerSharedState.java +0 -144
  75. data/test-server/instrumentation-backend/src/org/antlr/runtime/RuleReturnScope.java +0 -42
  76. data/test-server/instrumentation-backend/src/org/antlr/runtime/SerializedGrammar.java +0 -204
  77. data/test-server/instrumentation-backend/src/org/antlr/runtime/Token.java +0 -92
  78. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenRewriteStream.java +0 -569
  79. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenSource.java +0 -54
  80. data/test-server/instrumentation-backend/src/org/antlr/runtime/TokenStream.java +0 -75
  81. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnbufferedTokenStream.java +0 -82
  82. data/test-server/instrumentation-backend/src/org/antlr/runtime/UnwantedTokenException.java +0 -53
  83. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/BlankDebugEventListener.java +0 -77
  84. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventHub.java +0 -292
  85. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventListener.java +0 -323
  86. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventRepeater.java +0 -88
  87. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugEventSocketProxy.java +0 -358
  88. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugParser.java +0 -101
  89. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTokenStream.java +0 -156
  90. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeAdaptor.java +0 -250
  91. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeNodeStream.java +0 -155
  92. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/DebugTreeParser.java +0 -112
  93. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/ParseTreeBuilder.java +0 -109
  94. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Profiler.java +0 -772
  95. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/RemoteDebugEventSocketListener.java +0 -541
  96. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/TraceDebugEventListener.java +0 -108
  97. data/test-server/instrumentation-backend/src/org/antlr/runtime/debug/Tracer.java +0 -69
  98. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/DoubleKeyMap.java +0 -62
  99. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/FastQueue.java +0 -100
  100. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/IntArray.java +0 -87
  101. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/LookaheadStream.java +0 -161
  102. data/test-server/instrumentation-backend/src/org/antlr/runtime/misc/Stats.java +0 -189
  103. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTree.java +0 -349
  104. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BaseTreeAdaptor.java +0 -279
  105. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/BufferedTreeNodeStream.java +0 -489
  106. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonErrorNode.java +0 -115
  107. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTree.java +0 -185
  108. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeAdaptor.java +0 -168
  109. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/CommonTreeNodeStream.java +0 -171
  110. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/ParseTree.java +0 -119
  111. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteCardinalityException.java +0 -47
  112. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEarlyExitException.java +0 -39
  113. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteEmptyStreamException.java +0 -35
  114. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleElementStream.java +0 -210
  115. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleNodeStream.java +0 -70
  116. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleSubtreeStream.java +0 -86
  117. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/RewriteRuleTokenStream.java +0 -76
  118. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/Tree.java +0 -127
  119. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeAdaptor.java +0 -263
  120. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeFilter.java +0 -135
  121. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeIterator.java +0 -131
  122. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeNodeStream.java +0 -106
  123. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeParser.java +0 -169
  124. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternLexer.java +0 -135
  125. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreePatternParser.java +0 -154
  126. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRewriter.java +0 -124
  127. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeRuleReturnScope.java +0 -41
  128. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitor.java +0 -69
  129. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeVisitorAction.java +0 -47
  130. data/test-server/instrumentation-backend/src/org/antlr/runtime/tree/TreeWizard.java +0 -531
  131. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/CalabashInstrumentationTestRunner.java +0 -51
  132. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearAppData.java +0 -63
  133. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/ClearPreferences.java +0 -36
  134. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +0 -50
  135. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +0 -82
  136. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/GetPreferences.java +0 -37
  137. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/InstrumentationBackend.java +0 -190
  138. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +0 -87
  139. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/SetPreferences.java +0 -56
  140. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/TestHelpers.java +0 -154
  141. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/WakeUp.java +0 -30
  142. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Action.java +0 -11
  143. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/Actions.java +0 -86
  144. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +0 -376
  145. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/MultiTouchGesture.java +0 -749
  146. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NanoHTTPD.java +0 -1161
  147. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/NullAction.java +0 -23
  148. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/ViewDump.java +0 -100
  149. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/FinishOpenedActivities.java +0 -19
  150. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/activity/SetActivityOrientation.java +0 -41
  151. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/application/Backdoor.java +0 -55
  152. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/ClickOnScreen.java +0 -31
  153. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DoubleTapCoordinate.java +0 -25
  154. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Drag.java +0 -40
  155. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/DragCoordinates.java +0 -28
  156. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/LongPressCoordinate.java +0 -42
  157. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/Swipe.java +0 -33
  158. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/gestures/TouchCoordinates.java +0 -28
  159. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/helpers/ListActions.java +0 -26
  160. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/L10nHelper.java +0 -36
  161. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/PressElement.java +0 -50
  162. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/l10n/WaitForElement.java +0 -48
  163. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +0 -138
  164. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapBounds.java +0 -27
  165. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapCenter.java +0 -27
  166. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarker.java +0 -31
  167. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapMarkers.java +0 -48
  168. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/GetMapZoom.java +0 -19
  169. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/PanMapTo.java +0 -23
  170. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapCenter.java +0 -23
  171. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/SetMapZoom.java +0 -34
  172. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapAwayFromMarkers.java +0 -28
  173. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/map/TapMapMarker.java +0 -29
  174. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/ClearPreferences.java +0 -37
  175. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/GetPreferences.java +0 -39
  176. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/PreferencesUtils.java +0 -229
  177. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/preferences/SetPreferences.java +0 -56
  178. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/DownKey.java +0 -24
  179. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/EnterKey.java +0 -24
  180. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/GoBack.java +0 -22
  181. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/LeftKey.java +0 -24
  182. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressKey.java +0 -85
  183. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/PressMenu.java +0 -26
  184. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/RightKey.java +0 -24
  185. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/softkey/UpKey.java +0 -24
  186. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/HideSoftKeyboard.java +0 -56
  187. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/KeyboardEnterText.java +0 -59
  188. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/text/PressUserActionButton.java +0 -128
  189. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/version/Version.java +0 -31
  190. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/GetActivityName.java +0 -32
  191. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/view/IsCurrentActivityFocused.java +0 -40
  192. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +0 -248
  193. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +0 -53
  194. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +0 -55
  195. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +0 -121
  196. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +0 -77
  197. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +0 -75
  198. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetLoadProgress.java +0 -21
  199. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/GetUrl.java +0 -21
  200. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptExecuter.java +0 -105
  201. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +0 -114
  202. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +0 -89
  203. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +0 -69
  204. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/UnableToFindChromeClientException.java +0 -26
  205. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/json/JSONUtils.java +0 -18
  206. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +0 -40
  207. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +0 -269
  208. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +0 -7
  209. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +0 -56
  210. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +0 -172
  211. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/QueryResult.java +0 -45
  212. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +0 -20
  213. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +0 -22
  214. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +0 -120
  215. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +0 -1905
  216. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +0 -772
  217. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +0 -45
  218. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +0 -60
  219. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +0 -41
  220. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/DoubleFuture.java +0 -63
  221. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +0 -42
  222. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/InvalidUIQueryException.java +0 -10
  223. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +0 -79
  224. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +0 -100
  225. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +0 -8
  226. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +0 -147
  227. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +0 -159
  228. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +0 -5
  229. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +0 -222
  230. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryDirection.java +0 -15
  231. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +0 -69
  232. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +0 -686
  233. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +0 -32
  234. data/test-server/instrumentation-backend/src/sh/calaba/org/apache/http/entity/mime/version.properties +0 -22
  235. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variant.java +0 -413
  236. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Base64Variants.java +0 -90
  237. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/FormatSchema.java +0 -29
  238. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonEncoding.java +0 -47
  239. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonFactory.java +0 -937
  240. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerationException.java +0 -28
  241. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonGenerator.java +0 -1197
  242. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonLocation.java +0 -141
  243. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonNode.java +0 -879
  244. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParseException.java +0 -23
  245. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonParser.java +0 -1434
  246. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonProcessingException.java +0 -80
  247. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonStreamContext.java +0 -122
  248. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/JsonToken.java +0 -161
  249. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/ObjectCodec.java +0 -157
  250. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/PrettyPrinter.java +0 -166
  251. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/SerializableString.java +0 -54
  252. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Version.java +0 -90
  253. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/Versioned.java +0 -20
  254. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JacksonAnnotation.java +0 -20
  255. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnyGetter.java +0 -25
  256. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAnySetter.java +0 -24
  257. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonAutoDetect.java +0 -148
  258. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonBackReference.java +0 -41
  259. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonCreator.java +0 -19
  260. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonGetter.java +0 -35
  261. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnore.java +0 -57
  262. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreProperties.java +0 -48
  263. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonIgnoreType.java +0 -33
  264. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonManagedReference.java +0 -41
  265. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonMethod.java +0 -90
  266. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonProperty.java +0 -38
  267. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonPropertyOrder.java +0 -46
  268. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonRawValue.java +0 -33
  269. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSetter.java +0 -33
  270. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonSubTypes.java +0 -44
  271. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeInfo.java +0 -236
  272. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonTypeName.java +0 -28
  273. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonUnwrapped.java +0 -76
  274. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonValue.java +0 -46
  275. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/JsonWriteNullProperties.java +0 -34
  276. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/annotate/package-info.java +0 -16
  277. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatDetector.java +0 -176
  278. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/DataFormatMatcher.java +0 -117
  279. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/InputAccessor.java +0 -130
  280. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/MatchStrength.java +0 -64
  281. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/format/package-info.java +0 -8
  282. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ByteSourceBootstrapper.java +0 -518
  283. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/DefaultPrettyPrinter.java +0 -13
  284. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Indenter.java +0 -23
  285. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonGeneratorBase.java +0 -570
  286. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonNumericParserBase.java +0 -20
  287. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserBase.java +0 -1067
  288. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonParserMinimalBase.java +0 -539
  289. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonReadContext.java +0 -188
  290. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/JsonWriteContext.java +0 -178
  291. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParser.java +0 -1815
  292. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/ReaderBasedParserBase.java +0 -228
  293. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/StreamBasedParserBase.java +0 -197
  294. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8Generator.java +0 -1757
  295. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/Utf8StreamParser.java +0 -2966
  296. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/WriterBasedGenerator.java +0 -1815
  297. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/impl/package-info.java +0 -6
  298. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/BaseReader.java +0 -117
  299. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/CharacterEscapes.java +0 -73
  300. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/IOContext.java +0 -239
  301. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/InputDecorator.java +0 -67
  302. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/JsonStringEncoder.java +0 -408
  303. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/MergedStream.java +0 -145
  304. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberInput.java +0 -303
  305. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/NumberOutput.java +0 -398
  306. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/OutputDecorator.java +0 -40
  307. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SegmentedStringWriter.java +0 -104
  308. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/SerializedString.java +0 -114
  309. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF32Reader.java +0 -214
  310. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/UTF8Writer.java +0 -387
  311. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/io/package.html +0 -4
  312. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AbstractTypeResolver.java +0 -63
  313. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/AnnotationIntrospector.java +0 -1485
  314. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanDescription.java +0 -171
  315. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanProperty.java +0 -123
  316. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/BeanPropertyDefinition.java +0 -66
  317. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ClassIntrospector.java +0 -117
  318. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualDeserializer.java +0 -38
  319. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualKeyDeserializer.java +0 -33
  320. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ContextualSerializer.java +0 -38
  321. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationConfig.java +0 -926
  322. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationContext.java +0 -262
  323. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializationProblemHandler.java +0 -56
  324. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerFactory.java +0 -356
  325. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/DeserializerProvider.java +0 -185
  326. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Deserializers.java +0 -339
  327. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/HandlerInstantiator.java +0 -115
  328. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/InjectableValues.java +0 -85
  329. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonDeserializer.java +0 -166
  330. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonMappingException.java +0 -335
  331. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializable.java +0 -34
  332. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializableWithType.java +0 -22
  333. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/JsonSerializer.java +0 -138
  334. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializer.java +0 -31
  335. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/KeyDeserializers.java +0 -21
  336. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MapperConfig.java +0 -1154
  337. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingIterator.java +0 -190
  338. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/MappingJsonFactory.java +0 -81
  339. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Module.java +0 -255
  340. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectMapper.java +0 -2885
  341. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectReader.java +0 -958
  342. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ObjectWriter.java +0 -554
  343. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/PropertyNamingStrategy.java +0 -258
  344. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableDeserializer.java +0 -23
  345. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ResolvableSerializer.java +0 -23
  346. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/RuntimeJsonMappingException.java +0 -21
  347. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializationConfig.java +0 -1041
  348. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerFactory.java +0 -198
  349. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/SerializerProvider.java +0 -552
  350. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/Serializers.java +0 -137
  351. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeDeserializer.java +0 -118
  352. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/TypeSerializer.java +0 -164
  353. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonInject.java +0 -30
  354. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JacksonStdImpl.java +0 -25
  355. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonCachable.java +0 -32
  356. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonDeserialize.java +0 -109
  357. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonFilter.java +0 -31
  358. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonRootName.java +0 -29
  359. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonSerialize.java +0 -216
  360. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeIdResolver.java +0 -35
  361. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonTypeResolver.java +0 -28
  362. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonValueInstantiator.java +0 -26
  363. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/JsonView.java +0 -37
  364. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/NoClass.java +0 -19
  365. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/annotate/package-info.java +0 -5
  366. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/AbstractDeserializer.java +0 -102
  367. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializer.java +0 -28
  368. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ArrayDeserializers.java +0 -11
  369. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BasicDeserializerFactory.java +0 -894
  370. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializer.java +0 -1537
  371. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerBuilder.java +0 -277
  372. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerFactory.java +0 -1474
  373. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/BeanDeserializerModifier.java +0 -58
  374. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CollectionDeserializer.java +0 -47
  375. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ContainerDeserializer.java +0 -14
  376. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/CustomDeserializerFactory.java +0 -227
  377. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/DateDeserializer.java +0 -9
  378. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumDeserializer.java +0 -15
  379. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/EnumResolver.java +0 -17
  380. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/FromStringDeserializer.java +0 -13
  381. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/JsonNodeDeserializer.java +0 -54
  382. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/MapDeserializer.java +0 -44
  383. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableAnyProperty.java +0 -177
  384. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/SettableBeanProperty.java +0 -827
  385. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializationContext.java +0 -326
  386. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializer.java +0 -94
  387. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializerProvider.java +0 -494
  388. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdDeserializers.java +0 -119
  389. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializer.java +0 -12
  390. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdKeyDeserializers.java +0 -11
  391. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/StdScalarDeserializer.java +0 -13
  392. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ThrowableDeserializer.java +0 -13
  393. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/UntypedObjectDeserializer.java +0 -9
  394. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiator.java +0 -280
  395. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/ValueInstantiators.java +0 -52
  396. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/BeanPropertyMap.java +0 -257
  397. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorCollector.java +0 -141
  398. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/CreatorProperty.java +0 -152
  399. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ExternalTypeHandler.java +0 -173
  400. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyBasedCreator.java +0 -117
  401. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValue.java +0 -117
  402. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/PropertyValueBuffer.java +0 -102
  403. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/UnwrappedPropertyHandler.java +0 -41
  404. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/ValueInjector.java +0 -45
  405. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/impl/package-info.java +0 -9
  406. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/package-info.java +0 -5
  407. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicBooleanDeserializer.java +0 -22
  408. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/AtomicReferenceDeserializer.java +0 -47
  409. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CalendarDeserializer.java +0 -47
  410. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ClassDeserializer.java +0 -49
  411. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/CollectionDeserializer.java +0 -265
  412. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ContainerDeserializerBase.java +0 -37
  413. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/DateDeserializer.java +0 -30
  414. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumDeserializer.java +0 -139
  415. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumMapDeserializer.java +0 -90
  416. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/EnumSetDeserializer.java +0 -89
  417. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/FromStringDeserializer.java +0 -265
  418. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JavaTypeDeserializer.java +0 -38
  419. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/JsonNodeDeserializer.java +0 -314
  420. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/MapDeserializer.java +0 -412
  421. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ObjectArrayDeserializer.java +0 -201
  422. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/PrimitiveArrayDeserializers.java +0 -583
  423. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdDeserializer.java +0 -1136
  424. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializer.java +0 -340
  425. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdKeyDeserializers.java +0 -108
  426. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdScalarDeserializer.java +0 -34
  427. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StdValueInstantiator.java +0 -392
  428. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringCollectionDeserializer.java +0 -227
  429. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/StringDeserializer.java +0 -55
  430. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/ThrowableDeserializer.java +0 -164
  431. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TimestampDeserializer.java +0 -30
  432. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/TokenBufferDeserializer.java +0 -36
  433. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/UntypedObjectDeserializer.java +0 -248
  434. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/deser/std/package-info.java +0 -15
  435. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/exc/UnrecognizedPropertyException.java +0 -75
  436. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/DOMDeserializer.java +0 -65
  437. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/OptionalHandlerFactory.java +0 -217
  438. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ext/package-info.java +0 -23
  439. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/Annotated.java +0 -85
  440. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedClass.java +0 -980
  441. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedConstructor.java +0 -143
  442. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedField.java +0 -119
  443. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMember.java +0 -56
  444. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethod.java +0 -188
  445. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedMethodMap.java +0 -85
  446. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedParameter.java +0 -191
  447. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotatedWithParams.java +0 -195
  448. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/AnnotationMap.java +0 -101
  449. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicBeanDescription.java +0 -615
  450. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/BasicClassIntrospector.java +0 -364
  451. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/JacksonAnnotationIntrospector.java +0 -813
  452. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MemberKey.java +0 -83
  453. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/MethodFilter.java +0 -12
  454. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/NopAnnotationIntrospector.java +0 -209
  455. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertiesCollector.java +0 -713
  456. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/POJOPropertyBuilder.java +0 -648
  457. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/VisibilityChecker.java +0 -424
  458. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/introspect/package-info.java +0 -12
  459. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/NamedType.java +0 -53
  460. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/SubtypeResolver.java +0 -39
  461. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeIdResolver.java +0 -74
  462. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/TypeResolverBuilder.java +0 -151
  463. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeDeserializer.java +0 -126
  464. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsArrayTypeSerializer.java +0 -110
  465. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeDeserializer.java +0 -37
  466. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsExternalTypeSerializer.java +0 -129
  467. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeDeserializer.java +0 -191
  468. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsPropertyTypeSerializer.java +0 -69
  469. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeDeserializer.java +0 -103
  470. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/AsWrapperTypeSerializer.java +0 -121
  471. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/ClassNameIdResolver.java +0 -138
  472. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/MinimalClassNameIdResolver.java +0 -66
  473. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdSubtypeResolver.java +0 -151
  474. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/StdTypeResolverBuilder.java +0 -202
  475. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeDeserializerBase.java +0 -154
  476. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeIdResolverBase.java +0 -37
  477. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeNameIdResolver.java +0 -154
  478. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/TypeSerializerBase.java +0 -31
  479. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/impl/package-info.java +0 -9
  480. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/jsontype/package-info.java +0 -10
  481. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleAbstractTypeResolver.java +0 -86
  482. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleDeserializers.java +0 -130
  483. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleKeyDeserializers.java +0 -59
  484. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleModule.java +0 -265
  485. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleSerializers.java +0 -206
  486. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/SimpleValueInstantiators.java +0 -45
  487. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/module/package-info.java +0 -16
  488. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/package-info.java +0 -34
  489. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/AnyGetterWriter.java +0 -48
  490. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ArraySerializers.java +0 -7
  491. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BasicSerializerFactory.java +0 -806
  492. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyFilter.java +0 -30
  493. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanPropertyWriter.java +0 -512
  494. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializer.java +0 -126
  495. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerBuilder.java +0 -140
  496. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerFactory.java +0 -780
  497. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/BeanSerializerModifier.java +0 -95
  498. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ContainerSerializers.java +0 -8
  499. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/CustomSerializerFactory.java +0 -293
  500. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/EnumSerializer.java +0 -17
  501. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilterProvider.java +0 -23
  502. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/FilteredBeanPropertyWriter.java +0 -96
  503. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/JdkSerializers.java +0 -11
  504. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/MapSerializer.java +0 -58
  505. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/PropertyBuilder.java +0 -372
  506. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ScalarSerializerBase.java +0 -18
  507. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/SerializerBase.java +0 -23
  508. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdKeySerializer.java +0 -10
  509. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializerProvider.java +0 -852
  510. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/StdSerializers.java +0 -372
  511. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/ToStringSerializer.java +0 -14
  512. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/FailingSerializer.java +0 -43
  513. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/JsonSerializerMap.java +0 -93
  514. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/PropertySerializerMap.java +0 -231
  515. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/ReadOnlyClassToSerializerMap.java +0 -73
  516. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SerializerCache.java +0 -304
  517. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleBeanPropertyFilter.java +0 -109
  518. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/SimpleFilterProvider.java +0 -114
  519. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnknownSerializer.java +0 -54
  520. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanPropertyWriter.java +0 -99
  521. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/UnwrappingBeanSerializer.java +0 -76
  522. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/impl/package-info.java +0 -5
  523. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/package-info.java +0 -5
  524. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/AsArraySerializerBase.java +0 -185
  525. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/BeanSerializerBase.java +0 -340
  526. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CalendarSerializer.java +0 -43
  527. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/CollectionSerializer.java +0 -113
  528. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ContainerSerializerBase.java +0 -51
  529. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/DateSerializer.java +0 -42
  530. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumMapSerializer.java +0 -218
  531. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSerializer.java +0 -84
  532. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/EnumSetSerializer.java +0 -47
  533. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IndexedStringListSerializer.java +0 -116
  534. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/InetAddressSerializer.java +0 -51
  535. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/IterableSerializer.java +0 -63
  536. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/JsonValueSerializer.java +0 -233
  537. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/MapSerializer.java +0 -422
  538. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NonTypedScalarSerializerBase.java +0 -34
  539. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/NullSerializer.java +0 -38
  540. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ObjectArraySerializer.java +0 -281
  541. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/RawSerializer.java +0 -52
  542. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ScalarSerializerBase.java +0 -52
  543. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableSerializer.java +0 -99
  544. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializableWithTypeSerializer.java +0 -90
  545. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/SerializerBase.java +0 -184
  546. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StaticListSerializerBase.java +0 -46
  547. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdArraySerializers.java +0 -476
  548. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdContainerSerializers.java +0 -249
  549. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdJdkSerializers.java +0 -195
  550. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializer.java +0 -43
  551. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StdKeySerializers.java +0 -95
  552. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringCollectionSerializer.java +0 -119
  553. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/StringSerializer.java +0 -36
  554. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TimeZoneSerializer.java +0 -38
  555. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/ToStringSerializer.java +0 -73
  556. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/ser/std/TokenBufferSerializer.java +0 -66
  557. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ArrayType.java +0 -260
  558. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/ClassKey.java +0 -94
  559. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionLikeType.java +0 -204
  560. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/CollectionType.java +0 -94
  561. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/HierarchicType.java +0 -88
  562. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapLikeType.java +0 -265
  563. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/MapType.java +0 -146
  564. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/SimpleType.java +0 -250
  565. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBase.java +0 -148
  566. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeBindings.java +0 -351
  567. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeFactory.java +0 -1165
  568. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeModifier.java +0 -38
  569. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/TypeParser.java +0 -134
  570. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/type/package-info.java +0 -10
  571. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Annotations.java +0 -23
  572. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ArrayBuilders.java +0 -293
  573. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/BeanUtil.java +0 -260
  574. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ClassUtil.java +0 -645
  575. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Comparators.java +0 -48
  576. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumResolver.java +0 -108
  577. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/EnumValues.java +0 -82
  578. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601DateFormat.java +0 -52
  579. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ISO8601Utils.java +0 -230
  580. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONPObject.java +0 -105
  581. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/JSONWrappedObject.java +0 -117
  582. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LRUMap.java +0 -28
  583. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/LinkedNode.java +0 -45
  584. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Named.java +0 -10
  585. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/ObjectBuffer.java +0 -257
  586. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/PrimitiveArrayBuilder.java +0 -180
  587. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/Provider.java +0 -21
  588. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/RootNameLookup.java +0 -54
  589. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/StdDateFormat.java +0 -348
  590. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/map/util/package-info.java +0 -4
  591. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ArrayNode.java +0 -758
  592. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BaseJsonNode.java +0 -122
  593. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BigIntegerNode.java +0 -104
  594. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BinaryNode.java +0 -136
  595. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/BooleanNode.java +0 -84
  596. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ContainerNode.java +0 -185
  597. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DecimalNode.java +0 -96
  598. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/DoubleNode.java +0 -106
  599. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/IntNode.java +0 -122
  600. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/JsonNodeFactory.java +0 -222
  601. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/LongNode.java +0 -99
  602. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/MissingNode.java +0 -97
  603. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NodeCursor.java +0 -222
  604. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NullNode.java +0 -58
  605. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/NumericNode.java +0 -72
  606. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ObjectNode.java +0 -696
  607. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/POJONode.java +0 -145
  608. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TextNode.java +0 -299
  609. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/TreeTraversingParser.java +0 -383
  610. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/ValueNode.java +0 -58
  611. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/node/package-info.java +0 -8
  612. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/package-info.java +0 -30
  613. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSchema.java +0 -82
  614. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/JsonSerializableSchema.java +0 -46
  615. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/SchemaAware.java +0 -25
  616. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/schema/package-info.java +0 -5
  617. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/BytesToNameCanonicalizer.java +0 -969
  618. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/CharsToNameCanonicalizer.java +0 -578
  619. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name.java +0 -50
  620. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name1.java +0 -44
  621. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name2.java +0 -40
  622. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/Name3.java +0 -39
  623. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/NameN.java +0 -68
  624. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/sym/package-info.java +0 -5
  625. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/JavaType.java +0 -503
  626. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/TypeReference.java +0 -60
  627. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/type/package-info.java +0 -8
  628. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/BufferRecycler.java +0 -109
  629. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/ByteArrayBuilder.java +0 -294
  630. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/CharTypes.java +0 -237
  631. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/DefaultPrettyPrinter.java +0 -282
  632. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/InternCache.java +0 -49
  633. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonGeneratorDelegate.java +0 -273
  634. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserDelegate.java +0 -251
  635. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/JsonParserSequence.java +0 -150
  636. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/MinimalPrettyPrinter.java +0 -152
  637. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TextBuffer.java +0 -707
  638. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/TokenBuffer.java +0 -1233
  639. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/VersionUtil.java +0 -79
  640. data/test-server/instrumentation-backend/src/sh/calaba/org/codehaus/jackson/util/package-info.java +0 -4
@@ -1,1537 +0,0 @@
1
- package sh.calaba.org.codehaus.jackson.map.deser;
2
-
3
- import java.io.IOException;
4
- import java.lang.reflect.*;
5
- import java.util.*;
6
-
7
- import sh.calaba.org.codehaus.jackson.*;
8
- import sh.calaba.org.codehaus.jackson.annotate.JsonTypeInfo;
9
- import sh.calaba.org.codehaus.jackson.map.*;
10
- import sh.calaba.org.codehaus.jackson.map.annotate.JsonCachable;
11
- import sh.calaba.org.codehaus.jackson.map.deser.impl.*;
12
- import sh.calaba.org.codehaus.jackson.map.deser.std.ContainerDeserializerBase;
13
- import sh.calaba.org.codehaus.jackson.map.deser.std.StdDeserializer;
14
- import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedClass;
15
- import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedMember;
16
- import sh.calaba.org.codehaus.jackson.map.introspect.AnnotatedWithParams;
17
- import sh.calaba.org.codehaus.jackson.map.type.ClassKey;
18
- import sh.calaba.org.codehaus.jackson.map.util.ClassUtil;
19
- import sh.calaba.org.codehaus.jackson.type.JavaType;
20
- import sh.calaba.org.codehaus.jackson.util.TokenBuffer;
21
-
22
- /**
23
- * Deserializer class that can deserialize instances of
24
- * arbitrary bean objects, usually from JSON Object structs,
25
- * but possibly also from simple types like String values.
26
- */
27
- @JsonCachable
28
- /* Because of costs associated with constructing bean deserializers,
29
- * they usually should be cached unlike other deserializer types.
30
- * But more importantly, it is important to be able to cache
31
- * bean serializers to handle cyclic references.
32
- */
33
- public class BeanDeserializer
34
- extends StdDeserializer<Object>
35
- implements ResolvableDeserializer
36
- {
37
- /*
38
- /**********************************************************
39
- /* Information regarding type being deserialized
40
- /**********************************************************
41
- */
42
-
43
- /**
44
- * Class for which deserializer is built; used for accessing
45
- * annotations during resolution phase (see {@link #resolve}).
46
- */
47
- final protected AnnotatedClass _forClass;
48
-
49
- /**
50
- * Declared type of the bean this deserializer handles.
51
- */
52
- final protected JavaType _beanType;
53
-
54
- /**
55
- * Property that contains value to be deserialized using
56
- * deserializer; mostly needed to find contextual annotations
57
- * for subtypes.
58
- *
59
- * @since 1.7
60
- */
61
- final protected BeanProperty _property;
62
-
63
- /*
64
- /**********************************************************
65
- /* Construction configuration
66
- /**********************************************************
67
- */
68
-
69
- /**
70
- * Object that handles details of constructing initial
71
- * bean value (to which bind data to), unless instance
72
- * is passed (via updateValue())
73
- */
74
- protected final ValueInstantiator _valueInstantiator;
75
-
76
- /**
77
- * Deserializer that is used iff delegate-based creator is
78
- * to be used for deserializing from JSON Object.
79
- */
80
- protected JsonDeserializer<Object> _delegateDeserializer;
81
-
82
- /**
83
- * If the bean needs to be instantiated using constructor
84
- * or factory method
85
- * that takes one or more named properties as argument(s),
86
- * this creator is used for instantiation.
87
- */
88
- protected final PropertyBasedCreator _propertyBasedCreator;
89
-
90
- /**
91
- * Flag that is set to mark "non-standard" cases; where either
92
- * we use one of non-default creators, or there are unwrapped
93
- * values to consider.
94
- */
95
- protected boolean _nonStandardCreation;
96
-
97
- /*
98
- /**********************************************************
99
- /* Property information, setters
100
- /**********************************************************
101
- */
102
-
103
- /**
104
- * Mapping of property names to properties, built when all properties
105
- * to use have been successfully resolved.
106
- *
107
- * @since 1.7
108
- */
109
- final protected BeanPropertyMap _beanProperties;
110
-
111
- /**
112
- * List of {@link ValueInjector}s, if any injectable values are
113
- * expected by the bean; otherwise null.
114
- * This includes injectors used for injecting values via setters
115
- * and fields, but not ones passed through constructor parameters.
116
- *
117
- * @since 1.9
118
- */
119
- final protected ValueInjector[] _injectables;
120
-
121
- /**
122
- * Fallback setter used for handling any properties that are not
123
- * mapped to regular setters. If setter is not null, it will be
124
- * called once for each such property.
125
- */
126
- protected SettableAnyProperty _anySetter;
127
-
128
- /**
129
- * In addition to properties that are set, we will also keep
130
- * track of recognized but ignorable properties: these will
131
- * be skipped without errors or warnings.
132
- */
133
- final protected HashSet<String> _ignorableProps;
134
-
135
- /**
136
- * Flag that can be set to ignore and skip unknown properties.
137
- * If set, will not throw an exception for unknown properties.
138
- */
139
- final protected boolean _ignoreAllUnknown;
140
-
141
- /**
142
- * We may also have one or more back reference fields (usually
143
- * zero or one).
144
- */
145
- final protected Map<String, SettableBeanProperty> _backRefs;
146
-
147
- /*
148
- /**********************************************************
149
- /* Related handlers
150
- /**********************************************************
151
- */
152
-
153
- /**
154
- * Lazily constructed map used to contain deserializers needed
155
- * for polymorphic subtypes.
156
- */
157
- protected HashMap<ClassKey, JsonDeserializer<Object>> _subDeserializers;
158
-
159
- /**
160
- * If one of properties has "unwrapped" value, we need separate
161
- * helper object
162
- *
163
- * @since 1.9
164
- */
165
- protected UnwrappedPropertyHandler _unwrappedPropertyHandler;
166
-
167
- /**
168
- * Handler that we need iff any of properties uses external
169
- * type id.
170
- */
171
- protected ExternalTypeHandler _externalTypeIdHandler;
172
-
173
- /*
174
- /**********************************************************
175
- /* Life-cycle, construction, initialization
176
- /**********************************************************
177
- */
178
-
179
- /**
180
- * @deprecated (since 1.9) Use the constructor that takes {@link ValueInstantiator} instead
181
- */
182
- @Deprecated
183
- public BeanDeserializer(AnnotatedClass forClass, JavaType type, BeanProperty property,
184
- CreatorCollector creators,
185
- BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
186
- HashSet<String> ignorableProps, boolean ignoreAllUnknown,
187
- SettableAnyProperty anySetter)
188
- {
189
- this(forClass, type, property,
190
- creators.constructValueInstantiator(null),
191
- properties, backRefs,
192
- ignorableProps, ignoreAllUnknown,
193
- anySetter, null);
194
- }
195
-
196
- /**
197
- * @since 1.9
198
- */
199
- public BeanDeserializer(BeanDescription beanDesc, BeanProperty property,
200
- ValueInstantiator valueInstantiator,
201
- BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
202
- HashSet<String> ignorableProps, boolean ignoreAllUnknown,
203
- SettableAnyProperty anySetter, List<ValueInjector> injectables)
204
- {
205
- this(beanDesc.getClassInfo(), beanDesc.getType(), property,
206
- valueInstantiator,
207
- properties, backRefs,
208
- ignorableProps, ignoreAllUnknown,
209
- anySetter, injectables);
210
- }
211
-
212
- /**
213
- * @since 1.9
214
- */
215
- protected BeanDeserializer(AnnotatedClass forClass, JavaType type, BeanProperty property,
216
- ValueInstantiator valueInstantiator,
217
- BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
218
- HashSet<String> ignorableProps, boolean ignoreAllUnknown,
219
- SettableAnyProperty anySetter, List<ValueInjector> injectables)
220
- {
221
- super(type);
222
- _forClass = forClass;
223
- _beanType = type;
224
- _property = property;
225
-
226
- _valueInstantiator = valueInstantiator;
227
- if (valueInstantiator.canCreateFromObjectWith()) {
228
- _propertyBasedCreator = new PropertyBasedCreator(valueInstantiator);
229
- } else {
230
- _propertyBasedCreator = null;
231
- }
232
-
233
- _beanProperties = properties;
234
- _backRefs = backRefs;
235
- _ignorableProps = ignorableProps;
236
- _ignoreAllUnknown = ignoreAllUnknown;
237
- _anySetter = anySetter;
238
- _injectables = (injectables == null || injectables.isEmpty()) ? null
239
- : injectables.toArray(new ValueInjector[injectables.size()]);
240
-
241
- _nonStandardCreation = valueInstantiator.canCreateUsingDelegate()
242
- || (_propertyBasedCreator != null)
243
- || !valueInstantiator.canCreateUsingDefault()
244
- || (_unwrappedPropertyHandler != null);
245
- }
246
-
247
- /**
248
- * Copy-constructor that can be used by sub-classes to allow
249
- * copy-on-write styling copying of settings of an existing instance.
250
- *
251
- * @since 1.7
252
- */
253
- protected BeanDeserializer(BeanDeserializer src)
254
- {
255
- this(src, src._ignoreAllUnknown);
256
- }
257
-
258
- /**
259
- * @since 1.9
260
- */
261
- protected BeanDeserializer(BeanDeserializer src, boolean ignoreAllUnknown)
262
- {
263
- super(src._beanType);
264
-
265
- _forClass = src._forClass;
266
- _beanType = src._beanType;
267
- _property = src._property;
268
-
269
- _valueInstantiator = src._valueInstantiator;
270
- _delegateDeserializer = src._delegateDeserializer;
271
- _propertyBasedCreator = src._propertyBasedCreator;
272
-
273
- _beanProperties = src._beanProperties;
274
- _backRefs = src._backRefs;
275
- _ignorableProps = src._ignorableProps;
276
- _ignoreAllUnknown = ignoreAllUnknown;
277
- _anySetter = src._anySetter;
278
- _injectables = src._injectables;
279
-
280
- _nonStandardCreation = src._nonStandardCreation;
281
- _unwrappedPropertyHandler = src._unwrappedPropertyHandler;
282
- }
283
-
284
- @Override
285
- public JsonDeserializer<Object> unwrappingDeserializer()
286
- {
287
- /* bit kludgy but we don't want to accidentally change type;
288
- * sub-classes MUST override this method to support unwrapped
289
- * properties...
290
- */
291
- if (getClass() != BeanDeserializer.class) {
292
- return this;
293
- }
294
- /* main thing really is to just enforce ignoring of unknown
295
- * properties; since there may be multiple unwrapped values
296
- * and properties for all may be interleaved...
297
- */
298
- return new BeanDeserializer(this, true);
299
- }
300
-
301
- /*
302
- /**********************************************************
303
- /* Public accessors
304
- /**********************************************************
305
- */
306
-
307
- public boolean hasProperty(String propertyName) {
308
- return _beanProperties.find(propertyName) != null;
309
- }
310
-
311
- /**
312
- * Accessor for checking number of deserialized properties.
313
- *
314
- * @since 1.7
315
- */
316
- public int getPropertyCount() {
317
- return _beanProperties.size();
318
- }
319
-
320
- public final Class<?> getBeanClass() { return _beanType.getRawClass(); }
321
-
322
- @Override public JavaType getValueType() { return _beanType; }
323
-
324
- /**
325
- *
326
- * @since 1.6
327
- */
328
- public Iterator<SettableBeanProperty> properties()
329
- {
330
- if (_beanProperties == null) { // since 1.7
331
- throw new IllegalStateException("Can only call before BeanDeserializer has been resolved");
332
- }
333
- return _beanProperties.allProperties();
334
- }
335
-
336
- /**
337
- * Method needed by {@link BeanDeserializerFactory} to properly link
338
- * managed- and back-reference pairs.
339
- */
340
- public SettableBeanProperty findBackReference(String logicalName)
341
- {
342
- if (_backRefs == null) {
343
- return null;
344
- }
345
- return _backRefs.get(logicalName);
346
- }
347
-
348
- /**
349
- * @since 1.9
350
- */
351
- public ValueInstantiator getValueInstantiator() {
352
- return _valueInstantiator;
353
- }
354
-
355
- /*
356
- /**********************************************************
357
- /* Validation, post-processing
358
- /**********************************************************
359
- */
360
-
361
- /**
362
- * Method called to finalize setup of this deserializer,
363
- * after deserializer itself has been registered.
364
- * This is needed to handle recursive and transitive dependencies.
365
- */
366
- @Override
367
- public void resolve(DeserializationConfig config, DeserializerProvider provider)
368
- throws JsonMappingException
369
- {
370
- Iterator<SettableBeanProperty> it = _beanProperties.allProperties();
371
- UnwrappedPropertyHandler unwrapped = null;
372
- ExternalTypeHandler.Builder extTypes = null;
373
-
374
- while (it.hasNext()) {
375
- SettableBeanProperty origProp = it.next();
376
- SettableBeanProperty prop = origProp;
377
- // May already have deserializer from annotations, if so, skip:
378
- if (!prop.hasValueDeserializer()) {
379
- prop = prop.withValueDeserializer(findDeserializer(config, provider, prop.getType(), prop));
380
- }
381
- // [JACKSON-235]: need to link managed references with matching back references
382
- prop = _resolveManagedReferenceProperty(config, prop);
383
- // [JACKSON-132]: support unwrapped values (via @JsonUnwrapped)
384
- SettableBeanProperty u = _resolveUnwrappedProperty(config, prop);
385
- if (u != null) {
386
- prop = u;
387
- if (unwrapped == null) {
388
- unwrapped = new UnwrappedPropertyHandler();
389
- }
390
- unwrapped.addProperty(prop);
391
- }
392
- // [JACKSON-594]: non-static inner classes too:
393
- prop = _resolveInnerClassValuedProperty(config, prop);
394
- if (prop != origProp) {
395
- _beanProperties.replace(prop);
396
- }
397
-
398
- /* one more thing: if this property uses "external property" type inclusion
399
- * (see [JACKSON-453]), it needs different handling altogether
400
- */
401
- if (prop.hasValueTypeDeserializer()) {
402
- TypeDeserializer typeDeser = prop.getValueTypeDeserializer();
403
- if (typeDeser.getTypeInclusion() == JsonTypeInfo.As.EXTERNAL_PROPERTY) {
404
- if (extTypes == null) {
405
- extTypes = new ExternalTypeHandler.Builder();
406
- }
407
- extTypes.addExternal(prop, typeDeser.getPropertyName());
408
- // In fact, remove from list of known properties to simplify later handling
409
- _beanProperties.remove(prop);
410
- }
411
- }
412
- }
413
-
414
- // Finally, "any setter" may also need to be resolved now
415
- if (_anySetter != null && !_anySetter.hasValueDeserializer()) {
416
- _anySetter = _anySetter.withValueDeserializer(findDeserializer(config, provider, _anySetter.getType(), _anySetter.getProperty()));
417
- }
418
-
419
- // as well as delegate-based constructor:
420
- if (_valueInstantiator.canCreateUsingDelegate()) {
421
- JavaType delegateType = _valueInstantiator.getDelegateType();
422
- if (delegateType == null) {
423
- throw new IllegalArgumentException("Invalid delegate-creator definition for "+_beanType
424
- +": value instantiator ("+_valueInstantiator.getClass().getName()
425
- +") returned true for 'canCreateUsingDelegate()', but null for 'getDelegateType()'");
426
- }
427
- AnnotatedWithParams delegateCreator = _valueInstantiator.getDelegateCreator();
428
- // Need to create a temporary property to allow contextual deserializers:
429
- BeanProperty.Std property = new BeanProperty.Std(null,
430
- delegateType, _forClass.getAnnotations(), delegateCreator);
431
- _delegateDeserializer = findDeserializer(config, provider, delegateType, property);
432
- }
433
- // or property-based one
434
- // IMPORTANT: must access properties that _propertyBasedCreator has
435
- if (_propertyBasedCreator != null) {
436
- for (SettableBeanProperty prop : _propertyBasedCreator.getCreatorProperties()) {
437
- if (!prop.hasValueDeserializer()) {
438
- _propertyBasedCreator.assignDeserializer(prop,
439
- findDeserializer(config, provider, prop.getType(), prop));
440
- }
441
- }
442
- }
443
- if (extTypes != null) {
444
- _externalTypeIdHandler = extTypes.build();
445
- // we consider this non-standard, to offline handling
446
- _nonStandardCreation = true;
447
- }
448
-
449
- _unwrappedPropertyHandler = unwrapped;
450
- if (unwrapped != null) { // we consider this non-standard, to offline handling
451
- _nonStandardCreation = true;
452
- }
453
- }
454
-
455
- /**
456
- * Helper method called to see if given property is part of 'managed' property
457
- * pair (managed + back reference), and if so, handle resolution details.
458
- *
459
- * @since 1.9
460
- */
461
- protected SettableBeanProperty _resolveManagedReferenceProperty(DeserializationConfig config,
462
- SettableBeanProperty prop)
463
- {
464
- String refName = prop.getManagedReferenceName();
465
- if (refName == null) {
466
- return prop;
467
- }
468
- JsonDeserializer<?> valueDeser = prop.getValueDeserializer();
469
- SettableBeanProperty backProp = null;
470
- boolean isContainer = false;
471
- if (valueDeser instanceof BeanDeserializer) {
472
- backProp = ((BeanDeserializer) valueDeser).findBackReference(refName);
473
- } else if (valueDeser instanceof ContainerDeserializerBase<?>) {
474
- JsonDeserializer<?> contentDeser = ((ContainerDeserializerBase<?>) valueDeser).getContentDeserializer();
475
- if (!(contentDeser instanceof BeanDeserializer)) {
476
- throw new IllegalArgumentException("Can not handle managed/back reference '"+refName
477
- +"': value deserializer is of type ContainerDeserializerBase, but content type is not handled by a BeanDeserializer "
478
- +" (instead it's of type "+contentDeser.getClass().getName()+")");
479
- }
480
- backProp = ((BeanDeserializer) contentDeser).findBackReference(refName);
481
- isContainer = true;
482
- } else if (valueDeser instanceof AbstractDeserializer) { // [JACKSON-368]: not easy to fix, alas
483
- throw new IllegalArgumentException("Can not handle managed/back reference for abstract types (property "+_beanType.getRawClass().getName()+"."+prop.getName()+")");
484
- } else {
485
- throw new IllegalArgumentException("Can not handle managed/back reference '"+refName
486
- +"': type for value deserializer is not BeanDeserializer or ContainerDeserializerBase, but "
487
- +valueDeser.getClass().getName());
488
- }
489
- if (backProp == null) {
490
- throw new IllegalArgumentException("Can not handle managed/back reference '"+refName+"': no back reference property found from type "
491
- +prop.getType());
492
- }
493
- // also: verify that type is compatible
494
- JavaType referredType = _beanType;
495
- JavaType backRefType = backProp.getType();
496
- if (!backRefType.getRawClass().isAssignableFrom(referredType.getRawClass())) {
497
- throw new IllegalArgumentException("Can not handle managed/back reference '"+refName+"': back reference type ("
498
- +backRefType.getRawClass().getName()+") not compatible with managed type ("
499
- +referredType.getRawClass().getName()+")");
500
- }
501
- return new SettableBeanProperty.ManagedReferenceProperty(refName, prop, backProp,
502
- _forClass.getAnnotations(), isContainer);
503
- }
504
-
505
- /**
506
- * Helper method called to see if given property might be so-called unwrapped
507
- * property: these require special handling.
508
- *
509
- * @since 1.9
510
- */
511
- protected SettableBeanProperty _resolveUnwrappedProperty(DeserializationConfig config,
512
- SettableBeanProperty prop)
513
- {
514
- AnnotatedMember am = prop.getMember();
515
- if (am != null && config.getAnnotationIntrospector().shouldUnwrapProperty(am) == Boolean.TRUE) {
516
- JsonDeserializer<Object> orig = prop.getValueDeserializer();
517
- JsonDeserializer<Object> unwrapping = orig.unwrappingDeserializer();
518
- if (unwrapping != orig && unwrapping != null) {
519
- // might be cleaner to create new instance; but difficult to do reliably, so:
520
- return prop.withValueDeserializer(unwrapping);
521
- }
522
- }
523
- return null;
524
- }
525
-
526
- /**
527
- * Helper method that will handle gruesome details of dealing with properties
528
- * that have non-static inner class as value...
529
- *
530
- * @since 1.9
531
- */
532
- protected SettableBeanProperty _resolveInnerClassValuedProperty(DeserializationConfig config,
533
- SettableBeanProperty prop)
534
- {
535
- /* Should we encounter a property that has non-static inner-class
536
- * as value, we need to add some more magic to find the "hidden" constructor...
537
- */
538
- JsonDeserializer<Object> deser = prop.getValueDeserializer();
539
- // ideally wouldn't rely on it being BeanDeserializer; but for now it'll have to do
540
- if (deser instanceof BeanDeserializer) {
541
- BeanDeserializer bd = (BeanDeserializer) deser;
542
- ValueInstantiator vi = bd.getValueInstantiator();
543
- if (!vi.canCreateUsingDefault()) { // no default constructor
544
- Class<?> valueClass = prop.getType().getRawClass();
545
- Class<?> enclosing = ClassUtil.getOuterClass(valueClass);
546
- // and is inner class of the bean class...
547
- if (enclosing != null && enclosing == _beanType.getRawClass()) {
548
- for (Constructor<?> ctor : valueClass.getConstructors()) {
549
- Class<?>[] paramTypes = ctor.getParameterTypes();
550
- if (paramTypes.length == 1 && paramTypes[0] == enclosing) {
551
- if (config.isEnabled(DeserializationConfig.Feature.CAN_OVERRIDE_ACCESS_MODIFIERS)) {
552
- ClassUtil.checkAndFixAccess(ctor);
553
- }
554
- return new SettableBeanProperty.InnerClassProperty(prop, ctor);
555
- }
556
- }
557
- }
558
- }
559
- }
560
- return prop;
561
- }
562
-
563
- /*
564
- /**********************************************************
565
- /* JsonDeserializer implementation
566
- /**********************************************************
567
- */
568
-
569
- /**
570
- * Main deserialization method for bean-based objects (POJOs).
571
- */
572
- @Override
573
- public final Object deserialize(JsonParser jp, DeserializationContext ctxt)
574
- throws IOException, JsonProcessingException
575
- {
576
- JsonToken t = jp.getCurrentToken();
577
- // common case first:
578
- if (t == JsonToken.START_OBJECT) {
579
- jp.nextToken();
580
- return deserializeFromObject(jp, ctxt);
581
- }
582
- // and then others, generally requiring use of @JsonCreator
583
- switch (t) {
584
- case VALUE_STRING:
585
- return deserializeFromString(jp, ctxt);
586
- case VALUE_NUMBER_INT:
587
- return deserializeFromNumber(jp, ctxt);
588
- case VALUE_NUMBER_FLOAT:
589
- return deserializeFromDouble(jp, ctxt);
590
- case VALUE_EMBEDDED_OBJECT:
591
- return jp.getEmbeddedObject();
592
- case VALUE_TRUE:
593
- case VALUE_FALSE:
594
- return deserializeFromBoolean(jp, ctxt);
595
- case START_ARRAY:
596
- // these only work if there's a (delegating) creator...
597
- return deserializeFromArray(jp, ctxt);
598
- case FIELD_NAME:
599
- case END_OBJECT: // added to resolve [JACKSON-319], possible related issues
600
- return deserializeFromObject(jp, ctxt);
601
- }
602
- throw ctxt.mappingException(getBeanClass());
603
- }
604
-
605
- /**
606
- * Secondary deserialization method, called in cases where POJO
607
- * instance is created as part of deserialization, potentially
608
- * after collecting some or all of the properties to set.
609
- */
610
- @Override
611
- public Object deserialize(JsonParser jp, DeserializationContext ctxt, Object bean)
612
- throws IOException, JsonProcessingException
613
- {
614
- if (_injectables != null) {
615
- injectValues(ctxt, bean);
616
- }
617
- if (_unwrappedPropertyHandler != null) {
618
- return deserializeWithUnwrapped(jp, ctxt, bean);
619
- }
620
- if (_externalTypeIdHandler != null) {
621
- return deserializeWithExternalTypeId(jp, ctxt, bean);
622
- }
623
- JsonToken t = jp.getCurrentToken();
624
- // 23-Mar-2010, tatu: In some cases, we start with full JSON object too...
625
- if (t == JsonToken.START_OBJECT) {
626
- t = jp.nextToken();
627
- }
628
- for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
629
- String propName = jp.getCurrentName();
630
- // Skip field name:
631
- jp.nextToken();
632
- SettableBeanProperty prop = _beanProperties.find(propName);
633
-
634
- if (prop != null) { // normal case
635
- try {
636
- prop.deserializeAndSet(jp, ctxt, bean);
637
- } catch (Exception e) {
638
- wrapAndThrow(e, bean, propName, ctxt);
639
- }
640
- continue;
641
- }
642
- /* As per [JACKSON-313], things marked as ignorable should not be
643
- * passed to any setter
644
- */
645
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
646
- jp.skipChildren();
647
- } else if (_anySetter != null) {
648
- _anySetter.deserializeAndSet(jp, ctxt, bean, propName);
649
- continue;
650
- } else {
651
- // Unknown: let's call handler method
652
- handleUnknownProperty(jp, ctxt, bean, propName);
653
- }
654
- }
655
- return bean;
656
- }
657
-
658
- @Override
659
- public Object deserializeWithType(JsonParser jp, DeserializationContext ctxt,
660
- TypeDeserializer typeDeserializer)
661
- throws IOException, JsonProcessingException
662
- {
663
- // In future could check current token... for now this should be enough:
664
- return typeDeserializer.deserializeTypedFromObject(jp, ctxt);
665
- }
666
-
667
- /*
668
- /**********************************************************
669
- /* Concrete deserialization methods
670
- /**********************************************************
671
- */
672
-
673
- public Object deserializeFromObject(JsonParser jp, DeserializationContext ctxt)
674
- throws IOException, JsonProcessingException
675
- {
676
- if (_nonStandardCreation) {
677
- if (_unwrappedPropertyHandler != null) {
678
- return deserializeWithUnwrapped(jp, ctxt);
679
- }
680
- if (_externalTypeIdHandler != null) {
681
- return deserializeWithExternalTypeId(jp, ctxt);
682
- }
683
- return deserializeFromObjectUsingNonDefault(jp, ctxt);
684
- }
685
-
686
- final Object bean = _valueInstantiator.createUsingDefault();
687
- if (_injectables != null) {
688
- injectValues(ctxt, bean);
689
- }
690
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
691
- String propName = jp.getCurrentName();
692
- // Skip field name:
693
- jp.nextToken();
694
- SettableBeanProperty prop = _beanProperties.find(propName);
695
- if (prop != null) { // normal case
696
- try {
697
- prop.deserializeAndSet(jp, ctxt, bean);
698
- } catch (Exception e) {
699
- wrapAndThrow(e, bean, propName, ctxt);
700
- }
701
- continue;
702
- }
703
- _handleUnknown(jp, ctxt, bean, propName);
704
- }
705
- return bean;
706
- }
707
-
708
- private final void _handleUnknown(JsonParser jp, DeserializationContext ctxt,
709
- Object bean, String propName)
710
- throws IOException, JsonProcessingException
711
- {
712
- /* As per [JACKSON-313], things marked as ignorable should not be
713
- * passed to any setter
714
- */
715
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
716
- jp.skipChildren();
717
- } else if (_anySetter != null) {
718
- try {
719
- _anySetter.deserializeAndSet(jp, ctxt, bean, propName);
720
- } catch (Exception e) {
721
- wrapAndThrow(e, bean, propName, ctxt);
722
- }
723
- } else {
724
- // Unknown: let's call handler method
725
- handleUnknownProperty(jp, ctxt, bean, propName);
726
- }
727
- }
728
-
729
- /**
730
- * @since 1.9
731
- */
732
- protected Object deserializeFromObjectUsingNonDefault(JsonParser jp, DeserializationContext ctxt)
733
- throws IOException, JsonProcessingException
734
- {
735
- if (_delegateDeserializer != null) {
736
- return _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
737
- }
738
- if (_propertyBasedCreator != null) {
739
- return _deserializeUsingPropertyBased(jp, ctxt);
740
- }
741
- // should only occur for abstract types...
742
- if (_beanType.isAbstract()) {
743
- throw JsonMappingException.from(jp, "Can not instantiate abstract type "+_beanType
744
- +" (need to add/enable type information?)");
745
- }
746
- throw JsonMappingException.from(jp, "No suitable constructor found for type "
747
- +_beanType+": can not instantiate from JSON object (need to add/enable type information?)");
748
- }
749
-
750
- public Object deserializeFromString(JsonParser jp, DeserializationContext ctxt)
751
- throws IOException, JsonProcessingException
752
- {
753
- /* Bit complicated if we have delegating creator; may need to use it,
754
- * or might not...
755
- */
756
- if (_delegateDeserializer != null) {
757
- if (!_valueInstantiator.canCreateFromString()) {
758
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
759
- if (_injectables != null) {
760
- injectValues(ctxt, bean);
761
- }
762
- return bean;
763
- }
764
- }
765
- return _valueInstantiator.createFromString(jp.getText());
766
- }
767
-
768
- public Object deserializeFromNumber(JsonParser jp, DeserializationContext ctxt)
769
- throws IOException, JsonProcessingException
770
- {
771
- switch (jp.getNumberType()) {
772
- case INT:
773
- if (_delegateDeserializer != null) {
774
- if (!_valueInstantiator.canCreateFromInt()) {
775
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
776
- if (_injectables != null) {
777
- injectValues(ctxt, bean);
778
- }
779
- return bean;
780
- }
781
- }
782
- return _valueInstantiator.createFromInt(jp.getIntValue());
783
- case LONG:
784
- if (_delegateDeserializer != null) {
785
- if (!_valueInstantiator.canCreateFromInt()) {
786
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
787
- if (_injectables != null) {
788
- injectValues(ctxt, bean);
789
- }
790
- return bean;
791
- }
792
- }
793
- return _valueInstantiator.createFromLong(jp.getLongValue());
794
- }
795
- // actually, could also be BigInteger, so:
796
- if (_delegateDeserializer != null) {
797
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
798
- if (_injectables != null) {
799
- injectValues(ctxt, bean);
800
- }
801
- return bean;
802
- }
803
- throw ctxt.instantiationException(getBeanClass(), "no suitable creator method found to deserialize from JSON integer number");
804
- }
805
-
806
- /**
807
- * Method called to deserialize POJO value from a JSON floating-point
808
- * number.
809
- *
810
- * @since 1.9
811
- */
812
- public Object deserializeFromDouble(JsonParser jp, DeserializationContext ctxt)
813
- throws IOException, JsonProcessingException
814
- {
815
- switch (jp.getNumberType()) {
816
- case FLOAT: // no separate methods for taking float...
817
- case DOUBLE:
818
- if (_delegateDeserializer != null) {
819
- if (!_valueInstantiator.canCreateFromDouble()) {
820
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
821
- if (_injectables != null) {
822
- injectValues(ctxt, bean);
823
- }
824
- return bean;
825
- }
826
- }
827
- return _valueInstantiator.createFromDouble(jp.getDoubleValue());
828
- }
829
- // actually, could also be BigDecimal, so:
830
- if (_delegateDeserializer != null) {
831
- return _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
832
- }
833
- throw ctxt.instantiationException(getBeanClass(), "no suitable creator method found to deserialize from JSON floating-point number");
834
- }
835
-
836
- /**
837
- * Method called to deserialize POJO value from a JSON boolean
838
- * value (true, false)
839
- *
840
- * @since 1.9
841
- */
842
- public Object deserializeFromBoolean(JsonParser jp, DeserializationContext ctxt)
843
- throws IOException, JsonProcessingException
844
- {
845
- if (_delegateDeserializer != null) {
846
- if (!_valueInstantiator.canCreateFromBoolean()) {
847
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
848
- if (_injectables != null) {
849
- injectValues(ctxt, bean);
850
- }
851
- return bean;
852
- }
853
- }
854
- boolean value = (jp.getCurrentToken() == JsonToken.VALUE_TRUE);
855
- return _valueInstantiator.createFromBoolean(value);
856
- }
857
-
858
- /**
859
- * @since 1.9
860
- */
861
- public Object deserializeFromArray(JsonParser jp, DeserializationContext ctxt)
862
- throws IOException, JsonProcessingException
863
- {
864
- if (_delegateDeserializer != null) {
865
- try {
866
- Object bean = _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
867
- if (_injectables != null) {
868
- injectValues(ctxt, bean);
869
- }
870
- return bean;
871
- } catch (Exception e) {
872
- wrapInstantiationProblem(e, ctxt);
873
- }
874
- }
875
- throw ctxt.mappingException(getBeanClass());
876
- }
877
-
878
- /**
879
- * Method called to deserialize bean using "property-based creator":
880
- * this means that a non-default constructor or factory method is
881
- * called, and then possibly other setters. The trick is that
882
- * values for creator method need to be buffered, first; and
883
- * due to non-guaranteed ordering possibly some other properties
884
- * as well.
885
- *
886
- * @since 1.2
887
- */
888
- protected final Object _deserializeUsingPropertyBased(final JsonParser jp, final DeserializationContext ctxt)
889
- throws IOException, JsonProcessingException
890
- {
891
- final PropertyBasedCreator creator = _propertyBasedCreator;
892
- PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt);
893
-
894
- // 04-Jan-2010, tatu: May need to collect unknown properties for polymorphic cases
895
- TokenBuffer unknown = null;
896
-
897
- JsonToken t = jp.getCurrentToken();
898
- for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
899
- String propName = jp.getCurrentName();
900
- jp.nextToken(); // to point to value
901
- // creator property?
902
- SettableBeanProperty creatorProp = creator.findCreatorProperty(propName);
903
- if (creatorProp != null) {
904
- // Last creator property to set?
905
- Object value = creatorProp.deserialize(jp, ctxt);
906
- if (buffer.assignParameter(creatorProp.getPropertyIndex(), value)) {
907
- jp.nextToken(); // to move to following FIELD_NAME/END_OBJECT
908
- Object bean;
909
- try {
910
- bean = creator.build(buffer);
911
- } catch (Exception e) {
912
- wrapAndThrow(e, _beanType.getRawClass(), propName, ctxt);
913
- continue; // never gets here
914
- }
915
- // polymorphic?
916
- if (bean.getClass() != _beanType.getRawClass()) {
917
- return handlePolymorphic(jp, ctxt, bean, unknown);
918
- }
919
- if (unknown != null) { // nope, just extra unknown stuff...
920
- bean = handleUnknownProperties(ctxt, bean, unknown);
921
- }
922
- // or just clean?
923
- return deserialize(jp, ctxt, bean);
924
- }
925
- continue;
926
- }
927
- // regular property? needs buffering
928
- SettableBeanProperty prop = _beanProperties.find(propName);
929
- if (prop != null) {
930
- buffer.bufferProperty(prop, prop.deserialize(jp, ctxt));
931
- continue;
932
- }
933
- /* As per [JACKSON-313], things marked as ignorable should not be
934
- * passed to any setter
935
- */
936
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
937
- jp.skipChildren();
938
- continue;
939
- }
940
- // "any property"?
941
- if (_anySetter != null) {
942
- buffer.bufferAnyProperty(_anySetter, propName, _anySetter.deserialize(jp, ctxt));
943
- continue;
944
- }
945
- // Ok then, let's collect the whole field; name and value
946
- if (unknown == null) {
947
- unknown = new TokenBuffer(jp.getCodec());
948
- }
949
- unknown.writeFieldName(propName);
950
- unknown.copyCurrentStructure(jp);
951
- }
952
-
953
- // We hit END_OBJECT, so:
954
- Object bean;
955
- try {
956
- bean = creator.build(buffer);
957
- } catch (Exception e) {
958
- wrapInstantiationProblem(e, ctxt);
959
- return null; // never gets here
960
- }
961
- if (unknown != null) {
962
- // polymorphic?
963
- if (bean.getClass() != _beanType.getRawClass()) {
964
- return handlePolymorphic(null, ctxt, bean, unknown);
965
- }
966
- // no, just some extra unknown properties
967
- return handleUnknownProperties(ctxt, bean, unknown);
968
- }
969
- return bean;
970
- }
971
-
972
- /**
973
- * Method called in cases where we may have polymorphic deserialization
974
- * case: that is, type of Creator-constructed bean is not the type
975
- * of deserializer itself. It should be a sub-class or implementation
976
- * class; either way, we may have more specific deserializer to use
977
- * for handling it.
978
- *
979
- * @param jp (optional) If not null, parser that has more properties to handle
980
- * (in addition to buffered properties); if null, all properties are passed
981
- * in buffer
982
- */
983
- protected Object handlePolymorphic(JsonParser jp, DeserializationContext ctxt,
984
- Object bean, TokenBuffer unknownTokens)
985
- throws IOException, JsonProcessingException
986
- {
987
- // First things first: maybe there is a more specific deserializer available?
988
- JsonDeserializer<Object> subDeser = _findSubclassDeserializer(ctxt, bean, unknownTokens);
989
- if (subDeser != null) {
990
- if (unknownTokens != null) {
991
- // need to add END_OBJECT marker first
992
- unknownTokens.writeEndObject();
993
- JsonParser p2 = unknownTokens.asParser();
994
- p2.nextToken(); // to get to first data field
995
- bean = subDeser.deserialize(p2, ctxt, bean);
996
- }
997
- // Original parser may also have some leftovers
998
- if (jp != null) {
999
- bean = subDeser.deserialize(jp, ctxt, bean);
1000
- }
1001
- return bean;
1002
- }
1003
- // nope; need to use this deserializer. Unknowns we've seen so far?
1004
- if (unknownTokens != null) {
1005
- bean = handleUnknownProperties(ctxt, bean, unknownTokens);
1006
- }
1007
- // and/or things left to process via main parser?
1008
- if (jp != null) {
1009
- bean = deserialize(jp, ctxt, bean);
1010
- }
1011
- return bean;
1012
- }
1013
-
1014
- /*
1015
- /**********************************************************
1016
- /* Handling for cases where we have "unwrapped" values
1017
- /**********************************************************
1018
- */
1019
-
1020
- /**
1021
- * Method called when there are declared "unwrapped" properties
1022
- * which need special handling
1023
- */
1024
- protected Object deserializeWithUnwrapped(JsonParser jp, DeserializationContext ctxt)
1025
- throws IOException, JsonProcessingException
1026
- {
1027
- if (_delegateDeserializer != null) {
1028
- return _valueInstantiator.createUsingDelegate(_delegateDeserializer.deserialize(jp, ctxt));
1029
- }
1030
- if (_propertyBasedCreator != null) {
1031
- return deserializeUsingPropertyBasedWithUnwrapped(jp, ctxt);
1032
- }
1033
-
1034
- TokenBuffer tokens = new TokenBuffer(jp.getCodec());
1035
- tokens.writeStartObject();
1036
- final Object bean = _valueInstantiator.createUsingDefault();
1037
-
1038
- if (_injectables != null) {
1039
- injectValues(ctxt, bean);
1040
- }
1041
-
1042
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
1043
- String propName = jp.getCurrentName();
1044
- jp.nextToken();
1045
- SettableBeanProperty prop = _beanProperties.find(propName);
1046
- if (prop != null) { // normal case
1047
- try {
1048
- prop.deserializeAndSet(jp, ctxt, bean);
1049
- } catch (Exception e) {
1050
- wrapAndThrow(e, bean, propName, ctxt);
1051
- }
1052
- continue;
1053
- }
1054
- // ignorable things should be ignored
1055
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
1056
- jp.skipChildren();
1057
- continue;
1058
- }
1059
- // but... others should be passed to unwrapped property deserializers
1060
- tokens.writeFieldName(propName);
1061
- tokens.copyCurrentStructure(jp);
1062
- // how about any setter? We'll get copies but...
1063
- if (_anySetter != null) {
1064
- try {
1065
- _anySetter.deserializeAndSet(jp, ctxt, bean, propName);
1066
- } catch (Exception e) {
1067
- wrapAndThrow(e, bean, propName, ctxt);
1068
- }
1069
- continue;
1070
- }
1071
- }
1072
- tokens.writeEndObject();
1073
- _unwrappedPropertyHandler.processUnwrapped(jp, ctxt, bean, tokens);
1074
- return bean;
1075
- }
1076
-
1077
- protected Object deserializeWithUnwrapped(JsonParser jp, DeserializationContext ctxt, Object bean)
1078
- throws IOException, JsonProcessingException
1079
- {
1080
- JsonToken t = jp.getCurrentToken();
1081
- if (t == JsonToken.START_OBJECT) {
1082
- t = jp.nextToken();
1083
- }
1084
- TokenBuffer tokens = new TokenBuffer(jp.getCodec());
1085
- tokens.writeStartObject();
1086
- for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
1087
- String propName = jp.getCurrentName();
1088
- SettableBeanProperty prop = _beanProperties.find(propName);
1089
- jp.nextToken();
1090
- if (prop != null) { // normal case
1091
- try {
1092
- prop.deserializeAndSet(jp, ctxt, bean);
1093
- } catch (Exception e) {
1094
- wrapAndThrow(e, bean, propName, ctxt);
1095
- }
1096
- continue;
1097
- }
1098
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
1099
- jp.skipChildren();
1100
- continue;
1101
- }
1102
- // but... others should be passed to unwrapped property deserializers
1103
- tokens.writeFieldName(propName);
1104
- tokens.copyCurrentStructure(jp);
1105
- // how about any setter? We'll get copies but...
1106
- if (_anySetter != null) {
1107
- _anySetter.deserializeAndSet(jp, ctxt, bean, propName);
1108
- }
1109
- }
1110
- tokens.writeEndObject();
1111
- _unwrappedPropertyHandler.processUnwrapped(jp, ctxt, bean, tokens);
1112
- return bean;
1113
- }
1114
-
1115
- protected Object deserializeUsingPropertyBasedWithUnwrapped(JsonParser jp, DeserializationContext ctxt)
1116
- throws IOException, JsonProcessingException
1117
- {
1118
- final PropertyBasedCreator creator = _propertyBasedCreator;
1119
- PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt);
1120
-
1121
- TokenBuffer tokens = new TokenBuffer(jp.getCodec());
1122
- tokens.writeStartObject();
1123
-
1124
- JsonToken t = jp.getCurrentToken();
1125
- for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
1126
- String propName = jp.getCurrentName();
1127
- jp.nextToken(); // to point to value
1128
- // creator property?
1129
- SettableBeanProperty creatorProp = creator.findCreatorProperty(propName);
1130
- if (creatorProp != null) {
1131
- // Last creator property to set?
1132
- Object value = creatorProp.deserialize(jp, ctxt);
1133
- if (buffer.assignParameter(creatorProp.getPropertyIndex(), value)) {
1134
- t = jp.nextToken(); // to move to following FIELD_NAME/END_OBJECT
1135
- Object bean;
1136
- try {
1137
- bean = creator.build(buffer);
1138
- } catch (Exception e) {
1139
- wrapAndThrow(e, _beanType.getRawClass(), propName, ctxt);
1140
- continue; // never gets here
1141
- }
1142
- // if so, need to copy all remaining tokens into buffer
1143
- while (t == JsonToken.FIELD_NAME) {
1144
- jp.nextToken(); // to skip name
1145
- tokens.copyCurrentStructure(jp);
1146
- t = jp.nextToken();
1147
- }
1148
- tokens.writeEndObject();
1149
- if (bean.getClass() != _beanType.getRawClass()) {
1150
- // !!! 08-Jul-2011, tatu: Could probably support; but for now
1151
- // it's too complicated, so bail out
1152
- throw ctxt.mappingException("Can not create polymorphic instances with unwrapped values");
1153
- }
1154
- return _unwrappedPropertyHandler.processUnwrapped(jp, ctxt, bean, tokens);
1155
- }
1156
- continue;
1157
- }
1158
- // regular property? needs buffering
1159
- SettableBeanProperty prop = _beanProperties.find(propName);
1160
- if (prop != null) {
1161
- buffer.bufferProperty(prop, prop.deserialize(jp, ctxt));
1162
- continue;
1163
- }
1164
- /* As per [JACKSON-313], things marked as ignorable should not be
1165
- * passed to any setter
1166
- */
1167
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
1168
- jp.skipChildren();
1169
- continue;
1170
- }
1171
- tokens.writeFieldName(propName);
1172
- tokens.copyCurrentStructure(jp);
1173
- // "any property"?
1174
- if (_anySetter != null) {
1175
- buffer.bufferAnyProperty(_anySetter, propName, _anySetter.deserialize(jp, ctxt));
1176
- }
1177
- }
1178
-
1179
- // We hit END_OBJECT, so:
1180
- Object bean;
1181
- try {
1182
- bean = creator.build(buffer);
1183
- } catch (Exception e) {
1184
- wrapInstantiationProblem(e, ctxt);
1185
- return null; // never gets here
1186
- }
1187
- return _unwrappedPropertyHandler.processUnwrapped(jp, ctxt, bean, tokens);
1188
- }
1189
-
1190
- /*
1191
- /**********************************************************
1192
- /* Handling for cases where we have property/-ies wth
1193
- /* external type id
1194
- /**********************************************************
1195
- */
1196
-
1197
- protected Object deserializeWithExternalTypeId(JsonParser jp, DeserializationContext ctxt)
1198
- throws IOException, JsonProcessingException
1199
- {
1200
- if (_propertyBasedCreator != null) {
1201
- return deserializeUsingPropertyBasedWithExternalTypeId(jp, ctxt);
1202
- }
1203
- return deserializeWithExternalTypeId(jp, ctxt, _valueInstantiator.createUsingDefault());
1204
- }
1205
-
1206
- protected Object deserializeWithExternalTypeId(JsonParser jp, DeserializationContext ctxt,
1207
- Object bean)
1208
- throws IOException, JsonProcessingException
1209
- {
1210
- final ExternalTypeHandler ext = _externalTypeIdHandler.start();
1211
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
1212
- String propName = jp.getCurrentName();
1213
- jp.nextToken();
1214
- SettableBeanProperty prop = _beanProperties.find(propName);
1215
- if (prop != null) { // normal case
1216
- try {
1217
- prop.deserializeAndSet(jp, ctxt, bean);
1218
- } catch (Exception e) {
1219
- wrapAndThrow(e, bean, propName, ctxt);
1220
- }
1221
- continue;
1222
- }
1223
- // ignorable things should be ignored
1224
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
1225
- jp.skipChildren();
1226
- continue;
1227
- }
1228
- // but others are likely to be part of external type id thingy...
1229
- if (ext.handleToken(jp, ctxt, propName, bean)) {
1230
- continue;
1231
- }
1232
- // if not, the usual fallback handling:
1233
- if (_anySetter != null) {
1234
- try {
1235
- _anySetter.deserializeAndSet(jp, ctxt, bean, propName);
1236
- } catch (Exception e) {
1237
- wrapAndThrow(e, bean, propName, ctxt);
1238
- }
1239
- continue;
1240
- } else {
1241
- // Unknown: let's call handler method
1242
- handleUnknownProperty(jp, ctxt, bean, propName);
1243
- }
1244
- }
1245
- // and when we get this far, let's try finalizing the deal:
1246
- return ext.complete(jp, ctxt, bean);
1247
- }
1248
-
1249
- protected Object deserializeUsingPropertyBasedWithExternalTypeId(JsonParser jp, DeserializationContext ctxt)
1250
- throws IOException, JsonProcessingException
1251
- {
1252
- final ExternalTypeHandler ext = _externalTypeIdHandler.start();
1253
- final PropertyBasedCreator creator = _propertyBasedCreator;
1254
- PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt);
1255
-
1256
- TokenBuffer tokens = new TokenBuffer(jp.getCodec());
1257
- tokens.writeStartObject();
1258
-
1259
- JsonToken t = jp.getCurrentToken();
1260
- for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
1261
- String propName = jp.getCurrentName();
1262
- jp.nextToken(); // to point to value
1263
- // creator property?
1264
- SettableBeanProperty creatorProp = creator.findCreatorProperty(propName);
1265
- if (creatorProp != null) {
1266
- // Last creator property to set?
1267
- Object value = creatorProp.deserialize(jp, ctxt);
1268
- if (buffer.assignParameter(creatorProp.getPropertyIndex(), value)) {
1269
- t = jp.nextToken(); // to move to following FIELD_NAME/END_OBJECT
1270
- Object bean;
1271
- try {
1272
- bean = creator.build(buffer);
1273
- } catch (Exception e) {
1274
- wrapAndThrow(e, _beanType.getRawClass(), propName, ctxt);
1275
- continue; // never gets here
1276
- }
1277
- // if so, need to copy all remaining tokens into buffer
1278
- while (t == JsonToken.FIELD_NAME) {
1279
- jp.nextToken(); // to skip name
1280
- tokens.copyCurrentStructure(jp);
1281
- t = jp.nextToken();
1282
- }
1283
- if (bean.getClass() != _beanType.getRawClass()) {
1284
- // !!! 08-Jul-2011, tatu: Could probably support; but for now
1285
- // it's too complicated, so bail out
1286
- throw ctxt.mappingException("Can not create polymorphic instances with unwrapped values");
1287
- }
1288
- return ext.complete(jp, ctxt, bean);
1289
- }
1290
- continue;
1291
- }
1292
- // regular property? needs buffering
1293
- SettableBeanProperty prop = _beanProperties.find(propName);
1294
- if (prop != null) {
1295
- buffer.bufferProperty(prop, prop.deserialize(jp, ctxt));
1296
- continue;
1297
- }
1298
- // external type id (or property that depends on it)?
1299
- if (ext.handleToken(jp, ctxt, propName, null)) {
1300
- continue;
1301
- }
1302
- /* As per [JACKSON-313], things marked as ignorable should not be
1303
- * passed to any setter
1304
- */
1305
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
1306
- jp.skipChildren();
1307
- continue;
1308
- }
1309
- // "any property"?
1310
- if (_anySetter != null) {
1311
- buffer.bufferAnyProperty(_anySetter, propName, _anySetter.deserialize(jp, ctxt));
1312
- }
1313
- }
1314
-
1315
- // We hit END_OBJECT, so:
1316
- Object bean;
1317
- try {
1318
- bean = creator.build(buffer);
1319
- } catch (Exception e) {
1320
- wrapInstantiationProblem(e, ctxt);
1321
- return null; // never gets here
1322
- }
1323
- return ext.complete(jp, ctxt, bean);
1324
- }
1325
-
1326
- /*
1327
- /**********************************************************
1328
- /* Overridable helper methods
1329
- /**********************************************************
1330
- */
1331
-
1332
- protected void injectValues(DeserializationContext ctxt, Object bean)
1333
- throws IOException, JsonProcessingException
1334
- {
1335
- for (ValueInjector injector : _injectables) {
1336
- injector.inject(ctxt, bean);
1337
- }
1338
- }
1339
-
1340
- /**
1341
- * Method called when a JSON property is encountered that has not matching
1342
- * setter, any-setter or field, and thus can not be assigned.
1343
- */
1344
- @Override
1345
- protected void handleUnknownProperty(JsonParser jp, DeserializationContext ctxt, Object beanOrClass, String propName)
1346
- throws IOException, JsonProcessingException
1347
- {
1348
- /* 22-Aug-2010, tatu: Caller now mostly checks for ignorable properties, so
1349
- * following should not be necessary. However, "handleUnknownProperties()" seems
1350
- * to still possibly need it so it is left for now.
1351
- */
1352
- // If registered as ignorable, skip
1353
- if (_ignoreAllUnknown ||
1354
- (_ignorableProps != null && _ignorableProps.contains(propName))) {
1355
- jp.skipChildren();
1356
- return;
1357
- }
1358
- /* Otherwise use default handling (call handler(s); if not
1359
- * handled, throw exception or skip depending on settings)
1360
- */
1361
- super.handleUnknownProperty(jp, ctxt, beanOrClass, propName);
1362
- }
1363
-
1364
- /**
1365
- * Method called to handle set of one or more unknown properties,
1366
- * stored in their entirety in given {@link TokenBuffer}
1367
- * (as field entries, name and value).
1368
- */
1369
- protected Object handleUnknownProperties(DeserializationContext ctxt, Object bean, TokenBuffer unknownTokens)
1370
- throws IOException, JsonProcessingException
1371
- {
1372
- // First: add closing END_OBJECT as marker
1373
- unknownTokens.writeEndObject();
1374
-
1375
- // note: buffer does NOT have starting START_OBJECT
1376
- JsonParser bufferParser = unknownTokens.asParser();
1377
- while (bufferParser.nextToken() != JsonToken.END_OBJECT) {
1378
- String propName = bufferParser.getCurrentName();
1379
- // Unknown: let's call handler method
1380
- bufferParser.nextToken();
1381
- handleUnknownProperty(bufferParser, ctxt, bean, propName);
1382
- }
1383
- return bean;
1384
- }
1385
-
1386
- /**
1387
- * Helper method called to (try to) locate deserializer for given sub-type of
1388
- * type that this deserializer handles.
1389
- */
1390
- protected JsonDeserializer<Object> _findSubclassDeserializer(DeserializationContext ctxt, Object bean, TokenBuffer unknownTokens)
1391
- throws IOException, JsonProcessingException
1392
- {
1393
- JsonDeserializer<Object> subDeser;
1394
-
1395
- // First: maybe we have already created sub-type deserializer?
1396
- synchronized (this) {
1397
- subDeser = (_subDeserializers == null) ? null : _subDeserializers.get(new ClassKey(bean.getClass()));
1398
- }
1399
- if (subDeser != null) {
1400
- return subDeser;
1401
- }
1402
- // If not, maybe we can locate one. First, need provider
1403
- DeserializerProvider deserProv = ctxt.getDeserializerProvider();
1404
- if (deserProv != null) {
1405
- JavaType type = ctxt.constructType(bean.getClass());
1406
- /* 09-Dec-2010, tatu: Would be nice to know which property pointed to this
1407
- * bean... but, alas, no such information is retained, so:
1408
- */
1409
- subDeser = deserProv.findValueDeserializer(ctxt.getConfig(), type, _property);
1410
- // Also, need to cache it
1411
- if (subDeser != null) {
1412
- synchronized (this) {
1413
- if (_subDeserializers == null) {
1414
- _subDeserializers = new HashMap<ClassKey,JsonDeserializer<Object>>();;
1415
- }
1416
- _subDeserializers.put(new ClassKey(bean.getClass()), subDeser);
1417
- }
1418
- }
1419
- }
1420
- return subDeser;
1421
- }
1422
-
1423
- /*
1424
- /**********************************************************
1425
- /* Helper methods for error reporting
1426
- /**********************************************************
1427
- */
1428
-
1429
- /**
1430
- * Method that will modify caught exception (passed in as argument)
1431
- * as necessary to include reference information, and to ensure it
1432
- * is a subtype of {@link IOException}, or an unchecked exception.
1433
- *<p>
1434
- * Rules for wrapping and unwrapping are bit complicated; essentially:
1435
- *<ul>
1436
- * <li>Errors are to be passed as is (if uncovered via unwrapping)
1437
- * <li>"Plain" IOExceptions (ones that are not of type
1438
- * {@link JsonMappingException} are to be passed as is
1439
- *</ul>
1440
- */
1441
- public void wrapAndThrow(Throwable t, Object bean, String fieldName,
1442
- DeserializationContext ctxt)
1443
- throws IOException
1444
- {
1445
- /* 05-Mar-2009, tatu: But one nasty edge is when we get
1446
- * StackOverflow: usually due to infinite loop. But that
1447
- * usually gets hidden within an InvocationTargetException...
1448
- */
1449
- while (t instanceof InvocationTargetException && t.getCause() != null) {
1450
- t = t.getCause();
1451
- }
1452
- // Errors and "plain" IOExceptions to be passed as is
1453
- if (t instanceof Error) {
1454
- throw (Error) t;
1455
- }
1456
- boolean wrap = (ctxt == null) || ctxt.isEnabled(DeserializationConfig.Feature.WRAP_EXCEPTIONS);
1457
- // Ditto for IOExceptions; except we may want to wrap mapping exceptions
1458
- if (t instanceof IOException) {
1459
- if (!wrap || !(t instanceof JsonMappingException)) {
1460
- throw (IOException) t;
1461
- }
1462
- } else if (!wrap) { // [JACKSON-407] -- allow disabling wrapping for unchecked exceptions
1463
- if (t instanceof RuntimeException) {
1464
- throw (RuntimeException) t;
1465
- }
1466
- }
1467
- // [JACKSON-55] Need to add reference information
1468
- throw JsonMappingException.wrapWithPath(t, bean, fieldName);
1469
- }
1470
-
1471
- public void wrapAndThrow(Throwable t, Object bean, int index, DeserializationContext ctxt)
1472
- throws IOException
1473
- {
1474
- while (t instanceof InvocationTargetException && t.getCause() != null) {
1475
- t = t.getCause();
1476
- }
1477
- // Errors and "plain" IOExceptions to be passed as is
1478
- if (t instanceof Error) {
1479
- throw (Error) t;
1480
- }
1481
- boolean wrap = (ctxt == null) || ctxt.isEnabled(DeserializationConfig.Feature.WRAP_EXCEPTIONS);
1482
- // Ditto for IOExceptions; except we may want to wrap mapping exceptions
1483
- if (t instanceof IOException) {
1484
- if (!wrap || !(t instanceof JsonMappingException)) {
1485
- throw (IOException) t;
1486
- }
1487
- } else if (!wrap) { // [JACKSON-407] -- allow disabling wrapping for unchecked exceptions
1488
- if (t instanceof RuntimeException) {
1489
- throw (RuntimeException) t;
1490
- }
1491
- }
1492
- // [JACKSON-55] Need to add reference information
1493
- throw JsonMappingException.wrapWithPath(t, bean, index);
1494
- }
1495
-
1496
- protected void wrapInstantiationProblem(Throwable t, DeserializationContext ctxt)
1497
- throws IOException
1498
- {
1499
- while (t instanceof InvocationTargetException && t.getCause() != null) {
1500
- t = t.getCause();
1501
- }
1502
- // Errors and "plain" IOExceptions to be passed as is
1503
- if (t instanceof Error) {
1504
- throw (Error) t;
1505
- }
1506
- boolean wrap = (ctxt == null) || ctxt.isEnabled(DeserializationConfig.Feature.WRAP_EXCEPTIONS);
1507
- if (t instanceof IOException) {
1508
- // Since we have no more information to add, let's not actually wrap..
1509
- throw (IOException) t;
1510
- } else if (!wrap) { // [JACKSON-407] -- allow disabling wrapping for unchecked exceptions
1511
- if (t instanceof RuntimeException) {
1512
- throw (RuntimeException) t;
1513
- }
1514
- }
1515
- throw ctxt.instantiationException(_beanType.getRawClass(), t);
1516
- }
1517
-
1518
- /**
1519
- * @deprecated Since 1.7 use variant that takes {@link DeserializationContext}
1520
- */
1521
- @Deprecated
1522
- public void wrapAndThrow(Throwable t, Object bean, String fieldName)
1523
- throws IOException
1524
- {
1525
- wrapAndThrow(t, bean, fieldName, null);
1526
- }
1527
-
1528
- /**
1529
- * @deprecated Since 1.7 use variant that takes {@link DeserializationContext}
1530
- */
1531
- @Deprecated
1532
- public void wrapAndThrow(Throwable t, Object bean, int index)
1533
- throws IOException
1534
- {
1535
- wrapAndThrow(t, bean, index, null);
1536
- }
1537
- }