[TOB-68,91,129,132] feat: v0.2.0 Integrate camunda

Commit contains all backend tasks for the second sprint.
The focus of sprint 2 was to integrate the camunda workflow engine into
the statement public affairs backend module and provide REST interfaces
to control the workflow process of a statement instance.

[TOB-91] feat: Enhance documentation

    - added new architecture diagrams for system context, container diagram and
      backend component diagram.

    - added initial description of main the building blocks level 1.

[TOB-91] feat: Camunda Services tests.

    - Improved tests for new StatementProcessService
    - Added TestCases for WorkflowService - not fully implemented
    - Added Validation for StatementModel on createStatement

[TOB-91] feat: StatementProcessService tests

    - added Testcases for StatementProcessService

[TOB-91] feat: Camunda workflow services

    - added testcases for StatementProcessService.
    - corrected NotAuthorizedExceptions to ForbiddenExceptions

[TOB-91] feat: Camunda workflow services

    - added deleteProcessInstance in CamundaApi
    - removed unused REST controller classes
    - added new and cleaned up existing javadoc comments for new statement process implementations

[TOB-129] feat: add workflow

    - add initial version of the workflow model definition.

[TOB-172, TOB-173, TOB-174] feat: workflow basic

    - added CamundaApi adapter to create new statement workflow process
      instances.
    - added WorkflowService that uses the CamundaApi to manage the workflow
      process interactions. Methods allow statement process instance
    creation, list, claim, unclaim and completion of UserTasks as well as
    list, fetchAndLock, completion and failure of ServiceTasks (external
    task)

    - added StatementProcessController that provides REST interfaces to
      list and manipulate the statement workflow tasks.

    - added initial version of a statement process history REST interface
      that provides a list of already finished and current activities (task)

    - Added TypeConversion utility methods to convert camunda datetime
      format to ZonedDateTime

    - Added Worker mechanism that allows simple creation of new ServiceTask
      workers for new process topics.

    - Added Exception and Optional based error handling for the new
      implementations. Older ones should be streamlined within the next
    iterations.

[TOB-149] feat: Attachment upload and download

    - Update REST interface definition. Streamline field names, add
      attachment size parameter
    - Fix BadRequestException HTTP-Response Status

[TOB-147, TOB-149, TOB-150] feat: BE new Statement

    - extended statement model with receiptDate, statementType, village and
      district
    - enhanced StatmentController to provide attachment upload
    - enhanced StatmentService to store new attachments to the
      attachmentRepository
    - enhanced StatementOverviewController with REST interface to provide a
      list of supported StatementTypes
    - enhanced StatementOverviewService to get statementTypes from the
      StatementtypeRepository
    - added StatementtypeRepository to abstract the database table
    - added JPA Entity for database table statementtype
    - added tests to verify the additional StatementController REST
      interfaces
    - added tests to verify the additional StatementService interfaces
    - added tests to verify the StatementTypes REST interface and Service
    - enhanced the openapi REST specification according to the new Models
      and interfaces.
    - fixed academic title of Christopher in documentation.

Signed-off-by: Tobias Stummer <stummer@develop-group.de>
89 files changed
tree: e69a45a5f053bfadcfb804556b1fc1df61e4ecfb
  1. deploy/
  2. src/
  3. LICENSE.md
  4. NOTICE.md
  5. pom.xml
  6. README.md
  7. sonar-project.properties
README.md

Eclipse openK User Modules - Statement Public Affairs Backend

This application represents a user module for the Eclipse openK User Modules project.

Development server

TODO: Add description

Build

Run mvn clean install -DskipTests to build the project. All build artifacts will be stored in the targets/ directory.

Running unit tests

Run mvn clean install to execute the unit tests. All results will be stored in the targets/surefire-reports directory.

Scripts

TODO: Add scripts