This is an automated email from the ASF dual-hosted git repository.
aleks pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
from 98968e5736 Merge pull request #5658
add 7d7371a585 FINERACT-2469: New command processing - add pre/post/error
processor concept
add bbece9cace Merge pull request #5690 from
vidakovic/feature/FINERACT-2469
No new revisions were added by this update.
Summary of changes:
build.gradle | 7 +
.../groovy/org.apache.fineract.dependencies.gradle | 2 +-
config/checkstyle/suppressions.xml | 7 +
.../build.gradle | 4 +-
.../dependencies.gradle | 27 +--
.../command/async/AsyncCommandProperties.java | 15 +-
.../implementation/AsyncCommandDispatcher.java | 52 ++---
.../starter/AsyncCommandAutoConfiguration.java | 11 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
.../fineract/command/async}/TestConfiguration.java | 24 ++-
.../src/test/resources/application-test.properties | 5 +-
.../build.gradle | 9 +-
.../dependencies.gradle | 24 +--
.../command/audit/AuditCommandConstants.java | 13 +-
.../command/audit/AuditCommandProperties.java | 11 +-
.../command/audit/hook/AuditCommandHookAfter.java | 37 ++--
.../command/audit/hook/AuditCommandHookBefore.java | 37 ++--
.../command/audit/hook/AuditCommandHookError.java | 37 ++--
.../starter/AuditCommandAutoConfiguration.java | 12 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
.../fineract/command/audit}/TestConfiguration.java | 24 ++-
.../src/test/resources/application-test.properties | 12 +-
.../build.gradle | 6 +-
.../dependencies.gradle | 28 +--
.../disruptor/DisruptorCommandProperties.java | 16 +-
.../implementation/DisruptorCommandDispatcher.java | 63 +++---
.../starter/DisruptorCommandAutoConfiguration.java | 13 +-
.../starter/DisruptorCommandConfiguration.java | 31 +--
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
.../DisruptorCommandDispatcherBenchmark.java | 91 +++++++++
.../src/test/resources/application-test.properties | 6 +-
.../build.gradle | 9 +-
.../dependencies.gradle | 30 +--
.../command/jdbc/JdbcCommandProperties.java | 28 +--
.../jdbc/starter/JdbcCommandAutoConfiguration.java | 21 +-
.../command/jdbc/store/JdbcCommandStore.java | 140 +++++++++++++
.../store}/converter/JsonNodeReadingConverter.java | 2 +-
.../store}/converter/JsonNodeWritingConverter.java | 2 +-
.../command/jdbc/store}/domain/CommandEntity.java | 4 +-
.../jdbc/store}/domain/CommandRepository.java | 2 +-
.../jdbc/store}/mapping/CommandJsonMapper.java | 2 +-
.../command/jdbc/store}/mapping/CommandMapper.java | 5 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
.../module/command/module-changelog-master.xml | 0
.../module/command/parts/0001_command_init.xml | 0
.../command/parts/0002_command_fix_structure.xml | 0
.../command/jdbc/CommandRepositoryTest.java | 24 ++-
.../fineract/command/jdbc}/TestConfiguration.java | 10 +-
.../src/test/resources/application-test.properties | 10 +-
.../build.gradle | 9 +-
.../dependencies.gradle | 40 ++--
.../fineract/command/test}/CommandBaseTest.java | 30 +--
.../test}/sample/api/DummyApiController.java | 23 +--
.../test}/sample/api/DummyExceptionHandler.java | 4 +-
.../command/test}/sample/command/DummyCommand.java | 4 +-
.../test}/sample/command/DummyErrorCommand.java | 4 +-
.../command/test}/sample/data/DummyError.java | 2 +-
.../test}/sample/data/DummyErrorRequest.java | 2 +-
.../test}/sample/data/DummyErrorResponse.java | 2 +-
.../command/test}/sample/data/DummyRequest.java | 6 +-
.../command/test}/sample/data/DummyResponse.java | 4 +-
.../test}/sample/exception/DummyException.java | 2 +-
.../test}/sample/handler/DummyCommandHandler.java | 10 +-
.../sample/handler/DummyErrorCommandHandler.java | 8 +-
.../test}/sample/service/DefaultDummyService.java | 10 +-
.../command/test}/sample/service/DummyService.java | 6 +-
fineract-command/REFACTORING.md | 10 +-
fineract-command/build.gradle | 10 -
fineract-command/dependencies.gradle | 25 +--
.../fineract/command/core/CommandConstants.java | 8 +-
...CommandExecutor.java => CommandDispatcher.java} | 4 +-
.../fineract/command/core/CommandHandler.java | 3 +-
...mmandRouter.java => CommandHandlerManager.java} | 4 +-
...{CommandPipeline.java => CommandHookAfter.java} | 7 +-
.../{CommandRouter.java => CommandHookBefore.java} | 4 +-
.../{CommandRouter.java => CommandHookError.java} | 4 +-
...CommandAuditor.java => CommandHookManager.java} | 10 +-
.../fineract/command/core/CommandProperties.java | 26 +--
.../CommandState.java} | 6 +-
.../{CommandAuditor.java => CommandStore.java} | 16 +-
...tException.java => CommandPolicyException.java} | 6 +-
.../ServletHeadersCommandHook.java} | 52 ++---
.../TimestampCommandHook.java} | 34 ++--
.../fineract/command/hook/UsernameCommandHook.java | 62 ++++++
.../implementation/BaseCommandExecutor.java | 34 ----
.../implementation/DefaultCommandAuditor.java | 184 -----------------
...uter.java => DefaultCommandHandlerManager.java} | 22 +-
...dRouter.java => DefaultCommandHookManager.java} | 37 ++--
...utor.java => SynchronousCommandDispatcher.java} | 36 ++--
.../command/starter/CommandAutoConfiguration.java | 2 +-
.../command/starter/CommandConfiguration.java | 39 +---
...ipelineTest.java => CommandDispatcherTest.java} | 33 ++-
.../fineract/command/CommandPipelineBenchmark.java | 114 -----------
.../fineract/command/CommandSampleApiTest.java | 80 ++------
.../apache/fineract/command/TestConfiguration.java | 7 +-
.../fineract/command/sample/mapping/.gitkeep | 0
.../fineract/command/sample/serialization/.gitkeep | 0
.../sample/service/DefaultDummyTenantService.java | 35 ----
.../src/test/resources/application-test.properties | 12 +-
.../businessdate/api/BusinessDateApiResource.java | 6 +-
.../infrastructure/cache/api/CacheApiResource.java | 6 +-
.../api/ExternalEventConfigurationApiResource.java | 6 +-
.../monetary/api/CurrenciesApiResource.java | 6 +-
.../paymenttype/api/PaymentTypeApiResource.java | 10 +-
fineract-doc/.asciidoctorconfig | 2 +-
fineract-doc/build.gradle | 3 +-
.../src/docs/en/chapters/command/architecture.adoc | 22 ++
.../src/docs/en/chapters/command/audit.adoc | 3 +
.../src/docs/en/chapters/command/command.adoc | 41 ++++
.../src/docs/en/chapters/command/handler.adoc | 25 +++
.../src/docs/en/chapters/command/hooks.adoc | 47 +++++
.../src/docs/en/chapters/command/idempotency.adoc | 3 +
.../src/docs/en/chapters/command/index.adoc | 23 +++
.../src/docs/en/chapters/command/intro.adoc | 30 +++
.../docs/en/chapters/command/observability.adoc | 3 +
.../src/docs/en/chapters/command/query.adoc | 5 +
.../src/docs/en/chapters/command/refactoring.adoc | 225 +++++++++++++++++++++
.../src/docs/en/chapters/command/store.adoc | 9 +
.../src/docs/en/chapters/command/validation.adoc | 12 ++
fineract-doc/src/docs/en/chapters/fsip/index.adoc | 5 +
.../en/diagrams/command-architecture-level-1.puml | 27 +++
.../command-architecture-level-2-dispatcher.puml | 21 ++
.../command-architecture-level-2-handler.puml | 21 ++
.../command-architecture-level-2-hook.puml | 31 +++
.../command-architecture-level-2-store.puml | 32 +++
.../en/diagrams/command-architecture-sequence.puml | 92 +++++++++
.../docs/en/diagrams/command-architecture-uml.puml | 147 ++++++++++++++
.../diag-28a77b45f78221c5cb0e8f5d27c6b34f.png | Bin 8684 -> 0 bytes
fineract-doc/src/docs/en/index.adoc | 2 +
.../api/DocumentApiResource.java | 10 +-
.../documentmanagement/api/ImagesApiResource.java | 10 +-
.../command/DocumentCommand.java | 101 ---------
.../service/DocumentWritePlatformServiceImpl.java | 2 -
.../mix/api/MixTaxonomyMappingApiResource.java | 6 +-
fineract-provider/dependencies.gradle | 3 +
.../importhandler/staff/StaffImportHandler.java | 6 +-
.../service/BulkImportEventListener.java | 6 +-
.../infrastructure/core/config/JdbcConfig.java | 4 +
.../organisation/staff/api/StaffApiResource.java | 10 +-
.../workingdays/api/WorkingDaysApiResource.java | 6 +-
.../api/InterestRateChartSlabsApiResource.java | 45 ++++-
.../api/InterestRateChartsApiResource.java | 10 +-
.../portfolio/meeting/api/MeetingsApiResource.java | 12 +-
.../portfolio/note/api/NotesApiResource.java | 10 +-
.../src/main/resources/application.properties | 60 +++---
.../src/test/resources/application-test.properties | 13 +-
settings.gradle | 5 +
147 files changed, 1879 insertions(+), 1314 deletions(-)
copy {fineract-command => fineract-command-async}/build.gradle (96%)
copy {fineract-validation => fineract-command-async}/dependencies.gradle (73%)
copy
fineract-command/src/test/java/org/apache/fineract/command/sample/data/DummyError.java
=>
fineract-command-async/src/main/java/org/apache/fineract/command/async/AsyncCommandProperties.java
(73%)
rename
fineract-command/src/main/java/org/apache/fineract/command/implementation/AsynchronousCommandExecutor.java
=>
fineract-command-async/src/main/java/org/apache/fineract/command/async/implementation/AsyncCommandDispatcher.java
(54%)
copy
custom/acme/note/starter/src/main/java/com/acme/fineract/portfolio/note/starter/AcmeNoteAutoConfiguration.java
=>
fineract-command-async/src/main/java/org/apache/fineract/command/async/starter/AsyncCommandAutoConfiguration.java
(69%)
create mode 100644
fineract-command-async/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
copy {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-async/src/test/java/org/apache/fineract/command/async}/TestConfiguration.java
(65%)
copy {custom/acme/loan/starter =>
fineract-command-async}/src/test/resources/application-test.properties (90%)
copy {fineract-mix => fineract-command-audit}/build.gradle (94%)
copy {fineract-validation => fineract-command-audit}/dependencies.gradle (73%)
copy custom/acme/event/externalevent/build.gradle =>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/AuditCommandConstants.java
(72%)
copy
fineract-command/src/test/java/org/apache/fineract/command/sample/data/DummyErrorRequest.java
=>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/AuditCommandProperties.java
(79%)
copy
fineract-command/src/main/java/org/apache/fineract/command/implementation/DefaultCommandRouter.java
=>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/hook/AuditCommandHookAfter.java
(53%)
copy
fineract-command/src/main/java/org/apache/fineract/command/implementation/DefaultCommandRouter.java
=>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/hook/AuditCommandHookBefore.java
(53%)
copy
fineract-command/src/main/java/org/apache/fineract/command/implementation/DefaultCommandRouter.java
=>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/hook/AuditCommandHookError.java
(54%)
copy
custom/acme/note/starter/src/main/java/com/acme/fineract/portfolio/note/starter/AcmeNoteAutoConfiguration.java
=>
fineract-command-audit/src/main/java/org/apache/fineract/command/audit/starter/AuditCommandAutoConfiguration.java
(65%)
create mode 100644
fineract-command-audit/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
copy {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-audit/src/test/java/org/apache/fineract/command/audit}/TestConfiguration.java
(66%)
copy
fineract-provider/src/test/resources/features/infrastructure/infrastructure.classpath.feature
=> fineract-command-audit/src/test/resources/application-test.properties (71%)
copy {fineract-command => fineract-command-disruptor}/build.gradle (96%)
copy {fineract-validation => fineract-command-disruptor}/dependencies.gradle
(72%)
copy
fineract-command/src/test/java/org/apache/fineract/command/sample/data/DummyError.java
=>
fineract-command-disruptor/src/main/java/org/apache/fineract/command/disruptor/DisruptorCommandProperties.java
(69%)
rename
fineract-command/src/main/java/org/apache/fineract/command/implementation/DisruptorCommandExecutor.java
=>
fineract-command-disruptor/src/main/java/org/apache/fineract/command/disruptor/implementation/DisruptorCommandDispatcher.java
(62%)
copy
custom/acme/note/starter/src/main/java/com/acme/fineract/portfolio/note/starter/AcmeNoteAutoConfiguration.java
=>
fineract-command-disruptor/src/main/java/org/apache/fineract/command/disruptor/starter/DisruptorCommandAutoConfiguration.java
(63%)
copy
fineract-command/src/main/java/org/apache/fineract/command/starter/CommandConfiguration.java
=>
fineract-command-disruptor/src/main/java/org/apache/fineract/command/disruptor/starter/DisruptorCommandConfiguration.java
(56%)
create mode 100644
fineract-command-disruptor/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644
fineract-command-disruptor/src/test/java/org/apache/fineract/command/disruptor/DisruptorCommandDispatcherBenchmark.java
copy {custom/acme/loan/starter =>
fineract-command-disruptor}/src/test/resources/application-test.properties (84%)
copy {fineract-mix => fineract-command-jdbc}/build.gradle (94%)
copy {fineract-command => fineract-command-jdbc}/dependencies.gradle (66%)
copy
fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/RepaymentTransactionRequest.java
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/JdbcCommandProperties.java
(71%)
rename
fineract-command/src/main/java/org/apache/fineract/command/starter/CommandPersistenceConfiguration.java
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/starter/JdbcCommandAutoConfiguration.java
(62%)
create mode 100644
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store/JdbcCommandStore.java
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/converter/JsonNodeReadingConverter.java
(96%)
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/converter/JsonNodeWritingConverter.java
(96%)
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/domain/CommandEntity.java
(95%)
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/domain/CommandRepository.java
(95%)
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/mapping/CommandJsonMapper.java
(97%)
rename {fineract-command/src/main/java/org/apache/fineract/command/persistence
=>
fineract-command-jdbc/src/main/java/org/apache/fineract/command/jdbc/store}/mapping/CommandMapper.java
(95%)
create mode 100644
fineract-command-jdbc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename {fineract-command =>
fineract-command-jdbc}/src/main/resources/db/changelog/tenant/module/command/module-changelog-master.xml
(100%)
rename {fineract-command =>
fineract-command-jdbc}/src/main/resources/db/changelog/tenant/module/command/parts/0001_command_init.xml
(100%)
rename {fineract-command =>
fineract-command-jdbc}/src/main/resources/db/changelog/tenant/module/command/parts/0002_command_fix_structure.xml
(100%)
rename
fineract-command/src/test/java/org/apache/fineract/command/CommandPersistenceTest.java
=>
fineract-command-jdbc/src/test/java/org/apache/fineract/command/jdbc/CommandRepositoryTest.java
(72%)
copy {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-jdbc/src/test/java/org/apache/fineract/command/jdbc}/TestConfiguration.java
(79%)
copy {fineract-command =>
fineract-command-jdbc}/src/test/resources/application-test.properties (79%)
copy {fineract-mix => fineract-command-test}/build.gradle (94%)
copy {fineract-command => fineract-command-test}/dependencies.gradle (67%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/CommandBaseTest.java
(76%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/api/DummyApiController.java
(78%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/api/DummyExceptionHandler.java
(97%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/command/DummyCommand.java
(89%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/command/DummyErrorCommand.java
(88%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/data/DummyError.java
(95%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/data/DummyErrorRequest.java
(96%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/data/DummyErrorResponse.java
(95%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/data/DummyRequest.java
(87%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/data/DummyResponse.java
(93%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/exception/DummyException.java
(94%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/handler/DummyCommandHandler.java
(84%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/handler/DummyErrorCommandHandler.java
(83%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/service/DefaultDummyService.java
(75%)
rename {fineract-command/src/test/java/org/apache/fineract/command =>
fineract-command-test/src/main/java/org/apache/fineract/command/test}/sample/service/DummyService.java
(82%)
rename
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandExecutor.java
=> CommandDispatcher.java} (90%)
copy
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandRouter.java
=> CommandHandlerManager.java} (89%)
rename
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandPipeline.java
=> CommandHookAfter.java} (86%)
copy
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandRouter.java
=> CommandHookBefore.java} (89%)
rename
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandRouter.java
=> CommandHookError.java} (89%)
copy
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandAuditor.java
=> CommandHookManager.java} (79%)
rename
fineract-command/src/main/java/org/apache/fineract/command/{persistence/domain/CommandEntityState.java
=> core/CommandState.java} (89%)
rename
fineract-command/src/main/java/org/apache/fineract/command/core/{CommandAuditor.java
=> CommandStore.java} (71%)
copy
fineract-command/src/main/java/org/apache/fineract/command/core/exception/{CommandIllegalArgumentException.java
=> CommandPolicyException.java} (81%)
rename
fineract-command/src/main/java/org/apache/fineract/command/{implementation/BaseCommandPipeline.java
=> hook/ServletHeadersCommandHook.java} (62%)
rename
fineract-command/src/main/java/org/apache/fineract/command/{implementation/DefaultCommandPipeline.java
=> hook/TimestampCommandHook.java} (57%)
create mode 100644
fineract-command/src/main/java/org/apache/fineract/command/hook/UsernameCommandHook.java
delete mode 100644
fineract-command/src/main/java/org/apache/fineract/command/implementation/BaseCommandExecutor.java
delete mode 100644
fineract-command/src/main/java/org/apache/fineract/command/implementation/DefaultCommandAuditor.java
copy
fineract-command/src/main/java/org/apache/fineract/command/implementation/{DefaultCommandRouter.java
=> DefaultCommandHandlerManager.java} (69%)
rename
fineract-command/src/main/java/org/apache/fineract/command/implementation/{DefaultCommandRouter.java
=> DefaultCommandHookManager.java} (52%)
rename
fineract-command/src/main/java/org/apache/fineract/command/implementation/{SynchronousCommandExecutor.java
=> SynchronousCommandDispatcher.java} (57%)
rename
fineract-command/src/test/java/org/apache/fineract/command/{CommandPipelineTest.java
=> CommandDispatcherTest.java} (72%)
delete mode 100644
fineract-command/src/test/java/org/apache/fineract/command/CommandPipelineBenchmark.java
delete mode 100644
fineract-command/src/test/java/org/apache/fineract/command/sample/mapping/.gitkeep
delete mode 100644
fineract-command/src/test/java/org/apache/fineract/command/sample/serialization/.gitkeep
delete mode 100644
fineract-command/src/test/java/org/apache/fineract/command/sample/service/DefaultDummyTenantService.java
create mode 100644 fineract-doc/src/docs/en/chapters/command/architecture.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/audit.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/command.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/handler.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/hooks.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/idempotency.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/index.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/intro.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/observability.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/query.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/refactoring.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/store.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/command/validation.adoc
create mode 100644 fineract-doc/src/docs/en/chapters/fsip/index.adoc
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-level-1.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-level-2-dispatcher.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-level-2-handler.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-level-2-hook.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-level-2-store.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-sequence.puml
create mode 100644
fineract-doc/src/docs/en/diagrams/command-architecture-uml.puml
delete mode 100644
fineract-doc/src/docs/en/images/diag-28a77b45f78221c5cb0e8f5d27c6b34f.png
delete mode 100644
fineract-document/src/main/java/org/apache/fineract/infrastructure/documentmanagement/command/DocumentCommand.java