* Try commenting out clearAllStaticFieldsForUnitTest to see what happens
* Rename clearAllStaticFieldsForUnitTest to randomizeLocaleAndTimezone and only do that
* first pass moving core storage classes to storage-api
* move term service apis
* nearly done
* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor
* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor
* create new SearchConstants class to store platform independent search constants
* move a couple of subscription services
* move transaction processor adapter to storage
* version bump
* move searchparam
* fix test
* fix compile includes
* fix text
* fix docs
* Avoid dead SearchParameter links in CapabilityStatement
* Resolve fixmes
* Build fix
* Test fix
* Test fix
* Test fix
* Work on metadata
* Fixes
* Test fixes
* Test fix
* Test fix
* Test fixes
* Test fix
* Work on test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fix
* Fix params
* Resolve fixme
* Adjust changelogs
* Version bump to 5.6.0-PRE7
* Add license header
* Bump version to 5.6.0-PRE5-SNAPSHOT
* initial roughout of mdm clear batch job
* still roughing out classes
* finished first draft of reader
* most tests passing now
* all tests pass. now FIXMEs
* FIXMEs done. Time for regression.
* fix test
* changelog and docs
* fix test
* pre-review cleanup
* version bump
* move spring autowire deps for cdr
* move spring autowire deps for cdr
* finally got beans working phew
* rearrange method calls so persistence module can perform clear operation on its own
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_mdm/mdm_operations.md
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* review feedback
* review feedback
* Remove inheritance
* fix beans
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* prepare to add $delete-expunge operation that will create a spring batch job
* Add operation
* Wire up jpa provider. Begin with failing test.
* Copy/paste bulk import job as a starting point.
FIXME with proposed design
* delete expunge job parameter validation with test
* implemented reader
stubbed processor, writer
* wip for master merge
* started implementing reader
* started implementing reader
* working with stubs
* happy path batch delete expunge is done
* Provider done but test not passing. Guessing batch infrastructure not running in that test.
* IT test works now
* add reader test
* Converted delete _expunge=true to use new batch job
* DeleteExpungeDaoTest passes
* Fix test
* Change batch size to integer
* rename search count to batch size
* Make delete expunge partition aware
* updated docs
* pre-review cleanup
* change log
* add partition id to SystemRequestDetails
* Make RequestPartitionId serializable
* Change delete expunge provider to use partition id instead of tenant name
* fix tests
* test pointcut gets called
* assert on pointcut calls
* Add resource type to STORAGE_PARTITION_SELECTED pointcut
* bump hapi-fhir version
move expunge provider parameters from JpaConstants to ProviderConstants
* bump hapi-fhir version
* copyrights
* restore deleteexpungeservice for mdm
* restore deleteexpungeservice for mdm
* fix test
* public constants
* convert instant to date
* Moved expunge constants to ProviderConstants
* final review
* disabling InMemoryResourceMatcherR5Test.testNowNextMinute() to see if I can get a clean test run
* fix tests
* fix tests
* fix tests
* fix tests
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
* review feedback
* improve logging
* bump version
* version bump
* recovering from failed merge
* unzip RequestListJson per Gary's suggestion. I didn't want to do it at first, but as usual Gary was right.
* fix serialization
* Start work on OpenAPI
* Fixes
* Work on OpenAPI
* Cleanup
* Cleanup
* More swagger work
* Build fix
* More work
* More work
* Add documentation
* Docs fixes
* Add changelog
* License updates
* Add API
* Cleanup
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_plain/openapi.md
Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
* Work on scripts
* Add docs
* Compile fix
* Work on fixes
* Fix tests
* Test fix
* Test fix
* Build fix
* Tests
* Build fix
* Work on pipeline
* Version bump
* Test fix
* Version bump
* Test fix attempts
* Test fix
* Test fix
* Remove accidentally committed files
* Fixes
* Tets fixes
* Test fix
* Test fix
* Test fix
* Test fixes
* Test fixes
* Test fixes
* License header updates
* test fix
* Test fixes
* Test fix
* Test fixes
* Test fix
* Checkstyle bump
Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
* Start work on bul;k import
* Work on bulk import
* Have batch working
* Working
* Working
* More work
* More work on bulk export
* Address fixmes
* License header updates
* Test fixes
* License header updates
* Test fix
* Test fix
* Version bumps
* Work on config
* Test cleanup
* One more version bump
* Version bump
* CLeanup
* A few additions
* Test fixes
* Test fix
* Test fix
* Migration fix
* Test fix
* Test fix
* Search param service cleanup
* Work on collapsing search param
* Search param cleanup
* Work on build
* Test fix
* Test fixes
* Ongoing work
* Test fix
* Compile fix
* Test fixes
* Test fix
* Test fix
* License header updates
* Remove fixme
* Cleanup
* Cleanup
* Bump jaxb-runtime from 2.3.1 to 3.0.0
Bumps jaxb-runtime from 2.3.1 to 3.0.0.
Signed-off-by: dependabot[bot] <support@github.com>
* Bump jaxb-runtime from 2.3.1 to 3.0.0
Bumps jaxb-runtime from 2.3.1 to 3.0.0.
Signed-off-by: dependabot[bot] <support@github.com>
* Add jakarta bindings
* Dependency cleanup
* More depndency cleanup
* Work on deps
* Replace transaction annotation
* Cleanup
* Another fix
* Build fix
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
* Work on junit
* Work on junit 5
* Work on junit 5
* Bump errorprone vcersion
* Work on tests
* Junit 5 tweaks
* Fixes
* Work on tests
* Work on junit5
* Work on tests
* Test fixes
* Work on junit5
* Test work
* Get junit5 working
* Test fix
* Work on tests
* WOrk on tests
* Work on tests
* fixes
* Compile fix
* One more tweak
* Compile fix
* Add changelog
* Fix compile error
* Compile fix
* [dev] Integration of a Jackson serializer and deserializer - first stage
* [fix] Fixed some serializing issues
[improve] Improved the processing, removed the loggers
* [clean] Removed the JacksonSerializer class, replaced all the Gson classes with Jackson classes
* [clean] Small cleanup
* [improve] Throw a ConfigurationException if the JsonGenerator cannot be created
* [improve] Use the ObjectMapper's `readTree` instead of `readValue`
* [dev] Latest fixes and improvements
* [dev] Use the Jackson serializer
* [clean] Removed the ObjectMapper configuration, for now
* [fix] Use the GsonStructure also for the parsing of a FHIR resource
* [clean] Removed the LinkedList usage
* Work on preparing for merge of #1673
* Resolve build errors
* Work on parser integration
* Tests passing
* Resolve fixme
* CLeanup
* Fix dependency
Co-authored-by: Bogdan Solga <bogdan.solga@gmail.com>
* Validation enhancements
* Work on validation api reworking
* Keep working on validation API
* Keep working on new term API
* Work on validation api
* Ongoing work on validation
* Work on integrating validation
* Work on validation API
* Add to validation API
* Work on validation
* Work on API
* Work on validation
* Work on validation API
* Work on validation API
* Work on validation api
* Work on validation API
* Work on validation api
* Validation API changes
* Work on API
* More work on validationo API
* Work on validation API
* FIxes
* WOrk on validation api
* Work on validation API
* Tests passing!
* More cleanup
* More validation API changes
* Fix intermittent test failure
* Package reorg
* Validation API work
* Work on doocumentation
* Work on API
* More work on new validation API
* Fix errorprone-reported error
* Test fixes
* Documentation updates
* Documentation tweaks
* Work on API
* Bean name adjustments
* Build fixes
* Some test fixes
* Some CI surefire improvements
* Build tweak
* More tweak
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* One more CI attempt
* Update azure-pipelines.yml for Azure Pipelines
* Tweak command line
* Another build test fixc
* More build cleanup
* Add some logging
* Add more test logging
* Work on some test logging
* Fix compile error
* Work on codecov
* Work on codecov
* Remove test debug messages
* Start work on changing over
* Update tests
* More test fixes
* Work on generalizing binary access provider a bit
* Add expunge capability to binary storage, and also support actual binary
resources
* Work on binary provider
* Get the DB bound binary storage service working
* Test fixes
* Compile fix
* Fix compile error
* Test fix
* Test tweak
* Trying to figure out an intermittent failure
* Work on tests
* More work on tests
* Another test fix
* Ongoing work on core structures suport
* Ongoing work on this merge
* Ongoing work to clean up structures
* Credit for #1179
* Address compile issues
* Latest changes
* Work on parallel execution
* Work on getting tests passing
* Add H2 to migrator
* Test fix
* Initial consent svc
* Ongoing consent svc work
* Add docs
* Ongoing consent service work
* Work on consent service
* More work on consent svc
* License header updates
* Ongoing consent svc work
* Some test fixes
* Some test fixes
* More work on consent svc
* Tests working
* Test fix
* Propagate RequestDetails to everything in JPA server
* More interceptor tweaks
* Fix compile error
* One more tweak to captured SQL
* Ongoing interceptor tweaks
* Ongoing interceptor tweaks
* More interceptor tweaks
* Interceptor tweaks
* Tweaks to tests
* Fix tests
* Test fix
* Raise warnings when encoding extensions with missing values
* Consent service work
* More interceptor tweaks
* Consent interceptor tweaks
* Add logging to test
* Starting work on this
* Working on narrative templates
* Work on new narrative system
* Account for some failing tests due to refactoring of narrative mode
* Another test fix
* More test fixes
* One more test fix
* Work on searches
* Address review comments
* Replace phloc with ph
* Enable schematron tests
* Make HAPI-FHIR ph-schematron on OSGI
* Work on getting tests passing
* Another test fix
* Fix up transaction handling for DSTU2
* Add changelog
* Avoid double transaction
* Dont use readonly
* One more test fix
* Update to snapshow build
* Resolve a circular dependency
* Try to fix tests
* Solve recurring NPE in DSTU2 tests
* Fix one more test
* Test fix
* More test threading fixes
* One more attempt to get tests passing
* Refactoring for tests
* Refactoring for tests
Squashed commit of the following:
commit 12f89a423a
Author: James <jamesagnew@gmail.com>
Date: Sun Aug 13 14:38:51 2017 -0400
Minimize validation resources
commit f6868cce5c
Merge: 3b80779fd31e158311d8
Author: James <jamesagnew@gmail.com>
Date: Sun Aug 13 14:05:34 2017 -0400
Forward port fix for #710
Merge branch 'master' into hapi3_refactor
commit 3b80779fd3
Merge: 1f534985e8356d9acaf7
Author: James <jamesagnew@gmail.com>
Date: Sun Aug 13 12:31:09 2017 -0400
Forward port #705, #708, and #710
Merge branch 'master' into hapi3_refactor
commit 1f534985e8
Merge: 7c39a47852dedd3d635b
Author: James <jamesagnew@gmail.com>
Date: Sun Aug 13 10:52:59 2017 -0400
Forward port #695
Merge branch 'master' into hapi3_refactor
commit 7c39a47852
Merge: e0ffb84d216efafe62f1
Author: James <jamesagnew@gmail.com>
Date: Sun Aug 13 09:53:17 2017 -0400
Forward port #688
Merge branch 'master' into hapi3_refactor
commit e0ffb84d21
Merge: 52388c11c1d19b00ff09
Author: James <jamesagnew@gmail.com>
Date: Sat Aug 12 14:59:46 2017 -0400
Merge branch 'master' into hapi3_refactor
commit 52388c11c1
Author: James <jamesagnew@gmail.com>
Date: Sat Aug 12 06:21:46 2017 -0400
Cleanup
commit 209752cd63
Author: James <jamesagnew@gmail.com>
Date: Thu Aug 10 11:18:19 2017 -0400
Fix tests
commit 4543408dc8
Author: James <jamesagnew@gmail.com>
Date: Sat Aug 5 06:55:50 2017 -0400
Fix a potential deadlock
commit ee360f5376
Author: James <jamesagnew@gmail.com>
Date: Sat Aug 5 06:22:06 2017 -0400
Add R4 code to CLI
commit 1a95ba3b65
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Aug 3 06:14:01 2017 -0400
More cleanup
commit f0d8802681
Author: James <jamesagnew@gmail.com>
Date: Wed Aug 2 11:27:43 2017 -0400
Tests are working!
commit a4cbda357e
Author: James Agnew <jamesagnew@gmail.com>
Date: Wed Aug 2 10:42:04 2017 -0400
Connection handling cleanup for new tests
commit 0e2cecfbd0
Author: James Agnew <jamesagnew@gmail.com>
Date: Wed Aug 2 10:16:28 2017 -0400
Clean up R4 JPA tests
commit 40317a650d
Author: James <jamesagnew@gmail.com>
Date: Wed Aug 2 09:12:38 2017 -0400
Work on R4 for JPA server
commit e7f8f8c30d
Author: James <jamesagnew@gmail.com>
Date: Tue Aug 1 20:43:47 2017 -0400
More work on porting tests
commit 43c9003258
Author: James <jamesagnew@gmail.com>
Date: Tue Aug 1 07:09:29 2017 -0400
Work on porting DSTU1 tests
commit 602857f1e2
Author: James Agnew <jamesagnew@gmail.com>
Date: Mon Jul 31 22:34:08 2017 -0400
More work on bring unit tests up to date
commit e326a7b0cd
Author: James Agnew <jamesagnew@gmail.com>
Date: Mon Jul 31 17:36:38 2017 -0400
Credit for #686 and forward port the fix to R4 validator
commit 96543c3992
Merge: 3fb75aa61a9901b802c4
Author: James Agnew <jamesagnew@gmail.com>
Date: Mon Jul 31 17:12:33 2017 -0400
Merge branch 'master' into hapi3_refactor
commit 3fb75aa61a
Author: James <jamesagnew@gmail.com>
Date: Mon Jul 31 15:21:30 2017 -0400
More work on cleanup
commit b02fbb6804
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jul 30 22:11:07 2017 -0400
Work on porting STU1 tests
commit 1ae37b0db3
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jul 30 20:56:10 2017 -0400
Try to get coverage report working
commit 72b88849b3
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jul 30 20:27:02 2017 -0400
Fix android tests
commit e5f6c35aea
Author: James <jamesagnew@gmail.com>
Date: Sun Jul 30 19:31:18 2017 -0400
More work on getting legacy code cleaned up
commit 0b513b0845
Author: James <jamesagnew@gmail.com>
Date: Sun Jul 30 18:41:13 2017 -0400
Continue work on removing deprecated API
commit defea69aa3
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jul 30 17:10:01 2017 -0400
More cleanup of legacy code
commit 9ae7295705
Author: James <jamesagnew@gmail.com>
Date: Sun Jul 30 07:11:45 2017 -0400
More cleanup of legacy code
commit ebd3eeb5ee
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jul 30 06:43:25 2017 -0400
More work on removing legacy code
commit 92224c2532
Author: James <jamesagnew@gmail.com>
Date: Sat Jul 29 18:44:06 2017 -0400
Remove DSTU1 Bundle
commit c52cacf71b
Author: James <jamesagnew@gmail.com>
Date: Sat Jul 29 14:27:42 2017 -0400
Now compiling
commit b405e51773
Merge: c3ddf04e25cb2cea54d7
Author: James Agnew <jamesagnew@gmail.com>
Date: Fri Jul 28 06:21:02 2017 -0400
Merge branch 'master' into hapi3_refactor
commit c3ddf04e25
Author: James <jamesagnew@gmail.com>
Date: Thu Jul 27 11:06:06 2017 -0400
Sync R4 releases in
commit b13333c3c0
Author: James <jamesagnew@gmail.com>
Date: Fri Jul 14 05:52:33 2017 -0400
JPA server is now able to handle placeholder IDs (e.g. urn:uuid:00....000) being used in Bundle.entry.request.url as a part of the conditional URL within transactions.
commit 2e60ff7521
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 13 20:02:46 2017 -0400
Fix imports
commit a92ace2e0d
Merge: 3196db96d11a6b3ea867
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 13 12:02:27 2017 -0400
Merge branch 'master' into hapi3_refactor
commit 3196db96d1
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 13 11:48:10 2017 -0400
Don't add false paging link to request
commit bd4e1d3388
Author: James <jamesagnew@gmail.com>
Date: Sun Jul 9 21:32:16 2017 -0400
Finally building correctly!
commit 6464ce9304
Author: James <jamesagnew@gmail.com>
Date: Sun Jul 9 16:38:28 2017 -0400
Work on refactor
commit 0059f2e48e
Author: James <jamesagnew@gmail.com>
Date: Sat Jul 8 07:16:20 2017 -0400
Keep working on refactor
commit 6c2e87e8cc
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 6 22:35:13 2017 -0400
Lots of work on refactor
commit 11cab97504
Merge: 34ec6b88076c47bd4c51
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 6 21:43:57 2017 -0400
Merge branch 'master' into hapi3_refactor
commit 34ec6b8807
Merge: f8e647511bc520e60ac1
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 6 21:43:49 2017 -0400
Merge branch 'hapi3_refactor' of github.com:jamesagnew/hapi-fhir into hapi3_refactor
commit f8e647511b
Author: James Agnew <jamesagnew@gmail.com>
Date: Thu Jul 6 18:46:55 2017 -0400
Work on hapi3 changes
commit c520e60ac1
Author: James <jamesagnew@gmail.com>
Date: Wed Jul 5 08:08:40 2017 -0400
Keep working on refactor
commit f1d2ee9092
Author: James Agnew <jamesagnew@gmail.com>
Date: Mon Jul 3 22:10:59 2017 -0400
Continue refactor for HAPI 3
commit 9281ccafc3
Merge: ea1264cd8e294d080bd3
Author: James Agnew <jamesagnew@gmail.com>
Date: Mon Jul 3 20:34:16 2017 -0400
Merge branch 'master' into hapi3_refactor
commit ea1264cd8e
Author: James <jamesagnew@gmail.com>
Date: Wed Jun 28 10:26:01 2017 -0400
Continue work on refactor
commit fbe2f98a02
Merge: b2bef471000a4dcc32ec
Author: James <jamesagnew@gmail.com>
Date: Wed Jun 28 06:21:22 2017 -0400
Merge branch 'master' into hapi3_refactor
commit b2bef47100
Author: James <jamesagnew@gmail.com>
Date: Tue Jun 27 21:13:23 2017 -0400
Work on refactor
commit 8f76e4e463
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Jun 25 21:55:35 2017 -0400
Lots of work on refactoring
Squashed commit of the following:
commit 65b70d30c9
Author: James <jamesagnew@gmail.com>
Date: Tue Apr 18 07:44:08 2017 -0400
More work on bringing structs up to date
commit 1df2de0667
Author: James <jamesagnew@gmail.com>
Date: Tue Apr 18 07:12:45 2017 -0400
Working
commit 9a51323e03
Author: James <jamesagnew@gmail.com>
Date: Mon Apr 17 22:18:24 2017 -0400
Updates to STU3
commit 40aebba0a7
Author: James <jamesagnew@gmail.com>
Date: Mon Apr 17 18:30:26 2017 -0400
Fix regression caused by #610
Squashed commit of the following:
commit 81edf46fe02a88851693f958e60855edfe69c04c
Author: James Agnew <jamesagnew@gmail.com>
Date: Fri Mar 17 21:05:22 2017 -0400
Work on converter
commit 3342d987008892dd3a75dddd251fe599c31c5a6c
Author: James <jamesagnew@gmail.com>
Date: Fri Mar 17 08:40:37 2017 -0400
Site updates
commit 7dcb63904ece1fcb59a09dc268e8382ac0b75535
Author: James <jamesagnew@gmail.com>
Date: Fri Mar 17 08:36:39 2017 -0400
STU3 structs working!
commit c5aec809e3f19f3fedf0aaaeab8cdd7924c144a2
Author: James <jamesagnew@gmail.com>
Date: Fri Mar 17 07:05:54 2017 -0400
Format test
commit 5033090010e8c93644505bccaa5e41ccbd756485
Author: James <jamesagnew@gmail.com>
Date: Fri Mar 17 07:03:39 2017 -0400
Merge tests for STU3
commit de40a516bfa4d2ab7f5e28e2d95815fde68bd10a
Merge: d5a5a60 899ed25
Author: James <jamesagnew@gmail.com>
Date: Fri Mar 17 06:59:20 2017 -0400
Merge branch 'master' into dstu3_latest_structs
commit d5a5a601b53d8be6712f0bfe37ba7e6eb4d3ce58
Author: James <jamesagnew@gmail.com>
Date: Tue Mar 14 12:04:37 2017 -0400
Latest fixes
commit ae46ad53d2075e66e3c58c1e626652b4e144f20c
Author: James <jamesagnew@gmail.com>
Date: Tue Mar 14 06:51:59 2017 -0400
STU3 structs passing
commit ec3b62d31131d303001f8574c58fb7a8b8194f68
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 22:20:05 2017 -0400
Fix some tests
commit 933f9b08c32dd8671638f406a0966c5ee07d86a1
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 21:18:03 2017 -0400
Fix test
commit 2a3ad0b422f58cfffea966a7005c6a3d86d189da
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 21:07:33 2017 -0400
Resolve compile issues in STU3
commit fe04eba312a42c74b10a3971e4d61d58ba003bf9
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 20:51:35 2017 -0400
FIx compilation error
commit 6c63a558c97cf176105967a84a0b32472c6c0fcb
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 20:48:13 2017 -0400
Another STU3 struct fix
commit 6acd25458aad89aaff94768c824d4d1fcdac97ba
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 20:41:16 2017 -0400
Work on STU3 structs
commit 90a476dba2665a129572ad5cbbd8dd29afd9d4c8
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 20:28:32 2017 -0400
Resolve JDK8 dependencies
commit 783bc1519971e977fe7139aa1d3a2e7f37940a63
Author: James Agnew <jamesagnew@gmail.com>
Date: Sun Mar 12 20:20:57 2017 -0400
Fix some tests
commit 60c379175b689495e65278bb6a237af3de379aa8
Author: James <jamesagnew@gmail.com>
Date: Sun Mar 12 19:56:29 2017 -0400
Work on STU3 structs
commit e98c2eed6601f7009e199aca3b82399a3377077c
Author: James <jamesagnew@gmail.com>
Date: Sun Mar 12 19:41:48 2017 -0400
Work on DSTU3 structures
commit 3ce909212bf0f11561b8342d406cffcf957afeb3
Author: James <jamesagnew@gmail.com>
Date: Tue Mar 7 21:03:14 2017 -0500
Work up upgrading structs