Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UIMA-6266 Clean json wire format for cas #137

Closed
wants to merge 41 commits into from

Conversation

reckart
Copy link
Member

@reckart reckart commented Aug 4, 2021

  • New JSON (de)serializer - draft...
  • Tests with reference files that showcase the format

https://issues.apache.org/jira/browse/UIMA-6266

- Adding license headers and auto-formatting
- Move draft code to a new package to better isolate it from the other code
- Use the XmiTestSuite to set up a bunch of tests in the JSON module - not really working yet, but generating a ton of different JSONs helping to get an idea about the differences of the possible formats
…te' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de--serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
@reckart reckart added the ⭐️ Enhancement Improvement or new feature for users label Aug 4, 2021
@reckart reckart added this to the 3.3.0 milestone Aug 4, 2021
@reckart reckart self-assigned this Aug 4, 2021
- Rewrite of the initial draft implementation
- Activated a few more tests for the new implementation
- Added missing license headers
- Adjust rat configuration
…te' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de--serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Unit test files should not include local paths with change depending on the system being built on
…est-suite' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* origin/feature/UIMA-6374-Create-CAS-de--serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Fix randomized tests
- Comment out generation of flags field - need to see if we really need it
…est-suite' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* origin/feature/UIMA-6374-Create-CAS-de--serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
  [UIMA-6372] Upgrade from JUnit 3 to JUnit 4 to JUnit 5

# Conflicts:
#	uimaj-core/src/test/java/org/apache/uima/cas/serdes/datasuites/MultiFeatureRandomCasDataSuite.java
- Fixed-up alternative serialization of feature structures as a JSON object with IDs being the keys and no ID field in the feature structures themselves
- Added a few unit test reference files for this alternative as well and activated programmatic and randomized ser/des tests
- Change ID generator to generate IDs starting at 1 and not at 0
- Added a few additional JSON key names
- Removed unused code
- Updated test data
- Changed field name for view members
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Serialize and parse the views section after the feature structures section
- Expand tests to new simple cases (empty CAS, CAS without text but with annotation)
- Little performance "test"
- Fix "performance test" not clearing the CAS during deserialization tests
- Cache object mapper in JsonCas2Deserializer
- Added offset conversion for Annotation begin/end to/from UTF8 and UTF32 (UTF16 is a NOP)
- Refactored performance "test" and also added one in core for the other serial formats
- Fix typo in class name
- Small reporting improvements and fixes
- Add warmup phase
- Fix support for floating point special values
- Allow writing test data out for debugging purposes
- Allow setting the IdRefGenerator and the TypeRefGenerator
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Added support for marking special float values in the feature name to disambiguate between string and number features with string values
- Added partial support for integer features marked as anchor features during parsing (not during serialization)
- Added option to not serialize the type system information to JSON
- Prepared option to serialize only the minimal type system information to JSON (but not actually implemented yet)
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Added programmatic special float values test reference data
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
- Fix parsing of special floating point values
- Fix tests
…e' into feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS

* feature/UIMA-6374-Create-CAS-de-serialization-test-suite:
  [UIMA-6374] Create CAS (de)serialization test suite
…-CAS

* main:
  [UIMA-6374] Create CAS (de)serialization test suite
  [UIMA-6387] Update p2 repo URLs from http to https
  [UIMA-6386] Wrong session set on ConfigurationManager in aggregates
  [UIMA-6328] UIMA Java SDK 2.11.0 release
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release uimaj-2.11.0
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release uimaj-2.11.0
  [UIMA-6328] UIMA Java SDK 2.11.0 release
  [UIMA-6310] JCasClassLoaderTest sometimes fails
  [UIMA-6328] UIMA Java SDK 2.11.0 release
  UIMA-6349: japicmp post processing script fails with Java 16
  [UIMA-6341] Try out p2-layout-resolver
  [UIMA-6328] UIMA Java SDK 2.11.0 release
  [UIMA-6299] Ensure that SNAPSHOT repos are commented out in POMs
  [UIMA-6328] UIMA Java SDK 2.11.0 release
  [UIMA-6310] JCasClassLoaderTest sometimes fails
…-CAS

* main:
  [UIMA-6390] NPE when trying to access config names of fresh context
  [UIMA-6390] NPE when trying to access config names of fresh context
  [UIMA-6390] NPE when trying to access config names of fresh context
  [UIMA-6390] NPE when trying to access config names of fresh context
  [UIMA-6389] Logger_common_impl swallows exception
  [UIMA-6389] Logger_common_impl swallows exception
  [UIMA-6389] Logger_common_impl swallows exception
  [UIMA-6389] Logger_common_impl swallows exception
…-CAS

* main: (35 commits)
  [UIMA-6401] CPE ThreadGroupDestroyer keeps unnecessary reference on CPMEngine
  [UIMA-6400] UimaContextHolder threadlocal can leak
  [UIMA-6374] Create CAS (de)serialization test suite (#160)
  [UIMA-6398] Classloader paradoxon and memory leak in UIMA loggers
  [UIMA-6398] Classloader paradoxon and memory leak in UIMA loggers
  [UIMA-6397] Remove unnecessary code from Class_TCCL.java
  [UIMA-6374] Create CAS (de)serialization test suite
  Fixed v3 update site url
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  [UIMA-6393]: Circular imports break resource manager cache
  ...
…-CAS

* main:
  [UIMA-6413] Memory leak in FSClassRegistry
  [UIMA-6413] Memory leak in FSClassRegistry
  [UIMA-6413] Memory leak in FSClassRegistry
  [UIMA-6373] Format UIMA Core Java SDK codebase
@reckart reckart removed this from the 3.3.0 milestone May 9, 2022
@reckart
Copy link
Member Author

reckart commented Jun 8, 2022

Has moved here: https://github.com/apache/uima-uimaj-io-jsoncas

@reckart reckart closed this Jun 8, 2022
@reckart reckart deleted the feature/UIMA-6266-Clean-JSON-Wire-Format-for-CAS branch January 12, 2023 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⭐️ Enhancement Improvement or new feature for users
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant