-
New Feature
-
Resolution: Done
-
Major
-
None
-
2.24.0.Final
-
2019 Week 50-52 (from Dec 9), 2020 Week 01-03 (from Dec 30), 2020 Week 04-06 (from Jan 20), 2020 Week 07-09 (from Feb 10), 2020 Week 10-12 (from Mar 2), 2020 Week 13-15 (from Mar 23), 2020 Week 16-18 (from Apr 13), 2020 Week 19-21 (from May 4)
-
NEW
-
NEW
There are occurrences in the code introduced an explicit dependency on nio2.jgit implementation. As a result, the nio2.jgit becomes a mandatory component for any Business Central to be able to boot up and run properly even if it can be replaced with other implementation, such as Business Central Monitoring.
The following line of code with hard coded dependency blocks BC/BC-M booting up if nio2.jgit is not configured.
https://github.com/kiegroup/appformer/blob/23d9b09b2729659a9e0fecb2c1d927af3cf80ae8/uberfire-backend/uberfire-backend-cdi/src/main/java/org/uberfire/backend/server/cdi/SystemConfigProducer.java#L410
The following lines of code with hard coded dependency breaks the functionalities of BC/BC-M if nio2.jgit is not configured
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/uberfire-showcase/uberfire-webapp/src/main/java/org/uberfire/backend/server/impl/ExperimentalEditorServiceImpl.java#L142
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/uberfire-experimental/uberfire-experimental-backend/src/main/java/org/uberfire/experimental/service/storage/impl/AbstractExperimentalFeaturesStorage.java#L194
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/dashbuilder/dashbuilder-backend/dashbuilder-services/src/main/java/org/dashbuilder/transfer/DataTransferServicesImpl.java#L136
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/dashbuilder/dashbuilder-backend/dashbuilder-services/src/main/java/org/dashbuilder/transfer/DataTransferServicesImpl.java#L153
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/dashbuilder/dashbuilder-backend/dashbuilder-services/src/main/java/org/dashbuilder/transfer/DataTransferServicesImpl.java#L216
https://github.com/kiegroup/appformer/blob/da01451141a32303470aa78a23c221d64569b59f/dashbuilder/dashbuilder-backend/dashbuilder-services/src/main/java/org/dashbuilder/transfer/DataTransferServicesImpl.java#L312
These classes have explicit dependencies on JGit implementation which break the webapp startup process.
https://github.com/kiegroup/appformer/blob/3a6161f007520c10f99db8af2a03f480e261a81e/dashbuilder/dashbuilder-backend/dashbuilder-services/src/main/java/org/dashbuilder/migration/DashbuilderDataMigration.java#L222
These classes have explicit dependencies on JGit implementation which may break the functionality if jgit is unplugged.
https://github.com/kiegroup/appformer/blob/3a6161f007520c10f99db8af2a03f480e261a81e/uberfire-project/uberfire-project-backend/src/main/java/org/guvnor/common/services/project/backend/server/utils/PathUtil.java#L69
The goal is to eliminate explicit dependencies which allows nio2.jgit to be plugged in as the Default FileSystemProvider or replaced by other FileSystem provider implementation, i.e. nio2.k8s.
- blocks
-
AF-2058 Provide alternative implementation of uberfire-nio2-impls backed by OCP/K8S
- Resolved