SPECS/cassandra/cassandra-bump-jackson-version.patch
cf8b9863
 From 76ef78b7d74972bd235159ca304648ab439fb715 Mon Sep 17 00:00:00 2001
 From: Lerh Chuan Low <lerh@instaclustr.com>
 Date: Mon, 30 Apr 2018 10:47:16 +1000
 Subject: [PATCH] Bump jackson version to >= 2.9.5
 
 patch by Lerh Chuan Low; reviewed by jasobrown for CASSANDRA-14427
 ---
  CHANGES.txt                                        |   1 +
  lib/licenses/jackson-annotations-2.9.5.txt         | 202 +++++++++++++++++++++
  lib/licenses/jackson-core-2.9.5.txt                | 202 +++++++++++++++++++++
  lib/licenses/jackson-core-asl-1.9.13.txt           | 202 ---------------------
  lib/licenses/jackson-databind-2.9.5.txt            | 202 +++++++++++++++++++++
  lib/licenses/jackson-mapper-asl-1.9.13.txt         | 202 ---------------------
  src/java/org/apache/cassandra/cql3/Json.java       |   6 +-
  .../cassandra/db/compaction/CompactionLogger.java  |  28 +--
  .../compaction/DateTieredCompactionStrategy.java   |   6 +-
  .../db/compaction/LeveledCompactionStrategy.java   |   6 +-
  .../apache/cassandra/tools/JsonTransformer.java    |  16 +-
  .../org/apache/cassandra/utils/FBUtilities.java    |   4 +-
  .../cassandra/db/marshal/JsonConversionTest.java   |   2 +-
  13 files changed, 641 insertions(+), 438 deletions(-)
  create mode 100644 lib/licenses/jackson-annotations-2.9.5.txt
  create mode 100644 lib/licenses/jackson-core-2.9.5.txt
  delete mode 100644 lib/licenses/jackson-core-asl-1.9.13.txt
  create mode 100644 lib/licenses/jackson-databind-2.9.5.txt
  delete mode 100644 lib/licenses/jackson-mapper-asl-1.9.13.txt
 
 diff --git a/CHANGES.txt b/CHANGES.txt
3be4b1da
 index e50cb29..efbfe75 100644
cf8b9863
 --- a/CHANGES.txt
 +++ b/CHANGES.txt
 @@ -1,4 +1,5 @@
3be4b1da
  3.11.6
cf8b9863
 + * Bump jackson version to >= 2.9.5 (CASSANDRA-14427)
3be4b1da
   * Fix bad UDT sstable metadata serialization headers written by C* 3.0 on upgrade and in sstablescrub (CASSANDRA-15035)
   * Fix nodetool compactionstats showing extra pending task for TWCS - patch implemented (CASSANDRA-15409)
   * Fix SELECT JSON formatting for the "duration" type (CASSANDRA-15075)
