├── .github ├── dependabot.yml ├── pull_request_template.md └── workflows │ └── continuous-integration.yml ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── .run ├── All in taskana-common-data.run.xml ├── All in taskana-common-logging.run.xml ├── All in taskana-common-test.run.xml ├── All in taskana-common.run.xml ├── All in taskana-core DB2.run.xml ├── All in taskana-core H2.run.xml ├── All in taskana-core POSTGRES.run.xml ├── All in taskana-core-test DB2.run.xml ├── All in taskana-core-test H2.run.xml ├── All in taskana-core-test POSTGRES.run.xml ├── All in taskana-loghistory-provider.run.xml ├── All in taskana-rest-spring-example-common.run.xml ├── All in taskana-rest-spring.run.xml ├── All in taskana-routing-rest.run.xml ├── All in taskana-simplehistory-provider H2.run.xml ├── All in taskana-simplehistory-rest-spring.run.xml ├── All in taskana-spi-routing-dmn-router.run.xml ├── All in taskana-spring-example.run.xml ├── Build Backend No Checkstyle.run.xml ├── Build Backend.run.xml ├── Clean Install.run.xml ├── Db2.run.xml ├── Debug Frontend.run.xml ├── Postgres.run.xml ├── Prepare RestDocs History.run.xml ├── Prepare RestDocs.run.xml ├── Run ArchitectureTest.run.xml ├── Start Demo App DevMode.run.xml ├── Start Demo App No CSRF.run.xml ├── Start Demo App.run.xml ├── Start Frontend.run.xml ├── Stop all DB.run.xml ├── Test E2E.run.xml └── Test Frontend.run.xml ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── ci ├── change_version.sh ├── commitPoms.sh ├── ibm_cf_manifest.yml ├── mvnsettings.xml ├── taskana-sonar-test-coverage │ └── pom.xml ├── update_taskana_dependency_for_wildfly.sh ├── verify_docs_alive.sh └── verify_docs_jar.sh ├── common ├── pom.xml ├── taskana-common-data │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── sampledata │ │ │ │ ├── SampleDataGenerator.java │ │ │ │ ├── SampleDataProvider.java │ │ │ │ └── SqlReplacer.java │ │ └── resources │ │ │ └── sql │ │ │ ├── clear │ │ │ ├── clear-db.sql │ │ │ └── drop-tables.sql │ │ │ ├── monitor-data │ │ │ └── monitor-sample-data.sql │ │ │ ├── sample-data │ │ │ ├── attachment.sql │ │ │ ├── classification.sql │ │ │ ├── distribution-targets.sql │ │ │ ├── object-reference.sql │ │ │ ├── task-comment.sql │ │ │ ├── task-history-event.sql │ │ │ ├── task.sql │ │ │ ├── user.sql │ │ │ ├── workbasket-access-list.sql │ │ │ └── workbasket.sql │ │ │ └── test-data │ │ │ ├── attachment.sql │ │ │ ├── classification-history-event.sql │ │ │ ├── classification.sql │ │ │ ├── distribution-targets.sql │ │ │ ├── object-reference.sql │ │ │ ├── task-comment.sql │ │ │ ├── task-history-event.sql │ │ │ ├── task.sql │ │ │ ├── user.sql │ │ │ ├── workbasket-access-list.sql │ │ │ ├── workbasket-history-event.sql │ │ │ └── workbasket.sql │ │ └── test │ │ └── java │ │ └── pro │ │ └── taskana │ │ └── sampledata │ │ ├── SampleDataGeneratorTest.java │ │ ├── SampleDataProviderTest.java │ │ └── SqlReplacerTest.java ├── taskana-common-logging │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── pro │ │ │ └── taskana │ │ │ └── common │ │ │ └── internal │ │ │ └── logging │ │ │ ├── LoggingAspect.java │ │ │ └── NoLogging.java │ │ └── test │ │ ├── java │ │ ├── outside │ │ │ └── of │ │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── OutsideOfProTaskanaPackageLoggingTestClass.java │ │ └── pro │ │ │ └── taskana │ │ │ ├── AtProTaskanaRootPackageLoggingTestClass.java │ │ │ └── common │ │ │ └── internal │ │ │ └── logging │ │ │ ├── LoggingAspectTest.java │ │ │ ├── LoggingTestClass.java │ │ │ ├── NoLoggingTestClass.java │ │ │ └── NoLoggingTestSubClass.java │ │ └── resources │ │ └── log4j2-test.xml ├── taskana-common-security │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── pro │ │ └── taskana │ │ └── common │ │ ├── api │ │ └── security │ │ │ ├── CurrentUserContext.java │ │ │ ├── GroupPrincipal.java │ │ │ └── UserPrincipal.java │ │ └── internal │ │ └── security │ │ └── CurrentUserContextImpl.java ├── taskana-common-test │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ ├── org │ │ │ │ └── junit │ │ │ │ │ ├── rules │ │ │ │ │ └── TestRule.java │ │ │ │ │ └── runners │ │ │ │ │ └── model │ │ │ │ │ └── Statement.java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── common │ │ │ │ └── test │ │ │ │ ├── DockerContainerCreator.java │ │ │ │ ├── OracleSchemaHelper.java │ │ │ │ ├── config │ │ │ │ └── DataSourceGenerator.java │ │ │ │ ├── security │ │ │ │ ├── JaasExtension.java │ │ │ │ └── WithAccessId.java │ │ │ │ └── util │ │ │ │ └── ParallelThreadHelper.java │ │ └── resources │ │ │ └── container-license-acceptance.txt │ │ └── test │ │ └── java │ │ └── pro │ │ └── taskana │ │ └── common │ │ └── test │ │ └── security │ │ ├── JaasExtensionTest.java │ │ └── JaasExtensionTestExtensions.java └── taskana-common │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── common │ │ │ ├── api │ │ │ ├── BaseQuery.java │ │ │ ├── BulkOperationResults.java │ │ │ ├── CustomHoliday.java │ │ │ ├── IntInterval.java │ │ │ ├── KeyDomain.java │ │ │ ├── LocalTimeInterval.java │ │ │ ├── QueryColumnName.java │ │ │ ├── TaskanaRole.java │ │ │ ├── TimeInterval.java │ │ │ ├── WorkingTimeCalculator.java │ │ │ └── exceptions │ │ │ │ ├── AutocommitFailedException.java │ │ │ │ ├── ConcurrencyException.java │ │ │ │ ├── ConnectionNotSetException.java │ │ │ │ ├── DomainNotFoundException.java │ │ │ │ ├── ErrorCode.java │ │ │ │ ├── InvalidArgumentException.java │ │ │ │ ├── NotAuthorizedException.java │ │ │ │ ├── SystemException.java │ │ │ │ ├── TaskanaException.java │ │ │ │ ├── TaskanaRuntimeException.java │ │ │ │ ├── UnsupportedDatabaseException.java │ │ │ │ └── WrongCustomHolidayFormatException.java │ │ │ └── internal │ │ │ ├── Interval.java │ │ │ ├── configuration │ │ │ ├── DB.java │ │ │ ├── DbSchemaCreator.java │ │ │ ├── TaskanaProperty.java │ │ │ └── parser │ │ │ │ ├── CollectionPropertyParser.java │ │ │ │ ├── CustomHolidayParser.java │ │ │ │ ├── EnumPropertyParser.java │ │ │ │ ├── LocalTimeIntervalParser.java │ │ │ │ ├── MapPropertyParser.java │ │ │ │ ├── PropertyParser.java │ │ │ │ └── SimpleParser.java │ │ │ ├── persistence │ │ │ ├── InstantTypeHandler.java │ │ │ ├── MapTypeHandler.java │ │ │ └── StringTypeHandler.java │ │ │ ├── transaction │ │ │ └── TaskanaTransactionProvider.java │ │ │ ├── util │ │ │ ├── CheckedConsumer.java │ │ │ ├── CheckedFunction.java │ │ │ ├── CheckedRunnable.java │ │ │ ├── CheckedSupplier.java │ │ │ ├── CollectionUtil.java │ │ │ ├── ComparableVersion.java │ │ │ ├── EnumUtil.java │ │ │ ├── FileLoaderUtil.java │ │ │ ├── IdGenerator.java │ │ │ ├── LogSanitizer.java │ │ │ ├── ObjectAttributeChangeDetector.java │ │ │ ├── Pair.java │ │ │ ├── Quadruple.java │ │ │ ├── ReflectionUtil.java │ │ │ ├── ResourceUtil.java │ │ │ ├── SpiLoader.java │ │ │ ├── SqlProviderUtil.java │ │ │ └── Triplet.java │ │ │ └── workingtime │ │ │ ├── HolidaySchedule.java │ │ │ ├── WorkingDayCalculatorImpl.java │ │ │ ├── WorkingTimeCalculatorImpl.java │ │ │ └── WorkingTimeSchedule.java │ └── resources │ │ └── sql │ │ ├── db2 │ │ ├── schema-detection-db2.sql │ │ ├── taskana-schema-db2.sql │ │ ├── taskana_schema_update_0.9.2_to_1.0.2_db2.sql │ │ ├── taskana_schema_update_1.0.4_to_1.0.6_db2.sql │ │ ├── taskana_schema_update_2.0.2_to_3.0.0_db2.sql │ │ ├── taskana_schema_update_3.0.0_to_4.0.0_db2.sql │ │ ├── taskana_schema_update_4.0.0_to_4.3.0_db2.sql │ │ ├── taskana_schema_update_4.11.0_to_5.0.0_db2.sql │ │ ├── taskana_schema_update_4.3.0_to_4.8.0_db2.sql │ │ ├── taskana_schema_update_4.8.0_to_4.11.0_db2.sql │ │ ├── taskana_schema_update_5.0.0_to_5.1.0_db2.sql │ │ ├── taskana_schema_update_5.1.0_to_5.2.0_db2.sql │ │ ├── taskana_schema_update_5.10.0_to_6.2.0_db2.sql │ │ ├── taskana_schema_update_5.2.0_to_5.10.0_db2.sql │ │ ├── taskana_schema_update_6.2.0_to_7.0.0_db2.sql │ │ ├── taskana_schema_update_7.0.0_to_7.1.0_db2.sql │ │ └── taskana_schema_update_8.1.0_to_8.2.0_db2.sql │ │ ├── h2 │ │ ├── schema-detection-h2.sql │ │ ├── taskana-schema-h2.sql │ │ ├── taskana_schema_update_0.9.2_to_1.0.2_h2.sql │ │ ├── taskana_schema_update_1.0.2_to_1.0.4_h2.sql │ │ ├── taskana_schema_update_1.0.4_to_1.0.6_h2.sql │ │ ├── taskana_schema_update_1.0.6_to_1.1.5_h2.sql │ │ ├── taskana_schema_update_1.1.5_to_1.2.1_h2.sql │ │ ├── taskana_schema_update_1.2.1_to_2.0.2_h2.sql │ │ ├── taskana_schema_update_2.0.2_to_3.0.0_h2.sql │ │ ├── taskana_schema_update_3.0.0_to_4.0.0_h2.sql │ │ ├── taskana_schema_update_4.0.0_to_4.3.0_h2.sql │ │ ├── taskana_schema_update_4.11.0_to_5.0.0_h2.sql │ │ ├── taskana_schema_update_4.3.0_to_4.8.0_h2.sql │ │ ├── taskana_schema_update_4.8.0_to_4.11.0_h2.sql │ │ ├── taskana_schema_update_5.0.0_to_5.1.0_h2.sql │ │ ├── taskana_schema_update_5.1.0_to_5.2.0_h2.sql │ │ ├── taskana_schema_update_5.10.0_to_6.2.0_h2.sql │ │ ├── taskana_schema_update_5.2.0_to_5.10.0_h2.sql │ │ ├── taskana_schema_update_6.2.0_to_7.0.0_h2.sql │ │ ├── taskana_schema_update_7.0.0_to_7.1.0_h2.sql │ │ └── taskana_schema_update_8.1.0_to_8.2.0_h2.sql │ │ ├── oracle │ │ ├── schema-detection-oracle.sql │ │ ├── taskana-schema-oracle.sql │ │ ├── taskana_schema_update_5.10.0_to_6.2.0_oracle.sql │ │ ├── taskana_schema_update_6.2.0_to_7.0.0_oracle.sql │ │ ├── taskana_schema_update_7.0.0_to_7.1.0_oracle.sql │ │ └── taskana_schema_update_8.1.0_to_8.2.0_oracle.sql │ │ └── postgres │ │ ├── schema-detection-postgres.sql │ │ ├── taskana-schema-postgres.sql │ │ ├── taskana_schema_update_0.9.2_to_1.0.2_postgres.sql │ │ ├── taskana_schema_update_1.0.2_to_1.0.4_postgres.sql │ │ ├── taskana_schema_update_1.0.6_to_1.1.5._postgres.sql │ │ ├── taskana_schema_update_1.1.5_to_1.2.1_postgres.sql │ │ ├── taskana_schema_update_1.2.1_to_2.0.2_postgres.sql │ │ ├── taskana_schema_update_2.0.2_to_3.0.0_postgres.sql │ │ ├── taskana_schema_update_3.0.0_to_4.0.0_postgres.sql │ │ ├── taskana_schema_update_4.0.0_to_4.3.0_postgres.sql │ │ ├── taskana_schema_update_4.11.0_to_5.0.0_postgres.sql │ │ ├── taskana_schema_update_4.3.0_to_4.8.0_postgres.sql │ │ ├── taskana_schema_update_4.8.0_to_4.11.0_postgres.sql │ │ ├── taskana_schema_update_5.0.0_to_5.1.0_postgres.sql │ │ ├── taskana_schema_update_5.1.0_to_5.2.0_postgres.sql │ │ ├── taskana_schema_update_5.10.0_to_6.2.0_postgres.sql │ │ ├── taskana_schema_update_5.2.0_to_5.10.0_postgres.sql │ │ ├── taskana_schema_update_6.2.0_to_7.0.0_postgres.sql │ │ ├── taskana_schema_update_7.0.0_to_7.1.0_postgres.sql │ │ └── taskana_schema_update_8.1.0_to_8.2.0_postgres.sql │ └── test │ ├── java │ └── pro │ │ └── taskana │ │ └── common │ │ ├── api │ │ ├── IntIntervalTest.java │ │ ├── LocalTimeIntervalTest.java │ │ └── TimeIntervalTest.java │ │ └── internal │ │ ├── util │ │ ├── CollectionUtilTest.java │ │ ├── FileLoaderUtilTest.java │ │ ├── LogSanitizerTest.java │ │ ├── ReflectionUtilTest.java │ │ ├── ResourceUtilTest.java │ │ ├── SpiLoaderTest.java │ │ └── spi │ │ │ ├── ServiceProviderInterface.java │ │ │ └── ServiceProviderInterfaceImpl.java │ │ └── workingtime │ │ ├── HolidayScheduleTest.java │ │ ├── WorkingTimeCalculatorImplTest.java │ │ └── WorkingTimeScheduleTest.java │ └── resources │ ├── META-INF │ └── services │ │ └── pro.taskana.common.internal.util.spi.ServiceProviderInterface │ └── pro │ └── taskana │ └── common │ └── internal │ └── util │ └── fileInClasspath.txt ├── docker-databases ├── db2_11-5 │ ├── Dockerfile │ ├── README.md │ ├── db2server.rsp │ └── entrypoint.sh ├── docker-compose.yml ├── postgres_14 │ └── Dockerfile ├── prepare_db.bat └── prepare_db.sh ├── docs └── images │ ├── components.png │ ├── componets_demo_app.png │ ├── envite-black.png │ ├── novatec.jpeg │ ├── prio.png │ ├── prio_resize.png │ ├── routing.png │ ├── tasklifecycle.png │ └── workbaskets.png ├── history ├── pom.xml ├── taskana-loghistory-provider │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── loghistory │ │ │ │ └── impl │ │ │ │ └── LogfileHistoryServiceImpl.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── pro.taskana.spi.history.api.TaskanaHistory │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── loghistory │ │ │ └── impl │ │ │ └── LogfileHistoryServiceImplTest.java │ │ └── resources │ │ └── log4j2-test.xml ├── taskana-simplehistory-provider │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── simplehistory │ │ │ │ └── impl │ │ │ │ ├── ClassificationHistoryQueryImpl.java │ │ │ │ ├── SimpleHistoryServiceImpl.java │ │ │ │ ├── TaskHistoryQueryImpl.java │ │ │ │ ├── WorkbasketHistoryQueryImpl.java │ │ │ │ ├── classification │ │ │ │ ├── ClassificationHistoryEventMapper.java │ │ │ │ ├── ClassificationHistoryQuery.java │ │ │ │ ├── ClassificationHistoryQueryColumnName.java │ │ │ │ └── ClassificationHistoryQueryMapper.java │ │ │ │ ├── jobs │ │ │ │ └── HistoryCleanupJob.java │ │ │ │ ├── task │ │ │ │ ├── TaskHistoryEventMapper.java │ │ │ │ ├── TaskHistoryQuery.java │ │ │ │ ├── TaskHistoryQueryColumnName.java │ │ │ │ └── TaskHistoryQueryMapper.java │ │ │ │ └── workbasket │ │ │ │ ├── WorkbasketHistoryEventMapper.java │ │ │ │ ├── WorkbasketHistoryQuery.java │ │ │ │ ├── WorkbasketHistoryQueryColumnName.java │ │ │ │ └── WorkbasketHistoryQueryMapper.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── pro.taskana.spi.history.api.TaskanaHistory │ │ └── test │ │ ├── java │ │ ├── acceptance │ │ │ ├── AbstractAccTest.java │ │ │ ├── events │ │ │ │ ├── classification │ │ │ │ │ ├── CreateHistoryEventOnClassificationDeletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnClassificationsCreationAccTest.java │ │ │ │ │ └── CreateHistoryEventOnClassificationsUpdateAccTest.java │ │ │ │ ├── task │ │ │ │ │ ├── CreateHistoryEventOnTaskCancelClaimAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskCancellationAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskClaimAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskCompletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskCreationAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskDeletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskRequestChangesAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskRequestReviewAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskTerminationAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskTransferAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnTaskUpdateAccTest.java │ │ │ │ │ ├── DeleteHistoryEventsOnTaskDeletionAccTest.java │ │ │ │ │ └── GetTaskHistoryEventAccTest.java │ │ │ │ └── workbasket │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketAccessItemCreationAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketAccessItemDeletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketAccessItemsDeletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketAccessItemsSetAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketCreationAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketDeletionAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketDistributionTargetAddedAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketDistributionTargetRemovedAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketDistributionTargetsSetAccTest.java │ │ │ │ │ ├── CreateHistoryEventOnWorkbasketMarkedForDeletionAccTest.java │ │ │ │ │ └── CreateHistoryEventOnWorkbasketUpdateAccTest.java │ │ │ └── query │ │ │ │ ├── QueryClassificationHistoryAccTest.java │ │ │ │ ├── QueryTaskHistoryAccTest.java │ │ │ │ └── QueryWorkbasketHistoryAccTest.java │ │ ├── configuration │ │ │ └── TaskanaConfigurationTest.java │ │ └── pro │ │ │ └── taskana │ │ │ └── simplehistory │ │ │ └── impl │ │ │ ├── ClassificationHistoryQueryImplTest.java │ │ │ ├── SimpleHistoryServiceImplTest.java │ │ │ └── WorkbasketHistoryQueryImplTest.java │ │ └── resources │ │ ├── simplelogger.properties │ │ └── taskana.properties └── taskana-simplehistory-rest-spring │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── pro │ │ └── taskana │ │ └── simplehistory │ │ └── rest │ │ ├── HistoryRestEndpoints.java │ │ ├── TaskHistoryEventController.java │ │ ├── TaskHistoryQueryFilterParameter.java │ │ ├── TaskHistoryRestConfiguration.java │ │ ├── assembler │ │ └── TaskHistoryEventRepresentationModelAssembler.java │ │ └── models │ │ ├── TaskHistoryEventPagedRepresentationModel.java │ │ └── TaskHistoryEventRepresentationModel.java │ └── test │ ├── java │ └── pro │ │ └── taskana │ │ └── simplehistory │ │ └── rest │ │ ├── TaskHistoryEventControllerIntTest.java │ │ └── assembler │ │ └── TaskHistoryEventRepresentationModelAssemblerTest.java │ └── resources │ ├── application.properties │ └── taskana.properties ├── lib ├── pom.xml ├── readme.md ├── taskana-cdi-example │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── example │ │ │ │ ├── ExampleBootstrap.java │ │ │ │ ├── ExampleStartupException.java │ │ │ │ └── TaskanaEjb.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── beans.xml │ │ │ └── taskana.properties │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── example │ │ │ └── ExampleBootstrapTest.java │ │ └── resources │ │ ├── arquillian.xml │ │ ├── int-test-standalone.xml │ │ └── module.xml ├── taskana-cdi │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── common │ │ │ │ └── internal │ │ │ │ ├── TaskanaCdiStartupException.java │ │ │ │ └── TaskanaProducers.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── beans.xml │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ ├── RestApplication.java │ │ │ ├── TaskanaCdiTestRestController.java │ │ │ ├── TaskanaEjb.java │ │ │ └── common │ │ │ └── internal │ │ │ └── TaskanaProducersTest.java │ │ └── resources │ │ ├── arquillian.xml │ │ ├── int-test-jboss-web.xml │ │ ├── int-test-standalone.xml │ │ ├── module.xml │ │ └── taskana.properties ├── taskana-core-test │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── acceptance │ │ │ ├── ArchitectureTest.java │ │ │ ├── PojoTest.java │ │ │ ├── TaskanEngineInitalizationTest.java │ │ │ ├── TaskanaConfigurationTest.java │ │ │ ├── classification │ │ │ ├── create │ │ │ │ └── CreateClassificationAccTest.java │ │ │ ├── delete │ │ │ │ └── DeleteClassificationAccTest.java │ │ │ ├── get │ │ │ │ └── GetClassificationAccTest.java │ │ │ ├── query │ │ │ │ ├── ClassificationQueryFilteringAccTest.java │ │ │ │ ├── ClassificationQueryOffsetAndPaginationAccTest.java │ │ │ │ └── ClassificationQuerySortingAccTest.java │ │ │ └── update │ │ │ │ ├── UpdateClassificationAccTest.java │ │ │ │ └── UpdateClassificationWithWorkingDayCalculatorAccTest.java │ │ │ ├── common │ │ │ └── TaskanaEngineExplicitTest.java │ │ │ ├── config │ │ │ └── ConfigurationServiceImplAccTest.java │ │ │ ├── jobs │ │ │ ├── AbstractTaskanaJobAccTest.java │ │ │ ├── FakeClock.java │ │ │ ├── HistoryCleanupJobAccTest.java │ │ │ ├── JobSchedulerExecutionAccTest.java │ │ │ ├── JobSchedulerInitAccTest.java │ │ │ ├── TaskCleanupJobAccTest.java │ │ │ └── helper │ │ │ │ └── TaskUpdatePriorityWorkerAccTest.java │ │ │ ├── task │ │ │ ├── ServiceLevelOfAllTasksAccTest.java │ │ │ ├── claim │ │ │ │ ├── ClaimTaskAccTest.java │ │ │ │ └── SetOwnerAccTest.java │ │ │ ├── complete │ │ │ │ ├── CancelTaskAccTest.java │ │ │ │ ├── CompleteTaskAccTest.java │ │ │ │ ├── CompleteTaskWithSpiAccTest.java │ │ │ │ └── TerminateTaskAccTest.java │ │ │ ├── create │ │ │ │ ├── CreateTaskAccTest.java │ │ │ │ └── CreateTaskWithSorAccTest.java │ │ │ ├── delete │ │ │ │ ├── DeleteTaskAccTest.java │ │ │ │ └── DeleteTaskWithSorAccTest.java │ │ │ ├── get │ │ │ │ ├── GetTaskAccTest.java │ │ │ │ └── GetTaskWithSorAccTest.java │ │ │ ├── query │ │ │ │ ├── TaskQueryImplAccTest.java │ │ │ │ └── TaskQueryImplGroupByAccTest.java │ │ │ ├── requestchanges │ │ │ │ ├── RequestChangesAccTest.java │ │ │ │ ├── RequestChangesWithAfterSpiAccTest.java │ │ │ │ └── RequestChangesWithBeforeSpiAccTest.java │ │ │ ├── requestreview │ │ │ │ ├── RequestReviewAccTest.java │ │ │ │ ├── RequestReviewWithAfterSpiAccTest.java │ │ │ │ └── RequestReviewWithBeforeSpiAccTest.java │ │ │ ├── servicelevel │ │ │ │ └── ServiceLevelCalculationAccTest.java │ │ │ └── update │ │ │ │ ├── UpdateManualPriorityAccTest.java │ │ │ │ ├── UpdateManualPriorityWithSpiAccTest.java │ │ │ │ ├── UpdateTaskAccTest.java │ │ │ │ └── UpdateTaskWithSorAccTest.java │ │ │ ├── taskcomment │ │ │ ├── create │ │ │ │ └── CreateTaskCommentAccTest.java │ │ │ ├── delete │ │ │ │ └── DeleteTaskCommentAccTest.java │ │ │ ├── get │ │ │ │ └── GetTaskCommentAccTest.java │ │ │ ├── query │ │ │ │ └── QueryTaskCommentAccTest.java │ │ │ └── update │ │ │ │ └── UpdateTaskCommentAccTest.java │ │ │ ├── taskpreprocessing │ │ │ └── CreateTaskPreprocessingAccTest.java │ │ │ ├── taskrouting │ │ │ └── TaskRoutingAccTest.java │ │ │ ├── user │ │ │ └── UserServiceAccTest.java │ │ │ └── workbasket │ │ │ └── get │ │ │ └── GetWorkbasketAccTest.java │ │ └── resources │ │ ├── archunit.properties │ │ ├── fullTaskana.properties │ │ └── taskana.properties ├── taskana-core │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ ├── TaskanaConfiguration.java │ │ │ │ ├── classification │ │ │ │ ├── api │ │ │ │ │ ├── ClassificationCustomField.java │ │ │ │ │ ├── ClassificationQuery.java │ │ │ │ │ ├── ClassificationQueryColumnName.java │ │ │ │ │ ├── ClassificationService.java │ │ │ │ │ ├── exceptions │ │ │ │ │ │ ├── ClassificationAlreadyExistException.java │ │ │ │ │ │ ├── ClassificationInUseException.java │ │ │ │ │ │ ├── ClassificationNotFoundException.java │ │ │ │ │ │ └── MalformedServiceLevelException.java │ │ │ │ │ └── models │ │ │ │ │ │ ├── Classification.java │ │ │ │ │ │ └── ClassificationSummary.java │ │ │ │ └── internal │ │ │ │ │ ├── ClassificationMapper.java │ │ │ │ │ ├── ClassificationQueryImpl.java │ │ │ │ │ ├── ClassificationQueryMapper.java │ │ │ │ │ ├── ClassificationServiceImpl.java │ │ │ │ │ ├── jobs │ │ │ │ │ └── ClassificationChangedJob.java │ │ │ │ │ └── models │ │ │ │ │ ├── ClassificationImpl.java │ │ │ │ │ └── ClassificationSummaryImpl.java │ │ │ │ ├── common │ │ │ │ ├── api │ │ │ │ │ ├── ConfigurationService.java │ │ │ │ │ ├── JobService.java │ │ │ │ │ ├── ScheduledJob.java │ │ │ │ │ ├── SharedConstants.java │ │ │ │ │ └── TaskanaEngine.java │ │ │ │ └── internal │ │ │ │ │ ├── ConfigurationMapper.java │ │ │ │ │ ├── ConfigurationServiceImpl.java │ │ │ │ │ ├── InternalTaskanaEngine.java │ │ │ │ │ ├── JobMapper.java │ │ │ │ │ ├── JobServiceImpl.java │ │ │ │ │ ├── OracleSqlSessionFactory.java │ │ │ │ │ ├── TaskanaEngineImpl.java │ │ │ │ │ └── jobs │ │ │ │ │ ├── AbstractTaskanaJob.java │ │ │ │ │ ├── Clock.java │ │ │ │ │ ├── JobRunner.java │ │ │ │ │ ├── JobScheduler.java │ │ │ │ │ ├── PlainJavaTransactionProvider.java │ │ │ │ │ ├── RealClock.java │ │ │ │ │ └── TaskanaJob.java │ │ │ │ ├── monitor │ │ │ │ ├── api │ │ │ │ │ ├── CombinedClassificationFilter.java │ │ │ │ │ ├── MonitorService.java │ │ │ │ │ ├── SelectedItem.java │ │ │ │ │ ├── TaskTimestamp.java │ │ │ │ │ └── reports │ │ │ │ │ │ ├── ClassificationCategoryReport.java │ │ │ │ │ │ ├── ClassificationReport.java │ │ │ │ │ │ ├── Report.java │ │ │ │ │ │ ├── TaskCustomFieldValueReport.java │ │ │ │ │ │ ├── TaskStatusReport.java │ │ │ │ │ │ ├── TimeIntervalReportBuilder.java │ │ │ │ │ │ ├── TimestampReport.java │ │ │ │ │ │ ├── WorkbasketPriorityReport.java │ │ │ │ │ │ ├── WorkbasketReport.java │ │ │ │ │ │ ├── header │ │ │ │ │ │ ├── ColumnHeader.java │ │ │ │ │ │ ├── PriorityColumnHeader.java │ │ │ │ │ │ ├── TaskStatusColumnHeader.java │ │ │ │ │ │ └── TimeIntervalColumnHeader.java │ │ │ │ │ │ ├── item │ │ │ │ │ │ ├── AgeQueryItem.java │ │ │ │ │ │ ├── DetailedMonitorQueryItem.java │ │ │ │ │ │ ├── MonitorQueryItem.java │ │ │ │ │ │ ├── PriorityQueryItem.java │ │ │ │ │ │ ├── QueryItem.java │ │ │ │ │ │ ├── QueryItemPreprocessor.java │ │ │ │ │ │ ├── TaskQueryItem.java │ │ │ │ │ │ └── TimestampQueryItem.java │ │ │ │ │ │ └── row │ │ │ │ │ │ ├── DetailedClassificationRow.java │ │ │ │ │ │ ├── FoldableRow.java │ │ │ │ │ │ ├── Row.java │ │ │ │ │ │ ├── SingleRow.java │ │ │ │ │ │ └── TimestampRow.java │ │ │ │ └── internal │ │ │ │ │ ├── MonitorMapper.java │ │ │ │ │ ├── MonitorMapperSqlProvider.java │ │ │ │ │ ├── MonitorServiceImpl.java │ │ │ │ │ ├── preprocessor │ │ │ │ │ ├── DaysToWorkingDaysReportPreProcessor.java │ │ │ │ │ └── WorkingDaysToDaysReportConverter.java │ │ │ │ │ └── reports │ │ │ │ │ ├── ClassificationCategoryReportBuilderImpl.java │ │ │ │ │ ├── ClassificationReportBuilderImpl.java │ │ │ │ │ ├── TaskCustomFieldValueReportBuilderImpl.java │ │ │ │ │ ├── TaskStatusReportBuilderImpl.java │ │ │ │ │ ├── TimeIntervalReportBuilderImpl.java │ │ │ │ │ ├── TimestampReportBuilderImpl.java │ │ │ │ │ ├── WorkbasketPriorityReportBuilderImpl.java │ │ │ │ │ └── WorkbasketReportBuilderImpl.java │ │ │ │ ├── spi │ │ │ │ ├── history │ │ │ │ │ ├── api │ │ │ │ │ │ ├── TaskanaHistory.java │ │ │ │ │ │ ├── events │ │ │ │ │ │ │ ├── classification │ │ │ │ │ │ │ │ ├── ClassificationCreatedEvent.java │ │ │ │ │ │ │ │ ├── ClassificationDeletedEvent.java │ │ │ │ │ │ │ │ ├── ClassificationHistoryEvent.java │ │ │ │ │ │ │ │ ├── ClassificationHistoryEventType.java │ │ │ │ │ │ │ │ └── ClassificationUpdatedEvent.java │ │ │ │ │ │ │ ├── task │ │ │ │ │ │ │ │ ├── TaskCancelledEvent.java │ │ │ │ │ │ │ │ ├── TaskClaimCancelledEvent.java │ │ │ │ │ │ │ │ ├── TaskClaimedEvent.java │ │ │ │ │ │ │ │ ├── TaskCompletedEvent.java │ │ │ │ │ │ │ │ ├── TaskCreatedEvent.java │ │ │ │ │ │ │ │ ├── TaskDeletedEvent.java │ │ │ │ │ │ │ │ ├── TaskHistoryCustomField.java │ │ │ │ │ │ │ │ ├── TaskHistoryEvent.java │ │ │ │ │ │ │ │ ├── TaskHistoryEventType.java │ │ │ │ │ │ │ │ ├── TaskRequestChangesEvent.java │ │ │ │ │ │ │ │ ├── TaskRequestReviewEvent.java │ │ │ │ │ │ │ │ ├── TaskTerminatedEvent.java │ │ │ │ │ │ │ │ ├── TaskTransferredEvent.java │ │ │ │ │ │ │ │ └── TaskUpdatedEvent.java │ │ │ │ │ │ │ └── workbasket │ │ │ │ │ │ │ │ ├── WorkbasketAccessItemCreatedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketAccessItemDeletedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketAccessItemDeletedForAccessIdEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketAccessItemUpdatedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketAccessItemsUpdatedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketCreatedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketDeletedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketDistributionTargetAddedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketDistributionTargetRemovedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketDistributionTargetsUpdatedEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketHistoryEvent.java │ │ │ │ │ │ │ │ ├── WorkbasketHistoryEventType.java │ │ │ │ │ │ │ │ ├── WorkbasketMarkedForDeletionEvent.java │ │ │ │ │ │ │ │ └── WorkbasketUpdatedEvent.java │ │ │ │ │ │ └── exceptions │ │ │ │ │ │ │ └── TaskanaHistoryEventNotFoundException.java │ │ │ │ │ └── internal │ │ │ │ │ │ └── HistoryEventManager.java │ │ │ │ ├── priority │ │ │ │ │ ├── api │ │ │ │ │ │ └── PriorityServiceProvider.java │ │ │ │ │ └── internal │ │ │ │ │ │ └── PriorityServiceManager.java │ │ │ │ ├── routing │ │ │ │ │ ├── api │ │ │ │ │ │ └── TaskRoutingProvider.java │ │ │ │ │ └── internal │ │ │ │ │ │ └── TaskRoutingManager.java │ │ │ │ ├── task │ │ │ │ │ ├── api │ │ │ │ │ │ ├── AfterRequestChangesProvider.java │ │ │ │ │ │ ├── AfterRequestReviewProvider.java │ │ │ │ │ │ ├── BeforeRequestChangesProvider.java │ │ │ │ │ │ ├── BeforeRequestReviewProvider.java │ │ │ │ │ │ ├── CreateTaskPreprocessor.java │ │ │ │ │ │ ├── ReviewRequiredProvider.java │ │ │ │ │ │ └── TaskEndstatePreprocessor.java │ │ │ │ │ └── internal │ │ │ │ │ │ ├── AfterRequestChangesManager.java │ │ │ │ │ │ ├── AfterRequestReviewManager.java │ │ │ │ │ │ ├── BeforeRequestChangesManager.java │ │ │ │ │ │ ├── BeforeRequestReviewManager.java │ │ │ │ │ │ ├── CreateTaskPreprocessorManager.java │ │ │ │ │ │ ├── ReviewRequiredManager.java │ │ │ │ │ │ └── TaskEndstatePreprocessorManager.java │ │ │ │ └── user │ │ │ │ │ ├── api │ │ │ │ │ └── RefreshUserPostprocessor.java │ │ │ │ │ └── internal │ │ │ │ │ └── RefreshUserPostprocessorManager.java │ │ │ │ ├── task │ │ │ │ ├── api │ │ │ │ │ ├── CallbackState.java │ │ │ │ │ ├── ObjectReferenceQuery.java │ │ │ │ │ ├── ObjectReferenceQueryColumnName.java │ │ │ │ │ ├── TaskCommentQuery.java │ │ │ │ │ ├── TaskCommentQueryColumnName.java │ │ │ │ │ ├── TaskCustomField.java │ │ │ │ │ ├── TaskCustomIntField.java │ │ │ │ │ ├── TaskQuery.java │ │ │ │ │ ├── TaskQueryColumnName.java │ │ │ │ │ ├── TaskService.java │ │ │ │ │ ├── TaskState.java │ │ │ │ │ ├── WildcardSearchField.java │ │ │ │ │ ├── exceptions │ │ │ │ │ │ ├── AttachmentPersistenceException.java │ │ │ │ │ │ ├── InvalidCallbackStateException.java │ │ │ │ │ │ ├── InvalidOwnerException.java │ │ │ │ │ │ ├── InvalidTaskStateException.java │ │ │ │ │ │ ├── NotAuthorizedOnTaskCommentException.java │ │ │ │ │ │ ├── ObjectReferencePersistenceException.java │ │ │ │ │ │ ├── TaskAlreadyExistException.java │ │ │ │ │ │ ├── TaskCommentNotFoundException.java │ │ │ │ │ │ └── TaskNotFoundException.java │ │ │ │ │ └── models │ │ │ │ │ │ ├── Attachment.java │ │ │ │ │ │ ├── AttachmentSummary.java │ │ │ │ │ │ ├── ObjectReference.java │ │ │ │ │ │ ├── Task.java │ │ │ │ │ │ ├── TaskComment.java │ │ │ │ │ │ └── TaskSummary.java │ │ │ │ └── internal │ │ │ │ │ ├── AttachmentHandler.java │ │ │ │ │ ├── AttachmentMapper.java │ │ │ │ │ ├── ObjectReferenceHandler.java │ │ │ │ │ ├── ObjectReferenceMapper.java │ │ │ │ │ ├── ObjectReferenceQueryImpl.java │ │ │ │ │ ├── ObjectReferenceQuerySqlProvider.java │ │ │ │ │ ├── ServiceLevelHandler.java │ │ │ │ │ ├── TaskCommentMapper.java │ │ │ │ │ ├── TaskCommentQueryImpl.java │ │ │ │ │ ├── TaskCommentQueryMapper.java │ │ │ │ │ ├── TaskCommentQuerySqlProvider.java │ │ │ │ │ ├── TaskCommentServiceImpl.java │ │ │ │ │ ├── TaskCustomPropertySelector.java │ │ │ │ │ ├── TaskMapper.java │ │ │ │ │ ├── TaskQueryImpl.java │ │ │ │ │ ├── TaskQueryMapper.java │ │ │ │ │ ├── TaskQuerySqlProvider.java │ │ │ │ │ ├── TaskServiceImpl.java │ │ │ │ │ ├── TaskTransferrer.java │ │ │ │ │ ├── jobs │ │ │ │ │ ├── TaskCleanupJob.java │ │ │ │ │ ├── TaskRefreshJob.java │ │ │ │ │ ├── TaskUpdatePriorityJob.java │ │ │ │ │ └── helper │ │ │ │ │ │ ├── SqlConnectionRunner.java │ │ │ │ │ │ ├── TaskUpdatePriorityBatchStatement.java │ │ │ │ │ │ └── TaskUpdatePriorityWorker.java │ │ │ │ │ └── models │ │ │ │ │ ├── AttachmentImpl.java │ │ │ │ │ ├── AttachmentSummaryImpl.java │ │ │ │ │ ├── MinimalTaskSummary.java │ │ │ │ │ ├── ObjectReferenceImpl.java │ │ │ │ │ ├── TaskCommentImpl.java │ │ │ │ │ ├── TaskImpl.java │ │ │ │ │ └── TaskSummaryImpl.java │ │ │ │ ├── user │ │ │ │ ├── api │ │ │ │ │ ├── UserService.java │ │ │ │ │ ├── exceptions │ │ │ │ │ │ ├── UserAlreadyExistException.java │ │ │ │ │ │ └── UserNotFoundException.java │ │ │ │ │ └── models │ │ │ │ │ │ └── User.java │ │ │ │ └── internal │ │ │ │ │ ├── UserMapper.java │ │ │ │ │ ├── UserMapperSqlProvider.java │ │ │ │ │ ├── UserServiceImpl.java │ │ │ │ │ └── models │ │ │ │ │ └── UserImpl.java │ │ │ │ └── workbasket │ │ │ │ ├── api │ │ │ │ ├── AccessItemQueryColumnName.java │ │ │ │ ├── WorkbasketAccessItemQuery.java │ │ │ │ ├── WorkbasketCustomField.java │ │ │ │ ├── WorkbasketPermission.java │ │ │ │ ├── WorkbasketQuery.java │ │ │ │ ├── WorkbasketQueryColumnName.java │ │ │ │ ├── WorkbasketService.java │ │ │ │ ├── WorkbasketType.java │ │ │ │ ├── exceptions │ │ │ │ │ ├── NotAuthorizedOnWorkbasketException.java │ │ │ │ │ ├── NotAuthorizedToQueryWorkbasketException.java │ │ │ │ │ ├── WorkbasketAccessItemAlreadyExistException.java │ │ │ │ │ ├── WorkbasketAlreadyExistException.java │ │ │ │ │ ├── WorkbasketInUseException.java │ │ │ │ │ ├── WorkbasketMarkedForDeletionException.java │ │ │ │ │ └── WorkbasketNotFoundException.java │ │ │ │ └── models │ │ │ │ │ ├── Workbasket.java │ │ │ │ │ ├── WorkbasketAccessItem.java │ │ │ │ │ └── WorkbasketSummary.java │ │ │ │ └── internal │ │ │ │ ├── DistributionTargetMapper.java │ │ │ │ ├── WorkbasketAccessItemQueryImpl.java │ │ │ │ ├── WorkbasketAccessMapper.java │ │ │ │ ├── WorkbasketAccessSqlProvider.java │ │ │ │ ├── WorkbasketMapper.java │ │ │ │ ├── WorkbasketQueryImpl.java │ │ │ │ ├── WorkbasketQueryMapper.java │ │ │ │ ├── WorkbasketServiceImpl.java │ │ │ │ ├── WorkbasketSqlProvider.java │ │ │ │ ├── jobs │ │ │ │ └── WorkbasketCleanupJob.java │ │ │ │ └── models │ │ │ │ ├── WorkbasketAccessItemImpl.java │ │ │ │ ├── WorkbasketImpl.java │ │ │ │ └── WorkbasketSummaryImpl.java │ │ └── resources │ │ │ └── pro │ │ │ └── taskana │ │ │ └── common │ │ │ └── internal │ │ │ └── defaultCustomAttributes.json │ │ └── test │ │ ├── java │ │ └── acceptance │ │ │ ├── AbstractAccTest.java │ │ │ ├── CreateTaskModelHelper.java │ │ │ ├── TaskTestMapper.java │ │ │ ├── TaskanaEngineProxy.java │ │ │ ├── classification │ │ │ └── ClassificationModelsCloneTest.java │ │ │ ├── config │ │ │ ├── TaskanaConfigAccTest.java │ │ │ ├── TaskanaConfigurationTest.java │ │ │ ├── TaskanaRoleConfigAccTest.java │ │ │ └── TaskanaSecurityConfigAccTest.java │ │ │ ├── history │ │ │ ├── HistoryEventManagerTest.java │ │ │ └── ObjectAttributeChangeDetectorTest.java │ │ │ ├── jobs │ │ │ ├── JobRunnerAccTest.java │ │ │ ├── TaskUpdatePriorityJobAccTest.java │ │ │ ├── WorkbasketCleanupJobAccTest.java │ │ │ └── helper │ │ │ │ ├── SqlConnectionRunnerAccTest.java │ │ │ │ └── TaskUpdatePriorityBatchStatementAccTest.java │ │ │ ├── persistence │ │ │ ├── UpdateObjectsUseUtcTimeStampsAccTest.java │ │ │ └── UpdateObjectsUseUtcTimeStampsWithWorkingDaysCalculationAccTest.java │ │ │ ├── priorityservice │ │ │ ├── PriorityServiceAccTest.java │ │ │ └── TestPriorityServiceProvider.java │ │ │ ├── report │ │ │ ├── AbstractReportAccTest.java │ │ │ ├── GetCustomAttributeValuesForReportAccTest.java │ │ │ ├── GetTaskIdsOfClassificationCategoryReportAccTest.java │ │ │ ├── GetTaskIdsOfClassificationReportAccTest.java │ │ │ ├── GetTaskIdsOfTaskCustomFieldValueReportAccTest.java │ │ │ ├── GetTaskIdsOfWorkbasketReportAccTest.java │ │ │ ├── ProvideClassificationCategoryReportAccTest.java │ │ │ ├── ProvideClassificationReportAccTest.java │ │ │ ├── ProvideDetailedClassificationReportAccTest.java │ │ │ ├── ProvideTaskCustomFieldValueReportAccTest.java │ │ │ ├── ProvideTaskStatusReportAccTest.java │ │ │ ├── ProvideTimestampReportAccTest.java │ │ │ ├── ProvideWorkbasketPriorityReportAccTest.java │ │ │ ├── ProvideWorkbasketReportAccTest.java │ │ │ ├── ReportTest.java │ │ │ └── WorkingDaysToDaysReportConverterTest.java │ │ │ ├── security │ │ │ └── TaskanaSecurityAccTest.java │ │ │ ├── task │ │ │ ├── CallbackStateAccTest.java │ │ │ ├── ServiceLevelPriorityAccTest.java │ │ │ ├── ServiceLevelPriorityWithWorkingDaysCalculationAccTest.java │ │ │ ├── TaskModelsCloneTest.java │ │ │ ├── claim │ │ │ │ └── SelectAndClaimTaskAccTest.java │ │ │ ├── query │ │ │ │ ├── QueryObjectReferenceAccTest.java │ │ │ │ ├── QueryObjectReferencesWithPaginationAccTest.java │ │ │ │ ├── QueryTasksAccTest.java │ │ │ │ ├── QueryTasksByRoleAccTest.java │ │ │ │ ├── QueryTasksByTimeIntervalsAccTest.java │ │ │ │ ├── QueryTasksByWildcardSearchAccTest.java │ │ │ │ ├── QueryTasksByWorkbasketAccTest.java │ │ │ │ ├── QueryTasksListValuesAccTest.java │ │ │ │ ├── QueryTasksWithPaginationAccTest.java │ │ │ │ └── QueryTasksWithSortingAccTest.java │ │ │ ├── transfer │ │ │ │ └── TransferTaskAccTest.java │ │ │ └── update │ │ │ │ ├── UpdateTaskAttachmentWithWorkingDaysCalculationAccTest.java │ │ │ │ └── UpdateTaskAttachmentsAccTest.java │ │ │ └── workbasket │ │ │ ├── WorkbasketModelsCloneTest.java │ │ │ ├── create │ │ │ ├── CreateWorkbasketAccTest.java │ │ │ └── CreateWorkbasketAuthorizationsAccTest.java │ │ │ ├── delete │ │ │ ├── DeleteWorkbasketAccTest.java │ │ │ └── DeleteWorkbasketAuthorizationsAccTest.java │ │ │ ├── get │ │ │ ├── GetDistributionTargetsAccTest.java │ │ │ └── GetWorkbasketAuthorizationsAccTest.java │ │ │ ├── query │ │ │ ├── QueryWorkbasketAccTest.java │ │ │ ├── QueryWorkbasketAccessItemsAccTest.java │ │ │ ├── QueryWorkbasketByPermissionAccTest.java │ │ │ ├── QueryWorkbasketsWithPaginationAccTest.java │ │ │ ├── WorkbasketQueryAccTest.java │ │ │ └── WorkbasketQueryWithOrderedPaginationAccTest.java │ │ │ └── update │ │ │ ├── UpdateDistributionTargetsAccTest.java │ │ │ ├── UpdateWorkbasketAccTest.java │ │ │ ├── UpdateWorkbasketAuthorizations2AccTest.java │ │ │ └── UpdateWorkbasketAuthorizationsAccTest.java │ │ └── resources │ │ ├── corpusChristiEnabled.properties │ │ ├── custom_holiday_taskana.properties │ │ ├── custom_holiday_with_wrong_format_taskana.properties │ │ ├── simplelogger.properties │ │ └── taskana.properties ├── taskana-spring-example │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── example │ │ │ │ ├── ExampleBootstrap.java │ │ │ │ ├── ExampleStartupException.java │ │ │ │ ├── TaskanaConfig.java │ │ │ │ ├── TaskanaConfigTestApplication.java │ │ │ │ └── TaskanaTestController.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── customdb.properties │ │ │ ├── schema.sql │ │ │ └── taskana.properties │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── example │ │ │ ├── ExampleBootstrapTest.java │ │ │ ├── TaskanaTransactionIntTest.java │ │ │ └── TransactionalJobsConfiguration.java │ │ └── resources │ │ ├── application.properties │ │ ├── junit-platform.properties │ │ └── taskana.properties ├── taskana-spring │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── pro │ │ │ └── taskana │ │ │ └── common │ │ │ └── internal │ │ │ ├── SpringTaskanaEngine.java │ │ │ ├── SpringTaskanaEngineImpl.java │ │ │ └── transaction │ │ │ └── SpringTransactionProvider.java │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── common │ │ │ └── internal │ │ │ └── transaction │ │ │ ├── TaskanaComponent.java │ │ │ └── TransactionTest.java │ │ └── resources │ │ └── test-applicationContext.xml └── taskana-test-api │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ ├── org │ │ │ └── junit │ │ │ │ ├── rules │ │ │ │ └── TestRule.java │ │ │ │ └── runners │ │ │ │ └── model │ │ │ │ └── Statement.java │ │ └── pro │ │ │ └── taskana │ │ │ └── testapi │ │ │ ├── CleanTaskanaContext.java │ │ │ ├── DefaultTestEntities.java │ │ │ ├── DockerContainerCreator.java │ │ │ ├── OracleSchemaHelper.java │ │ │ ├── TaskanaConfigurationModifier.java │ │ │ ├── TaskanaEngineProxy.java │ │ │ ├── TaskanaInject.java │ │ │ ├── TaskanaIntegrationTest.java │ │ │ ├── WithServiceProvider.java │ │ │ ├── builder │ │ │ ├── ClassificationBuilder.java │ │ │ ├── ClassificationTestImpl.java │ │ │ ├── EntityBuilder.java │ │ │ ├── ObjectReferenceBuilder.java │ │ │ ├── TaskAttachmentBuilder.java │ │ │ ├── TaskBuilder.java │ │ │ ├── TaskCommentBuilder.java │ │ │ ├── TaskCommentTestImpl.java │ │ │ ├── TaskTestImpl.java │ │ │ ├── UserBuilder.java │ │ │ ├── WorkbasketAccessItemBuilder.java │ │ │ ├── WorkbasketBuilder.java │ │ │ └── WorkbasketTestImpl.java │ │ │ ├── extensions │ │ │ ├── TaskanaDependencyInjectionExtension.java │ │ │ ├── TaskanaInitializationExtension.java │ │ │ └── TestContainerExtension.java │ │ │ ├── security │ │ │ ├── JaasExtension.java │ │ │ └── WithAccessId.java │ │ │ └── util │ │ │ ├── ExtensionCommunicator.java │ │ │ └── ServiceProviderExtractor.java │ └── resources │ │ └── container-license-acceptance.txt │ └── test │ ├── java │ └── pro │ │ └── taskana │ │ └── testapi │ │ ├── DefaultTestEntities.java │ │ ├── TaskanaDependencyInjectionExtensionTest.java │ │ ├── TaskanaInitializationExtensionTest.java │ │ ├── TestContainerExtensionTest.java │ │ ├── builder │ │ ├── ClassificationBuilderTest.java │ │ ├── ObjectReferenceBuilderTest.java │ │ ├── TaskAttachmentBuilderTest.java │ │ ├── TaskBuilderTest.java │ │ ├── TaskCommentBuilderTest.java │ │ ├── UserBuilderTest.java │ │ ├── WorkbasketAccessItemBuilderTest.java │ │ └── WorkbasketBuilderTest.java │ │ ├── security │ │ ├── JaasExtensionTest.java │ │ └── JaasExtensionTestExtensions.java │ │ └── util │ │ ├── ServiceProviderExtractorTest.java │ │ └── TopLevelCreateTaskPreprocessor.java │ └── resources │ ├── simplelogger.properties │ └── taskana.properties ├── mvnw ├── mvnw.cmd ├── pom.xml ├── qa ├── checkstyle │ └── checkstyle.xml ├── hooks │ ├── commit-msg │ └── pre-commit └── intellij │ ├── settings.zip │ └── taskana_formatter_intellij.xml ├── rest ├── pom.xml ├── taskana-rest-spring-example-boot │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── example │ │ │ └── boot │ │ │ ├── ExampleRestApplication.java │ │ │ ├── ExampleRestConfiguration.java │ │ │ ├── OpenApiConfiguration.java │ │ │ └── security │ │ │ ├── BootWebSecurityConfigurer.java │ │ │ ├── CsrfCookieFilter.java │ │ │ └── SpaCsrfTokenRequestHandler.java │ │ └── resources │ │ ├── application-db2.properties │ │ ├── application-oracle.properties │ │ ├── application-postgres.properties │ │ ├── application.properties │ │ ├── dmn-table.dmn │ │ └── taskana.properties ├── taskana-rest-spring-example-common │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── example │ │ │ │ ├── jobs │ │ │ │ └── TransactionalJobsConfiguration.java │ │ │ │ └── rest │ │ │ │ ├── ExampleWebSecurityConfig.java │ │ │ │ ├── WebMvcConfig.java │ │ │ │ ├── controllers │ │ │ │ ├── LoginController.java │ │ │ │ ├── ResourcesController.java │ │ │ │ └── TaskanaRedirectToIndexHtmlController.java │ │ │ │ └── models │ │ │ │ └── User.java │ │ └── resources │ │ │ ├── pro │ │ │ └── taskana │ │ │ │ └── example │ │ │ │ └── rest │ │ │ │ └── controllers │ │ │ │ └── taskana-customization.json │ │ │ ├── static │ │ │ ├── css │ │ │ │ ├── bootstrap │ │ │ │ │ └── 4.1.3 │ │ │ │ │ │ └── bootstrap.min.css │ │ │ │ └── main.css │ │ │ ├── environments │ │ │ │ └── data-sources │ │ │ │ │ └── environment-information.json │ │ │ └── img │ │ │ │ └── logo.png │ │ │ ├── taskana-example.ldif │ │ │ └── templates │ │ │ └── login.html │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── example │ │ │ └── ldap │ │ │ ├── LdapEmptySearchRootsForUseDnForGroupsDisabledTest.java │ │ │ ├── LdapEmptySearchRootsTest.java │ │ │ ├── LdapForUseDnForGroupsDisabledTest.java │ │ │ └── LdapTest.java │ │ └── resources │ │ ├── application-emptySearchRoots.properties │ │ ├── application.properties │ │ └── taskana.properties ├── taskana-rest-spring-example-wildfly │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── pro │ │ │ │ └── taskana │ │ │ │ └── example │ │ │ │ └── wildfly │ │ │ │ ├── AdditionalUserProperties.java │ │ │ │ ├── TaskanaWildFlyApplication.java │ │ │ │ ├── TaskanaWildflyConfiguration.java │ │ │ │ └── security │ │ │ │ ├── ElytronToJaasFilter.java │ │ │ │ ├── LoginErrorController.java │ │ │ │ ├── LogoutController.java │ │ │ │ └── WildflyWebSecurityConfigurer.java │ │ ├── resources │ │ │ ├── application-postgres.properties │ │ │ ├── application.properties │ │ │ ├── static │ │ │ │ └── environments │ │ │ │ │ └── data-sources │ │ │ │ │ └── environment-information.json │ │ │ ├── taskana.properties │ │ │ └── templates │ │ │ │ └── login.html │ │ └── webapp │ │ │ └── WEB-INF │ │ │ ├── jboss-web.xml │ │ │ └── web.xml │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ ├── common │ │ │ └── test │ │ │ │ └── rest │ │ │ │ ├── RestHelper.java │ │ │ │ ├── TaskanaSpringBootTest.java │ │ │ │ └── TestConfiguration.java │ │ │ └── example │ │ │ └── wildfly │ │ │ ├── AbstractAccTest.java │ │ │ ├── TaskanaWildflyTest.java │ │ │ ├── TaskanaWildflyWithHistoryLoggerEnabledTest.java │ │ │ ├── TaskanaWildflyWithSimpleHistoryAndHistoryLoggerEnabledTest.java │ │ │ ├── TaskanaWildflyWithSimpleHistoryEnabledTest.java │ │ │ └── TaskanaWildflyWithUserConfigTest.java │ │ └── resources │ │ ├── application-with-additional-user-config.properties │ │ ├── application.properties │ │ ├── arquillian.xml │ │ ├── int-test-jboss-web.xml │ │ ├── int-test-standalone.xml │ │ ├── int-test-web.xml │ │ ├── module.xml │ │ ├── taskana-test.ldif │ │ └── taskana.properties ├── taskana-rest-spring-test-lib │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── rest │ │ │ └── test │ │ │ ├── RestHelper.java │ │ │ ├── SpringSecurityToJaasFilter.java │ │ │ ├── TaskanaSpringBootTest.java │ │ │ ├── TestConfiguration.java │ │ │ └── TestWebSecurityConfig.java │ │ └── resources │ │ └── taskana-test.ldif └── taskana-rest-spring │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ ├── classification │ │ │ └── rest │ │ │ │ ├── ClassificationController.java │ │ │ │ ├── ClassificationDefinitionController.java │ │ │ │ ├── ClassificationQueryFilterParameter.java │ │ │ │ ├── assembler │ │ │ │ ├── ClassificationDefinitionCollectionRepresentationModel.java │ │ │ │ ├── ClassificationDefinitionRepresentationModelAssembler.java │ │ │ │ ├── ClassificationRepresentationModelAssembler.java │ │ │ │ └── ClassificationSummaryRepresentationModelAssembler.java │ │ │ │ └── models │ │ │ │ ├── ClassificationCollectionRepresentationModel.java │ │ │ │ ├── ClassificationDefinitionRepresentationModel.java │ │ │ │ ├── ClassificationRepresentationModel.java │ │ │ │ ├── ClassificationSummaryPagedRepresentationModel.java │ │ │ │ └── ClassificationSummaryRepresentationModel.java │ │ │ ├── common │ │ │ └── rest │ │ │ │ ├── AccessIdController.java │ │ │ │ ├── InitBinderControllerAdvice.java │ │ │ │ ├── JsonPropertyEditor.java │ │ │ │ ├── QueryPagingParameter.java │ │ │ │ ├── QueryParameter.java │ │ │ │ ├── QuerySortBy.java │ │ │ │ ├── QuerySortParameter.java │ │ │ │ ├── RestConfiguration.java │ │ │ │ ├── RestEndpoints.java │ │ │ │ ├── SpringSecurityToJaasFilter.java │ │ │ │ ├── TaskanaEngineController.java │ │ │ │ ├── TaskanaRestExceptionHandler.java │ │ │ │ ├── assembler │ │ │ │ ├── CollectionRepresentationModelAssembler.java │ │ │ │ └── PagedRepresentationModelAssembler.java │ │ │ │ ├── ldap │ │ │ │ ├── LdapClient.java │ │ │ │ ├── LdapConfiguration.java │ │ │ │ └── LdapSettings.java │ │ │ │ ├── models │ │ │ │ ├── AccessIdRepresentationModel.java │ │ │ │ ├── CollectionRepresentationModel.java │ │ │ │ ├── CustomAttributesRepresentationModel.java │ │ │ │ ├── ExceptionRepresentationModel.java │ │ │ │ ├── PageMetadata.java │ │ │ │ ├── PagedRepresentationModel.java │ │ │ │ ├── TaskanaUserInfoRepresentationModel.java │ │ │ │ └── VersionRepresentationModel.java │ │ │ │ └── util │ │ │ │ ├── ApplicationContextProvider.java │ │ │ │ └── QueryParamsValidator.java │ │ │ ├── monitor │ │ │ └── rest │ │ │ │ ├── MonitorController.java │ │ │ │ ├── PriorityReportFilterParameter.java │ │ │ │ ├── ReportFilterParameter.java │ │ │ │ ├── TimeIntervalReportFilterParameter.java │ │ │ │ ├── assembler │ │ │ │ ├── PriorityColumnHeaderRepresentationModelAssembler.java │ │ │ │ └── ReportRepresentationModelAssembler.java │ │ │ │ └── models │ │ │ │ ├── PriorityColumnHeaderRepresentationModel.java │ │ │ │ └── ReportRepresentationModel.java │ │ │ ├── task │ │ │ └── rest │ │ │ │ ├── AttachmentController.java │ │ │ │ ├── TaskCommentController.java │ │ │ │ ├── TaskCommentQueryFilterParameter.java │ │ │ │ ├── TaskController.java │ │ │ │ ├── TaskQueryFilterCustomFields.java │ │ │ │ ├── TaskQueryFilterCustomIntFields.java │ │ │ │ ├── TaskQueryFilterParameter.java │ │ │ │ ├── TaskQueryGroupByParameter.java │ │ │ │ ├── assembler │ │ │ │ ├── AttachmentRepresentationModelAssembler.java │ │ │ │ ├── AttachmentSummaryRepresentationModelAssembler.java │ │ │ │ ├── BulkOperationResultsRepresentationModelAssembler.java │ │ │ │ ├── ObjectReferenceRepresentationModelAssembler.java │ │ │ │ ├── TaskCommentRepresentationModelAssembler.java │ │ │ │ ├── TaskRepresentationModelAssembler.java │ │ │ │ └── TaskSummaryRepresentationModelAssembler.java │ │ │ │ └── models │ │ │ │ ├── AttachmentRepresentationModel.java │ │ │ │ ├── AttachmentSummaryRepresentationModel.java │ │ │ │ ├── BulkOperationResultsRepresentationModel.java │ │ │ │ ├── IsReadRepresentationModel.java │ │ │ │ ├── ObjectReferenceRepresentationModel.java │ │ │ │ ├── TaskCommentCollectionRepresentationModel.java │ │ │ │ ├── TaskCommentRepresentationModel.java │ │ │ │ ├── TaskRepresentationModel.java │ │ │ │ ├── TaskSummaryCollectionRepresentationModel.java │ │ │ │ ├── TaskSummaryPagedRepresentationModel.java │ │ │ │ ├── TaskSummaryRepresentationModel.java │ │ │ │ └── TransferTaskRepresentationModel.java │ │ │ ├── user │ │ │ ├── jobs │ │ │ │ └── UserInfoRefreshJob.java │ │ │ └── rest │ │ │ │ ├── UserController.java │ │ │ │ ├── assembler │ │ │ │ └── UserRepresentationModelAssembler.java │ │ │ │ └── models │ │ │ │ ├── UserCollectionRepresentationModel.java │ │ │ │ └── UserRepresentationModel.java │ │ │ └── workbasket │ │ │ └── rest │ │ │ ├── WorkbasketAccessItemController.java │ │ │ ├── WorkbasketAccessItemQueryFilterParameter.java │ │ │ ├── WorkbasketController.java │ │ │ ├── WorkbasketDefinitionController.java │ │ │ ├── WorkbasketQueryFilterParameter.java │ │ │ ├── assembler │ │ │ ├── WorkbasketAccessItemRepresentationModelAssembler.java │ │ │ ├── WorkbasketDefinitionRepresentationModelAssembler.java │ │ │ ├── WorkbasketRepresentationModelAssembler.java │ │ │ └── WorkbasketSummaryRepresentationModelAssembler.java │ │ │ └── models │ │ │ ├── DistributionTargetsCollectionRepresentationModel.java │ │ │ ├── WorkbasketAccessItemCollectionRepresentationModel.java │ │ │ ├── WorkbasketAccessItemPagedRepresentationModel.java │ │ │ ├── WorkbasketAccessItemRepresentationModel.java │ │ │ ├── WorkbasketDefinitionCollectionRepresentationModel.java │ │ │ ├── WorkbasketDefinitionRepresentationModel.java │ │ │ ├── WorkbasketRepresentationModel.java │ │ │ ├── WorkbasketSummaryPagedRepresentationModel.java │ │ │ └── WorkbasketSummaryRepresentationModel.java │ └── resources │ │ └── .gitkeep │ └── test │ ├── java │ └── pro │ │ └── taskana │ │ ├── SpringArchitectureTest.java │ │ ├── classification │ │ └── rest │ │ │ ├── ClassificationControllerIntTest.java │ │ │ ├── ClassificationDefinitionControllerIntTest.java │ │ │ └── assembler │ │ │ ├── ClassificationRepresentationModelAssemblerTest.java │ │ │ └── ClassificationSummaryRepresentationModelAssemblerTest.java │ │ ├── common │ │ └── rest │ │ │ ├── AccessIdControllerForUseDnForGroupsDisabledIntTest.java │ │ │ ├── AccessIdControllerIntTest.java │ │ │ ├── ExceptionErrorKeyTest.java │ │ │ ├── GeneralExceptionHandlingTest.java │ │ │ ├── QuerySortParameterTest.java │ │ │ ├── RestEndpointsTest.java │ │ │ ├── SchemaNameCustomizableTest.java │ │ │ ├── TaskanaEngineControllerIntTest.java │ │ │ └── ldap │ │ │ └── LdapClientTest.java │ │ ├── monitor │ │ └── rest │ │ │ ├── MonitorControllerIntTest.java │ │ │ └── assembler │ │ │ ├── PriorityColumnHeaderRepresentationModelAssemblerTest.java │ │ │ └── ReportRepresentationModelAssemblerTest.java │ │ ├── properties │ │ ├── MyTaskanaConfigurationIntTest.java │ │ └── MyTaskanaTestConfiguration.java │ │ ├── task │ │ └── rest │ │ │ ├── TaskCommentControllerIntTest.java │ │ │ ├── TaskControllerIntTest.java │ │ │ ├── assembler │ │ │ ├── AttachmentRepresentationModelAssemblerTest.java │ │ │ ├── AttachmentSummaryRepresentationModelAssemblerTest.java │ │ │ ├── BulkOperationResultsRepresentationModelAssemblerTest.java │ │ │ ├── ObjectReferenceRepresentationModelAssemblerTest.java │ │ │ ├── TaskCommentRepresentationModelAssemblerTest.java │ │ │ ├── TaskRepresentationModelAssemblerTest.java │ │ │ └── TaskSummaryRepresentationModelAssemblerTest.java │ │ │ └── routing │ │ │ └── IntegrationTestTaskRouter.java │ │ ├── user │ │ ├── jobs │ │ │ └── UserInfoRefreshJobIntTest.java │ │ └── rest │ │ │ ├── FirstRefreshUserPostprocessor.java │ │ │ ├── SecondRefreshUserPostprocessor.java │ │ │ ├── UserControllerIntTest.java │ │ │ └── assembler │ │ │ └── UserRepresentationModelAssemblerTest.java │ │ └── workbasket │ │ └── rest │ │ ├── WorkbasketAccessItemControllerIntTest.java │ │ ├── WorkbasketControllerIntTest.java │ │ ├── WorkbasketDefinitionControllerIntTest.java │ │ └── assembler │ │ ├── WorkbasketAccessItemRepresentationModelAssemblerTest.java │ │ ├── WorkbasketDefinitionRepresentationModelAssemblerTest.java │ │ ├── WorkbasketRepresentationModelAssemblerTest.java │ │ └── WorkbasketSummaryRepresentationModelAssemblerTest.java │ └── resources │ ├── META-INF │ └── services │ │ ├── pro.taskana.spi.routing.api.TaskRoutingProvider │ │ └── pro.taskana.spi.user.api.RefreshUserPostprocessor │ ├── application.properties │ ├── mytaskana.properties │ └── taskana.properties ├── routing ├── dmn-xlsx-converter │ ├── LEGAL_NOTICE.md │ ├── LICENSE │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── camunda │ │ │ └── bpm │ │ │ └── dmn │ │ │ └── xlsx │ │ │ ├── AdvancedSpreadsheetAdapter.java │ │ │ ├── BaseAdapter.java │ │ │ ├── CellContentHandler.java │ │ │ ├── DmnConversionContext.java │ │ │ ├── DmnValueNumberConverter.java │ │ │ ├── DmnValueRangeConverter.java │ │ │ ├── DmnValueStringConverter.java │ │ │ ├── FeelSimpleUnaryTestConverter.java │ │ │ ├── InputOutputColumns.java │ │ │ ├── SimpleInputOutputDetectionStrategy.java │ │ │ ├── StaticInputOutputDetectionStrategy.java │ │ │ ├── XlsxConverter.java │ │ │ ├── XlsxWorksheetContext.java │ │ │ ├── XlsxWorksheetConverter.java │ │ │ ├── api │ │ │ ├── Spreadsheet.java │ │ │ ├── SpreadsheetAdapter.java │ │ │ ├── SpreadsheetCell.java │ │ │ └── SpreadsheetRow.java │ │ │ └── elements │ │ │ ├── CellHelper.java │ │ │ ├── HeaderValuesContainer.java │ │ │ ├── IndexedCell.java │ │ │ ├── IndexedDmnColumns.java │ │ │ └── IndexedRow.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── camunda │ │ │ └── bpm │ │ │ └── dmn │ │ │ └── xlsx │ │ │ ├── DmnValueRangeMatcherTest.java │ │ │ ├── InputOutputDetectionStrategyTest.java │ │ │ ├── TestHelper.java │ │ │ └── XslxToDmnConversionTest.java │ │ └── resources │ │ ├── log4j2-test.xml │ │ ├── test1.xlsx │ │ ├── test2.xlsx │ │ ├── test3.xlsx │ │ ├── test4.xlsx │ │ ├── test5.xlsx │ │ └── test6.xlsx ├── pom.xml ├── taskana-routing-rest │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── pro │ │ │ └── taskana │ │ │ └── routing │ │ │ └── dmn │ │ │ ├── rest │ │ │ ├── DmnUploadController.java │ │ │ ├── RoutingRestEndpoints.java │ │ │ └── RoutingUploadResultRepresentationModel.java │ │ │ ├── service │ │ │ ├── DmnConverterService.java │ │ │ ├── XlsxConverter.java │ │ │ ├── XlsxWorksheetConverter.java │ │ │ └── util │ │ │ │ └── InputEntriesSanitizer.java │ │ │ └── spi │ │ │ ├── api │ │ │ └── DmnValidator.java │ │ │ └── internal │ │ │ └── DmnValidatorManager.java │ │ └── test │ │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── routing │ │ │ └── dmn │ │ │ ├── rest │ │ │ └── DmnUploadControllerIntTest.java │ │ │ ├── service │ │ │ ├── DmnConverterServiceAccTest.java │ │ │ └── util │ │ │ │ └── InputEntriesSanitizerAccTest.java │ │ │ └── spi │ │ │ └── TestDmnValidatorImpl.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── pro.taskana.routing.dmn.spi.api.DmnValidator │ │ ├── application.properties │ │ ├── taskana.properties │ │ ├── testDmnRouting.dmn │ │ ├── testExcelRouting.xlsx │ │ └── testExcelRoutingWithInvalidOutputs.xlsx └── taskana-spi-routing-dmn-router │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── pro │ │ │ └── taskana │ │ │ └── routing │ │ │ └── dmn │ │ │ └── DmnTaskRouter.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── pro.taskana.spi.routing.api.TaskRoutingProvider │ └── test │ ├── java │ └── pro │ │ └── taskana │ │ ├── AbstractAccTest.java │ │ └── routing │ │ └── dmn │ │ └── DmnTaskRouterAccTest.java │ └── resources │ ├── dmn-table.dmn │ ├── empty.dmn │ └── taskana.properties └── web ├── .editorconfig ├── .eslintrc.js ├── .prettierignore ├── .prettierrc.js ├── .vscode ├── launch.json └── settings.json ├── README.md ├── angular.json ├── browserslist ├── cypress-standalone.json ├── cypress.json ├── cypress ├── integration │ ├── classifications │ │ └── classifications.spec.js │ ├── history │ │ └── history.spec.js │ ├── login │ │ └── login.spec.js │ ├── monitor │ │ └── monitor.spec.js │ └── workbaskets │ │ └── workbaskets.spec.js ├── plugins │ └── index.js └── support │ ├── commands.js │ └── index.js ├── jest.config.js ├── package.json ├── pom.xml ├── src ├── app │ ├── administration │ │ ├── administration-routing.module.ts │ │ ├── administration.module.ts │ │ ├── components │ │ │ ├── access-items-management │ │ │ │ ├── access-items-management.component.html │ │ │ │ ├── access-items-management.component.scss │ │ │ │ ├── access-items-management.component.spec.ts │ │ │ │ └── access-items-management.component.ts │ │ │ ├── administration-overview │ │ │ │ ├── administration-overview.component.html │ │ │ │ ├── administration-overview.component.scss │ │ │ │ ├── administration-overview.component.spec.ts │ │ │ │ └── administration-overview.component.ts │ │ │ ├── classification-details │ │ │ │ ├── classification-details.component.html │ │ │ │ ├── classification-details.component.scss │ │ │ │ ├── classification-details.component.spec.ts │ │ │ │ └── classification-details.component.ts │ │ │ ├── classification-list │ │ │ │ ├── classification-list.component.html │ │ │ │ ├── classification-list.component.scss │ │ │ │ ├── classification-list.component.spec.ts │ │ │ │ └── classification-list.component.ts │ │ │ ├── classification-overview │ │ │ │ ├── classification-overview.component.html │ │ │ │ ├── classification-overview.component.scss │ │ │ │ ├── classification-overview.component.spec.ts │ │ │ │ └── classification-overview.component.ts │ │ │ ├── classification-types-selector │ │ │ │ ├── classification-types-selector.component.html │ │ │ │ ├── classification-types-selector.component.scss │ │ │ │ ├── classification-types-selector.component.spec.ts │ │ │ │ └── classification-types-selector.component.ts │ │ │ ├── import-export │ │ │ │ ├── import-export.component.html │ │ │ │ ├── import-export.component.scss │ │ │ │ ├── import-export.component.spec.ts │ │ │ │ └── import-export.component.ts │ │ │ ├── tree │ │ │ │ ├── tree.component.html │ │ │ │ ├── tree.component.scss │ │ │ │ └── tree.component.ts │ │ │ ├── type-icon │ │ │ │ ├── icon-type.component.html │ │ │ │ ├── icon-type.component.scss │ │ │ │ ├── icon-type.component.spec.ts │ │ │ │ └── icon-type.component.ts │ │ │ ├── workbasket-access-items │ │ │ │ ├── workbasket-access-items.component.html │ │ │ │ ├── workbasket-access-items.component.scss │ │ │ │ ├── workbasket-access-items.component.spec.ts │ │ │ │ └── workbasket-access-items.component.ts │ │ │ ├── workbasket-details │ │ │ │ ├── workbasket-details.component.html │ │ │ │ ├── workbasket-details.component.scss │ │ │ │ ├── workbasket-details.component.spec.ts │ │ │ │ └── workbasket-details.component.ts │ │ │ ├── workbasket-distribution-targets-list │ │ │ │ ├── workbasket-distribution-targets-list.component.html │ │ │ │ ├── workbasket-distribution-targets-list.component.scss │ │ │ │ ├── workbasket-distribution-targets-list.component.spec.ts │ │ │ │ └── workbasket-distribution-targets-list.component.ts │ │ │ ├── workbasket-distribution-targets │ │ │ │ ├── workbasket-distribution-targets.component.html │ │ │ │ ├── workbasket-distribution-targets.component.scss │ │ │ │ ├── workbasket-distribution-targets.component.spec.ts │ │ │ │ └── workbasket-distribution-targets.component.ts │ │ │ ├── workbasket-information │ │ │ │ ├── workbasket-information.component.html │ │ │ │ ├── workbasket-information.component.scss │ │ │ │ ├── workbasket-information.component.spec.ts │ │ │ │ └── workbasket-information.component.ts │ │ │ ├── workbasket-list-toolbar │ │ │ │ ├── workbasket-list-toolbar.component.html │ │ │ │ ├── workbasket-list-toolbar.component.scss │ │ │ │ ├── workbasket-list-toolbar.component.spec.ts │ │ │ │ └── workbasket-list-toolbar.component.ts │ │ │ ├── workbasket-list │ │ │ │ ├── workbasket-list.component.html │ │ │ │ ├── workbasket-list.component.scss │ │ │ │ ├── workbasket-list.component.spec.ts │ │ │ │ └── workbasket-list.component.ts │ │ │ └── workbasket-overview │ │ │ │ ├── workbasket-overview.component.html │ │ │ │ ├── workbasket-overview.component.scss │ │ │ │ ├── workbasket-overview.component.spec.ts │ │ │ │ └── workbasket-overview.component.ts │ │ ├── models │ │ │ ├── button-action.ts │ │ │ ├── tree-node.ts │ │ │ ├── workbasket-component.ts │ │ │ └── workbasket-distribution-enums.ts │ │ └── services │ │ │ ├── classification-definition.service.ts │ │ │ ├── classification-tree.service.spec.ts │ │ │ ├── classification-tree.service.ts │ │ │ ├── import-export.service.ts │ │ │ └── workbasket-definition.service.ts │ ├── app-routing.module.ts │ ├── app.component.html │ ├── app.component.scss │ ├── app.component.ts │ ├── app.module.ts │ ├── app.test.configuration.ts │ ├── app.test.module.ts │ ├── history │ │ ├── history-routing.module.ts │ │ ├── history.module.ts │ │ ├── services │ │ │ └── task-history-query │ │ │ │ └── task-history-query.service.ts │ │ └── task-history-query │ │ │ ├── task-history-query.component.html │ │ │ ├── task-history-query.component.scss │ │ │ └── task-history-query.component.ts │ ├── monitor │ │ ├── components │ │ │ ├── canvas │ │ │ │ ├── canvas.component.html │ │ │ │ ├── canvas.component.scss │ │ │ │ ├── canvas.component.spec.ts │ │ │ │ └── canvas.component.ts │ │ │ ├── classification-report │ │ │ │ ├── classification-report.component.html │ │ │ │ ├── classification-report.component.scss │ │ │ │ └── classification-report.component.ts │ │ │ ├── monitor │ │ │ │ ├── monitor.component.html │ │ │ │ ├── monitor.component.scss │ │ │ │ ├── monitor.component.spec.ts │ │ │ │ └── monitor.component.ts │ │ │ ├── report-table │ │ │ │ ├── report-table.component.html │ │ │ │ ├── report-table.component.scss │ │ │ │ └── report-table.component.ts │ │ │ ├── task-priority-report-filter │ │ │ │ ├── task-priority-report-filter.component.html │ │ │ │ ├── task-priority-report-filter.component.scss │ │ │ │ ├── task-priority-report-filter.component.spec.ts │ │ │ │ └── task-priority-report-filter.component.ts │ │ │ ├── task-priority-report │ │ │ │ ├── monitor-mock-data.ts │ │ │ │ ├── task-priority-report.component.html │ │ │ │ ├── task-priority-report.component.scss │ │ │ │ ├── task-priority-report.component.spec.ts │ │ │ │ └── task-priority-report.component.ts │ │ │ ├── task-report │ │ │ │ ├── task-report.component.html │ │ │ │ ├── task-report.component.scss │ │ │ │ └── task-report.component.ts │ │ │ ├── timestamp-report │ │ │ │ ├── timestamp-report.component.html │ │ │ │ ├── timestamp-report.component.scss │ │ │ │ └── timestamp-report.component.ts │ │ │ ├── workbasket-report-due-date │ │ │ │ ├── workbasket-report-due-date.component.html │ │ │ │ ├── workbasket-report-due-date.component.scss │ │ │ │ └── workbasket-report-due-date.component.ts │ │ │ ├── workbasket-report-planned-date │ │ │ │ ├── workbasket-report-planned-date.component.html │ │ │ │ ├── workbasket-report-planned-date.component.scss │ │ │ │ └── workbasket-report-planned-date.component.ts │ │ │ └── workbasket-report │ │ │ │ ├── workbasket-report.component.html │ │ │ │ ├── workbasket-report.component.scss │ │ │ │ └── workbasket-report.component.ts │ │ ├── models │ │ │ ├── chart-colors.ts │ │ │ ├── chart-data.ts │ │ │ ├── meta-info-data.ts │ │ │ ├── priority.ts │ │ │ ├── query-type.ts │ │ │ ├── report-data.ts │ │ │ ├── report-row.ts │ │ │ ├── workbasket-counter-data.ts │ │ │ └── workbasket-counter.ts │ │ ├── monitor-routing.module.ts │ │ ├── monitor.module.ts │ │ └── services │ │ │ └── monitor.service.ts │ ├── settings │ │ ├── components │ │ │ └── Settings │ │ │ │ ├── expected-members.ts │ │ │ │ ├── settings.component.html │ │ │ │ ├── settings.component.scss │ │ │ │ ├── settings.component.spec.ts │ │ │ │ ├── settings.component.ts │ │ │ │ └── settings.validators.ts │ │ ├── models │ │ │ ├── group-setting.ts │ │ │ ├── settings-member.ts │ │ │ ├── settings-representation.ts │ │ │ └── settings.ts │ │ ├── services │ │ │ └── settings-service.ts │ │ ├── settings-routing.module.ts │ │ └── settings.module.ts │ ├── shared │ │ ├── animations │ │ │ ├── expand.animation.ts │ │ │ └── validation.animation.ts │ │ ├── components │ │ │ ├── field-error-display │ │ │ │ ├── field-error-display.component.html │ │ │ │ ├── field-error-display.component.scss │ │ │ │ └── field-error-display.component.ts │ │ │ ├── master-and-detail │ │ │ │ ├── master-and-detail.component.html │ │ │ │ ├── master-and-detail.component.scss │ │ │ │ └── master-and-detail.component.ts │ │ │ ├── nav-bar │ │ │ │ ├── nav-bar.component.html │ │ │ │ ├── nav-bar.component.scss │ │ │ │ ├── nav-bar.component.spec.ts │ │ │ │ └── nav-bar.component.ts │ │ │ ├── no-access │ │ │ │ ├── no-access.component.html │ │ │ │ ├── no-access.component.scss │ │ │ │ └── no-access.component.ts │ │ │ ├── pagination │ │ │ │ ├── pagination.component.html │ │ │ │ ├── pagination.component.scss │ │ │ │ ├── pagination.component.spec.ts │ │ │ │ └── pagination.component.ts │ │ │ ├── popup │ │ │ │ ├── dialog-pop-up.component.html │ │ │ │ ├── dialog-pop-up.component.scss │ │ │ │ └── dialog-pop-up.component.ts │ │ │ ├── progress-spinner │ │ │ │ ├── progress-spinner.component.html │ │ │ │ ├── progress-spinner.component.scss │ │ │ │ ├── progress-spinner.component.spec.ts │ │ │ │ └── progress-spinner.component.ts │ │ │ ├── sidenav-list │ │ │ │ ├── sidenav-list.component.html │ │ │ │ ├── sidenav-list.component.scss │ │ │ │ ├── sidenav-list.component.spec.ts │ │ │ │ └── sidenav-list.component.ts │ │ │ ├── sort │ │ │ │ ├── sort.component.html │ │ │ │ ├── sort.component.scss │ │ │ │ └── sort.component.ts │ │ │ ├── spinner │ │ │ │ ├── spinner.component.html │ │ │ │ ├── spinner.component.scss │ │ │ │ └── spinner.component.ts │ │ │ ├── task-filter │ │ │ │ ├── task-filter.component.html │ │ │ │ ├── task-filter.component.scss │ │ │ │ └── task-filter.component.ts │ │ │ ├── type-ahead │ │ │ │ ├── type-ahead.component.html │ │ │ │ ├── type-ahead.component.scss │ │ │ │ ├── type-ahead.component.spec.ts │ │ │ │ └── type-ahead.component.ts │ │ │ ├── user-information │ │ │ │ ├── user-information.component.html │ │ │ │ ├── user-information.component.scss │ │ │ │ ├── user-information.component.spec.ts │ │ │ │ └── user-information.component.ts │ │ │ └── workbasket-filter │ │ │ │ ├── workbasket-filter.component.html │ │ │ │ ├── workbasket-filter.component.scss │ │ │ │ └── workbasket-filter.component.ts │ │ ├── directives │ │ │ ├── drag-and-drop.directive.spec.ts │ │ │ ├── drag-and-drop.directive.ts │ │ │ ├── resizable-width.directive.spec.ts │ │ │ └── resizable-width.directive.ts │ │ ├── guards │ │ │ ├── business-admin.guard.ts │ │ │ ├── domain.guard.ts │ │ │ ├── history.guard.ts │ │ │ ├── monitor.guard.ts │ │ │ └── user.guard.ts │ │ ├── models │ │ │ ├── access-id.ts │ │ │ ├── action.ts │ │ │ ├── classification-paging-list.ts │ │ │ ├── classification-query-filter-parameter.ts │ │ │ ├── classification-summary.ts │ │ │ ├── classification.ts │ │ │ ├── customisation.ts │ │ │ ├── links-workbasket-summary.ts │ │ │ ├── links.ts │ │ │ ├── orientation.ts │ │ │ ├── page.ts │ │ │ ├── pair.ts │ │ │ ├── query-paging-parameter.ts │ │ │ ├── query-parameters.ts │ │ │ ├── sorting.ts │ │ │ ├── task-history-event-resource.ts │ │ │ ├── task-history-event.ts │ │ │ ├── task-history-query-filter-parameter.ts │ │ │ ├── task-query-filter-parameter.ts │ │ │ ├── task-state.ts │ │ │ ├── taskana-type.ts │ │ │ ├── user-info.ts │ │ │ ├── version.ts │ │ │ ├── workbasket-access-item-query-filter-parameter.ts │ │ │ ├── workbasket-access-items-representation.ts │ │ │ ├── workbasket-access-items.ts │ │ │ ├── workbasket-definition.ts │ │ │ ├── workbasket-distribution-target.ts │ │ │ ├── workbasket-distribution-targets.ts │ │ │ ├── workbasket-permission.ts │ │ │ ├── workbasket-query-filter-parameter.ts │ │ │ ├── workbasket-query-paging-parameter.ts │ │ │ ├── workbasket-representation.ts │ │ │ ├── workbasket-summary-representation.ts │ │ │ ├── workbasket-summary.ts │ │ │ ├── workbasket-type.ts │ │ │ └── workbasket.ts │ │ ├── pipes │ │ │ ├── date-time-zone.pipe.spec.ts │ │ │ ├── date-time-zone.pipe.ts │ │ │ ├── german-time-format.pipe.spec.ts │ │ │ ├── german-time-format.pipe.ts │ │ │ ├── map-to-iterable.pipe.ts │ │ │ ├── map-values.pipe.ts │ │ │ ├── number-to-array.pipe.ts │ │ │ ├── order-by.pipe.ts │ │ │ ├── remove-empty-type.pipe.ts │ │ │ └── spread-number.pipe.ts │ │ ├── services │ │ │ ├── access-ids │ │ │ │ ├── access-ids.service.spec.ts │ │ │ │ └── access-ids.service.ts │ │ │ ├── classification-categories │ │ │ │ ├── classification-categories.service.spec.ts │ │ │ │ └── classification-categories.service.ts │ │ │ ├── classifications │ │ │ │ └── classifications.service.ts │ │ │ ├── domain │ │ │ │ ├── domain.service.mock.ts │ │ │ │ ├── domain.service.spec.ts │ │ │ │ └── domain.service.ts │ │ │ ├── forms-validator │ │ │ │ └── forms-validator.service.ts │ │ │ ├── http-client-interceptor │ │ │ │ └── http-client-interceptor.service.ts │ │ │ ├── master-and-detail │ │ │ │ ├── master-and-detail.service.spec.ts │ │ │ │ └── master-and-detail.service.ts │ │ │ ├── notifications │ │ │ │ └── notification.service.ts │ │ │ ├── obtain-message │ │ │ │ ├── message-by-error-code.ts │ │ │ │ ├── message-types.ts │ │ │ │ └── obtain-message.service.ts │ │ │ ├── orientation │ │ │ │ ├── orientation.service.spec.ts │ │ │ │ └── orientation.service.ts │ │ │ ├── request-in-progress │ │ │ │ └── request-in-progress.service.ts │ │ │ ├── selected-route │ │ │ │ └── selected-route.ts │ │ │ ├── sidenav │ │ │ │ ├── sidenav.service.spec.ts │ │ │ │ └── sidenav.service.ts │ │ │ ├── startup │ │ │ │ ├── startup.service.spec.ts │ │ │ │ └── startup.service.ts │ │ │ ├── taskana-engine │ │ │ │ ├── taskana-engine.mock.service.ts │ │ │ │ └── taskana-engine.service.ts │ │ │ ├── window │ │ │ │ └── window.service.ts │ │ │ └── workbasket │ │ │ │ └── workbasket.service.ts │ │ ├── shared.module.ts │ │ ├── store │ │ │ ├── access-items-management-store │ │ │ │ ├── access-items-management.actions.ts │ │ │ │ ├── access-items-management.selector.ts │ │ │ │ └── access-items-management.state.ts │ │ │ ├── classification-store │ │ │ │ ├── classification.actions.ts │ │ │ │ ├── classification.selectors.ts │ │ │ │ └── classification.state.ts │ │ │ ├── engine-configuration-store │ │ │ │ ├── engine-configuration.selectors.ts │ │ │ │ └── engine-configuration.state.ts │ │ │ ├── filter-store │ │ │ │ ├── filter.actions.ts │ │ │ │ ├── filter.selectors.ts │ │ │ │ └── filter.state.ts │ │ │ ├── index.ts │ │ │ ├── mock-data │ │ │ │ └── mock-store.ts │ │ │ ├── settings-store │ │ │ │ ├── settings.actions.ts │ │ │ │ ├── settings.selectors.ts │ │ │ │ └── settings.state.ts │ │ │ ├── workbasket-store │ │ │ │ ├── workbasket.actions.ts │ │ │ │ ├── workbasket.selectors.ts │ │ │ │ └── workbasket.state.ts │ │ │ └── workplace-store │ │ │ │ ├── workplace.actions.ts │ │ │ │ ├── workplace.selectors.ts │ │ │ │ └── workplace.state.ts │ │ └── util │ │ │ ├── blob-generator.ts │ │ │ ├── form-trimmer.ts │ │ │ ├── query-parameters-v2.spec.ts │ │ │ ├── query-parameters-v2.ts │ │ │ ├── query-parameters.ts │ │ │ └── taskana.date.ts │ ├── v2 │ │ ├── classification │ │ │ ├── classification-routing.module.ts │ │ │ └── classification.module.ts │ │ ├── history │ │ │ ├── history-routing.module.ts │ │ │ └── history.module.ts │ │ ├── monitor │ │ │ ├── monitor-routing.module.ts │ │ │ └── monitor.module.ts │ │ ├── shared │ │ │ └── shared.module.ts │ │ ├── shell │ │ │ ├── shell-routing.module.ts │ │ │ └── shell.module.ts │ │ ├── task-routing │ │ │ ├── components │ │ │ │ └── routing-upload │ │ │ │ │ ├── routing-upload.component.html │ │ │ │ │ ├── routing-upload.component.scss │ │ │ │ │ └── routing-upload.component.ts │ │ │ ├── guards │ │ │ │ └── task-routing.guard.ts │ │ │ ├── services │ │ │ │ ├── routing-upload.service.spec.ts │ │ │ │ └── routing-upload.service.ts │ │ │ ├── task-routing-routing.module.ts │ │ │ └── task-routing.module.ts │ │ ├── task │ │ │ ├── components │ │ │ │ ├── task-container │ │ │ │ │ ├── task-container.component.html │ │ │ │ │ ├── task-container.component.scss │ │ │ │ │ ├── task-container.component.spec.ts │ │ │ │ │ └── task-container.component.ts │ │ │ │ ├── task-details-container │ │ │ │ │ ├── task-details-container.component.html │ │ │ │ │ ├── task-details-container.component.scss │ │ │ │ │ ├── task-details-container.component.spec.ts │ │ │ │ │ └── task-details-container.component.ts │ │ │ │ ├── task-details │ │ │ │ │ ├── task-details.component.html │ │ │ │ │ ├── task-details.component.scss │ │ │ │ │ ├── task-details.component.spec.ts │ │ │ │ │ └── task-details.component.ts │ │ │ │ ├── task-list │ │ │ │ │ ├── task-list.component.html │ │ │ │ │ ├── task-list.component.scss │ │ │ │ │ ├── task-list.component.spec.ts │ │ │ │ │ └── task-list.component.ts │ │ │ │ └── task-overview │ │ │ │ │ ├── task-overview.component.html │ │ │ │ │ ├── task-overview.component.scss │ │ │ │ │ ├── task-overview.component.spec.ts │ │ │ │ │ └── task-overview.component.ts │ │ │ ├── models │ │ │ │ ├── paged-task.ts │ │ │ │ └── task.ts │ │ │ ├── services │ │ │ │ ├── task-facade.service.spec.ts │ │ │ │ ├── task-facade.service.ts │ │ │ │ ├── task.service.spec.ts │ │ │ │ └── task.service.ts │ │ │ ├── store │ │ │ │ ├── task.actions.ts │ │ │ │ ├── task.selector.ts │ │ │ │ └── task.state.ts │ │ │ ├── task-routing.module.ts │ │ │ └── task.module.ts │ │ └── workbasket │ │ │ ├── workbasket-routing.module.ts │ │ │ └── workbasket.module.ts │ └── workplace │ │ ├── components │ │ ├── task-attribute-value │ │ │ ├── task-attribute-value.component.html │ │ │ ├── task-attribute-value.component.scss │ │ │ ├── task-attribute-value.component.spec.ts │ │ │ └── task-attribute-value.component.ts │ │ ├── task-custom-fields │ │ │ ├── task-custom-fields.component.html │ │ │ ├── task-custom-fields.component.scss │ │ │ ├── task-custom-fields.component.spec.ts │ │ │ └── task-custom-fields.component.ts │ │ ├── task-details │ │ │ ├── task-details.component.html │ │ │ ├── task-details.component.scss │ │ │ ├── task-details.component.spec.ts │ │ │ └── task-details.component.ts │ │ ├── task-information │ │ │ ├── task-information.component.html │ │ │ ├── task-information.component.scss │ │ │ └── task-information.component.ts │ │ ├── task-list-toolbar │ │ │ ├── task-list-toolbar.component.html │ │ │ ├── task-list-toolbar.component.scss │ │ │ └── task-list-toolbar.component.ts │ │ ├── task-list │ │ │ ├── task-list.component.html │ │ │ ├── task-list.component.scss │ │ │ ├── task-list.component.spec.ts │ │ │ └── task-list.component.ts │ │ ├── task-master │ │ │ ├── task-master.component.html │ │ │ ├── task-master.component.scss │ │ │ └── task-master.component.ts │ │ ├── task-processing │ │ │ ├── task-processing.component.html │ │ │ ├── task-processing.component.scss │ │ │ ├── task-processing.component.spec.ts │ │ │ └── task-processing.component.ts │ │ └── task-status-details │ │ │ ├── task-status-details.component.html │ │ │ ├── task-status-details.component.scss │ │ │ ├── task-status-details.component.spec.ts │ │ │ └── task-status-details.component.ts │ │ ├── models │ │ ├── object-reference.ts │ │ ├── task-resource.ts │ │ └── task.ts │ │ ├── services │ │ ├── task.service.ts │ │ ├── token-interceptor.service.ts │ │ └── workplace.service.ts │ │ ├── workplace-routing.module.ts │ │ └── workplace.module.ts ├── assets │ ├── icons-fonts │ │ ├── MaterialIcons-Regular.eot │ │ ├── MaterialIcons-Regular.ijmap │ │ ├── MaterialIcons-Regular.svg │ │ ├── MaterialIcons-Regular.ttf │ │ ├── MaterialIcons-Regular.woff │ │ ├── MaterialIcons-Regular.woff2 │ │ ├── README.md │ │ └── codepoints │ └── icons │ │ ├── asterisk.svg │ │ ├── categories │ │ ├── automatic.svg │ │ ├── external.svg │ │ ├── manual.svg │ │ ├── missing-icon.svg │ │ └── process.svg │ │ ├── classification-empty.svg │ │ ├── clearance.svg │ │ ├── export.svg │ │ ├── import.svg │ │ ├── logo-copy.svg │ │ ├── logo.svg │ │ ├── noaccess.svg │ │ ├── taskana.png │ │ ├── topic.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── wb-empty.svg │ │ └── wb-full.svg ├── environments │ ├── data-sources │ │ ├── environment-information.json │ │ └── taskana-customization.json │ ├── environment.prod.ts │ └── environment.ts ├── index.html ├── main.ts ├── polyfills.ts ├── test.ts ├── theme │ ├── _buttons.scss │ ├── _checkboxes.scss │ ├── _colors.scss │ ├── _date-picker.scss │ ├── _forms.scss │ ├── _main.scss │ ├── _material_styles.scss │ ├── _ngxbootstrap.scss │ ├── _progress-bar.scss │ ├── _shameful.scss │ ├── _site.scss │ ├── _table.scss │ ├── _tabs.scss │ ├── _tree.scss │ ├── _type-ahead.scss │ ├── _variables.scss │ ├── bootstrap-replacement.scss │ ├── custom-theme-material.scss │ └── mixin │ │ └── _colors.scss ├── tsconfig.app.json └── typings.d.ts ├── tsconfig.json ├── tsconfig.spec.json ├── webpack.config.js └── yarn.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: maven 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "06:00" 8 | timezone: Europe/Berlin 9 | open-pull-requests-limit: 99 10 | - package-ecosystem: github-actions 11 | directory: "/" 12 | schedule: 13 | interval: daily 14 | time: "06:00" 15 | timezone: Europe/Berlin 16 | open-pull-requests-limit: 99 17 | - package-ecosystem: docker 18 | directory: "/" 19 | schedule: 20 | interval: daily 21 | time: "06:00" 22 | timezone: Europe/Berlin 23 | open-pull-requests-limit: 99 24 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | ### Thanks for your PR! Please fill out the following list :) 3 | 4 | --- 5 | - [ ] I put the ticket or multiple tickets in review 6 | - [ ] Commit message format → Closes #<Issue Number> - Your commit message. 7 | - [ ] Sonarcloud link : \ 8 | - [ ] No documentation update needed 9 | - [ ] Link to PR with documentation update: \ 10 | - [ ] No Release Notes needed 11 | - [ ] Release Notes : 12 | 13 | ``` 14 | 15 | ``` -------------------------------------------------------------------------------- /.run/All in taskana-common-data.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-common-logging.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-common-test.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-common.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-core DB2.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | -------------------------------------------------------------------------------- /.run/All in taskana-core H2.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-core POSTGRES.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | -------------------------------------------------------------------------------- /.run/All in taskana-loghistory-provider.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-rest-spring-example-common.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-rest-spring.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-routing-rest.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 13 | -------------------------------------------------------------------------------- /.run/All in taskana-simplehistory-provider H2.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 13 | -------------------------------------------------------------------------------- /.run/All in taskana-simplehistory-rest-spring.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-spi-routing-dmn-router.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/All in taskana-spring-example.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | -------------------------------------------------------------------------------- /.run/Debug Frontend.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.run/Start Demo App.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | -------------------------------------------------------------------------------- /.run/Start Frontend.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |