Update the CDM objectmodel library to version 1.7.3. Higher versions are built in Java 9 and doesn't work because Spark 3.3 uses Java 8.
CDM content delivery network is being shutdown. Do not rely on the previously provided entity definitions that would have been provided by the CDN. Create your own entity definition/schema, meaning don't use entityDefinitionPath or useCdmStandardModelRoot.
Bugs and Workarounds:
OverridenCdmStandardsAdapter extends the CdmStandardsAdapter because the StorageAdapterBase base class has a bug where backwards compatibility is broken when mounting from a config. After mounting from config, you have to mount the new class. Future versions of the CDM library will have this bug fixed and this workaround will not be needed.
cdmCorpus.getStorage.mountFromConfig(config)
cdmCorpus.getStorage.mount("cdm", new OverridenCdmStandardsAdapter)
Predefined entity write doesn't work with the useSubManifest option. Workaround: As already mentioned in point 2 of the change, don't use predefined entity definitions.
Changes:
entityDefinitionPath
oruseCdmStandardModelRoot
.Bugs and Workarounds:
OverridenCdmStandardsAdapter
extends the CdmStandardsAdapter because theStorageAdapterBase
base class has a bug where backwards compatibility is broken when mounting from a config. After mounting from config, you have to mount the new class. Future versions of the CDM library will have this bug fixed and this workaround will not be needed.useSubManifest
option. Workaround: As already mentioned in point 2 of the change, don't use predefined entity definitions.