cf8b9863
 diff --git a/lib/licenses/jackson-annotations-2.9.5.txt b/lib/licenses/jackson-annotations-2.9.5.txt
 new file mode 100644
 index 0000000..d645695
 --- /dev/null
 +++ b/lib/licenses/jackson-annotations-2.9.5.txt
 @@ -0,0 +1,202 @@
 +
 +                                 Apache License
 +                           Version 2.0, January 2004
 +                        http://www.apache.org/licenses/
 +
 +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 +
 +   1. Definitions.
 +
 +      "License" shall mean the terms and conditions for use, reproduction,
 +      and distribution as defined by Sections 1 through 9 of this document.
 +
 +      "Licensor" shall mean the copyright owner or entity authorized by
 +      the copyright owner that is granting the License.
 +
 +      "Legal Entity" shall mean the union of the acting entity and all
 +      other entities that control, are controlled by, or are under common
 +      control with that entity. For the purposes of this definition,
 +      "control" means (i) the power, direct or indirect, to cause the
 +      direction or management of such entity, whether by contract or
 +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 +      outstanding shares, or (iii) beneficial ownership of such entity.
 +
 +      "You" (or "Your") shall mean an individual or Legal Entity
 +      exercising permissions granted by this License.
 +
 +      "Source" form shall mean the preferred form for making modifications,
 +      including but not limited to software source code, documentation
 +      source, and configuration files.
 +
 +      "Object" form shall mean any form resulting from mechanical
 +      transformation or translation of a Source form, including but
 +      not limited to compiled object code, generated documentation,
 +      and conversions to other media types.
 +
 +      "Work" shall mean the work of authorship, whether in Source or
 +      Object form, made available under the License, as indicated by a
 +      copyright notice that is included in or attached to the work
 +      (an example is provided in the Appendix below).
 +
 +      "Derivative Works" shall mean any work, whether in Source or Object
 +      form, that is based on (or derived from) the Work and for which the
 +      editorial revisions, annotations, elaborations, or other modifications
 +      represent, as a whole, an original work of authorship. For the purposes
 +      of this License, Derivative Works shall not include works that remain
 +      separable from, or merely link (or bind by name) to the interfaces of,
 +      the Work and Derivative Works thereof.
 +
 +      "Contribution" shall mean any work of authorship, including
 +      the original version of the Work and any modifications or additions
 +      to that Work or Derivative Works thereof, that is intentionally
 +      submitted to Licensor for inclusion in the Work by the copyright owner
 +      or by an individual or Legal Entity authorized to submit on behalf of
 +      the copyright owner. For the purposes of this definition, "submitted"
 +      means any form of electronic, verbal, or written communication sent
 +      to the Licensor or its representatives, including but not limited to
 +      communication on electronic mailing lists, source code control systems,
 +      and issue tracking systems that are managed by, or on behalf of, the
 +      Licensor for the purpose of discussing and improving the Work, but
 +      excluding communication that is conspicuously marked or otherwise
 +      designated in writing by the copyright owner as "Not a Contribution."
 +
 +      "Contributor" shall mean Licensor and any individual or Legal Entity
 +      on behalf of whom a Contribution has been received by Licensor and
 +      subsequently incorporated within the Work.
 +
 +   2. Grant of Copyright License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      copyright license to reproduce, prepare Derivative Works of,
 +      publicly display, publicly perform, sublicense, and distribute the
 +      Work and such Derivative Works in Source or Object form.
 +
 +   3. Grant of Patent License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      (except as stated in this section) patent license to make, have made,
 +      use, offer to sell, sell, import, and otherwise transfer the Work,
 +      where such license applies only to those patent claims licensable
 +      by such Contributor that are necessarily infringed by their
 +      Contribution(s) alone or by combination of their Contribution(s)
 +      with the Work to which such Contribution(s) was submitted. If You
 +      institute patent litigation against any entity (including a
 +      cross-claim or counterclaim in a lawsuit) alleging that the Work
 +      or a Contribution incorporated within the Work constitutes direct
 +      or contributory patent infringement, then any patent licenses
 +      granted to You under this License for that Work shall terminate
 +      as of the date such litigation is filed.
 +
 +   4. Redistribution. You may reproduce and distribute copies of the
 +      Work or Derivative Works thereof in any medium, with or without
 +      modifications, and in Source or Object form, provided that You
 +      meet the following conditions:
 +
 +      (a) You must give any other recipients of the Work or
 +          Derivative Works a copy of this License; and
 +
 +      (b) You must cause any modified files to carry prominent notices
 +          stating that You changed the files; and
 +
 +      (c) You must retain, in the Source form of any Derivative Works
 +          that You distribute, all copyright, patent, trademark, and
 +          attribution notices from the Source form of the Work,
 +          excluding those notices that do not pertain to any part of
 +          the Derivative Works; and
 +
 +      (d) If the Work includes a "NOTICE" text file as part of its
 +          distribution, then any Derivative Works that You distribute must
 +          include a readable copy of the attribution notices contained
 +          within such NOTICE file, excluding those notices that do not
 +          pertain to any part of the Derivative Works, in at least one
 +          of the following places: within a NOTICE text file distributed
 +          as part of the Derivative Works; within the Source form or
 +          documentation, if provided along with the Derivative Works; or,
 +          within a display generated by the Derivative Works, if and
 +          wherever such third-party notices normally appear. The contents
 +          of the NOTICE file are for informational purposes only and
 +          do not modify the License. You may add Your own attribution
 +          notices within Derivative Works that You distribute, alongside
 +          or as an addendum to the NOTICE text from the Work, provided
 +          that such additional attribution notices cannot be construed
 +          as modifying the License.
 +
 +      You may add Your own copyright statement to Your modifications and
 +      may provide additional or different license terms and conditions
 +      for use, reproduction, or distribution of Your modifications, or
 +      for any such Derivative Works as a whole, provided Your use,
 +      reproduction, and distribution of the Work otherwise complies with
 +      the conditions stated in this License.
 +
 +   5. Submission of Contributions. Unless You explicitly state otherwise,
 +      any Contribution intentionally submitted for inclusion in the Work
 +      by You to the Licensor shall be under the terms and conditions of
 +      this License, without any additional terms or conditions.
 +      Notwithstanding the above, nothing herein shall supersede or modify
 +      the terms of any separate license agreement you may have executed
 +      with Licensor regarding such Contributions.
 +
 +   6. Trademarks. This License does not grant permission to use the trade
 +      names, trademarks, service marks, or product names of the Licensor,
 +      except as required for reasonable and customary use in describing the
 +      origin of the Work and reproducing the content of the NOTICE file.
 +
 +   7. Disclaimer of Warranty. Unless required by applicable law or
 +      agreed to in writing, Licensor provides the Work (and each
 +      Contributor provides its Contributions) on an "AS IS" BASIS,
 +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 +      implied, including, without limitation, any warranties or conditions
 +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 +      PARTICULAR PURPOSE. You are solely responsible for determining the
 +      appropriateness of using or redistributing the Work and assume any
 +      risks associated with Your exercise of permissions under this License.
 +
 +   8. Limitation of Liability. In no event and under no legal theory,
 +      whether in tort (including negligence), contract, or otherwise,
 +      unless required by applicable law (such as deliberate and grossly
 +      negligent acts) or agreed to in writing, shall any Contributor be
 +      liable to You for damages, including any direct, indirect, special,
 +      incidental, or consequential damages of any character arising as a
 +      result of this License or out of the use or inability to use the
 +      Work (including but not limited to damages for loss of goodwill,
 +      work stoppage, computer failure or malfunction, or any and all
 +      other commercial damages or losses), even if such Contributor
 +      has been advised of the possibility of such damages.
 +
 +   9. Accepting Warranty or Additional Liability. While redistributing
 +      the Work or Derivative Works thereof, You may choose to offer,
 +      and charge a fee for, acceptance of support, warranty, indemnity,
 +      or other liability obligations and/or rights consistent with this
 +      License. However, in accepting such obligations, You may act only
 +      on Your own behalf and on Your sole responsibility, not on behalf
 +      of any other Contributor, and only if You agree to indemnify,
 +      defend, and hold each Contributor harmless for any liability
 +      incurred by, or claims asserted against, such Contributor by reason
 +      of your accepting any such warranty or additional liability.
 +
 +   END OF TERMS AND CONDITIONS
 +
 +   APPENDIX: How to apply the Apache License to your work.
 +
 +      To apply the Apache License to your work, attach the following
 +      boilerplate notice, with the fields enclosed by brackets "[]"
 +      replaced with your own identifying information. (Don't include
 +      the brackets!)  The text should be enclosed in the appropriate
 +      comment syntax for the file format. We also recommend that a
 +      file or class name and description of purpose be included on the
 +      same "printed page" as the copyright notice for easier
 +      identification within third-party archives.
 +
 +   Copyright [yyyy] [name of copyright owner]
 +
 +   Licensed under the Apache License, Version 2.0 (the "License");
 +   you may not use this file except in compliance with the License.
 +   You may obtain a copy of the License at
 +
 +       http://www.apache.org/licenses/LICENSE-2.0
 +
 +   Unless required by applicable law or agreed to in writing, software
 +   distributed under the License is distributed on an "AS IS" BASIS,
 +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +   See the License for the specific language governing permissions and
 +   limitations under the License.
 diff --git a/lib/licenses/jackson-core-2.9.5.txt b/lib/licenses/jackson-core-2.9.5.txt
 new file mode 100644
 index 0000000..d645695
 --- /dev/null
 +++ b/lib/licenses/jackson-core-2.9.5.txt
 @@ -0,0 +1,202 @@
 +
 +                                 Apache License
 +                           Version 2.0, January 2004
 +                        http://www.apache.org/licenses/
 +
 +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 +
 +   1. Definitions.
 +
 +      "License" shall mean the terms and conditions for use, reproduction,
 +      and distribution as defined by Sections 1 through 9 of this document.
 +
 +      "Licensor" shall mean the copyright owner or entity authorized by
 +      the copyright owner that is granting the License.
 +
 +      "Legal Entity" shall mean the union of the acting entity and all
 +      other entities that control, are controlled by, or are under common
 +      control with that entity. For the purposes of this definition,
 +      "control" means (i) the power, direct or indirect, to cause the
 +      direction or management of such entity, whether by contract or
 +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 +      outstanding shares, or (iii) beneficial ownership of such entity.
 +
 +      "You" (or "Your") shall mean an individual or Legal Entity
 +      exercising permissions granted by this License.
 +
 +      "Source" form shall mean the preferred form for making modifications,
 +      including but not limited to software source code, documentation
 +      source, and configuration files.
 +
 +      "Object" form shall mean any form resulting from mechanical
 +      transformation or translation of a Source form, including but
 +      not limited to compiled object code, generated documentation,
 +      and conversions to other media types.
 +
 +      "Work" shall mean the work of authorship, whether in Source or
 +      Object form, made available under the License, as indicated by a
 +      copyright notice that is included in or attached to the work
 +      (an example is provided in the Appendix below).
 +
 +      "Derivative Works" shall mean any work, whether in Source or Object
 +      form, that is based on (or derived from) the Work and for which the
 +      editorial revisions, annotations, elaborations, or other modifications
 +      represent, as a whole, an original work of authorship. For the purposes
 +      of this License, Derivative Works shall not include works that remain
 +      separable from, or merely link (or bind by name) to the interfaces of,
 +      the Work and Derivative Works thereof.
 +
 +      "Contribution" shall mean any work of authorship, including
 +      the original version of the Work and any modifications or additions
 +      to that Work or Derivative Works thereof, that is intentionally
 +      submitted to Licensor for inclusion in the Work by the copyright owner
 +      or by an individual or Legal Entity authorized to submit on behalf of
 +      the copyright owner. For the purposes of this definition, "submitted"
 +      means any form of electronic, verbal, or written communication sent
 +      to the Licensor or its representatives, including but not limited to
 +      communication on electronic mailing lists, source code control systems,
 +      and issue tracking systems that are managed by, or on behalf of, the
 +      Licensor for the purpose of discussing and improving the Work, but
 +      excluding communication that is conspicuously marked or otherwise
 +      designated in writing by the copyright owner as "Not a Contribution."
 +
 +      "Contributor" shall mean Licensor and any individual or Legal Entity
 +      on behalf of whom a Contribution has been received by Licensor and
 +      subsequently incorporated within the Work.
 +
 +   2. Grant of Copyright License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      copyright license to reproduce, prepare Derivative Works of,
 +      publicly display, publicly perform, sublicense, and distribute the
 +      Work and such Derivative Works in Source or Object form.
 +
 +   3. Grant of Patent License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      (except as stated in this section) patent license to make, have made,
 +      use, offer to sell, sell, import, and otherwise transfer the Work,
 +      where such license applies only to those patent claims licensable
 +      by such Contributor that are necessarily infringed by their
 +      Contribution(s) alone or by combination of their Contribution(s)
 +      with the Work to which such Contribution(s) was submitted. If You
 +      institute patent litigation against any entity (including a
 +      cross-claim or counterclaim in a lawsuit) alleging that the Work
 +      or a Contribution incorporated within the Work constitutes direct
 +      or contributory patent infringement, then any patent licenses
 +      granted to You under this License for that Work shall terminate
 +      as of the date such litigation is filed.
 +
 +   4. Redistribution. You may reproduce and distribute copies of the
 +      Work or Derivative Works thereof in any medium, with or without
 +      modifications, and in Source or Object form, provided that You
 +      meet the following conditions:
 +
 +      (a) You must give any other recipients of the Work or
 +          Derivative Works a copy of this License; and
 +
 +      (b) You must cause any modified files to carry prominent notices
 +          stating that You changed the files; and
 +
 +      (c) You must retain, in the Source form of any Derivative Works
 +          that You distribute, all copyright, patent, trademark, and
 +          attribution notices from the Source form of the Work,
 +          excluding those notices that do not pertain to any part of
 +          the Derivative Works; and
 +
 +      (d) If the Work includes a "NOTICE" text file as part of its
 +          distribution, then any Derivative Works that You distribute must
 +          include a readable copy of the attribution notices contained
 +          within such NOTICE file, excluding those notices that do not
 +          pertain to any part of the Derivative Works, in at least one
 +          of the following places: within a NOTICE text file distributed
 +          as part of the Derivative Works; within the Source form or
 +          documentation, if provided along with the Derivative Works; or,
 +          within a display generated by the Derivative Works, if and
 +          wherever such third-party notices normally appear. The contents
 +          of the NOTICE file are for informational purposes only and
 +          do not modify the License. You may add Your own attribution
 +          notices within Derivative Works that You distribute, alongside
 +          or as an addendum to the NOTICE text from the Work, provided
 +          that such additional attribution notices cannot be construed
 +          as modifying the License.
 +
 +      You may add Your own copyright statement to Your modifications and
 +      may provide additional or different license terms and conditions
 +      for use, reproduction, or distribution of Your modifications, or
 +      for any such Derivative Works as a whole, provided Your use,
 +      reproduction, and distribution of the Work otherwise complies with
 +      the conditions stated in this License.
 +
 +   5. Submission of Contributions. Unless You explicitly state otherwise,
 +      any Contribution intentionally submitted for inclusion in the Work
 +      by You to the Licensor shall be under the terms and conditions of
 +      this License, without any additional terms or conditions.
 +      Notwithstanding the above, nothing herein shall supersede or modify
 +      the terms of any separate license agreement you may have executed
 +      with Licensor regarding such Contributions.
 +
 +   6. Trademarks. This License does not grant permission to use the trade
 +      names, trademarks, service marks, or product names of the Licensor,
 +      except as required for reasonable and customary use in describing the
 +      origin of the Work and reproducing the content of the NOTICE file.
 +
 +   7. Disclaimer of Warranty. Unless required by applicable law or
 +      agreed to in writing, Licensor provides the Work (and each
 +      Contributor provides its Contributions) on an "AS IS" BASIS,
 +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 +      implied, including, without limitation, any warranties or conditions
 +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 +      PARTICULAR PURPOSE. You are solely responsible for determining the
 +      appropriateness of using or redistributing the Work and assume any
 +      risks associated with Your exercise of permissions under this License.
 +
 +   8. Limitation of Liability. In no event and under no legal theory,
 +      whether in tort (including negligence), contract, or otherwise,
 +      unless required by applicable law (such as deliberate and grossly
 +      negligent acts) or agreed to in writing, shall any Contributor be
 +      liable to You for damages, including any direct, indirect, special,
 +      incidental, or consequential damages of any character arising as a
 +      result of this License or out of the use or inability to use the
 +      Work (including but not limited to damages for loss of goodwill,
 +      work stoppage, computer failure or malfunction, or any and all
 +      other commercial damages or losses), even if such Contributor
 +      has been advised of the possibility of such damages.
 +
 +   9. Accepting Warranty or Additional Liability. While redistributing
 +      the Work or Derivative Works thereof, You may choose to offer,
 +      and charge a fee for, acceptance of support, warranty, indemnity,
 +      or other liability obligations and/or rights consistent with this
 +      License. However, in accepting such obligations, You may act only
 +      on Your own behalf and on Your sole responsibility, not on behalf
 +      of any other Contributor, and only if You agree to indemnify,
 +      defend, and hold each Contributor harmless for any liability
 +      incurred by, or claims asserted against, such Contributor by reason
 +      of your accepting any such warranty or additional liability.
 +
 +   END OF TERMS AND CONDITIONS
 +
 +   APPENDIX: How to apply the Apache License to your work.
 +
 +      To apply the Apache License to your work, attach the following
 +      boilerplate notice, with the fields enclosed by brackets "[]"
 +      replaced with your own identifying information. (Don't include
 +      the brackets!)  The text should be enclosed in the appropriate
 +      comment syntax for the file format. We also recommend that a
 +      file or class name and description of purpose be included on the
 +      same "printed page" as the copyright notice for easier
 +      identification within third-party archives.
 +
 +   Copyright [yyyy] [name of copyright owner]
 +
 +   Licensed under the Apache License, Version 2.0 (the "License");
 +   you may not use this file except in compliance with the License.
 +   You may obtain a copy of the License at
 +
 +       http://www.apache.org/licenses/LICENSE-2.0
 +
 +   Unless required by applicable law or agreed to in writing, software
 +   distributed under the License is distributed on an "AS IS" BASIS,
 +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +   See the License for the specific language governing permissions and
 +   limitations under the License.
 diff --git a/lib/licenses/jackson-core-asl-1.9.13.txt b/lib/licenses/jackson-core-asl-1.9.13.txt
 deleted file mode 100644
 index d645695..0000000
 --- a/lib/licenses/jackson-core-asl-1.9.13.txt
 +++ /dev/null
 @@ -1,202 +0,0 @@
 -
 -                                 Apache License
 -                           Version 2.0, January 2004
 -                        http://www.apache.org/licenses/
 -
 -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 -
 -   1. Definitions.
 -
 -      "License" shall mean the terms and conditions for use, reproduction,
 -      and distribution as defined by Sections 1 through 9 of this document.
 -
 -      "Licensor" shall mean the copyright owner or entity authorized by
 -      the copyright owner that is granting the License.
 -
 -      "Legal Entity" shall mean the union of the acting entity and all
 -      other entities that control, are controlled by, or are under common
 -      control with that entity. For the purposes of this definition,
 -      "control" means (i) the power, direct or indirect, to cause the
 -      direction or management of such entity, whether by contract or
 -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 -      outstanding shares, or (iii) beneficial ownership of such entity.
 -
 -      "You" (or "Your") shall mean an individual or Legal Entity
 -      exercising permissions granted by this License.
 -
 -      "Source" form shall mean the preferred form for making modifications,
 -      including but not limited to software source code, documentation
 -      source, and configuration files.
 -
 -      "Object" form shall mean any form resulting from mechanical
 -      transformation or translation of a Source form, including but
 -      not limited to compiled object code, generated documentation,
 -      and conversions to other media types.
 -
 -      "Work" shall mean the work of authorship, whether in Source or
 -      Object form, made available under the License, as indicated by a
 -      copyright notice that is included in or attached to the work
 -      (an example is provided in the Appendix below).
 -
 -      "Derivative Works" shall mean any work, whether in Source or Object
 -      form, that is based on (or derived from) the Work and for which the
 -      editorial revisions, annotations, elaborations, or other modifications
 -      represent, as a whole, an original work of authorship. For the purposes
 -      of this License, Derivative Works shall not include works that remain
 -      separable from, or merely link (or bind by name) to the interfaces of,
 -      the Work and Derivative Works thereof.
 -
 -      "Contribution" shall mean any work of authorship, including
 -      the original version of the Work and any modifications or additions
 -      to that Work or Derivative Works thereof, that is intentionally
 -      submitted to Licensor for inclusion in the Work by the copyright owner
 -      or by an individual or Legal Entity authorized to submit on behalf of
 -      the copyright owner. For the purposes of this definition, "submitted"
 -      means any form of electronic, verbal, or written communication sent
 -      to the Licensor or its representatives, including but not limited to
 -      communication on electronic mailing lists, source code control systems,
 -      and issue tracking systems that are managed by, or on behalf of, the
 -      Licensor for the purpose of discussing and improving the Work, but
 -      excluding communication that is conspicuously marked or otherwise
 -      designated in writing by the copyright owner as "Not a Contribution."
 -
 -      "Contributor" shall mean Licensor and any individual or Legal Entity
 -      on behalf of whom a Contribution has been received by Licensor and
 -      subsequently incorporated within the Work.
 -
 -   2. Grant of Copyright License. Subject to the terms and conditions of
 -      this License, each Contributor hereby grants to You a perpetual,
 -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 -      copyright license to reproduce, prepare Derivative Works of,
 -      publicly display, publicly perform, sublicense, and distribute the
 -      Work and such Derivative Works in Source or Object form.
 -
 -   3. Grant of Patent License. Subject to the terms and conditions of
 -      this License, each Contributor hereby grants to You a perpetual,
 -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 -      (except as stated in this section) patent license to make, have made,
 -      use, offer to sell, sell, import, and otherwise transfer the Work,
 -      where such license applies only to those patent claims licensable
 -      by such Contributor that are necessarily infringed by their
 -      Contribution(s) alone or by combination of their Contribution(s)
 -      with the Work to which such Contribution(s) was submitted. If You
 -      institute patent litigation against any entity (including a
 -      cross-claim or counterclaim in a lawsuit) alleging that the Work
 -      or a Contribution incorporated within the Work constitutes direct
 -      or contributory patent infringement, then any patent licenses
 -      granted to You under this License for that Work shall terminate
 -      as of the date such litigation is filed.
 -
 -   4. Redistribution. You may reproduce and distribute copies of the
 -      Work or Derivative Works thereof in any medium, with or without
 -      modifications, and in Source or Object form, provided that You
 -      meet the following conditions:
 -
 -      (a) You must give any other recipients of the Work or
 -          Derivative Works a copy of this License; and
 -
 -      (b) You must cause any modified files to carry prominent notices
 -          stating that You changed the files; and
 -
 -      (c) You must retain, in the Source form of any Derivative Works
 -          that You distribute, all copyright, patent, trademark, and
 -          attribution notices from the Source form of the Work,
 -          excluding those notices that do not pertain to any part of
 -          the Derivative Works; and
 -
 -      (d) If the Work includes a "NOTICE" text file as part of its
 -          distribution, then any Derivative Works that You distribute must
 -          include a readable copy of the attribution notices contained
 -          within such NOTICE file, excluding those notices that do not
 -          pertain to any part of the Derivative Works, in at least one
 -          of the following places: within a NOTICE text file distributed
 -          as part of the Derivative Works; within the Source form or
 -          documentation, if provided along with the Derivative Works; or,
 -          within a display generated by the Derivative Works, if and
 -          wherever such third-party notices normally appear. The contents
 -          of the NOTICE file are for informational purposes only and
 -          do not modify the License. You may add Your own attribution
 -          notices within Derivative Works that You distribute, alongside
 -          or as an addendum to the NOTICE text from the Work, provided
 -          that such additional attribution notices cannot be construed
 -          as modifying the License.
 -
 -      You may add Your own copyright statement to Your modifications and
 -      may provide additional or different license terms and conditions
 -      for use, reproduction, or distribution of Your modifications, or
 -      for any such Derivative Works as a whole, provided Your use,
 -      reproduction, and distribution of the Work otherwise complies with
 -      the conditions stated in this License.
 -
 -   5. Submission of Contributions. Unless You explicitly state otherwise,
 -      any Contribution intentionally submitted for inclusion in the Work
 -      by You to the Licensor shall be under the terms and conditions of
 -      this License, without any additional terms or conditions.
 -      Notwithstanding the above, nothing herein shall supersede or modify
 -      the terms of any separate license agreement you may have executed
 -      with Licensor regarding such Contributions.
 -
 -   6. Trademarks. This License does not grant permission to use the trade
 -      names, trademarks, service marks, or product names of the Licensor,
 -      except as required for reasonable and customary use in describing the
 -      origin of the Work and reproducing the content of the NOTICE file.
 -
 -   7. Disclaimer of Warranty. Unless required by applicable law or
 -      agreed to in writing, Licensor provides the Work (and each
 -      Contributor provides its Contributions) on an "AS IS" BASIS,
 -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 -      implied, including, without limitation, any warranties or conditions
 -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 -      PARTICULAR PURPOSE. You are solely responsible for determining the
 -      appropriateness of using or redistributing the Work and assume any
 -      risks associated with Your exercise of permissions under this License.
 -
 -   8. Limitation of Liability. In no event and under no legal theory,
 -      whether in tort (including negligence), contract, or otherwise,
 -      unless required by applicable law (such as deliberate and grossly
 -      negligent acts) or agreed to in writing, shall any Contributor be
 -      liable to You for damages, including any direct, indirect, special,
 -      incidental, or consequential damages of any character arising as a
 -      result of this License or out of the use or inability to use the
 -      Work (including but not limited to damages for loss of goodwill,
 -      work stoppage, computer failure or malfunction, or any and all
 -      other commercial damages or losses), even if such Contributor
 -      has been advised of the possibility of such damages.
 -
 -   9. Accepting Warranty or Additional Liability. While redistributing
 -      the Work or Derivative Works thereof, You may choose to offer,
 -      and charge a fee for, acceptance of support, warranty, indemnity,
 -      or other liability obligations and/or rights consistent with this
 -      License. However, in accepting such obligations, You may act only
 -      on Your own behalf and on Your sole responsibility, not on behalf
 -      of any other Contributor, and only if You agree to indemnify,
 -      defend, and hold each Contributor harmless for any liability
 -      incurred by, or claims asserted against, such Contributor by reason
 -      of your accepting any such warranty or additional liability.
 -
 -   END OF TERMS AND CONDITIONS
 -
 -   APPENDIX: How to apply the Apache License to your work.
 -
 -      To apply the Apache License to your work, attach the following
 -      boilerplate notice, with the fields enclosed by brackets "[]"
 -      replaced with your own identifying information. (Don't include
 -      the brackets!)  The text should be enclosed in the appropriate
 -      comment syntax for the file format. We also recommend that a
 -      file or class name and description of purpose be included on the
 -      same "printed page" as the copyright notice for easier
 -      identification within third-party archives.
 -
 -   Copyright [yyyy] [name of copyright owner]
 -
 -   Licensed under the Apache License, Version 2.0 (the "License");
 -   you may not use this file except in compliance with the License.
 -   You may obtain a copy of the License at
 -
 -       http://www.apache.org/licenses/LICENSE-2.0
 -
 -   Unless required by applicable law or agreed to in writing, software
 -   distributed under the License is distributed on an "AS IS" BASIS,
 -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 -   See the License for the specific language governing permissions and
 -   limitations under the License.
 diff --git a/lib/licenses/jackson-databind-2.9.5.txt b/lib/licenses/jackson-databind-2.9.5.txt
 new file mode 100644
 index 0000000..d645695
 --- /dev/null
 +++ b/lib/licenses/jackson-databind-2.9.5.txt
 @@ -0,0 +1,202 @@
 +
 +                                 Apache License
 +                           Version 2.0, January 2004
 +                        http://www.apache.org/licenses/
 +
 +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 +
 +   1. Definitions.
 +
 +      "License" shall mean the terms and conditions for use, reproduction,
 +      and distribution as defined by Sections 1 through 9 of this document.
 +
 +      "Licensor" shall mean the copyright owner or entity authorized by
 +      the copyright owner that is granting the License.
 +
 +      "Legal Entity" shall mean the union of the acting entity and all
 +      other entities that control, are controlled by, or are under common
 +      control with that entity. For the purposes of this definition,
 +      "control" means (i) the power, direct or indirect, to cause the
 +      direction or management of such entity, whether by contract or
 +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 +      outstanding shares, or (iii) beneficial ownership of such entity.
 +
 +      "You" (or "Your") shall mean an individual or Legal Entity
 +      exercising permissions granted by this License.
 +
 +      "Source" form shall mean the preferred form for making modifications,
 +      including but not limited to software source code, documentation
 +      source, and configuration files.
 +
 +      "Object" form shall mean any form resulting from mechanical
 +      transformation or translation of a Source form, including but
 +      not limited to compiled object code, generated documentation,
 +      and conversions to other media types.
 +
 +      "Work" shall mean the work of authorship, whether in Source or
 +      Object form, made available under the License, as indicated by a
 +      copyright notice that is included in or attached to the work
 +      (an example is provided in the Appendix below).
 +
 +      "Derivative Works" shall mean any work, whether in Source or Object
 +      form, that is based on (or derived from) the Work and for which the
 +      editorial revisions, annotations, elaborations, or other modifications
 +      represent, as a whole, an original work of authorship. For the purposes
 +      of this License, Derivative Works shall not include works that remain
 +      separable from, or merely link (or bind by name) to the interfaces of,
 +      the Work and Derivative Works thereof.
 +
 +      "Contribution" shall mean any work of authorship, including
 +      the original version of the Work and any modifications or additions
 +      to that Work or Derivative Works thereof, that is intentionally
 +      submitted to Licensor for inclusion in the Work by the copyright owner
 +      or by an individual or Legal Entity authorized to submit on behalf of
 +      the copyright owner. For the purposes of this definition, "submitted"
 +      means any form of electronic, verbal, or written communication sent
 +      to the Licensor or its representatives, including but not limited to
 +      communication on electronic mailing lists, source code control systems,
 +      and issue tracking systems that are managed by, or on behalf of, the
 +      Licensor for the purpose of discussing and improving the Work, but
 +      excluding communication that is conspicuously marked or otherwise
 +      designated in writing by the copyright owner as "Not a Contribution."
 +
 +      "Contributor" shall mean Licensor and any individual or Legal Entity
 +      on behalf of whom a Contribution has been received by Licensor and
 +      subsequently incorporated within the Work.
 +
 +   2. Grant of Copyright License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      copyright license to reproduce, prepare Derivative Works of,
 +      publicly display, publicly perform, sublicense, and distribute the
 +      Work and such Derivative Works in Source or Object form.
 +
 +   3. Grant of Patent License. Subject to the terms and conditions of
 +      this License, each Contributor hereby grants to You a perpetual,
 +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 +      (except as stated in this section) patent license to make, have made,
 +      use, offer to sell, sell, import, and otherwise transfer the Work,
 +      where such license applies only to those patent claims licensable
 +      by such Contributor that are necessarily infringed by their
 +      Contribution(s) alone or by combination of their Contribution(s)
 +      with the Work to which such Contribution(s) was submitted. If You
 +      institute patent litigation against any entity (including a
 +      cross-claim or counterclaim in a lawsuit) alleging that the Work
 +      or a Contribution incorporated within the Work constitutes direct
 +      or contributory patent infringement, then any patent licenses
 +      granted to You under this License for that Work shall terminate
 +      as of the date such litigation is filed.
 +
 +   4. Redistribution. You may reproduce and distribute copies of the
 +      Work or Derivative Works thereof in any medium, with or without
 +      modifications, and in Source or Object form, provided that You
 +      meet the following conditions:
 +
 +      (a) You must give any other recipients of the Work or
 +          Derivative Works a copy of this License; and
 +
 +      (b) You must cause any modified files to carry prominent notices
 +          stating that You changed the files; and
 +
 +      (c) You must retain, in the Source form of any Derivative Works
 +          that You distribute, all copyright, patent, trademark, and
 +          attribution notices from the Source form of the Work,
 +          excluding those notices that do not pertain to any part of
 +          the Derivative Works; and
 +
 +      (d) If the Work includes a "NOTICE" text file as part of its
 +          distribution, then any Derivative Works that You distribute must
 +          include a readable copy of the attribution notices contained
 +          within such NOTICE file, excluding those notices that do not
 +          pertain to any part of the Derivative Works, in at least one
 +          of the following places: within a NOTICE text file distributed
 +          as part of the Derivative Works; within the Source form or
 +          documentation, if provided along with the Derivative Works; or,
 +          within a display generated by the Derivative Works, if and
 +          wherever such third-party notices normally appear. The contents
 +          of the NOTICE file are for informational purposes only and
 +          do not modify the License. You may add Your own attribution
 +          notices within Derivative Works that You distribute, alongside
 +          or as an addendum to the NOTICE text from the Work, provided
 +          that such additional attribution notices cannot be construed
 +          as modifying the License.
 +
 +      You may add Your own copyright statement to Your modifications and
 +      may provide additional or different license terms and conditions
 +      for use, reproduction, or distribution of Your modifications, or
 +      for any such Derivative Works as a whole, provided Your use,
 +      reproduction, and distribution of the Work otherwise complies with
 +      the conditions stated in this License.
 +
 +   5. Submission of Contributions. Unless You explicitly state otherwise,
 +      any Contribution intentionally submitted for inclusion in the Work
 +      by You to the Licensor shall be under the terms and conditions of
 +      this License, without any additional terms or conditions.
 +      Notwithstanding the above, nothing herein shall supersede or modify
 +      the terms of any separate license agreement you may have executed
 +      with Licensor regarding such Contributions.
 +
 +   6. Trademarks. This License does not grant permission to use the trade
 +      names, trademarks, service marks, or product names of the Licensor,
 +      except as required for reasonable and customary use in describing the
 +      origin of the Work and reproducing the content of the NOTICE file.
 +
 +   7. Disclaimer of Warranty. Unless required by applicable law or
 +      agreed to in writing, Licensor provides the Work (and each
 +      Contributor provides its Contributions) on an "AS IS" BASIS,
 +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 +      implied, including, without limitation, any warranties or conditions
 +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 +      PARTICULAR PURPOSE. You are solely responsible for determining the
 +      appropriateness of using or redistributing the Work and assume any
 +      risks associated with Your exercise of permissions under this License.
 +
 +   8. Limitation of Liability. In no event and under no legal theory,
 +      whether in tort (including negligence), contract, or otherwise,
 +      unless required by applicable law (such as deliberate and grossly
 +      negligent acts) or agreed to in writing, shall any Contributor be
 +      liable to You for damages, including any direct, indirect, special,
 +      incidental, or consequential damages of any character arising as a
 +      result of this License or out of the use or inability to use the
 +      Work (including but not limited to damages for loss of goodwill,
 +      work stoppage, computer failure or malfunction, or any and all
 +      other commercial damages or losses), even if such Contributor
 +      has been advised of the possibility of such damages.
 +
 +   9. Accepting Warranty or Additional Liability. While redistributing
 +      the Work or Derivative Works thereof, You may choose to offer,
 +      and charge a fee for, acceptance of support, warranty, indemnity,
 +      or other liability obligations and/or rights consistent with this
 +      License. However, in accepting such obligations, You may act only
 +      on Your own behalf and on Your sole responsibility, not on behalf
 +      of any other Contributor, and only if You agree to indemnify,
 +      defend, and hold each Contributor harmless for any liability
 +      incurred by, or claims asserted against, such Contributor by reason
 +      of your accepting any such warranty or additional liability.
 +
 +   END OF TERMS AND CONDITIONS
 +
 +   APPENDIX: How to apply the Apache License to your work.
 +
 +      To apply the Apache License to your work, attach the following
 +      boilerplate notice, with the fields enclosed by brackets "[]"
 +      replaced with your own identifying information. (Don't include
 +      the brackets!)  The text should be enclosed in the appropriate
 +      comment syntax for the file format. We also recommend that a
 +      file or class name and description of purpose be included on the
 +      same "printed page" as the copyright notice for easier
 +      identification within third-party archives.
 +
 +   Copyright [yyyy] [name of copyright owner]
 +
 +   Licensed under the Apache License, Version 2.0 (the "License");
 +   you may not use this file except in compliance with the License.
 +   You may obtain a copy of the License at
 +
 +       http://www.apache.org/licenses/LICENSE-2.0
 +
 +   Unless required by applicable law or agreed to in writing, software
 +   distributed under the License is distributed on an "AS IS" BASIS,
 +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +   See the License for the specific language governing permissions and
 +   limitations under the License.
 diff --git a/lib/licenses/jackson-mapper-asl-1.9.13.txt b/lib/licenses/jackson-mapper-asl-1.9.13.txt
 deleted file mode 100644
 index d645695..0000000
 --- a/lib/licenses/jackson-mapper-asl-1.9.13.txt
 +++ /dev/null
 @@ -1,202 +0,0 @@
 -
 -                                 Apache License
 -                           Version 2.0, January 2004
 -                        http://www.apache.org/licenses/
 -
 -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 -
 -   1. Definitions.
 -
 -      "License" shall mean the terms and conditions for use, reproduction,
 -      and distribution as defined by Sections 1 through 9 of this document.
 -
 -      "Licensor" shall mean the copyright owner or entity authorized by
 -      the copyright owner that is granting the License.
 -
 -      "Legal Entity" shall mean the union of the acting entity and all
 -      other entities that control, are controlled by, or are under common
 -      control with that entity. For the purposes of this definition,
 -      "control" means (i) the power, direct or indirect, to cause the
 -      direction or management of such entity, whether by contract or
 -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 -      outstanding shares, or (iii) beneficial ownership of such entity.
 -
 -      "You" (or "Your") shall mean an individual or Legal Entity
 -      exercising permissions granted by this License.
 -
 -      "Source" form shall mean the preferred form for making modifications,
 -      including but not limited to software source code, documentation
 -      source, and configuration files.
 -
 -      "Object" form shall mean any form resulting from mechanical
 -      transformation or translation of a Source form, including but
 -      not limited to compiled object code, generated documentation,
 -      and conversions to other media types.
 -
 -      "Work" shall mean the work of authorship, whether in Source or
 -      Object form, made available under the License, as indicated by a
 -      copyright notice that is included in or attached to the work
 -      (an example is provided in the Appendix below).
 -
 -      "Derivative Works" shall mean any work, whether in Source or Object
 -      form, that is based on (or derived from) the Work and for which the
 -      editorial revisions, annotations, elaborations, or other modifications
 -      represent, as a whole, an original work of authorship. For the purposes
 -      of this License, Derivative Works shall not include works that remain
 -      separable from, or merely link (or bind by name) to the interfaces of,
 -      the Work and Derivative Works thereof.
 -
 -      "Contribution" shall mean any work of authorship, including
 -      the original version of the Work and any modifications or additions
 -      to that Work or Derivative Works thereof, that is intentionally
 -      submitted to Licensor for inclusion in the Work by the copyright owner
 -      or by an individual or Legal Entity authorized to submit on behalf of
 -      the copyright owner. For the purposes of this definition, "submitted"
 -      means any form of electronic, verbal, or written communication sent
 -      to the Licensor or its representatives, including but not limited to
 -      communication on electronic mailing lists, source code control systems,
 -      and issue tracking systems that are managed by, or on behalf of, the
 -      Licensor for the purpose of discussing and improving the Work, but
 -      excluding communication that is conspicuously marked or otherwise
 -      designated in writing by the copyright owner as "Not a Contribution."
 -
 -      "Contributor" shall mean Licensor and any individual or Legal Entity
 -      on behalf of whom a Contribution has been received by Licensor and
 -      subsequently incorporated within the Work.
 -
 -   2. Grant of Copyright License. Subject to the terms and conditions of
 -      this License, each Contributor hereby grants to You a perpetual,
 -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 -      copyright license to reproduce, prepare Derivative Works of,
 -      publicly display, publicly perform, sublicense, and distribute the
 -      Work and such Derivative Works in Source or Object form.
 -
 -   3. Grant of Patent License. Subject to the terms and conditions of
 -      this License, each Contributor hereby grants to You a perpetual,
 -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 -      (except as stated in this section) patent license to make, have made,
 -      use, offer to sell, sell, import, and otherwise transfer the Work,
 -      where such license applies only to those patent claims licensable
 -      by such Contributor that are necessarily infringed by their
 -      Contribution(s) alone or by combination of their Contribution(s)
 -      with the Work to which such Contribution(s) was submitted. If You
 -      institute patent litigation against any entity (including a
 -      cross-claim or counterclaim in a lawsuit) alleging that the Work
 -      or a Contribution incorporated within the Work constitutes direct
 -      or contributory patent infringement, then any patent licenses
 -      granted to You under this License for that Work shall terminate
 -      as of the date such litigation is filed.
 -
 -   4. Redistribution. You may reproduce and distribute copies of the
 -      Work or Derivative Works thereof in any medium, with or without
 -      modifications, and in Source or Object form, provided that You
 -      meet the following conditions:
 -
 -      (a) You must give any other recipients of the Work or
 -          Derivative Works a copy of this License; and
 -
 -      (b) You must cause any modified files to carry prominent notices
 -          stating that You changed the files; and
 -
 -      (c) You must retain, in the Source form of any Derivative Works
 -          that You distribute, all copyright, patent, trademark, and
 -          attribution notices from the Source form of the Work,
 -          excluding those notices that do not pertain to any part of
 -          the Derivative Works; and
 -
 -      (d) If the Work includes a "NOTICE" text file as part of its
 -          distribution, then any Derivative Works that You distribute must
 -          include a readable copy of the attribution notices contained
 -          within such NOTICE file, excluding those notices that do not
 -          pertain to any part of the Derivative Works, in at least one
 -          of the following places: within a NOTICE text file distributed
 -          as part of the Derivative Works; within the Source form or
 -          documentation, if provided along with the Derivative Works; or,
 -          within a display generated by the Derivative Works, if and
 -          wherever such third-party notices normally appear. The contents
 -          of the NOTICE file are for informational purposes only and
 -          do not modify the License. You may add Your own attribution
 -          notices within Derivative Works that You distribute, alongside
 -          or as an addendum to the NOTICE text from the Work, provided
 -          that such additional attribution notices cannot be construed
 -          as modifying the License.
 -
 -      You may add Your own copyright statement to Your modifications and
 -      may provide additional or different license terms and conditions
 -      for use, reproduction, or distribution of Your modifications, or
 -      for any such Derivative Works as a whole, provided Your use,
 -      reproduction, and distribution of the Work otherwise complies with
 -      the conditions stated in this License.
 -
 -   5. Submission of Contributions. Unless You explicitly state otherwise,
 -      any Contribution intentionally submitted for inclusion in the Work
 -      by You to the Licensor shall be under the terms and conditions of
 -      this License, without any additional terms or conditions.
 -      Notwithstanding the above, nothing herein shall supersede or modify
 -      the terms of any separate license agreement you may have executed
 -      with Licensor regarding such Contributions.
 -
 -   6. Trademarks. This License does not grant permission to use the trade
 -      names, trademarks, service marks, or product names of the Licensor,
 -      except as required for reasonable and customary use in describing the
 -      origin of the Work and reproducing the content of the NOTICE file.
 -
 -   7. Disclaimer of Warranty. Unless required by applicable law or
 -      agreed to in writing, Licensor provides the Work (and each
 -      Contributor provides its Contributions) on an "AS IS" BASIS,
 -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 -      implied, including, without limitation, any warranties or conditions
 -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 -      PARTICULAR PURPOSE. You are solely responsible for determining the
 -      appropriateness of using or redistributing the Work and assume any
 -      risks associated with Your exercise of permissions under this License.
 -
 -   8. Limitation of Liability. In no event and under no legal theory,
 -      whether in tort (including negligence), contract, or otherwise,
 -      unless required by applicable law (such as deliberate and grossly
 -      negligent acts) or agreed to in writing, shall any Contributor be
 -      liable to You for damages, including any direct, indirect, special,
 -      incidental, or consequential damages of any character arising as a
 -      result of this License or out of the use or inability to use the
 -      Work (including but not limited to damages for loss of goodwill,
 -      work stoppage, computer failure or malfunction, or any and all
 -      other commercial damages or losses), even if such Contributor
 -      has been advised of the possibility of such damages.
 -
 -   9. Accepting Warranty or Additional Liability. While redistributing
 -      the Work or Derivative Works thereof, You may choose to offer,
 -      and charge a fee for, acceptance of support, warranty, indemnity,
 -      or other liability obligations and/or rights consistent with this
 -      License. However, in accepting such obligations, You may act only
 -      on Your own behalf and on Your sole responsibility, not on behalf
 -      of any other Contributor, and only if You agree to indemnify,
 -      defend, and hold each Contributor harmless for any liability
 -      incurred by, or claims asserted against, such Contributor by reason
 -      of your accepting any such warranty or additional liability.
 -
 -   END OF TERMS AND CONDITIONS
 -
 -   APPENDIX: How to apply the Apache License to your work.
 -
 -      To apply the Apache License to your work, attach the following
 -      boilerplate notice, with the fields enclosed by brackets "[]"
 -      replaced with your own identifying information. (Don't include
 -      the brackets!)  The text should be enclosed in the appropriate
 -      comment syntax for the file format. We also recommend that a
 -      file or class name and description of purpose be included on the
 -      same "printed page" as the copyright notice for easier
 -      identification within third-party archives.
 -
 -   Copyright [yyyy] [name of copyright owner]
 -
 -   Licensed under the Apache License, Version 2.0 (the "License");
 -   you may not use this file except in compliance with the License.
 -   You may obtain a copy of the License at
 -
 -       http://www.apache.org/licenses/LICENSE-2.0
 -
 -   Unless required by applicable law or agreed to in writing, software
 -   distributed under the License is distributed on an "AS IS" BASIS,
 -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 -   See the License for the specific language governing permissions and
 -   limitations under the License.
 diff --git a/src/java/org/apache/cassandra/cql3/Json.java b/src/java/org/apache/cassandra/cql3/Json.java
 index 2e67a1e..371c152 100644
 --- a/src/java/org/apache/cassandra/cql3/Json.java
 +++ b/src/java/org/apache/cassandra/cql3/Json.java
 @@ -20,6 +20,8 @@ package org.apache.cassandra.cql3;
  import java.io.IOException;
  import java.util.*;
  
 +import com.fasterxml.jackson.core.util.BufferRecyclers;
 +import com.fasterxml.jackson.databind.ObjectMapper;
  import org.apache.cassandra.config.CFMetaData;
  import org.apache.cassandra.config.ColumnDefinition;
  import org.apache.cassandra.cql3.functions.Function;
 @@ -27,8 +29,6 @@ import org.apache.cassandra.db.marshal.AbstractType;
  import org.apache.cassandra.db.marshal.UTF8Type;
  import org.apache.cassandra.exceptions.InvalidRequestException;
  import org.apache.cassandra.serializers.MarshalException;
 -import org.codehaus.jackson.io.JsonStringEncoder;
 -import org.codehaus.jackson.map.ObjectMapper;
  
  /** Term-related classes for INSERT JSON support. */
  public class Json
 @@ -42,7 +42,7 @@ public class Json
       */
      public static String quoteAsJsonString(String s)
      {
 -        return new String(JsonStringEncoder.getInstance().quoteAsString(s));
 +        return new String(BufferRecyclers.getJsonStringEncoder().quoteAsString(s));
      }
  
      public static Object decodeJson(String json)
 diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionLogger.java b/src/java/org/apache/cassandra/db/compaction/CompactionLogger.java
 index c8def3d..f473be7 100644
 --- a/src/java/org/apache/cassandra/db/compaction/CompactionLogger.java
 +++ b/src/java/org/apache/cassandra/db/compaction/CompactionLogger.java
 @@ -37,13 +37,13 @@ import com.google.common.collect.MapMaker;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 +import com.fasterxml.jackson.databind.JsonNode;
 +import com.fasterxml.jackson.databind.node.ArrayNode;
 +import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 +import com.fasterxml.jackson.databind.node.ObjectNode;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.io.sstable.format.SSTableReader;
  import org.apache.cassandra.utils.NoSpamLogger;
 -import org.codehaus.jackson.JsonNode;
 -import org.codehaus.jackson.node.ArrayNode;
 -import org.codehaus.jackson.node.JsonNodeFactory;
 -import org.codehaus.jackson.node.ObjectNode;
  
  public class CompactionLogger
  {
 @@ -170,7 +170,7 @@ public class CompactionLogger
          node.put("size", sstable.onDiskLength());
          JsonNode logResult = strategy.strategyLogger().sstable(sstable);
          if (logResult != null)
 -            node.put("details", logResult);
 +            node.set("details", logResult);
          return node;
      }
  
 @@ -182,7 +182,7 @@ public class CompactionLogger
              return node;
          node.put("strategyId", getId(strategy));
          node.put("type", strategy.getName());
 -        node.put("tables", formatSSTables(strategy));
 +        node.set("tables", formatSSTables(strategy));
          node.put("repaired", csm.isRepaired(strategy));
          List<String> folders = csm.getStrategyFolders(strategy);
          ArrayNode folderNode = json.arrayNode();
 @@ -190,11 +190,11 @@ public class CompactionLogger
          {
              folderNode.add(folder);
          }
 -        node.put("folders", folderNode);
 +        node.set("folders", folderNode);
  
          JsonNode logResult = strategy.strategyLogger().options();
          if (logResult != null)
 -            node.put("options", logResult);
 +            node.set("options", logResult);
          return node;
      }
  
 @@ -209,7 +209,7 @@ public class CompactionLogger
      {
          ObjectNode node = json.objectNode();
          node.put("strategyId", getId(strategy));
 -        node.put("table", formatSSTable(strategy, sstable));
 +        node.set("table", formatSSTable(strategy, sstable));
          return node;
      }
  
 @@ -228,7 +228,7 @@ public class CompactionLogger
          ObjectNode node = json.objectNode();
          node.put("type", "enable");
          describeStrategy(node);
 -        node.put("strategies", compactionStrategyMap(this::startStrategy));
 +        node.set("strategies", compactionStrategyMap(this::startStrategy));
          return node;
      }
  
 @@ -247,7 +247,7 @@ public class CompactionLogger
              ObjectNode node = json.objectNode();
              node.put("type", "disable");
              describeStrategy(node);
 -            node.put("strategies", compactionStrategyMap(this::shutdownStrategy));
 +            node.set("strategies", compactionStrategyMap(this::shutdownStrategy));
              serializer.write(node, this::startStrategies, this);
          }
      }
 @@ -259,7 +259,7 @@ public class CompactionLogger
              ObjectNode node = json.objectNode();
              node.put("type", "flush");
              describeStrategy(node);
 -            node.put("tables", sstableMap(sstables, this::describeSSTable));
 +            node.set("tables", sstableMap(sstables, this::describeSSTable));
              serializer.write(node, this::startStrategies, this);
          }
      }
 @@ -273,8 +273,8 @@ public class CompactionLogger
              describeStrategy(node);
              node.put("start", String.valueOf(startTime));
              node.put("end", String.valueOf(endTime));
 -            node.put("input", sstableMap(input, this::describeSSTable));
 -            node.put("output", sstableMap(output, this::describeSSTable));
 +            node.set("input", sstableMap(input, this::describeSSTable));
 +            node.set("output", sstableMap(output, this::describeSSTable));
              serializer.write(node, this::startStrategies, this);
          }
      }
 diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
 index 83d77a9..ee9e3d5 100644
 --- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
 +++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java
 @@ -26,6 +26,9 @@ import com.google.common.collect.*;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 +import com.fasterxml.jackson.databind.JsonNode;
 +import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 +import com.fasterxml.jackson.databind.node.ObjectNode;
  import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
  import org.apache.cassandra.db.lifecycle.SSTableSet;
 @@ -33,9 +36,6 @@ import org.apache.cassandra.exceptions.ConfigurationException;
  import org.apache.cassandra.io.sstable.format.SSTableReader;
  import org.apache.cassandra.schema.CompactionParams;
  import org.apache.cassandra.utils.Pair;
 -import org.codehaus.jackson.JsonNode;
 -import org.codehaus.jackson.node.JsonNodeFactory;
 -import org.codehaus.jackson.node.ObjectNode;
  
  import static com.google.common.collect.Iterables.filter;
  
 diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 index 43c81a4..5dabfdc 100644
 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 @@ -28,6 +28,9 @@ import com.google.common.primitives.Doubles;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 +import com.fasterxml.jackson.databind.JsonNode;
 +import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 +import com.fasterxml.jackson.databind.node.ObjectNode;
  import org.apache.cassandra.config.CFMetaData;
  import org.apache.cassandra.config.Config;
  import org.apache.cassandra.db.ColumnFamilyStore;
 @@ -38,9 +41,6 @@ import org.apache.cassandra.dht.Token;
  import org.apache.cassandra.exceptions.ConfigurationException;
  import org.apache.cassandra.io.sstable.ISSTableScanner;
  import org.apache.cassandra.io.sstable.format.SSTableReader;
 -import org.codehaus.jackson.JsonNode;
 -import org.codehaus.jackson.node.JsonNodeFactory;
 -import org.codehaus.jackson.node.ObjectNode;
  
  public class LeveledCompactionStrategy extends AbstractCompactionStrategy
  {
 diff --git a/src/java/org/apache/cassandra/tools/JsonTransformer.java b/src/java/org/apache/cassandra/tools/JsonTransformer.java
 index 23ea3a6..597b04a 100644
 --- a/src/java/org/apache/cassandra/tools/JsonTransformer.java
 +++ b/src/java/org/apache/cassandra/tools/JsonTransformer.java
 @@ -49,11 +49,11 @@ import org.apache.cassandra.db.rows.UnfilteredRowIterator;
  import org.apache.cassandra.io.sstable.ISSTableScanner;
  import org.apache.cassandra.transport.ProtocolVersion;
  import org.apache.cassandra.utils.ByteBufferUtil;
 -import org.codehaus.jackson.JsonFactory;
 -import org.codehaus.jackson.JsonGenerator;
 -import org.codehaus.jackson.impl.Indenter;
 -import org.codehaus.jackson.util.DefaultPrettyPrinter;
 -import org.codehaus.jackson.util.DefaultPrettyPrinter.NopIndenter;
 +import com.fasterxml.jackson.core.JsonFactory;
 +import com.fasterxml.jackson.core.JsonGenerator;
 +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
 +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter.Indenter;
 +import com.fasterxml.jackson.core.util.MinimalPrettyPrinter;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 @@ -94,7 +94,7 @@ public final class JsonTransformer
      public static void toJson(ISSTableScanner currentScanner, Stream<UnfilteredRowIterator> partitions, boolean rawTime, CFMetaData metadata, OutputStream out)
              throws IOException
      {
 -        try (JsonGenerator json = jsonFactory.createJsonGenerator(new OutputStreamWriter(out, StandardCharsets.UTF_8)))
 +        try (JsonGenerator json = jsonFactory.createGenerator(new OutputStreamWriter(out, StandardCharsets.UTF_8)))
          {
              JsonTransformer transformer = new JsonTransformer(json, currentScanner, rawTime, metadata);
              json.writeStartArray();
 @@ -105,7 +105,7 @@ public final class JsonTransformer
  
      public static void keysToJson(ISSTableScanner currentScanner, Stream<DecoratedKey> keys, boolean rawTime, CFMetaData metadata, OutputStream out) throws IOException
      {
 -        try (JsonGenerator json = jsonFactory.createJsonGenerator(new OutputStreamWriter(out, StandardCharsets.UTF_8)))
 +        try (JsonGenerator json = jsonFactory.createGenerator(new OutputStreamWriter(out, StandardCharsets.UTF_8)))
          {
              JsonTransformer transformer = new JsonTransformer(json, currentScanner, rawTime, metadata);
              json.writeStartArray();
 @@ -501,7 +501,7 @@ public final class JsonTransformer
       * A specialized {@link Indenter} that enables a 'compact' mode which puts all subsequent json values on the same
       * line. This is manipulated via {@link CompactIndenter#setCompact(boolean)}
       */
 -    private static final class CompactIndenter extends NopIndenter
 +    private static final class CompactIndenter extends DefaultPrettyPrinter.NopIndenter
      {
  
          private static final int INDENT_LEVELS = 16;
 diff --git a/src/java/org/apache/cassandra/utils/FBUtilities.java b/src/java/org/apache/cassandra/utils/FBUtilities.java
 index 266d428..3227ee2 100644
 --- a/src/java/org/apache/cassandra/utils/FBUtilities.java
 +++ b/src/java/org/apache/cassandra/utils/FBUtilities.java
 @@ -41,6 +41,8 @@ import org.apache.commons.lang3.StringUtils;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 +import com.fasterxml.jackson.core.JsonFactory;
 +import com.fasterxml.jackson.databind.ObjectMapper;
  import io.netty.util.concurrent.FastThreadLocal;
  import org.apache.cassandra.auth.IAuthenticator;
  import org.apache.cassandra.auth.IAuthorizer;
 @@ -65,8 +67,6 @@ import org.apache.cassandra.io.util.FileUtils;
  import org.apache.cassandra.locator.InetAddressAndPort;
  import org.apache.cassandra.net.AsyncOneResponse;
  
 -import org.codehaus.jackson.JsonFactory;
 -import org.codehaus.jackson.map.ObjectMapper;
  
  public class FBUtilities
  {
 diff --git a/test/unit/org/apache/cassandra/db/marshal/JsonConversionTest.java b/test/unit/org/apache/cassandra/db/marshal/JsonConversionTest.java
 index 0cebd9e..3e58a1a 100644
 --- a/test/unit/org/apache/cassandra/db/marshal/JsonConversionTest.java
 +++ b/test/unit/org/apache/cassandra/db/marshal/JsonConversionTest.java
 @@ -20,11 +20,11 @@ package org.apache.cassandra.db.marshal;
  
  import static org.junit.Assert.assertEquals;
  
 +import com.fasterxml.jackson.databind.ObjectMapper;
  import java.nio.ByteBuffer;
  import org.apache.cassandra.cql3.QueryOptions;
  import org.apache.cassandra.transport.ProtocolVersion;
  import org.apache.cassandra.utils.UUIDGen;
 -import org.codehaus.jackson.map.ObjectMapper;
  import org.junit.Test;
  
  public class JsonConversionTest
 -- 
 2.7.4