Production and Reservoir DMS Issues
Blockers:
- Common auth flow through Entitlements service is not used. #5
- Integration with the Partition service is missing. #6
- A common testing framework is required. #8
- Secrets present in source code. #9 (closed)
- Mandatory encryption and decryption of DB auth is redundant. #7 (closed)
Not compliant with OSDU development principles. Not blocker.
- Mix of production and testing code in the same modules. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm-repo/dspdm-metadata-dao/src/main/java/com/lgc/dspdm/core/dao/util/DatabaseMetadataUtils.java?ref_type=heads
- Spring is not used, which could reduce common OSDU code reusability. Some things from libraries should be developed from scratch.
- Heavy dependency on maven configurations, could complicate development. OSDU usually builds a single binary which is reusable elsewhere, environment variables used to switch environments, not the differently compiled binaries. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/pom.xml#L39
- A lot of code is not being used. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm-common/src/main/java/com/lgc/dspdm/core/common/util/HttpUtils.java
- Configurations lack flexibility. It's either a runtime map, property file, or env. OSDU platform should be able to consume properties and env vars simultaneously. Env vars should be able to override properties. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm-common/src/main/java/com/lgc/dspdm/core/common/config/ConnectionProperties.java#L103
- 4339 sonar issues reported.
- The service is not compatible with Community implementation architecture.
- Using Docker-related configurations in Maven might be redundant and could potentially complicate overall maintenance. In OSDU, we have well-defined build processes where Maven is primarily used for building JAR files, while other tools handle the remaining tasks. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm.msp.mainservice/pom.xml#L332
- Multiple hardcoded values. https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm-common/src/main/java/com/lgc/dspdm/core/common/util/AESSecurityUtilsCCMImpl.java?ref_type=heads#L26
- Mix of JDK versions in POM files, to run the service 11 version is required but some POMs point out the 8 version. Examples: https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm.msp.mainservice/pom.xml?ref_type=heads#L309 and https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/production/core/dspdm-services/-/blob/main/src/dspdm.msp.mainservice/pom.xml?ref_type=heads#L20