From ede117a6c26f6da99893fefb391bec4ba26d0083 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 19:18:45 +0200 Subject: [PATCH 01/61] bugfixing --- README.md | 35 +- etc/TODO.md | 13 + .../application.properties_sample.txt | 0 .../application.properties_test_sample.txt | 0 .../db-createdb-and-user-linux.sql | 0 .../db-createdb-and-user-win10.sql | 0 etc/development/HOWTO.md | 16 +- etc/development/Maven_Plugins.md | 34 ++ etc/development/Primesfaces_JSF.md | 2 + etc/development/db-createdb-and-user.sql | 45 -- pom.xml | 502 +++++++----------- 11 files changed, 260 insertions(+), 387 deletions(-) rename etc/{development => config}/application.properties_sample.txt (100%) rename etc/{development => config}/application.properties_test_sample.txt (100%) rename etc/{development => db}/db-createdb-and-user-linux.sql (100%) rename etc/{development => db}/db-createdb-and-user-win10.sql (100%) create mode 100644 etc/development/Maven_Plugins.md create mode 100644 etc/development/Primesfaces_JSF.md delete mode 100644 etc/development/db-createdb-and-user.sql diff --git a/README.md b/README.md index 3be62202..c1b022ab 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,9 @@ Your Todo List for Getting Things Done GTD® and Getting Things Done® are registered trademarks of the David Allen Company. SimpleWorklist is not affiliated with or endorsed by the David Allen Company. -## Up and Running -A Java Web App, which can easily be deployed to Heroku. - -[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy) - -## URLs -### Development -* Heroku Deployment: [simpleworklist.herokuapp.com/](https://simpleworklist.herokuapp.com/) -* For Developers: [localhost:5000](http://localhost:5000/) -### Info -* [spring-framework-java-apps.github.io/simpleworklist](http://spring-framework-java-apps.github.io/simpleworklist/) +## Requirements +* [Functional Requirements](etc/requirements/Requirements.md) +* [Nonfunctional Requirements](etc/requirements/Nonfunctional_Requirements.md) ### Github Shortcuts * [Projects](https://github.com/Spring-Framework-Java-Apps/simpleworklist/projects) @@ -27,14 +19,19 @@ A Java Web App, which can easily be deployed to Heroku. * [Releases](https://github.com/Spring-Framework-Java-Apps/simpleworklist/releases) * [Branches](https://github.com/Spring-Framework-Java-Apps/simpleworklist/branches) * [CI](https://github.com/Spring-Framework-Java-Apps/simpleworklist/actions) +* [spring-framework-java-apps.github.io/simpleworklist](http://spring-framework-java-apps.github.io/simpleworklist/) -## Requirements - -### Functional Requirements -[Functional Requirements](etc/requirements/Requirements.md) +## Development +* [Requirements](etc/requirements/Requirements.md) +* [Nonfunctional_Requirements](etc/requirements/Nonfunctional_Requirements.md) +* [HOWTO](etc/development/HOWTO.md) +* [Maven_Plugins](etc/development/Maven_Plugins.md) +* [Primesfaces_JSF](etc/development/Primesfaces_JSF.md) -### Nonfunctional Requirements -[Nonfunctional Requirements](etc/requirements/Nonfunctional_Requirements.md) +## URLs: +* Heroku Deployment: [simpleworklist.herokuapp.com/](https://simpleworklist.herokuapp.com/) +* For Developers: [localhost:5000](http://localhost:5000/) -## Development -* [Changelog](etc/Changelog.md) +## Up and Running - Deployment +* A Java Web App, which can easily be deployed to Heroku. +* [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy) diff --git a/etc/TODO.md b/etc/TODO.md index 41755fe9..456ddd63 100644 --- a/etc/TODO.md +++ b/etc/TODO.md @@ -72,3 +72,16 @@ Fixed #106, Fixed #109, Fixed #110 Deployment to heroku +# Maven Config: +## maven-changes-plugin +https://maven.apache.org/plugins/maven-changes-plugin/examples/configuring-github-report.html + +## maven-enforcer-plugin +http://maven.apache.org/enforcer/maven-enforcer-plugin/plugin-info.html +http://maven.apache.org/enforcer/enforcer-rules/ +https://maven.apache.org/enforcer/enforcer-rules/requireFilesExist.html +https://maven.apache.org/enforcer/enforcer-rules/requireEnvironmentVariable.html +https://maven.apache.org/enforcer/enforcer-rules/requireActiveProfile.html +https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html +https://www.baeldung.com/maven-enforcer-plugin + diff --git a/etc/development/application.properties_sample.txt b/etc/config/application.properties_sample.txt similarity index 100% rename from etc/development/application.properties_sample.txt rename to etc/config/application.properties_sample.txt diff --git a/etc/development/application.properties_test_sample.txt b/etc/config/application.properties_test_sample.txt similarity index 100% rename from etc/development/application.properties_test_sample.txt rename to etc/config/application.properties_test_sample.txt diff --git a/etc/development/db-createdb-and-user-linux.sql b/etc/db/db-createdb-and-user-linux.sql similarity index 100% rename from etc/development/db-createdb-and-user-linux.sql rename to etc/db/db-createdb-and-user-linux.sql diff --git a/etc/development/db-createdb-and-user-win10.sql b/etc/db/db-createdb-and-user-win10.sql similarity index 100% rename from etc/development/db-createdb-and-user-win10.sql rename to etc/db/db-createdb-and-user-win10.sql diff --git a/etc/development/HOWTO.md b/etc/development/HOWTO.md index 3c04d669..ee477248 100644 --- a/etc/development/HOWTO.md +++ b/etc/development/HOWTO.md @@ -1,18 +1,5 @@ - Howto Reminder +# HOWTO -## github -* [Issues](https://github.com/BloodMoneyApp/bloodmoney/issues) -* [Projects](https://github.com/BloodMoneyApp/bloodmoney/projects) -* [Milestones](https://github.com/BloodMoneyApp/bloodmoney/milestones) -* [Releases](https://github.com/BloodMoneyApp/bloodmoney/releases) - -## Development -* [Changelog](etc/RELEASES.md) -* [Todo](etc/TODO.md) -* [Howto](etc/HOWTO.md) - - -## 3rd Party Software ### Howto * [Spring dependency-management-plugin](https://docs.spring.io/dependency-management-plugin/docs/current/reference/html/) * [Example on github: heroku and Gradle](https://github.com/heroku/gradle-getting-started/blob/master/build.gradle) @@ -46,6 +33,7 @@ * [liquibase-gradle-plugin](https://github.com/liquibase/liquibase-gradle-plugin) ## Database and JPA + ### DB Datatypes * [H2 Datatypes](http://www.h2database.com/html/datatypes.html) * [PostgreSQL Datatypes](https://www.postgresql.org/docs/11/datatype.html) diff --git a/etc/development/Maven_Plugins.md b/etc/development/Maven_Plugins.md new file mode 100644 index 00000000..8cdc8e46 --- /dev/null +++ b/etc/development/Maven_Plugins.md @@ -0,0 +1,34 @@ +# Maven Plugins + +| Plugin Page | mvnrepository.com | git repo | latest Version | Release Date of latest Version | +|-------------|-------------------|----------|----------------|--------------------------------| +| [apache-rat-plugin](http://creadur.apache.org/rat/apache-rat-plugin/) |   |   |   |   | +| [maven-enforcer-plugin](http://maven.apache.org/enforcer/maven-enforcer-plugin/) |   |   |   |   | +| [maven-jxr-plugin](http://maven.apache.org/jxr/maven-jxr-plugin/) |   |   |   |   | +| [maven-release-plugin](http://maven.apache.org/maven-release/maven-release-plugin/) |   |   |   |   | +| [maven-clean-plugin](http://maven.apache.org/plugins/maven-clean-plugin/) |   |   |   |   | +| [maven-dependency-plugin](http://maven.apache.org/plugins/maven-dependency-plugin/) |   |   |   |   | +| [maven-deploy-plugin](http://maven.apache.org/plugins/maven-deploy-plugin/) |   |   |   |   | +| [maven-docck-plugin](http://maven.apache.org/plugins/maven-docck-plugin/) |   |   |   |   | +| [maven-install-plugin](http://maven.apache.org/plugins/maven-install-plugin/) |   |   |   |   | +| [maven-jarsigner-plugin](http://maven.apache.org/plugins/maven-jarsigner-plugin/) |   |   |   |   | +| [maven-project-info-reports-plugin](http://maven.apache.org/plugins/maven-project-info-reports-plugin/) |   |   |   |   | +| [maven-remote-resources-plugin](http://maven.apache.org/plugins/maven-remote-resources-plugin/) |   |   |   |   | +| [maven-shade-plugin](http://maven.apache.org/plugins/maven-shade-plugin/) |   |   |   |   | +| [maven-toolchains-plugin](http://maven.apache.org/plugins/maven-toolchains-plugin/) |   |   |   |   | +| [maven-scm-plugin](http://maven.apache.org/scm/maven-scm-plugin/) |   |   |   |   | +| [maven-failsafe-plugin](http://maven.apache.org/surefire/maven-failsafe-plugin/) |   |   |   |   | +| [maven-surefire-plugin](http://maven.apache.org/surefire/maven-surefire-plugin/) |   |   |   |   | +| [maven-surefire-report-plugin](http://maven.apache.org/surefire/maven-surefire-report-plugin/) |   |   |   |   | +| [maven-changes-plugin](https://maven.apache.org/plugins/maven-changes-plugin/) |   |   |   |   | +| [maven-checkstyle-plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/) |   |   |   |   | +| [maven-compiler-plugin](https://maven.apache.org/plugins/maven-compiler-plugin/) |   |   |   |   | +| [maven-invoker-plugin](https://maven.apache.org/plugins/maven-invoker-plugin/) |   |   |   |   | +| [maven-jar-plugin](https://maven.apache.org/plugins/maven-jar-plugin/) |   |   |   |   | +| [maven-javadoc-plugin](https://maven.apache.org/plugins/maven-javadoc-plugin/) |   |   |   |   | +| [maven-pmd-plugin](https://maven.apache.org/plugins/maven-pmd-plugin/) |   |   |   |   | +| [maven-resources-plugin](https://maven.apache.org/plugins/maven-resources-plugin/) |   |   |   |   | +| [maven-scm-publish-plugin](https://maven.apache.org/plugins/maven-scm-publish-plugin/) |   |   |   |   | +| [maven-site-plugin](https://maven.apache.org/plugins/maven-site-plugin/) |   |   |   |   | +| [maven-source-plugin](https://maven.apache.org/plugins/maven-source-plugin/) |   |   |   |   | +| [maven-plugin-plugin](https://maven.apache.org/plugin-tools/maven-plugin-plugin/) |   |   |   |   | diff --git a/etc/development/Primesfaces_JSF.md b/etc/development/Primesfaces_JSF.md new file mode 100644 index 00000000..dfd81d62 --- /dev/null +++ b/etc/development/Primesfaces_JSF.md @@ -0,0 +1,2 @@ +# Primesfaces JSF + diff --git a/etc/development/db-createdb-and-user.sql b/etc/development/db-createdb-and-user.sql deleted file mode 100644 index e0aedde1..00000000 --- a/etc/development/db-createdb-and-user.sql +++ /dev/null @@ -1,45 +0,0 @@ - -CREATE USER simpleworklist WITH PASSWORD 'simpleworklistpwd' SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION; - -GRANT pg_monitor TO simpleworklist; -GRANT pg_read_all_settings TO simpleworklist; -GRANT pg_read_all_stats TO simpleworklist; -GRANT pg_signal_backend TO simpleworklist; -GRANT pg_stat_scan_tables TO simpleworklist; - - -CREATE DATABASE simpleworklist WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_default WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_default TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_branch_master WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_branch_master TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_testing WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_testing TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_qa WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_qa TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_qa WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_qa TO simpleworklist WITH GRANT OPTION; - -CREATE DATABASE simpleworklist_heroku WITH OWNER simpleworklist TEMPLATE 'template1' ENCODING 'UTF8' LC_COLLATE 'de_DE.UTF-8' LC_CTYPE 'de_DE.UTF-8'; - -GRANT ALL ON DATABASE simpleworklist_heroku TO simpleworklist WITH GRANT OPTION; - - -GRANT ALL ON DATABASE artifactory TO artifactory WITH GRANT OPTION; - - - - - diff --git a/pom.xml b/pom.xml index 280cc0dd..430a7692 100644 --- a/pom.xml +++ b/pom.xml @@ -50,17 +50,27 @@ 1.8 3.6.3 2.2.1 + 1.11.2 2.5.3 + 2.8.2 + + 3.0.0-M3 + 3.0.0 3.1.0 3.1.1 3.0.0 3.11.0 + 4.0.0 + 3.13.0 + 3.0.0-M4 - 2.7 - 2.8.2 - 3.0.0 + + 4.0.0 + true + true + true @@ -112,6 +122,73 @@ 5.4.0 test + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.0.0 + maven-plugin + + + com.dkanejs.maven.plugins + docker-compose-maven-plugin + ${version.docker-compose-maven-plugin} + maven-plugin + + + org.apache.maven.plugins + maven-project-info-reports-plugin + ${maven-project-info-reports-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-jxr-plugin + ${maven-jxr-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + maven-plugin + + + com.github.spotbugs + spotbugs-maven-plugin + ${spotbugs-maven-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-pmd-plugin + ${maven-pmd-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${maven-surefire-report-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-assembly-plugin + 3.2.0 + maven-plugin + + + org.apache.maven.plugins + maven-clean-plugin + 3.1.0 + maven-plugin + @@ -226,6 +303,52 @@ junit-jupiter-api test + + + org.apache.maven.plugins + maven-project-info-reports-plugin + maven-plugin + + + com.dkanejs.maven.plugins + docker-compose-maven-plugin + maven-plugin + + + org.apache.maven.plugins + maven-project-info-reports-plugin + maven-plugin + + + org.apache.maven.plugins + maven-enforcer-plugin + maven-plugin + + + org.apache.maven.plugins + maven-jxr-plugin + maven-plugin + + + org.apache.maven.plugins + maven-checkstyle-plugin + maven-plugin + + + com.github.spotbugs + spotbugs-maven-plugin + maven-plugin + + + org.apache.maven.plugins + maven-pmd-plugin + maven-plugin + + + org.apache.maven.plugins + maven-surefire-report-plugin + maven-plugin + @@ -237,23 +360,44 @@ docker-compose-maven-plugin ${version.docker-compose-maven-plugin} + + org.apache.maven.plugins + maven-project-info-reports-plugin + ${maven-project-info-reports-plugin.version} + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + + + org.apache.maven.plugins + maven-jxr-plugin + ${maven-jxr-plugin.version} + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + com.github.spotbugs + spotbugs-maven-plugin + ${spotbugs-maven-plugin.version} + + + org.apache.maven.plugins + maven-pmd-plugin + ${maven-pmd-plugin.version} + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${maven-surefire-report-plugin.version} + - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - - -Xlint:all,-options,-path - - true - true - - org.apache.maven.plugins maven-enforcer-plugin @@ -307,8 +451,8 @@ docker-compose-maven-plugin ${project.basedir}/docker-compose.yml - true - true + ${docker-compose-maven-plugin.verbose} + ${docker-compose-maven-plugin.removeImages} true true true @@ -419,6 +563,20 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + + -Xlint:all,-options,-path + + true + true + + @@ -517,273 +675,20 @@ - - - qa - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - qa - - - - - pre-integration-test - - start - - - - post-integration-test - - stop - - - - - build-info - - - - ${project.build.sourceEncoding} - ${project.reporting.outputEncoding} - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - - qa - - false - - - - - - - - developing - - - - org.springframework.boot - spring-boot-maven-plugin - - true - - developing - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-dependencies - package - - analyze-only - analyze-report - - build-classpath - - - false - true - ${project.build.outputDirectory}/classpath.txt - false - - org.apache.maven.plugins:maven-surefire-plugin - org.apache.maven.scm:maven-scm - org.apache.maven.scm:maven-scm-providers-git - org.apache.maven.scm:maven-scm-providers-standard - org.apache.maven.scm:maven-scm-providers - org.apache.maven.scm:maven-scm-managers - - - org.apache.maven.plugins:maven-surefire-plugin - - - org.apache.maven.plugins:maven-surefire-plugin - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - developing - - true - - - - - - - - - travis - - - - org.springframework.boot - spring-boot-maven-plugin - - - travis - - - - - pre-integration-test - - start - - - - post-integration-test - - stop - - - - - build-info - - - - ${project.build.sourceEncoding} - ${project.reporting.outputEncoding} - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - travis - 1 - 1 - - - - - - - - - heroku - - - - org.springframework.boot - spring-boot-maven-plugin - - - default - - - - - - repackage - build-info - - - - ${project.build.sourceEncoding} - ${project.reporting.outputEncoding} - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - package - copy - - - unpack-dependencies - package - - analyze-only - build-classpath - - - ${project.build.directory}/classes - false - true - ${project.build.directory}/classpath.txt - false - - org.apache.maven.plugins:maven-surefire-plugin - org.apache.maven.scm:maven-scm - org.apache.maven.scm:maven-scm-providers-git - org.apache.maven.scm:maven-scm-providers-standard - org.apache.maven.scm:maven-scm-providers - org.apache.maven.scm:maven-scm-managers - - - org.apache.maven.plugins:maven-surefire-plugin - - - org.apache.maven.plugins:maven-surefire-plugin - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - heroku - - true - - - - - + + org.apache.maven.plugins + maven-invoker-plugin + + ${project.build.directory}/it + src/it/settings.xml + ${project.build.directory}/it-repo + verify + + org.springframework.boot spring-boot-maven-plugin @@ -796,7 +701,6 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.0.0 true true @@ -823,30 +727,21 @@ org.apache.maven.plugins maven-jxr-plugin - ${maven-jxr-plugin.version} org.apache.maven.plugins maven-checkstyle-plugin - ${maven-checkstyle-plugin.version} - - com.github.spotbugs - spotbugs-maven-plugin - 4.0.0 + + com.github.spotbugs + spotbugs-maven-plugin + + + - - com.github.spotbugs - spotbugs-maven-plugin - 4.0.0 - - - - org.apache.maven.plugins maven-pmd-plugin - 3.13.0 100 ${java.version} @@ -872,22 +767,11 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M4 true true - - org.apache.maven.plugins - maven-invoker-plugin - - ${project.build.directory}/it - src/it/settings.xml - ${project.build.directory}/it-repo - verify - - From 7b8dd293ce2116fda0acb6b2ffcdc199e346563d Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 19:45:33 +0200 Subject: [PATCH 02/61] bugfixing --- docker-start.sh => etc/docker-start.sh | 0 docker-stop.sh => etc/docker-stop.sh | 0 etc/java/set_java11.cmd | 2 + etc/{ => java}/set_java13.cmd | 0 etc/java/set_java14.cmd | 2 + etc/{ => java}/set_java1_8.cmd | 0 etc/java/set_java_windows10.md | 3 + psql.sh => etc/psql.sh | 0 .../Nonfunctional_Requirements.odt | Bin 8372 -> 0 bytes etc/requirements/Requirements.odt | Bin 8372 -> 0 bytes etc/{ => serialversions}/classpath.txt | 0 .../getserialversionid.cmd | 0 .../getserialversionid.sh | 0 etc/{ => serialversions}/serialversions.txt | 0 setenv-sample.cmd => etc/setenv-sample.cmd | 0 setenv-sample.sh => etc/setenv-sample.sh | 0 pom.xml | 86 +++++++++++------- 17 files changed, 62 insertions(+), 31 deletions(-) rename docker-start.sh => etc/docker-start.sh (100%) rename docker-stop.sh => etc/docker-stop.sh (100%) create mode 100644 etc/java/set_java11.cmd rename etc/{ => java}/set_java13.cmd (100%) create mode 100644 etc/java/set_java14.cmd rename etc/{ => java}/set_java1_8.cmd (100%) create mode 100644 etc/java/set_java_windows10.md rename psql.sh => etc/psql.sh (100%) delete mode 100644 etc/requirements/Nonfunctional_Requirements.odt delete mode 100644 etc/requirements/Requirements.odt rename etc/{ => serialversions}/classpath.txt (100%) rename etc/{ => serialversions}/getserialversionid.cmd (100%) rename etc/{ => serialversions}/getserialversionid.sh (100%) rename etc/{ => serialversions}/serialversions.txt (100%) rename setenv-sample.cmd => etc/setenv-sample.cmd (100%) rename setenv-sample.sh => etc/setenv-sample.sh (100%) diff --git a/docker-start.sh b/etc/docker-start.sh similarity index 100% rename from docker-start.sh rename to etc/docker-start.sh diff --git a/docker-stop.sh b/etc/docker-stop.sh similarity index 100% rename from docker-stop.sh rename to etc/docker-stop.sh diff --git a/etc/java/set_java11.cmd b/etc/java/set_java11.cmd new file mode 100644 index 00000000..1de327f7 --- /dev/null +++ b/etc/java/set_java11.cmd @@ -0,0 +1,2 @@ +subst /D J: +subst J: "C:\Program Files\Java\*********" diff --git a/etc/set_java13.cmd b/etc/java/set_java13.cmd similarity index 100% rename from etc/set_java13.cmd rename to etc/java/set_java13.cmd diff --git a/etc/java/set_java14.cmd b/etc/java/set_java14.cmd new file mode 100644 index 00000000..1de327f7 --- /dev/null +++ b/etc/java/set_java14.cmd @@ -0,0 +1,2 @@ +subst /D J: +subst J: "C:\Program Files\Java\*********" diff --git a/etc/set_java1_8.cmd b/etc/java/set_java1_8.cmd similarity index 100% rename from etc/set_java1_8.cmd rename to etc/java/set_java1_8.cmd diff --git a/etc/java/set_java_windows10.md b/etc/java/set_java_windows10.md new file mode 100644 index 00000000..0c0404ff --- /dev/null +++ b/etc/java/set_java_windows10.md @@ -0,0 +1,3 @@ +# Set java on Windows10 + + diff --git a/psql.sh b/etc/psql.sh similarity index 100% rename from psql.sh rename to etc/psql.sh diff --git a/etc/requirements/Nonfunctional_Requirements.odt b/etc/requirements/Nonfunctional_Requirements.odt deleted file mode 100644 index 301152ffbc37f20a547fae501b2f0c33f40c4034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8372 zcmd6Mby$?$xAsU#ON%suARW@uT|^fz0EC%%X&84sz`YLu0Io0O zR{&c}Tdcmt`~NuoDh(sr6VT<3br$am^j;l?VLEBz%QLNegPZh zB9aV60RXPAJ4i4c3uoKsb|6a|M=qzoo19QP^B@g11w3pDY~)|?loVyPkoRf;;06E_ z71?V4-o1{z&1nF2a(om% zKJxkV=TEa+le0_kxs~~qjg|4v#mRxqsjl_uft9(bgY~(kv|v`+e%4RO6TS0?a_X<_Gbh)hn{Ps z%_U$fFT@3EaVh%Tl-eVz&OSgu?pZIRj;(lvD49J7seB(KaK%H&|3i*T**|yes-{3_ z4r~V|!SOAmn{jPNmeZtEpeseni7)%?!{`+H1`w+I_jz^`J;}OHtQ$_ zmy%cbECmddT3%F3s9VF8oX7h6jUmprbGNzc@zdvV7Tr7!?ck_{H6BDov7}Ltany--rCuM9pj0hVBA?4v%7Xdt^>!96hi>VwQk1`DG@l`~gGrz@{VlKRHta{6j- z3hO|Yer|uFT!My_X`5`d+LarEu~9|B?t^;-xEFH(N9l6{b`&8C?j=(ihtp2>W|b~| zoIY1jj$yh5T(SD)Fsb{ zt}lNUnE7RZ=y)oDLNqS5vnyKGutkG^nty6RPjmdj>V^DPA=YFB^`lD14)1_PBhtf; zM%L%E6p6F4z?~st%-QAj{Un@%l*YKuTTkRjtj%agGfiHxfYYo6tfxgiRSUe(l&-5eO$kQre07-7?%>VN6wQ;>Q{P+23QO0jLAiCKa&tw}%_8sl zBfom>evI2oMPCmj-ir>D^t7j?^Y&eY5r!S*kh4@8$e>82_b`Q51sqC^2e_`<*!N^m z8B+0MXB_u6#o&K>8W972A=(ZQ+9ol=u^UzO!r1#RlUb(GZbZk%lm1u=YcdgIzQ4m^ zX`W-(`JCAWb}x0E2ImQ=Gu9GiyAfmZE$!qwe%-tCuRJ5AIcwAxxHrRbo>rh^#Eh;g zv__qoKAT}RB_##CX38-Q?F0;S%cKqLdZ+a7Lg)hgQ#$dWym{+kmaj;w-_^G8vy=5w zSEnEIZy_S&AL`vp^}G;+dnT9)-b6sQhIA@YC+w~1L~t46D~StQ#W2jz9Lc{u)P$6^ z$FvWWkhS_Wn>NP5tZhLfB>JS5kf~U!3CUt@@SSm`wHaX&4!-ox=bAIGT4_fVi3IxO z@3^-H?w-|^hC35A^(@^nW{(^2Z8Wq#SI40xXcH?XBd*oqo`rhAOsyAulzDGuQp=N8 zvEKg{fQUJKMEMjec3HP8Q935e7yHa^|8)}#O&0tw~iT(8q+~WqjHljVn=J71_ zv(j-4udUidg5#x!=@6ZT#gd8LAu=>!VEVDSMMoo(2E1DUz<)*KKW*l}@*1!c=z1rI zMyZ4+a+COA6p_1Cpa>CPf zHIv7(_HWYO45!O@)278x6C)sb?`9RWlx^i1!~;^cq~DtGwUjz#3zyR3J%eMy{l+wQ zRa^Jq&awM0IQX*;vpaV(VY%EuRQ}jK8{X)dfbG#A%e?}ZmNF|=X9+jAkV^o)}twetPKrV^jBaxGoQT&^>gqs^-MN5h&xR)g; znHp+UO<^v5NAPrAh0AJ3uAgXL9X1>QK@&Tt?f1HNy3aU_tK|j&Fo1OYKRX>48NqEq zc9v#fM<-4PQ?r4n0XtuA0>52RfAHXxBo{im19M-!Rcb5$8+~-Hg9M_v4`ES{G_wje zQpc7{$9gHex9mfqfMaRxAM(SWo>Y= zV-(3#GYxAixgZX8`p{RNjecQN@y&`T`RTw4~O{lcx@rnn9@Zb`bnVzQ8W?F>n z37uHT?8E%D3T#k~R&ziN-8*l|P%L1dpOY_DgPKYwZ|tF_a9jHJQunjwQQr*FXM1d6 zpQh#ladW;HFEp3!Jn^0Ph_P_nF>!Mq?cASdh<=vzU`KtUQN;D?D}wXW75P$W)eBi0 z$-zwX^N6oi2ei5hrPt=GIAC1JTFQj zSsu&e)R!p5zAlN+d&AN*Ze3lgKABW;+4lr0+*}BJt7JXCVIy$CCvxRy^+c?>zCOR9 zu~2~_nn8R{PZx1ys2f=K$nZGpa?%r>!z(t0ez_0!1CO&m9CY+uo^NYOAsk_N z_a+1t`uks4x{zu;cK^a{=w4j0-F)@o&^HC2r0hmc%s6$W;(C~*aLJguUE!|W7FP`_ z!?Mf{PWXUn;lg1^e}ADvdkYG!dJWgb(bDQx#``0vPo?-r5|g1MZsD8F>7YR7*S*TK zdAPyr7X5G9)(QI?Yo=X;&Y$el9J*0=IAOir(YltY-m2M zFV6NMM#NYCZ^lSNxKUJ?gH`u1{dI?LXONgsRq_}@?X5nVactzQqzN}1tM%}C zyB9qZDp57LEwN6Hj`T(ux>-&Ty~+wxUfc){MwhZ1s=XVxPRof(h}_Nbud-`;m~d34-4Ou zx?r!1(@+()q`ce#sXJwN124WDwfd628dw%z%CQJ;Q2u^?zOi)K@P39#ITE)oHk7P$ zq-5*XRXY1x8=BsObD@h{3%=bEFK016KSd}vYo=V?Y8k!j?oWHBk;|5dQjL#Lc?L;W z_S{z9z&IGd(q`(xUA-gRRLh(@CA;%N9Qat)42_8|YuuMp%E+g`Y7T}l$v}P$#MTIv_l!qL6Enm#3j%$q(wMT|Dq_`w4YA_7CX^A zW7;}AFRl?~QOnFNZ+SpVJ}S)xW>nNJPgB)8fxTQXOnZ>0}TWMaxkv0Wc*GcN+Q`&npBPNF&l^NpcCF*=*ac)$X3=wAFNUcB+h-mq!8 z&Q)r@%7*Z;7j|Ip{RQUzmePk14Rg6hSuj5E!6IA5!=5Ga>NsY(cc2~PlIoHx?(Do;7y+oF`sj*cQI{c^(Q+nRBJ! z{*3i8Jr_S52Be6V<#2T|nF`Oj-x-I9g>i^dvMPj}$4Ku}_jne=oum_L{y@ID=%f6600M`8wBaPg72VeqT3jUYtQOez;R-d+E`}B&h&cIX_x#Bw zWlDKP`8l4!FJn0uPviWIv7KQ0!6?i9nKWHV2n4Fg> z#*PnVDQd5oq^y4Q`oaSStHgPb6DS6CRRbFDKS38s{Gxzoa>{@6%u#Urk}30i2d96d z1fsrqg>wB$dbJ8SdVCWAXlDJlH~MwC$kEBw2K?6xY1?2ve7cU%bN4A|4f-k*?CJuU zv`cdDsa~sA!sc5)^p0f?!ehj~_l5RsQzT0>440yDVHTQdLjTakRQb)4?@3h{H3;8q4X~cIw<7Up5b%NwfqK~~MJa!_p#!?!8@WGrhx+IRwJV*n4upHzAl`6e31gncs%}w5UMTv{Gy-LREwKt3K=- z9_kL)uF(T8*Il9(h_|kIIg|P#20?-Z?VQU8y5M>fOPlZl{UNJwe3Vu5sg83A1tNSm ztYAi^k4`{`+v(wYiwaVtgfyZbu)}#m47*%;uv|y2nlxUcUDoW3=)P>7X(KWX#cK5JFhC{~fo(wL)4z@wuFO{m$zLS||W%gFTcuFdVH&{+HxysTd;smEl7jJ3MeL=k9H;fEY6&&FPL^`$IGqtq)qxhN1#cULGQ9# zRM)~+mU$W}(xsROJO&O~Ew*Iw%YL+k`fNecxkhCMbDf=ed!hua%tQoZI%vJv-5SH` zNjT>*o1&TNo4JJxz9~8$SpKROB@;Mnfodubd|j#X`!ux~a^EX`YGh?ETWsvEA+!{2 zuU>M)g$gGS%t`VTI&9tKHrqmP)9`918rDA+4T!}Wo-P#UKD{lXl61H1vA5%%vejfl zO|ifAGAFQv(Yrp@Z5_5S!4RFN^eHbNhDl?x66uNVT2&HlX;KHXN|Mr+2Fl=4#u6>u zZn><^_GX^aA0ney=4~A2AsnNwqY9n7m51TdYEkWxXCR$St#;1uLS!95+;s6$xT++K zTsV}erfq?v3iOQoCELI{^z_luW_OxlxAE2|CCu%1482*B+depZAGLOToQZcxVn2NE z`=qO;T-h49c+dL_&zl5btA*5b{eaVP0jG(sAht8p4eZw>`a54u+Uf3xO{=GI+R{N0dGC$mOhJuh%l~-Q(h4xY0wW#^3^gtFf(OMX#_@}sdEya2* z+pZ2Yyqon|de3esVK5gu5!F9Uoc&-u@0fi=PJ!)hQ7ktQ&vG*$;K~~I#t_R6pQp?-y$M{r6xS~<{G zs`P2KEu&sdP=Og9cjv2p?RMdMw3y}&zik7?STl6Y&-Zjo&Q7Ru^ru?yOM&fvY$~3 zIU_vr+ag2_&76rUjRMBb={fWB8$iXt8A5l&^OyL~p)o~cC*3Ai7zBmWd^sA@hYU(X zh?y+yyjNlmd$EwVUDn1a7++W#|S4@q#puGD^n#RuW2Pr2^HXE4c0 z%nGj<9I>n_)QujmO5!a1AzF8RhsjQ*dw=bX|(1&nnq0082Lc-cp z@8ZlaR;2Jm00VSVY;)ki-r>y)OgfFboOuYw5F;zj=vE!{4$6R_={Hi9t7{pW`o1}H zS??vS=BY6#uVm20s~v}3K(o8I*(D?U@~!LiIrN6L1q0m)W!zDC1z&~+JsQTmnR`BK zi96Cc&l!<4{B0pL>S{uZ-+1U$ew33gaCSrVa!PE6Pl8@Q-pl)nLab)cu12`+9IMmA zPaNHNIXh#Jfy-zJ8=KvbdfTE#)4Jgtdue*BzJv@5^?30V;xUiFzfKfTXAMO6F#rGt z_J2zhNRf$xs+^7#hmx8+*MDjN*Ja$Ow%`srf;YRbf)|{FcD_|9j?!RXpv_`Hqj*T2 zNT^jVzFA9;nmxwGJ6aW5zVbTsO`L_pH_&*J8;_Q4!zB zMdZNeR%l-V!?+ya?8(nnbmrKZqc3!4^@h5njk=b<+)AsgcGhsRdH=G<8UMz^OsfVo zi}%=V2`|uy?r)vGzmZxxnE#Bs+;0&I+rfw_R~m9!xp9Gk+m%oAap>tv#YvuO>M~~P z#8NMww!AUQDtzxnNg1q3H2ZE+#!;(FpepXRT*EEJX5%BbZj;tyq*QfZQ2>@L43_nEq4@f_gIR8@|pFiOIOzQkI z&NW-|LmK{o^MmC1XOwH2=ZEb50pzLOi>K`(N z>>_FSzY5mBYyDilyRLEmkOAZY=|9m9S@HZ`^XF66ubQ~X?$5=(-!*>@yVs|%ACgM+ o^O@{-y`Q7Ubx{5xJxJgEF+^*qpd$~0001HK14ep6_%G-DKmR8QX8-^I diff --git a/etc/requirements/Requirements.odt b/etc/requirements/Requirements.odt deleted file mode 100644 index 301152ffbc37f20a547fae501b2f0c33f40c4034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8372 zcmd6Mby$?$xAsU#ON%suARW@uT|^fz0EC%%X&84sz`YLu0Io0O zR{&c}Tdcmt`~NuoDh(sr6VT<3br$am^j;l?VLEBz%QLNegPZh zB9aV60RXPAJ4i4c3uoKsb|6a|M=qzoo19QP^B@g11w3pDY~)|?loVyPkoRf;;06E_ z71?V4-o1{z&1nF2a(om% zKJxkV=TEa+le0_kxs~~qjg|4v#mRxqsjl_uft9(bgY~(kv|v`+e%4RO6TS0?a_X<_Gbh)hn{Ps z%_U$fFT@3EaVh%Tl-eVz&OSgu?pZIRj;(lvD49J7seB(KaK%H&|3i*T**|yes-{3_ z4r~V|!SOAmn{jPNmeZtEpeseni7)%?!{`+H1`w+I_jz^`J;}OHtQ$_ zmy%cbECmddT3%F3s9VF8oX7h6jUmprbGNzc@zdvV7Tr7!?ck_{H6BDov7}Ltany--rCuM9pj0hVBA?4v%7Xdt^>!96hi>VwQk1`DG@l`~gGrz@{VlKRHta{6j- z3hO|Yer|uFT!My_X`5`d+LarEu~9|B?t^;-xEFH(N9l6{b`&8C?j=(ihtp2>W|b~| zoIY1jj$yh5T(SD)Fsb{ zt}lNUnE7RZ=y)oDLNqS5vnyKGutkG^nty6RPjmdj>V^DPA=YFB^`lD14)1_PBhtf; zM%L%E6p6F4z?~st%-QAj{Un@%l*YKuTTkRjtj%agGfiHxfYYo6tfxgiRSUe(l&-5eO$kQre07-7?%>VN6wQ;>Q{P+23QO0jLAiCKa&tw}%_8sl zBfom>evI2oMPCmj-ir>D^t7j?^Y&eY5r!S*kh4@8$e>82_b`Q51sqC^2e_`<*!N^m z8B+0MXB_u6#o&K>8W972A=(ZQ+9ol=u^UzO!r1#RlUb(GZbZk%lm1u=YcdgIzQ4m^ zX`W-(`JCAWb}x0E2ImQ=Gu9GiyAfmZE$!qwe%-tCuRJ5AIcwAxxHrRbo>rh^#Eh;g zv__qoKAT}RB_##CX38-Q?F0;S%cKqLdZ+a7Lg)hgQ#$dWym{+kmaj;w-_^G8vy=5w zSEnEIZy_S&AL`vp^}G;+dnT9)-b6sQhIA@YC+w~1L~t46D~StQ#W2jz9Lc{u)P$6^ z$FvWWkhS_Wn>NP5tZhLfB>JS5kf~U!3CUt@@SSm`wHaX&4!-ox=bAIGT4_fVi3IxO z@3^-H?w-|^hC35A^(@^nW{(^2Z8Wq#SI40xXcH?XBd*oqo`rhAOsyAulzDGuQp=N8 zvEKg{fQUJKMEMjec3HP8Q935e7yHa^|8)}#O&0tw~iT(8q+~WqjHljVn=J71_ zv(j-4udUidg5#x!=@6ZT#gd8LAu=>!VEVDSMMoo(2E1DUz<)*KKW*l}@*1!c=z1rI zMyZ4+a+COA6p_1Cpa>CPf zHIv7(_HWYO45!O@)278x6C)sb?`9RWlx^i1!~;^cq~DtGwUjz#3zyR3J%eMy{l+wQ zRa^Jq&awM0IQX*;vpaV(VY%EuRQ}jK8{X)dfbG#A%e?}ZmNF|=X9+jAkV^o)}twetPKrV^jBaxGoQT&^>gqs^-MN5h&xR)g; znHp+UO<^v5NAPrAh0AJ3uAgXL9X1>QK@&Tt?f1HNy3aU_tK|j&Fo1OYKRX>48NqEq zc9v#fM<-4PQ?r4n0XtuA0>52RfAHXxBo{im19M-!Rcb5$8+~-Hg9M_v4`ES{G_wje zQpc7{$9gHex9mfqfMaRxAM(SWo>Y= zV-(3#GYxAixgZX8`p{RNjecQN@y&`T`RTw4~O{lcx@rnn9@Zb`bnVzQ8W?F>n z37uHT?8E%D3T#k~R&ziN-8*l|P%L1dpOY_DgPKYwZ|tF_a9jHJQunjwQQr*FXM1d6 zpQh#ladW;HFEp3!Jn^0Ph_P_nF>!Mq?cASdh<=vzU`KtUQN;D?D}wXW75P$W)eBi0 z$-zwX^N6oi2ei5hrPt=GIAC1JTFQj zSsu&e)R!p5zAlN+d&AN*Ze3lgKABW;+4lr0+*}BJt7JXCVIy$CCvxRy^+c?>zCOR9 zu~2~_nn8R{PZx1ys2f=K$nZGpa?%r>!z(t0ez_0!1CO&m9CY+uo^NYOAsk_N z_a+1t`uks4x{zu;cK^a{=w4j0-F)@o&^HC2r0hmc%s6$W;(C~*aLJguUE!|W7FP`_ z!?Mf{PWXUn;lg1^e}ADvdkYG!dJWgb(bDQx#``0vPo?-r5|g1MZsD8F>7YR7*S*TK zdAPyr7X5G9)(QI?Yo=X;&Y$el9J*0=IAOir(YltY-m2M zFV6NMM#NYCZ^lSNxKUJ?gH`u1{dI?LXONgsRq_}@?X5nVactzQqzN}1tM%}C zyB9qZDp57LEwN6Hj`T(ux>-&Ty~+wxUfc){MwhZ1s=XVxPRof(h}_Nbud-`;m~d34-4Ou zx?r!1(@+()q`ce#sXJwN124WDwfd628dw%z%CQJ;Q2u^?zOi)K@P39#ITE)oHk7P$ zq-5*XRXY1x8=BsObD@h{3%=bEFK016KSd}vYo=V?Y8k!j?oWHBk;|5dQjL#Lc?L;W z_S{z9z&IGd(q`(xUA-gRRLh(@CA;%N9Qat)42_8|YuuMp%E+g`Y7T}l$v}P$#MTIv_l!qL6Enm#3j%$q(wMT|Dq_`w4YA_7CX^A zW7;}AFRl?~QOnFNZ+SpVJ}S)xW>nNJPgB)8fxTQXOnZ>0}TWMaxkv0Wc*GcN+Q`&npBPNF&l^NpcCF*=*ac)$X3=wAFNUcB+h-mq!8 z&Q)r@%7*Z;7j|Ip{RQUzmePk14Rg6hSuj5E!6IA5!=5Ga>NsY(cc2~PlIoHx?(Do;7y+oF`sj*cQI{c^(Q+nRBJ! z{*3i8Jr_S52Be6V<#2T|nF`Oj-x-I9g>i^dvMPj}$4Ku}_jne=oum_L{y@ID=%f6600M`8wBaPg72VeqT3jUYtQOez;R-d+E`}B&h&cIX_x#Bw zWlDKP`8l4!FJn0uPviWIv7KQ0!6?i9nKWHV2n4Fg> z#*PnVDQd5oq^y4Q`oaSStHgPb6DS6CRRbFDKS38s{Gxzoa>{@6%u#Urk}30i2d96d z1fsrqg>wB$dbJ8SdVCWAXlDJlH~MwC$kEBw2K?6xY1?2ve7cU%bN4A|4f-k*?CJuU zv`cdDsa~sA!sc5)^p0f?!ehj~_l5RsQzT0>440yDVHTQdLjTakRQb)4?@3h{H3;8q4X~cIw<7Up5b%NwfqK~~MJa!_p#!?!8@WGrhx+IRwJV*n4upHzAl`6e31gncs%}w5UMTv{Gy-LREwKt3K=- z9_kL)uF(T8*Il9(h_|kIIg|P#20?-Z?VQU8y5M>fOPlZl{UNJwe3Vu5sg83A1tNSm ztYAi^k4`{`+v(wYiwaVtgfyZbu)}#m47*%;uv|y2nlxUcUDoW3=)P>7X(KWX#cK5JFhC{~fo(wL)4z@wuFO{m$zLS||W%gFTcuFdVH&{+HxysTd;smEl7jJ3MeL=k9H;fEY6&&FPL^`$IGqtq)qxhN1#cULGQ9# zRM)~+mU$W}(xsROJO&O~Ew*Iw%YL+k`fNecxkhCMbDf=ed!hua%tQoZI%vJv-5SH` zNjT>*o1&TNo4JJxz9~8$SpKROB@;Mnfodubd|j#X`!ux~a^EX`YGh?ETWsvEA+!{2 zuU>M)g$gGS%t`VTI&9tKHrqmP)9`918rDA+4T!}Wo-P#UKD{lXl61H1vA5%%vejfl zO|ifAGAFQv(Yrp@Z5_5S!4RFN^eHbNhDl?x66uNVT2&HlX;KHXN|Mr+2Fl=4#u6>u zZn><^_GX^aA0ney=4~A2AsnNwqY9n7m51TdYEkWxXCR$St#;1uLS!95+;s6$xT++K zTsV}erfq?v3iOQoCELI{^z_luW_OxlxAE2|CCu%1482*B+depZAGLOToQZcxVn2NE z`=qO;T-h49c+dL_&zl5btA*5b{eaVP0jG(sAht8p4eZw>`a54u+Uf3xO{=GI+R{N0dGC$mOhJuh%l~-Q(h4xY0wW#^3^gtFf(OMX#_@}sdEya2* z+pZ2Yyqon|de3esVK5gu5!F9Uoc&-u@0fi=PJ!)hQ7ktQ&vG*$;K~~I#t_R6pQp?-y$M{r6xS~<{G zs`P2KEu&sdP=Og9cjv2p?RMdMw3y}&zik7?STl6Y&-Zjo&Q7Ru^ru?yOM&fvY$~3 zIU_vr+ag2_&76rUjRMBb={fWB8$iXt8A5l&^OyL~p)o~cC*3Ai7zBmWd^sA@hYU(X zh?y+yyjNlmd$EwVUDn1a7++W#|S4@q#puGD^n#RuW2Pr2^HXE4c0 z%nGj<9I>n_)QujmO5!a1AzF8RhsjQ*dw=bX|(1&nnq0082Lc-cp z@8ZlaR;2Jm00VSVY;)ki-r>y)OgfFboOuYw5F;zj=vE!{4$6R_={Hi9t7{pW`o1}H zS??vS=BY6#uVm20s~v}3K(o8I*(D?U@~!LiIrN6L1q0m)W!zDC1z&~+JsQTmnR`BK zi96Cc&l!<4{B0pL>S{uZ-+1U$ew33gaCSrVa!PE6Pl8@Q-pl)nLab)cu12`+9IMmA zPaNHNIXh#Jfy-zJ8=KvbdfTE#)4Jgtdue*BzJv@5^?30V;xUiFzfKfTXAMO6F#rGt z_J2zhNRf$xs+^7#hmx8+*MDjN*Ja$Ow%`srf;YRbf)|{FcD_|9j?!RXpv_`Hqj*T2 zNT^jVzFA9;nmxwGJ6aW5zVbTsO`L_pH_&*J8;_Q4!zB zMdZNeR%l-V!?+ya?8(nnbmrKZqc3!4^@h5njk=b<+)AsgcGhsRdH=G<8UMz^OsfVo zi}%=V2`|uy?r)vGzmZxxnE#Bs+;0&I+rfw_R~m9!xp9Gk+m%oAap>tv#YvuO>M~~P z#8NMww!AUQDtzxnNg1q3H2ZE+#!;(FpepXRT*EEJX5%BbZj;tyq*QfZQ2>@L43_nEq4@f_gIR8@|pFiOIOzQkI z&NW-|LmK{o^MmC1XOwH2=ZEb50pzLOi>K`(N z>>_FSzY5mBYyDilyRLEmkOAZY=|9m9S@HZ`^XF66ubQ~X?$5=(-!*>@yVs|%ACgM+ o^O@{-y`Q7Ubx{5xJxJgEF+^*qpd$~0001HK14ep6_%G-DKmR8QX8-^I diff --git a/etc/classpath.txt b/etc/serialversions/classpath.txt similarity index 100% rename from etc/classpath.txt rename to etc/serialversions/classpath.txt diff --git a/etc/getserialversionid.cmd b/etc/serialversions/getserialversionid.cmd similarity index 100% rename from etc/getserialversionid.cmd rename to etc/serialversions/getserialversionid.cmd diff --git a/etc/getserialversionid.sh b/etc/serialversions/getserialversionid.sh similarity index 100% rename from etc/getserialversionid.sh rename to etc/serialversions/getserialversionid.sh diff --git a/etc/serialversions.txt b/etc/serialversions/serialversions.txt similarity index 100% rename from etc/serialversions.txt rename to etc/serialversions/serialversions.txt diff --git a/setenv-sample.cmd b/etc/setenv-sample.cmd similarity index 100% rename from setenv-sample.cmd rename to etc/setenv-sample.cmd diff --git a/setenv-sample.sh b/etc/setenv-sample.sh similarity index 100% rename from setenv-sample.sh rename to etc/setenv-sample.sh diff --git a/pom.xml b/pom.xml index 430a7692..db5069ac 100644 --- a/pom.xml +++ b/pom.xml @@ -123,10 +123,11 @@ test + org.apache.maven.plugins - maven-project-info-reports-plugin - 3.0.0 + maven-enforcer-plugin + ${maven-enforcer-plugin.version} maven-plugin @@ -137,14 +138,21 @@ org.apache.maven.plugins - maven-project-info-reports-plugin - ${maven-project-info-reports-plugin.version} + maven-clean-plugin + 3.1.0 + maven-plugin + + + + org.apache.maven.plugins + maven-site-plugin + 3.9.0 maven-plugin org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} + maven-project-info-reports-plugin + ${maven-project-info-reports-plugin.version} maven-plugin @@ -177,18 +185,6 @@ ${maven-surefire-report-plugin.version} maven-plugin - - org.apache.maven.plugins - maven-assembly-plugin - 3.2.0 - maven-plugin - - - org.apache.maven.plugins - maven-clean-plugin - 3.1.0 - maven-plugin - @@ -306,7 +302,12 @@ org.apache.maven.plugins - maven-project-info-reports-plugin + maven-enforcer-plugin + maven-plugin + + + org.apache.maven.plugins + maven-invoker-plugin maven-plugin @@ -316,12 +317,33 @@ org.apache.maven.plugins - maven-project-info-reports-plugin + maven-clean-plugin maven-plugin org.apache.maven.plugins - maven-enforcer-plugin + maven-dependency-plugin + maven-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + maven-plugin + + + org.springframework.boot + spring-boot-maven-plugin + maven-plugin + + + + org.apache.maven.plugins + maven-site-plugin + maven-plugin + + + org.apache.maven.plugins + maven-project-info-reports-plugin maven-plugin @@ -344,6 +366,11 @@ maven-pmd-plugin maven-plugin + + org.apache.maven.plugins + maven-surefire-plugin + maven-plugin + org.apache.maven.plugins maven-surefire-report-plugin @@ -355,21 +382,22 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + com.dkanejs.maven.plugins docker-compose-maven-plugin ${version.docker-compose-maven-plugin} + org.apache.maven.plugins maven-project-info-reports-plugin ${maven-project-info-reports-plugin.version} - - org.apache.maven.plugins - maven-enforcer-plugin - ${maven-enforcer-plugin.version} - org.apache.maven.plugins maven-jxr-plugin @@ -558,7 +586,7 @@ org.webjars weld-probe-core false - ${project.build.directory}/dependencies/ + ${project.build.directory}/dependency-sources/ @@ -658,10 +686,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - org.apache.maven.plugins maven-surefire-plugin From 086af494790d488b5882e62f4b9b6a06fabd52b5 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 20:41:46 +0200 Subject: [PATCH 03/61] bugfixing --- pom.xml | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- run.sh | 2 +- 2 files changed, 160 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index db5069ac..4ca30119 100644 --- a/pom.xml +++ b/pom.xml @@ -50,22 +50,62 @@ 1.8 3.6.3 2.2.1 + ${project.parent.version} 1.11.2 2.5.3 2.8.2 + 1.8 + 3.1.1 + 3.1.0 + 3.8.1 + 3.1.2 + 2.8.2 3.0.0-M3 + 2.22.2 + 3.2.0 + 2.5.2 + 3.2.1 + 3.1.2 + 3.1.1 + 3.1.0 + 3.2.2 + 3.8.2 + 3.1.0 + 2.22.2 + 3.2.3 + 2.7 + 1.0.2 + 1.0.9.RELEASE + 3.0.1 + + 3.0.11.RELEASE + 2.0.1 + 3.0.4.RELEASE + 3.0.4.RELEASE + 2.4.1 + + Moore-SR6 + 5.2.5.RELEASE + 5.2.2.RELEASE + Corn-SR2 + + 5.5.2 + 2.6.4 + 2.36.0 + 2.1 + 1.18.12 + 3.0.0 - 3.1.0 3.1.1 3.0.0 3.11.0 4.0.0 3.13.0 - 3.0.0-M4 + 4.0.0 true @@ -75,6 +115,42 @@ + + org.junit + junit-bom + ${junit-jupiter.version} + pom + import + + + org.springframework + spring-framework-bom + ${spring-framework.version} + pom + import + + + org.springframework.data + spring-data-releasetrain + ${spring-data-releasetrain.version} + pom + import + + + org.springframework.security + spring-security-bom + ${spring-security.version} + pom + import + + + org.springframework.session + spring-session-bom + ${spring-session-bom.version} + pom + import + + org.webjars font-awesome @@ -100,36 +176,77 @@ ckeditor 4.11.3 + + + org.thymeleaf + thymeleaf + ${thymeleaf.version} + + + org.thymeleaf + thymeleaf-spring5 + ${thymeleaf.version} + + + org.thymeleaf.extras + thymeleaf-extras-java8time + ${thymeleaf-extras-java8time.version} + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + ${thymeleaf-extras-springsecurity.version} + io.github.jpenren thymeleaf-spring-data-dialect 3.4.0 + + + org.projectlombok + lombok + ${lombok.version} + false + + org.jsoup jsoup 1.8.3 + + + org.hamcrest + hamcrest + ${hamcrest.version} + test + - org.junit.jupiter - junit-jupiter-engine - 5.4.0 + org.hamcrest + hamcrest-core + ${hamcrest.version} test - org.junit.jupiter - junit-jupiter-api - 5.4.0 + org.hamcrest + hamcrest-library + ${hamcrest.version} test - org.apache.maven.plugins maven-enforcer-plugin ${maven-enforcer-plugin.version} maven-plugin + + org.apache.maven.plugins + maven-invoker-plugin + ${maven-invoker-plugin.version} + maven-plugin + com.dkanejs.maven.plugins docker-compose-maven-plugin @@ -139,7 +256,25 @@ org.apache.maven.plugins maven-clean-plugin - 3.1.0 + ${maven-clean-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-dependency-plugin + ${maven-dependency-plugin.version} + maven-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + maven-plugin + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot-maven-plugin.version} maven-plugin @@ -179,6 +314,12 @@ ${maven-pmd-plugin.version} maven-plugin + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + maven-plugin + org.apache.maven.plugins maven-surefire-report-plugin @@ -269,22 +410,28 @@ com.github.mxab.thymeleaf.extras thymeleaf-extras-data-attribute + + + org.thymeleaf + thymeleaf + org.thymeleaf thymeleaf-spring5 org.thymeleaf.extras - thymeleaf-extras-springsecurity5 + thymeleaf-extras-java8time org.thymeleaf.extras - thymeleaf-extras-java8time + thymeleaf-extras-springsecurity5 io.github.jpenren thymeleaf-spring-data-dialect + org.jsoup jsoup diff --git a/run.sh b/run.sh index 3c51c9c3..9fba8ac6 100755 --- a/run.sh +++ b/run.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -source setenv.sh +source etc/setenv.sh function runDev() { ./mvnw From 95973decb9fb2e9ec2f78e89703016361ecdb3f9 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 22:20:10 +0200 Subject: [PATCH 04/61] URL PATH of Actions - Controller Methods Refactoring --- etc/requirements/Requirements.md | 11 + etc/serialversions/getserialversionid.cmd | 2 +- etc/serialversions/getserialversionid.sh | 2 +- etc/serialversions/serialversions.txt | 2 +- .../breadcrumb/BreadcrumbService.java | 2 +- .../breadcrumb/BreadcrumbServiceImpl.java | 2 +- .../project/ProjectController.java | 98 +++++---- .../project/ProjectControllerService.java | 17 ++ .../project/ProjectRootController.java | 112 ++++++++-- .../project/ProjectTaskController.java | 65 +----- .../org/woehlke/simpleworklist/task/Task.java | 1 + .../task/TaskAddController.java | 8 +- .../task/TaskControllerService.java | 1 + .../task/TaskControllerServiceImpl.java | 1 + .../task/TaskEditController.java | 1 + .../simpleworklist/task/TaskRepository.java | 1 + .../simpleworklist/task/TaskServiceImpl.java | 3 +- .../taskstate/TaskMoveController.java | 100 +-------- .../taskstate/TaskMoveService.java | 1 - .../taskstate/TaskMoveServiceImpl.java | 1 - .../{task => taskstate}/TaskState.java | 2 +- ...r.java => TaskStateDisplayController.java} | 102 +-------- .../taskstate/TaskStateServiceImpl.java | 1 - .../TaskStateWorkflowController.java | 198 ++++++++++++++++++ .../testdata/TestDataServiceImpl.java | 2 +- .../simpleworklist/user/UserSessionBean.java | 2 +- 26 files changed, 425 insertions(+), 313 deletions(-) rename src/main/java/org/woehlke/simpleworklist/{task => taskstate}/TaskState.java (95%) rename src/main/java/org/woehlke/simpleworklist/taskstate/{TaskStateController.java => TaskStateDisplayController.java} (63%) create mode 100644 src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java diff --git a/etc/requirements/Requirements.md b/etc/requirements/Requirements.md index 3b0f73ce..7d09a8c3 100644 --- a/etc/requirements/Requirements.md +++ b/etc/requirements/Requirements.md @@ -31,4 +31,15 @@ http://localhost:5000/project/0/?listTaskTime=MIN5&listTaskTime=MIN10&listTaskTi +http://localhost:5000/taskstate/inbox +today +next +waiting +scheduled +someday +completed +trash +focus + + diff --git a/etc/serialversions/getserialversionid.cmd b/etc/serialversions/getserialversionid.cmd index c91efd61..edfb63e8 100644 --- a/etc/serialversions/getserialversionid.cmd +++ b/etc/serialversions/getserialversionid.cmd @@ -17,7 +17,7 @@ echo %CLASSPATH% cd target\classes serialver org.woehlke.simpleworklist.language.Language > ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.task.TaskEnergy >> ..\..\etc\serialversions.txt -serialver org.woehlke.simpleworklist.task.TaskState >> ..\..\etc\serialversions.txt +serialver org.woehlke.simpleworklist.taskstate.TaskState >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.task.TaskTime >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.register.UserRegistrationStatus >> ..\..\etc\serialversions.txt diff --git a/etc/serialversions/getserialversionid.sh b/etc/serialversions/getserialversionid.sh index 6d4a023f..2c52c249 100644 --- a/etc/serialversions/getserialversionid.sh +++ b/etc/serialversions/getserialversionid.sh @@ -29,7 +29,7 @@ echo "CLASSPATH $CLASSPATH" cd $CLASSES_PATH serialver org.woehlke.simpleworklist.language.Language > $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.task.TaskEnergy >> $SERIALVERSIONS_FILE -serialver org.woehlke.simpleworklist.task.TaskState >> $SERIALVERSIONS_FILE +serialver org.woehlke.simpleworklist.taskstate.TaskState >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.task.TaskTime >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.register.UserRegistrationStatus >> $SERIALVERSIONS_FILE diff --git a/etc/serialversions/serialversions.txt b/etc/serialversions/serialversions.txt index 4991de56..36911687 100644 --- a/etc/serialversions/serialversions.txt +++ b/etc/serialversions/serialversions.txt @@ -1,6 +1,6 @@ org.woehlke.simpleworklist.language.Language: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.task.TaskEnergy: private static final long serialVersionUID = 0L; -org.woehlke.simpleworklist.task.TaskState: private static final long serialVersionUID = 0L; +org.woehlke.simpleworklist.taskstate.TaskState: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.task.TaskTime: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.user.register.UserRegistrationStatus: private static final long serialVersionUID = 0L; diff --git a/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbService.java b/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbService.java index c9454993..1ba783b9 100644 --- a/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbService.java +++ b/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbService.java @@ -3,7 +3,7 @@ import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskState; +import org.woehlke.simpleworklist.taskstate.TaskState; import java.util.Locale; diff --git a/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbServiceImpl.java index a4b6b44d..d21b32b6 100644 --- a/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/breadcrumb/BreadcrumbServiceImpl.java @@ -8,7 +8,7 @@ import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskState; +import org.woehlke.simpleworklist.taskstate.TaskState; import java.util.Locale; import java.util.Stack; diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java index c0a16e04..879cf1a4 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java @@ -68,10 +68,10 @@ public final String showProject( model.addAttribute("message",message); model.addAttribute("isDeleted",isDeleted); } - return "project/show"; + return "project/id/show"; } - @RequestMapping(path = "/{projectId}/add/new/project", method = RequestMethod.GET) + @RequestMapping(path = "/{projectId}/add/project", method = RequestMethod.GET) public final String addNewSubProjectGet( @PathVariable long projectId, @ModelAttribute("userSession") UserSessionBean userSession, @@ -80,10 +80,10 @@ public final String addNewSubProjectGet( log.info("private addNewProjectGet (GET) projectId="+projectId); Context context = super.getContext(userSession); projectControllerService.addNewProject(projectId, userSession, context, locale, model); - return "project/add"; + return "project/id/add/project"; } - @RequestMapping(path = "/{projectId}/add/new/project", method = {RequestMethod.POST, RequestMethod.PUT}) + @RequestMapping(path = "/{projectId}/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) public final String addNewSubProjectPost( @PathVariable long projectId, @ModelAttribute("userSession") UserSessionBean userSession, @@ -92,12 +92,20 @@ public final String addNewSubProjectPost( Locale locale, Model model) { log.info("private addNewProjectPost (POST) projectId="+projectId+" "+project.toString()); Context context = super.getContext(userSession); - return projectControllerService.addNewProjectPersist( projectId, userSession, project, context, - result, locale, model ,"project/add"); + return projectControllerService.addNewProjectPersist( + projectId, + userSession, + project, + context, + result, + locale, + model , + "/add/project" + ); } - @RequestMapping(path = "/{thisProjectId}/move/to/{targetProjectId}", method = RequestMethod.GET) + @RequestMapping(path = "/{thisProjectId}/move/to/project/{targetProjectId}", method = RequestMethod.GET) public final String moveProject( @PathVariable("thisProjectId") Project thisProject, @PathVariable long targetProjectId, @@ -128,7 +136,7 @@ public final String editProjectGet( model.addAttribute("breadcrumb", breadcrumb); model.addAttribute("thisProject", thisProject); model.addAttribute("project", thisProject); - return "project/edit"; + return "project/id/edit"; } @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.POST) @@ -150,7 +158,7 @@ public final String editProjectPost( Project thisProject = projectService.findByProjectId(projectId); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); model.addAttribute("breadcrumb", breadcrumb); - return "project/edit"; + return "project/id/edit"; } else { Project thisProject = projectService.findByProjectId(project.getId()); thisProject.setName(project.getName()); @@ -173,47 +181,53 @@ public final String deleteProject( @PathVariable("projectId") Project project, @PageableDefault(sort = "title") Pageable request, @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model) { + Locale locale, + Model model + ) { long newProjectId = project.getId(); Context context = super.getContext(userSession); userSession.setLastProjectId(project.getId()); model.addAttribute("userSession",userSession); UserAccount userAccount = context.getUserAccount(); - if(project != null){ - boolean hasNoData = taskService.projectHasNoTasks(project); - boolean hasNoChildren = project.hasNoChildren(); - if (hasNoData && hasNoChildren) { - if (!project.isRootProject()) { - newProjectId = project.getParent().getId(); - } else { - newProjectId = 0; - } - projectService.delete(project); - String message = "Project is deleted. You see its parent project now."; - model.addAttribute("message",message); - model.addAttribute("isDeleted",true); + if(project != null){ + boolean hasNoData = taskService.projectHasNoTasks(project); + boolean hasNoChildren = project.hasNoChildren(); + if (hasNoData && hasNoChildren) { + if (!project.isRootProject()) { + newProjectId = project.getParent().getId(); } else { - StringBuilder s = new StringBuilder("Deletion rejected for this Project, because "); - log.info("Deletion rejected for Project " + project.getId()); - if (!hasNoData) { - log.warn("Project " + project.getId() + " has actionItem"); - s.append("Project has actionItems."); - } - if (!hasNoChildren) { - log.info("Project " + project.getId() + " has children"); - s.append("Project has child categories."); - } - model.addAttribute("message",s.toString()); - model.addAttribute("isDeleted",false); - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(project,locale); - Page taskPage = taskService.findByProject(project, context, request); - model.addAttribute("taskPage", taskPage); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("thisProject", project); - return "project/show"; + newProjectId = 0; + } + projectService.delete(project); + String message = "Project is deleted. You see its parent project now."; + model.addAttribute("message",message); + model.addAttribute("isDeleted",true); + } else { + StringBuilder s = new StringBuilder("Deletion rejected for this Project, because "); + log.info("Deletion rejected for Project " + project.getId()); + if (!hasNoData) { + log.warn("Project " + project.getId() + " has actionItem"); + s.append("Project has actionItems."); } + if (!hasNoChildren) { + log.info("Project " + project.getId() + " has children"); + s.append("Project has child categories."); + } + model.addAttribute("message",s.toString()); + model.addAttribute("isDeleted",false); + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(project,locale); + Page taskPage = taskService.findByProject(project, context, request); + model.addAttribute("taskPage", taskPage); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("thisProject", project); + return "project/id/show"; } - return "redirect:/project/" + newProjectId; + } + if( newProjectId == 0){ + return "redirect:/project/root"; + } else { + return "redirect:/project/" + newProjectId; + } } } diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectControllerService.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectControllerService.java index 37da8c39..5ca2f214 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectControllerService.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectControllerService.java @@ -34,4 +34,21 @@ Project getProject( UserAccount userAccount, UserSessionBean userSession ); + + void addNewProjectToRoot( + UserSessionBean userSession, + Context context, + Locale locale, + Model model + ); + + String addNewProjectToRootPersist( + UserSessionBean userSession, + Project project, + Context context, + BindingResult result, + Locale locale, + Model model, + String s + ); } diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java index 69298264..2469711f 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java @@ -8,15 +8,18 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.annotation.*; import org.woehlke.simpleworklist.breadcrumb.Breadcrumb; import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.task.Task; +import org.woehlke.simpleworklist.task.TaskEnergy; +import org.woehlke.simpleworklist.taskstate.TaskState; +import org.woehlke.simpleworklist.task.TaskTime; +import org.woehlke.simpleworklist.taskstate.TaskMoveService; import org.woehlke.simpleworklist.user.UserSessionBean; +import org.woehlke.simpleworklist.user.account.UserAccount; import javax.validation.Valid; import java.util.Locale; @@ -27,12 +30,12 @@ public class ProjectRootController extends AbstractController { private final ProjectControllerService projectControllerService; - - private static final long rootProjectId = 0L; + private final TaskMoveService taskMoveService; @Autowired - public ProjectRootController(ProjectControllerService projectControllerService) { + public ProjectRootController(ProjectControllerService projectControllerService, TaskMoveService taskMoveService) { this.projectControllerService = projectControllerService; + this.taskMoveService = taskMoveService; } @RequestMapping(path = "/", method = RequestMethod.GET) @@ -58,27 +61,108 @@ public final String showRootProject( return "project/root"; } - @RequestMapping(path = "/add/new/project", method = RequestMethod.GET) + @RequestMapping(path = "/add/project", method = RequestMethod.GET) public final String addNewTopLevelProjectForm( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model ){ - log.info("/project/add/new/project (GET)"); + log.info("/project/root/add/project (GET)"); Context context = super.getContext(userSession); - projectControllerService.addNewProject(rootProjectId, userSession, context, locale, model); + projectControllerService.addNewProjectToRoot(userSession, context, locale, model); return "project/addToplevel"; } - @RequestMapping(path = "/add/new/project", method = {RequestMethod.POST, RequestMethod.PUT}) + @RequestMapping(path = "/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) public final String addNewTopLevelProjectSave( @Valid Project project, @ModelAttribute("userSession") UserSessionBean userSession, BindingResult result, Locale locale, Model model ){ - log.info("/project/add/new/project (POST)"); + log.info("/project/root/add/project (POST)"); Context context = super.getContext(userSession); - return projectControllerService.addNewProjectPersist( rootProjectId, userSession, project, context, - result, locale, model, "project/addToplevel"); + return projectControllerService.addNewProjectToRootPersist( + userSession, + project, + context, + result, + locale, + model, + "project/addToplevel" + ); + } + + @RequestMapping(path = "/add/task", method = RequestMethod.GET) + public final String addNewTaskToRootProjectGet( + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, Model model + ) { + log.info("/project/root/add/task (GET)"); + Context context = super.getContext(userSession); + UserAccount userAccount = context.getUserAccount(); + Task task = new Task(); + task.setTaskState(TaskState.INBOX); + task.setTaskEnergy(TaskEnergy.NONE); + task.setTaskTime(TaskTime.NONE); + Project thisProject; + Boolean mustChooseArea = false; + thisProject = new Project(); + thisProject.setId(0L); + if(userSession.getContextId() == 0L){ + mustChooseArea = true; + task.setContext(userAccount.getDefaultContext()); + thisProject.setContext(userAccount.getDefaultContext()); + } else { + task.setContext(context); + thisProject.setContext(context); + } + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("mustChooseArea", mustChooseArea); + model.addAttribute("thisProject", thisProject); + model.addAttribute("thisProjectId", thisProject.getId()); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("task", task); + //return "task/addToProject"; + return "project/root/add/task"; + } + + @RequestMapping(path = "/add/task", method = RequestMethod.POST) + public final String addNewTaskToRootProjectPost( + @ModelAttribute("userSession") UserSessionBean userSession, + @Valid Task task, + BindingResult result, Locale locale, Model model + ) { + log.info("/project/root/add/task (POST)"); + Context context = super.getContext(userSession); + if (result.hasErrors()) { + for (ObjectError e : result.getAllErrors()) { + log.info(e.toString()); + } + Boolean mustChooseArea = false; + task.setContext(context); + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(TaskState.INBOX,locale); + model.addAttribute("mustChooseArea", mustChooseArea); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("task", task); + //return "task/addToProject"; + return "project/root/add/task"; + } else { + task.setProject(null); + if(task.getDueDate()==null){ + task.setTaskState(TaskState.INBOX); + } else { + task.setTaskState(TaskState.SCHEDULED); + } + task.setFocus(false); + task.setContext(context); + long maxOrderIdProject = taskMoveService.getMaxOrderIdProject(task.getProject(),context); + task.setOrderIdProject(++maxOrderIdProject); + long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); + task.setOrderIdTaskState(++maxOrderIdTaskState); + task = taskService.saveAndFlush(task); + log.info(task.toString()); + return "redirect:/project/root/"; + } } } diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java index 3f93aa3c..fa36f481 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java @@ -15,7 +15,7 @@ import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.task.Task; import org.woehlke.simpleworklist.task.TaskEnergy; -import org.woehlke.simpleworklist.task.TaskState; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.task.TaskTime; import org.woehlke.simpleworklist.taskstate.TaskMoveService; import org.woehlke.simpleworklist.user.UserSessionBean; @@ -27,7 +27,7 @@ @Slf4j @Controller -@RequestMapping(path = "/project/task") +@RequestMapping(path = "/project") public class ProjectTaskController extends AbstractController { private final TaskMoveService taskMoveService; @@ -39,8 +39,9 @@ public ProjectTaskController(TaskMoveService taskMoveService, ProjectControllerS this.projectControllerService = projectControllerService; } - @RequestMapping(path = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) + @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) public String changeTaskOrderIdWithinAProject( + @PathVariable("projectId") Project thisProject, @PathVariable("sourceTaskId") Task sourceTask, @PathVariable("destinationTaskId") Task destinationTask, @ModelAttribute("userSession") UserSessionBean userSession, @@ -71,8 +72,7 @@ public String changeTaskOrderIdWithinAProject( return returnUrl; } - - @RequestMapping(path = "/addtorootproject/", method = RequestMethod.GET) + @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) public final String addNewTaskToProjectGet( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model @@ -96,50 +96,10 @@ public final String addNewTaskToProjectGet( model.addAttribute("thisProjectId", 0L); model.addAttribute("breadcrumb", breadcrumb); model.addAttribute("task", task); - return "task/addToProject"; + return "id/task/add"; } - @RequestMapping(path = "/addtoproject/{projectId}", method = RequestMethod.GET) - public final String addNewTaskToProjectGet( - @PathVariable long projectId, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model - ) { - Context context = super.getContext(userSession); - UserAccount userAccount = context.getUserAccount(); - Task task = new Task(); - task.setTaskState(TaskState.INBOX); - task.setTaskEnergy(TaskEnergy.NONE); - task.setTaskTime(TaskTime.NONE); - Project thisProject; - Boolean mustChooseArea = false; - if (projectId == 0) { - thisProject = new Project(); - thisProject.setId(0L); - if(userSession.getContextId() == 0L){ - mustChooseArea = true; - task.setContext(userAccount.getDefaultContext()); - thisProject.setContext(userAccount.getDefaultContext()); - } else { - task.setContext(context); - thisProject.setContext(context); - } - } else { - thisProject = projectService.findByProjectId(projectId); - task.setProject(thisProject); - task.setContext(thisProject.getContext()); - } - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("mustChooseArea", mustChooseArea); - model.addAttribute("thisProject", thisProject); - model.addAttribute("thisProjectId", thisProject.getId()); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("task", task); - return "task/addToProject"; - } - - @RequestMapping(path = "/addtoproject/{projectId}", method = RequestMethod.POST) + @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) public final String addNewTaskToProjectPost( @PathVariable long projectId, @ModelAttribute("userSession") UserSessionBean userSession, @@ -153,26 +113,19 @@ public final String addNewTaskToProjectPost( } Project thisProject = projectControllerService.getProject(projectId, userAccount, userSession); Boolean mustChooseArea = false; - if (projectId == 0) { - task.setContext(context); - } else { task.setProject(thisProject); task.setContext(thisProject.getContext()); - } Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); model.addAttribute("mustChooseArea", mustChooseArea); model.addAttribute("thisProject", thisProject); model.addAttribute("breadcrumb", breadcrumb); model.addAttribute("task", task); - return "task/addToProject"; + //return "task/addToProject"; + return "id/task/add"; } else { - if (projectId == 0) { - task.setProject(null); - } else { Project thisProject = projectService.findByProjectId(projectId); task.setProject(thisProject); task.setContext(thisProject.getContext()); - } if(task.getDueDate()==null){ task.setTaskState(TaskState.INBOX); } else { diff --git a/src/main/java/org/woehlke/simpleworklist/task/Task.java b/src/main/java/org/woehlke/simpleworklist/task/Task.java index c18d0958..d5f72dc9 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/Task.java +++ b/src/main/java/org/woehlke/simpleworklist/task/Task.java @@ -16,6 +16,7 @@ import org.springframework.format.annotation.DateTimeFormat; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.account.UserAccount; import org.woehlke.simpleworklist.common.AuditModel; import org.woehlke.simpleworklist.common.ComparableById; diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java b/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java index d4df5c5d..3bb49a02 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java @@ -13,6 +13,7 @@ import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.taskstate.TaskMoveService; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.UserSessionBean; import org.woehlke.simpleworklist.user.account.UserAccount; @@ -62,7 +63,10 @@ public final String addNewTaskToInboxGet( public final String addNewTaskToInboxPost( @ModelAttribute("userSession") UserSessionBean userSession, @Valid Task task, - BindingResult result, Locale locale, Model model) { + BindingResult result, + Locale locale, + Model model + ) { Context context = super.getContext(userSession); if (result.hasErrors()) { for (ObjectError e : result.getAllErrors()) { @@ -84,10 +88,8 @@ public final String addNewTaskToInboxPost( } task.setFocus(false); task.setContext(context); - //TODO: verify, that this is correct: long maxOrderIdProject = taskMoveService.getMaxOrderIdProject(task.getProject(),context); task.setOrderIdProject(++maxOrderIdProject); - // long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); task.setOrderIdTaskState(++maxOrderIdTaskState); task = taskService.saveAndFlush(task); diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskControllerService.java b/src/main/java/org/woehlke/simpleworklist/task/TaskControllerService.java index b56c1539..5a83ab75 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskControllerService.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskControllerService.java @@ -2,6 +2,7 @@ import org.springframework.data.domain.Page; import org.springframework.ui.Model; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.UserSessionBean; import java.util.Locale; diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskControllerServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/task/TaskControllerServiceImpl.java index c47b7dac..b5aa937d 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskControllerServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskControllerServiceImpl.java @@ -7,6 +7,7 @@ import org.springframework.ui.Model; import org.woehlke.simpleworklist.breadcrumb.Breadcrumb; import org.woehlke.simpleworklist.breadcrumb.BreadcrumbService; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.UserSessionBean; import java.util.Locale; diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java b/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java index 3ff9103d..5a299fd4 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java @@ -14,6 +14,7 @@ import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.UserSessionBean; import org.woehlke.simpleworklist.user.account.UserAccount; diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskRepository.java b/src/main/java/org/woehlke/simpleworklist/task/TaskRepository.java index b8caf20a..4afb5dee 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskRepository.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskRepository.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Repository; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; +import org.woehlke.simpleworklist.taskstate.TaskState; @Repository public interface TaskRepository extends JpaRepository { diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/task/TaskServiceImpl.java index a055c69c..40ff01aa 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/task/TaskServiceImpl.java @@ -3,8 +3,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; @@ -13,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; +import org.woehlke.simpleworklist.taskstate.TaskState; import java.util.ArrayList; diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java index 89c65b37..9082f819 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java @@ -4,112 +4,24 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.user.UserSessionBean; +import org.woehlke.simpleworklist.task.TaskControllerService; -@Controller -@RequestMapping(value = "/task/move") public class TaskMoveController extends AbstractController { private static final Logger LOGGER = LoggerFactory.getLogger(TaskMoveController.class); private final TaskMoveService taskMoveService; + private final TaskControllerService taskControllerService; - @Autowired - public TaskMoveController(TaskMoveService taskMoveService) { + public TaskMoveController(TaskMoveService taskMoveService, TaskControllerService taskControllerService) { this.taskMoveService = taskMoveService; + this.taskControllerService = taskControllerService; } - @RequestMapping(value = "/{taskId}/to/project/{projectId}", method = RequestMethod.GET) - public final String moveTaskToAnotherProject(@PathVariable("taskId") Task task, - @PathVariable long projectId) { - if(projectId == 0) { - task = taskMoveService.moveTaskToRootProject(task); - } else { - Project project = projectService.findByProjectId(projectId); - task = taskMoveService.moveTaskToAnotherProject(task,project); - } - return "redirect:/project/" + projectId + "/"; - } - - @RequestMapping(value = "/{taskId}/to/inbox", method = RequestMethod.GET) - public final String moveTaskToInbox(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to inbox"); - task = taskMoveService.moveTaskToInbox(task); - return "redirect:/taskstate/inbox"; - } - - @RequestMapping(value = "/{taskId}/to/today", method = RequestMethod.GET) - public final String moveTaskToToday(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to today"); - task = taskMoveService.moveTaskToToday(task); - return "redirect:/taskstate/today"; - } - - @RequestMapping(value = "/{taskId}/to/next", method = RequestMethod.GET) - public final String moveTaskToNext(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to next"); - task = taskMoveService.moveTaskToNext(task); - return "redirect:/taskstate/next"; - } - - @RequestMapping(value = "/{taskId}/to/waiting", method = RequestMethod.GET) - public final String moveTaskToWaiting(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to waiting"); - task = taskMoveService.moveTaskToWaiting(task); - return "redirect:/taskstate/waiting"; - } - - @RequestMapping(value = "/{taskId}/to/someday", method = RequestMethod.GET) - public final String moveTaskToSomeday(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to someday"); - task = taskMoveService.moveTaskToSomeday(task); - return "redirect:/taskstate/someday"; - } - - @RequestMapping(value = "/{taskId}/to/focus", method = RequestMethod.GET) - public final String moveTaskToFocus(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to focus"); - task = taskMoveService.moveTaskToFocus(task); - return "redirect:/taskstate/focus"; - } - - @RequestMapping(value = "/{taskId}/to/completed", method = RequestMethod.GET) - public final String moveTaskToCompleted(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to completed"); - task = taskMoveService.moveTaskToCompleted(task); - return "redirect:/taskstate/completed"; - } - - @RequestMapping(value = "/{taskId}/to/trash", method = RequestMethod.GET) - public final String moveTaskToTrash(@PathVariable("taskId") Task task) { - LOGGER.info("dragged and dropped "+task.getId()+" to trash"); - task = taskMoveService.moveTaskToTrash(task); - return "redirect:/taskstate/trash"; - } - - @RequestMapping(value = "/completed/to/trash", method = RequestMethod.GET) - public final String deleteallCompleted( - @ModelAttribute("userSession") UserSessionBean userSession - ) { - Context context = super.getContext(userSession); - taskMoveService.deleteAllCompleted(context); - return "redirect:/taskstate/trash"; - } - - @RequestMapping(value = "/trash/to/void", method = RequestMethod.GET) - public final String emptyTrash( - @ModelAttribute("userSession") UserSessionBean userSession - ) { - Context context = super.getContext(userSession); - taskMoveService.emptyTrash(context); - return "redirect:/taskstate/trash"; - } } diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveService.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveService.java index 69f253f8..9c35cb6f 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveService.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveService.java @@ -3,7 +3,6 @@ import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskState; public interface TaskMoveService { diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java index 357b9c21..d5fb0e88 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java @@ -9,7 +9,6 @@ import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskState; import org.woehlke.simpleworklist.task.TaskRepository; import java.util.Date; diff --git a/src/main/java/org/woehlke/simpleworklist/task/TaskState.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskState.java similarity index 95% rename from src/main/java/org/woehlke/simpleworklist/task/TaskState.java rename to src/main/java/org/woehlke/simpleworklist/taskstate/TaskState.java index fdb3d4f8..852622ee 100644 --- a/src/main/java/org/woehlke/simpleworklist/task/TaskState.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskState.java @@ -1,4 +1,4 @@ -package org.woehlke.simpleworklist.task; +package org.woehlke.simpleworklist.taskstate; import javax.persistence.Enumerated; import javax.persistence.Transient; diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java similarity index 63% rename from src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java rename to src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java index fcd74932..d1502570 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java @@ -1,44 +1,36 @@ package org.woehlke.simpleworklist.taskstate; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.task.Task; import org.woehlke.simpleworklist.task.TaskControllerService; -import org.woehlke.simpleworklist.task.TaskState; -import org.woehlke.simpleworklist.breadcrumb.Breadcrumb; import org.woehlke.simpleworklist.user.UserSessionBean; -import org.springframework.beans.factory.annotation.Autowired; - import java.util.Locale; - -/** - * Created by tw on 21.02.16. - */ @Slf4j @Controller @RequestMapping(value = "/taskstate") -public class TaskStateController extends AbstractController { +public class TaskStateDisplayController extends AbstractController { + private final TaskStateService taskStateService; private final TaskMoveService taskMoveService; private final TaskControllerService taskControllerService; @Autowired - public TaskStateController( - TaskStateService taskStateService, - TaskMoveService taskMoveService, - TaskControllerService taskControllerService - ) { + public TaskStateDisplayController(TaskStateService taskStateService, TaskMoveService taskMoveService, TaskControllerService taskControllerService) { this.taskStateService = taskStateService; this.taskMoveService = taskMoveService; this.taskControllerService = taskControllerService; @@ -46,10 +38,10 @@ public TaskStateController( @RequestMapping(value = "/inbox", method = RequestMethod.GET) public final String inbox( - @PageableDefault(sort = "orderIdTaskState") Pageable pageable, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, - Model model + @PageableDefault(sort = "orderIdTaskState") Pageable pageable, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ) { Context context = super.getContext(userSession); Page taskPage = taskStateService.getInbox(context, pageable); @@ -151,76 +143,4 @@ public final String focus( Page taskPage = taskStateService.getFocus(context, pageable); return taskControllerService.getTaskStatePage(TaskState.FOCUS, taskPage, userSession, locale, model); } - - @RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) - public String changeTaskOrderId( - @PathVariable("sourceTaskId") Task sourceTask, - @PathVariable("destinationTaskId") Task destinationTask, - @ModelAttribute("userSession") UserSessionBean userSession, - Model model - ){ - userSession.setLastTaskState(sourceTask.getTaskState()); - model.addAttribute("userSession", userSession); - log.info("------------- changeTaskOrderId -------------"); - log.info("source Task: "+sourceTask.toString()); - log.info("---------------------------------------------"); - log.info("destination Task: "+destinationTask.toString()); - log.info("---------------------------------------------"); - taskMoveService.moveOrderIdTaskState(sourceTask, destinationTask); - return "redirect:/taskstate/" + sourceTask.getTaskState().name().toLowerCase(); - } - - @RequestMapping(path = "/complete/{taskId}", method = RequestMethod.GET) - public final String setDoneTaskGet( - @PathVariable("taskId") Task task - ) { - if(task != null){ - long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(TaskState.COMPLETED,task.getContext()); - task.setOrderIdTaskState(++maxOrderIdTaskState); - taskService.complete(task); - } - return "redirect:/taskstate/completed"; - } - - @RequestMapping(path = "/incomplete/{taskId}", method = RequestMethod.GET) - public final String unsetDoneTaskGet( - @PathVariable("taskId") Task task - ) { - if(task !=null) { - taskService.incomplete(task); - long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); - task.setOrderIdTaskState(++maxOrderIdTaskState); - taskService.saveAndFlush(task); - return "redirect:/taskstate/"+task.getTaskState().name().toLowerCase(); - } else { - return "redirect:/taskstate/inbox"; - } - } - - @RequestMapping(path = "/setfocus/{taskId}", method = RequestMethod.GET) - public final String setFocusGet( - @PathVariable("taskId") Task task, - @RequestParam(required=false) String back - ){ - if(task !=null) { - taskService.setFocus(task); - return taskControllerService.getView(task,back); - } else { - return "redirect:/taskstate/inbox"; - } - } - - @RequestMapping(path = "/unsetfocus/{taskId}", method = RequestMethod.GET) - public final String unsetFocusGet( - @PathVariable("taskId") Task task, - @RequestParam(required=false) String back - ){ - if(task !=null) { - taskService.unsetFocus(task); - return taskControllerService.getView(task,back); - } else { - return "redirect:/taskstate/inbox"; - } - } - } diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java index 8932a65a..e9496d66 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java @@ -7,7 +7,6 @@ import org.springframework.transaction.annotation.Transactional; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskState; import org.woehlke.simpleworklist.task.TaskRepository; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java new file mode 100644 index 00000000..a35eaa9f --- /dev/null +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java @@ -0,0 +1,198 @@ +package org.woehlke.simpleworklist.taskstate; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; +import org.woehlke.simpleworklist.common.AbstractController; +import org.woehlke.simpleworklist.context.Context; +import org.woehlke.simpleworklist.project.Project; +import org.woehlke.simpleworklist.task.Task; +import org.woehlke.simpleworklist.task.TaskControllerService; +import org.woehlke.simpleworklist.user.UserSessionBean; + +import org.springframework.beans.factory.annotation.Autowired; + +/** + * Created by tw on 21.02.16. + */ +@Slf4j +@Controller +@RequestMapping(value = "/taskstate/task") +public class TaskStateWorkflowController extends AbstractController { + + private final TaskStateService taskStateService; + private final TaskMoveService taskMoveService; + private final TaskControllerService taskControllerService; + + @Autowired + public TaskStateWorkflowController( + TaskStateService taskStateService, + TaskMoveService taskMoveService, + TaskControllerService taskControllerService + ) { + this.taskStateService = taskStateService; + this.taskMoveService = taskMoveService; + this.taskControllerService = taskControllerService; + } + + + @RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) + public String changeTaskOrderId( + @PathVariable("sourceTaskId") Task sourceTask, + @PathVariable("destinationTaskId") Task destinationTask, + @ModelAttribute("userSession") UserSessionBean userSession, + Model model + ){ + userSession.setLastTaskState(sourceTask.getTaskState()); + model.addAttribute("userSession", userSession); + log.info("------------- changeTaskOrderId -------------"); + log.info("source Task: "+sourceTask.toString()); + log.info("---------------------------------------------"); + log.info("destination Task: "+destinationTask.toString()); + log.info("---------------------------------------------"); + taskMoveService.moveOrderIdTaskState(sourceTask, destinationTask); + return "redirect:/taskstate/" + sourceTask.getTaskState().name().toLowerCase(); + } + + + @RequestMapping(value = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) + public final String moveTaskToAnotherProject(@PathVariable("taskId") Task task, + @PathVariable long projectId) { + if(projectId == 0) { + task = taskMoveService.moveTaskToRootProject(task); + } else { + Project project = projectService.findByProjectId(projectId); + task = taskMoveService.moveTaskToAnotherProject(task,project); + } + return "redirect:/project/" + projectId + "/"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) + public final String moveTaskToInbox(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to inbox"); + task = taskMoveService.moveTaskToInbox(task); + return "redirect:/taskstate/inbox"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) + public final String moveTaskToToday(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to today"); + task = taskMoveService.moveTaskToToday(task); + return "redirect:/taskstate/today"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) + public final String moveTaskToNext(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to next"); + task = taskMoveService.moveTaskToNext(task); + return "redirect:/taskstate/next"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) + public final String moveTaskToWaiting(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to waiting"); + task = taskMoveService.moveTaskToWaiting(task); + return "redirect:/taskstate/waiting"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) + public final String moveTaskToSomeday(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to someday"); + task = taskMoveService.moveTaskToSomeday(task); + return "redirect:/taskstate/someday"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) + public final String moveTaskToFocus(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to focus"); + task = taskMoveService.moveTaskToFocus(task); + return "redirect:/taskstate/focus"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) + public final String moveTaskToCompleted(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to completed"); + task = taskMoveService.moveTaskToCompleted(task); + return "redirect:/taskstate/completed"; + } + + @RequestMapping(value = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) + public final String moveTaskToTrash(@PathVariable("taskId") Task task) { + log.info("dragged and dropped "+task.getId()+" to trash"); + task = taskMoveService.moveTaskToTrash(task); + return "redirect:/taskstate/trash"; + } + + @RequestMapping(value = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) + public final String deleteallCompleted( + @ModelAttribute("userSession") UserSessionBean userSession + ) { + Context context = super.getContext(userSession); + taskMoveService.deleteAllCompleted(context); + return "redirect:/taskstate/trash"; + } + + @RequestMapping(value = "/trash/empty", method = RequestMethod.GET) + public final String emptyTrash( + @ModelAttribute("userSession") UserSessionBean userSession + ) { + Context context = super.getContext(userSession); + taskMoveService.emptyTrash(context); + return "redirect:/taskstate/trash"; + } + + @RequestMapping(path = "/{taskId}/complete", method = RequestMethod.GET) + public final String setDoneTaskGet( + @PathVariable("taskId") Task task + ) { + if(task != null){ + long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(TaskState.COMPLETED,task.getContext()); + task.setOrderIdTaskState(++maxOrderIdTaskState); + taskService.complete(task); + } + return "redirect:/taskstate/completed"; + } + + @RequestMapping(path = "/{taskId}/incomplete/", method = RequestMethod.GET) + public final String unsetDoneTaskGet( + @PathVariable("taskId") Task task + ) { + if(task !=null) { + taskService.incomplete(task); + long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); + task.setOrderIdTaskState(++maxOrderIdTaskState); + taskService.saveAndFlush(task); + return "redirect:/taskstate/"+task.getTaskState().name().toLowerCase(); + } else { + return "redirect:/taskstate/inbox"; + } + } + + @RequestMapping(path = "/{taskId}/setfocus/", method = RequestMethod.GET) + public final String setFocusGet( + @PathVariable("taskId") Task task, + @RequestParam(required=false) String back + ){ + if(task !=null) { + taskService.setFocus(task); + return taskControllerService.getView(task,back); + } else { + return "redirect:/taskstate/inbox"; + } + } + + @RequestMapping(path = "/{taskId}/unsetfocus", method = RequestMethod.GET) + public final String unsetFocusGet( + @PathVariable("taskId") Task task, + @RequestParam(required=false) String back + ){ + if(task !=null) { + taskService.unsetFocus(task); + return taskControllerService.getView(task,back); + } else { + return "redirect:/taskstate/inbox"; + } + } + +} diff --git a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataServiceImpl.java index 6a30653a..0512e051 100644 --- a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataServiceImpl.java @@ -9,7 +9,7 @@ import org.woehlke.simpleworklist.project.Project; import org.woehlke.simpleworklist.task.Task; import org.woehlke.simpleworklist.task.TaskEnergy; -import org.woehlke.simpleworklist.task.TaskState; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.account.UserAccount; import org.woehlke.simpleworklist.task.TaskTime; import org.woehlke.simpleworklist.context.ContextRepository; diff --git a/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java b/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java index 0d9ef57c..da44b3b8 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java +++ b/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java @@ -1,6 +1,6 @@ package org.woehlke.simpleworklist.user; -import org.woehlke.simpleworklist.task.TaskState; +import org.woehlke.simpleworklist.taskstate.TaskState; import java.io.Serializable; import java.util.Objects; From 503e50b0f438c8d90f604260537d3cc22a30f2dc Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:17:09 +0200 Subject: [PATCH 05/61] URL PATH of Actions - Controller Methods Refactoring --- .gitignore | 6 +++ etc/urls01.txt | 120 +++++++++++++++++++++++++++++++++++++++++++++++++ etc/urls02.txt | 120 +++++++++++++++++++++++++++++++++++++++++++++++++ getUrls.sh | 30 +++++++++++++ 4 files changed, 276 insertions(+) create mode 100644 etc/urls01.txt create mode 100644 etc/urls02.txt create mode 100755 getUrls.sh diff --git a/.gitignore b/.gitignore index ca7505a9..ba593153 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,9 @@ docs/deploying-spring-boot-apps/ setenv.sh setenv.cmd /etc/pom.xml +/src/main/java/org/woehlke/simpleworklist/project/x.txt +/src/main/java/org/woehlke/simpleworklist/task/x.txt +/src/main/java/org/woehlke/simpleworklist/taskstate/x.txt +/src/main/java/org/woehlke/simpleworklist/context/x.txt +/src/main/java/org/woehlke/simpleworklist/error/x.txt +/src/main/java/org/woehlke/simpleworklist/search/x.txt diff --git a/etc/urls01.txt b/etc/urls01.txt new file mode 100644 index 00000000..7a56dd1a --- /dev/null +++ b/etc/urls01.txt @@ -0,0 +1,120 @@ +etc/urls01.txt +--------------------------------------------------------------------- +So 5. Apr 23:15:56 CEST 2020 +--------------------------------------------------------------------- +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context +--------------------------------------------------------------------- +18:@RequestMapping(value = "/context") +28: @RequestMapping(value = "/choose/{newContextId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/error +--------------------------------------------------------------------- +20: @RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project +--------------------------------------------------------------------- +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:29:@RequestMapping(path = "/project") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:39: @RequestMapping(path = "/{projectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:74: @RequestMapping(path = "/{projectId}/add/project", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:86: @RequestMapping(path = "/{projectId}/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:108: @RequestMapping(path = "/{thisProjectId}/move/to/project/{targetProjectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:123: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:142: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:179: @RequestMapping(path = "/{projectId}/delete", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:29:@RequestMapping(path = "/project/root") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:41: @RequestMapping(path = "/", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:64: @RequestMapping(path = "/add/project", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:75: @RequestMapping(path = "/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:95: @RequestMapping(path = "/add/task", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:130: @RequestMapping(path = "/add/task", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:30:@RequestMapping(path = "/project") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:42: @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:75: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:102: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/search +--------------------------------------------------------------------- +36: @RequestMapping(value = "/search", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task +--------------------------------------------------------------------- +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java:26:@RequestMapping(path = "/task") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java:36: @RequestMapping(path = "/add", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java:62: @RequestMapping(path = "/add", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskController.java:12:@RequestMapping(path = "/task") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskController.java:15: @RequestMapping(path = "/delete/{taskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskController.java:23: @RequestMapping(path = "/task/undelete/{taskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskController.java:33: @RequestMapping(path = "/transform/{taskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:28:@RequestMapping(path = "/task") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:38: @RequestMapping(path = "/{taskId}/edit", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:65: @RequestMapping(path = "/{taskId}/edit", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate +--------------------------------------------------------------------- +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:24:@RequestMapping(value = "/taskstate") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:39: @RequestMapping(value = "/inbox", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:51: @RequestMapping(value = "/today", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:63: @RequestMapping(value = "/next", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:75: @RequestMapping(value = "/waiting", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:87: @RequestMapping(value = "/scheduled", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:99: @RequestMapping(value = "/someday", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:111: @RequestMapping(value = "/completed", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:123: @RequestMapping(value = "/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:135: @RequestMapping(value = "/focus", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:21:@RequestMapping(value = "/taskstate/task") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:40: @RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:59: @RequestMapping(value = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:71: @RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:78: @RequestMapping(value = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:85: @RequestMapping(value = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:92: @RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:99: @RequestMapping(value = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:106: @RequestMapping(value = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:113: @RequestMapping(value = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:120: @RequestMapping(value = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:127: @RequestMapping(value = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:136: @RequestMapping(value = "/trash/empty", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:145: @RequestMapping(path = "/{taskId}/complete", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:157: @RequestMapping(path = "/{taskId}/incomplete/", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:172: @RequestMapping(path = "/{taskId}/setfocus/", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:185: @RequestMapping(path = "/{taskId}/unsetfocus", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/testdata +--------------------------------------------------------------------- +12:@RequestMapping(value = "/test") +25: @RequestMapping(value = "/helper/project/createTree", method = RequestMethod.GET) +--------------------------------------------------------------------- +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/login +--------------------------------------------------------------------- +46: @RequestMapping(value = "/login", method = RequestMethod.GET) +61: @RequestMapping(value = "/login", method = RequestMethod.POST) +81: @RequestMapping(value="/logout", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/messages +--------------------------------------------------------------------- +32:@RequestMapping(value = "/user2user/") +37: @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.GET) +58: @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/register +--------------------------------------------------------------------- +40: @RequestMapping(value = "/register", method = RequestMethod.GET) +55: @RequestMapping(value = "/register", method = RequestMethod.POST) +93: @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.GET) +118: @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/resetpassword +--------------------------------------------------------------------- +42: @RequestMapping(value = "/resetPassword", method = RequestMethod.GET) +57: @RequestMapping(value = "/resetPassword", method = RequestMethod.POST) +93: @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) +118: @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/selfservice +--------------------------------------------------------------------- +39:@RequestMapping(value = "/user/selfservice") +52: @RequestMapping(value = "/profile", method = RequestMethod.GET) +72: @RequestMapping(value = "/name", method = RequestMethod.GET) +87: @RequestMapping(value = "/name", method = RequestMethod.POST) +108: @RequestMapping(value = "/password", method = RequestMethod.GET) +122: @RequestMapping(value = "/password", method = RequestMethod.POST) +173: @RequestMapping(value = "/contexts", method = RequestMethod.GET) +188: @RequestMapping(value = "/contexts", method = RequestMethod.POST) +216: @RequestMapping(value = "/context/add", method = RequestMethod.GET) +228: @RequestMapping(value = "/context/add", method = RequestMethod.POST) +251: @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.GET) +268: @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.POST) +293: @RequestMapping(value = "/context/delete/{id}", method = RequestMethod.GET) +323: @RequestMapping(value = "/language", method = RequestMethod.GET) +337: @RequestMapping(value = "/language", method = RequestMethod.POST) +--------------------------------------------------------------------- diff --git a/etc/urls02.txt b/etc/urls02.txt new file mode 100644 index 00000000..9143b27c --- /dev/null +++ b/etc/urls02.txt @@ -0,0 +1,120 @@ +etc/urls01.txt +--------------------------------------------------------------------- +5. Apr 23:15:56 +--------------------------------------------------------------------- +/context +--------------------------------------------------------------------- += "/context") +@RequestMapping(value = "/choose/{newContextId}", +/error +--------------------------------------------------------------------- +@RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) +/project +--------------------------------------------------------------------- += "/project") +@RequestMapping(path = "/{projectId}", +@RequestMapping(path = "/{projectId}/add/project", +@RequestMapping(path = "/{projectId}/add/project", +@RequestMapping(path = "/{thisProjectId}/move/to/project/{targetProjectId}", +@RequestMapping(path = "/{projectId}/edit", +@RequestMapping(path = "/{projectId}/edit", +@RequestMapping(path = "/{projectId}/delete", += "/project/root") +@RequestMapping(path = "/", +@RequestMapping(path = "/add/project", +@RequestMapping(path = "/add/project", +@RequestMapping(path = "/add/task", +@RequestMapping(path = "/add/task", += "/project") +@RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", +@RequestMapping(path = "/{projectId}/task/add/", +@RequestMapping(path = "/{projectId}/task/add/", +/search +--------------------------------------------------------------------- +@RequestMapping(value = "/search", +/task +--------------------------------------------------------------------- += "/task") +@RequestMapping(path = "/add", +@RequestMapping(path = "/add", += "/task") +@RequestMapping(path = "/delete/{taskId}", +@RequestMapping(path = "/task/undelete/{taskId}", +@RequestMapping(path = "/transform/{taskId}", += "/task") +@RequestMapping(path = "/{taskId}/edit", +@RequestMapping(path = "/{taskId}/edit", +/taskstate +--------------------------------------------------------------------- += "/taskstate") +@RequestMapping(value = "/inbox", +@RequestMapping(value = "/today", +@RequestMapping(value = "/next", +@RequestMapping(value = "/waiting", +@RequestMapping(value = "/scheduled", +@RequestMapping(value = "/someday", +@RequestMapping(value = "/completed", +@RequestMapping(value = "/trash", +@RequestMapping(value = "/focus", += "/taskstate/task") +@RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", +@RequestMapping(value = "/{taskId}/move/to/project/{projectId}", +@RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", +@RequestMapping(value = "/{taskId}/move/to/taskstate/today", +@RequestMapping(value = "/{taskId}/move/to/taskstate//next", +@RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", +@RequestMapping(value = "/{taskId}/move/to/taskstate//someday", +@RequestMapping(value = "/{taskId}/move/to/taskstate/focus", +@RequestMapping(value = "/{taskId}/move/to/taskstate/completed", +@RequestMapping(value = "/{taskId}/move/to/taskstate/trash", +@RequestMapping(value = "/completed/move/to/taskstate/trash", +@RequestMapping(value = "/trash/empty", +@RequestMapping(path = "/{taskId}/complete", +@RequestMapping(path = "/{taskId}/incomplete/", +@RequestMapping(path = "/{taskId}/setfocus/", +@RequestMapping(path = "/{taskId}/unsetfocus", +/testdata +--------------------------------------------------------------------- += "/test") +@RequestMapping(value = "/helper/project/createTree", +--------------------------------------------------------------------- +/user/login +--------------------------------------------------------------------- +@RequestMapping(value = "/login", +@RequestMapping(value = "/login", +@RequestMapping(value="/logout", method = +/user/messages +--------------------------------------------------------------------- += "/user2user/") +@RequestMapping(value = "/{userId}/messages/", +@RequestMapping(value = "/{userId}/messages/", +/user/register +--------------------------------------------------------------------- +@RequestMapping(value = "/register", +@RequestMapping(value = "/register", +@RequestMapping(value = "/confirm/{confirmId}", +@RequestMapping(value = "/confirm/{confirmId}", +/user/resetpassword +--------------------------------------------------------------------- +@RequestMapping(value = "/resetPassword", +@RequestMapping(value = "/resetPassword", +@RequestMapping(value = "/passwordResetConfirm/{confirmId}", +@RequestMapping(value = "/passwordResetConfirm/{confirmId}", +/user/selfservice +--------------------------------------------------------------------- += "/user/selfservice") +@RequestMapping(value = "/profile", +@RequestMapping(value = "/name", +@RequestMapping(value = "/name", +@RequestMapping(value = "/password", +@RequestMapping(value = "/password", +@RequestMapping(value = "/contexts", +@RequestMapping(value = "/contexts", +@RequestMapping(value = "/context/add", +@RequestMapping(value = "/context/add", +@RequestMapping(value = "/context/edit/{contextId}", +@RequestMapping(value = "/context/edit/{contextId}", +@RequestMapping(value = "/context/delete/{id}", +@RequestMapping(value = "/language", +@RequestMapping(value = "/language", +--------------------------------------------------------------------- diff --git a/getUrls.sh b/getUrls.sh new file mode 100755 index 00000000..0177ce57 --- /dev/null +++ b/getUrls.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +ROOT_PATH_PROJECT=`pwd` +ROOT_PATH_SRC="$ROOT_PATH_PROJECT/src/main/java/org/woehlke/simpleworklist" + +SUBDIRS="context error project search task taskstate testdata" +SUBDIRS_USER="login messages register resetpassword selfservice " + +OUTPUT="etc/urls01.txt" +OUTPUT2="etc/urls02.txt" + +echo "$OUTPUT" > $OUTPUT +echo "---------------------------------------------------------------------" >> $OUTPUT +date >> $OUTPUT +echo "---------------------------------------------------------------------" >> $OUTPUT +for i in $SUBDIRS ; do + echo "$ROOT_PATH_SRC/$i" >> $OUTPUT + echo "---------------------------------------------------------------------" >> $OUTPUT + grep -n "RequestMapping" $ROOT_PATH_SRC/$i/*Controller*.java | grep -v "import org.springframework.web.bind.annotation.RequestMapping" >> $OUTPUT +done +echo "---------------------------------------------------------------------" >> $OUTPUT +for i in $SUBDIRS_USER ; do + echo "$ROOT_PATH_SRC/user/$i" >> $OUTPUT + echo "---------------------------------------------------------------------" >> $OUTPUT + grep -n "RequestMapping" $ROOT_PATH_SRC/user/$i/*Controller*.java | grep -v "import org.springframework.web.bind.annotation.RequestMapping" >> $OUTPUT +done +echo "---------------------------------------------------------------------" >> $OUTPUT + +cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 > $OUTPUT2 +cat $OUTPUT2 From 735303e298e6f85c5b9d9b69eaf9a244318b6922 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:18:13 +0200 Subject: [PATCH 06/61] URL PATH of Actions - Controller Methods Refactoring --- etc/urls01.txt | 2 +- etc/urls02.txt | 2 +- getUrls.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/etc/urls01.txt b/etc/urls01.txt index 7a56dd1a..15197331 100644 --- a/etc/urls01.txt +++ b/etc/urls01.txt @@ -1,6 +1,6 @@ etc/urls01.txt --------------------------------------------------------------------- -So 5. Apr 23:15:56 CEST 2020 +So 5. Apr 23:17:52 CEST 2020 --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context --------------------------------------------------------------------- diff --git a/etc/urls02.txt b/etc/urls02.txt index 9143b27c..f935936f 100644 --- a/etc/urls02.txt +++ b/etc/urls02.txt @@ -1,6 +1,6 @@ etc/urls01.txt --------------------------------------------------------------------- -5. Apr 23:15:56 +5. Apr 23:17:52 --------------------------------------------------------------------- /context --------------------------------------------------------------------- diff --git a/getUrls.sh b/getUrls.sh index 0177ce57..5fee2cda 100755 --- a/getUrls.sh +++ b/getUrls.sh @@ -27,4 +27,4 @@ done echo "---------------------------------------------------------------------" >> $OUTPUT cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 > $OUTPUT2 -cat $OUTPUT2 +cat $OUTPUT2 | grep "value" From 14ef69967eda4fec2622376a68e1107f971dbf3d Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:19:28 +0200 Subject: [PATCH 07/61] URL PATH of Actions - Controller Methods Refactoring --- etc/urls01.txt | 116 +++++++++--------- etc/urls02.txt | 104 ++++++++-------- .../context/ContextController.java | 4 +- .../search/SearchController.java | 2 +- .../taskstate/TaskStateDisplayController.java | 20 +-- .../TaskStateWorkflowController.java | 26 ++-- .../testdata/TestDataController.java | 4 +- .../user/login/UserLoginController.java | 6 +- .../messages/User2UserMessageController.java | 6 +- .../register/UserRegistrationController.java | 8 +- .../UserPasswordRecoveryController.java | 8 +- .../UserSelfserviceController.java | 30 ++--- 12 files changed, 167 insertions(+), 167 deletions(-) diff --git a/etc/urls01.txt b/etc/urls01.txt index 15197331..3f493905 100644 --- a/etc/urls01.txt +++ b/etc/urls01.txt @@ -1,11 +1,11 @@ etc/urls01.txt --------------------------------------------------------------------- -So 5. Apr 23:17:52 CEST 2020 +So 5. Apr 23:19:11 CEST 2020 --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context --------------------------------------------------------------------- -18:@RequestMapping(value = "/context") -28: @RequestMapping(value = "/choose/{newContextId}", method = RequestMethod.GET) +18:@RequestMapping(path = "/context") +28: @RequestMapping(path = "/choose/{newContextId}", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/error --------------------------------------------------------------------- 20: @RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) @@ -31,7 +31,7 @@ So 5. Apr 23:17:52 CEST 2020 /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:102: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/search --------------------------------------------------------------------- -36: @RequestMapping(value = "/search", method = RequestMethod.GET) +36: @RequestMapping(path = "/search", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java:26:@RequestMapping(path = "/task") @@ -46,75 +46,75 @@ So 5. Apr 23:17:52 CEST 2020 /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:65: @RequestMapping(path = "/{taskId}/edit", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate --------------------------------------------------------------------- -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:24:@RequestMapping(value = "/taskstate") -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:39: @RequestMapping(value = "/inbox", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:51: @RequestMapping(value = "/today", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:63: @RequestMapping(value = "/next", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:75: @RequestMapping(value = "/waiting", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:87: @RequestMapping(value = "/scheduled", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:99: @RequestMapping(value = "/someday", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:111: @RequestMapping(value = "/completed", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:123: @RequestMapping(value = "/trash", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:135: @RequestMapping(value = "/focus", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:21:@RequestMapping(value = "/taskstate/task") -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:40: @RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:59: @RequestMapping(value = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:71: @RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:78: @RequestMapping(value = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:85: @RequestMapping(value = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:92: @RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:99: @RequestMapping(value = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:106: @RequestMapping(value = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:113: @RequestMapping(value = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:120: @RequestMapping(value = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:127: @RequestMapping(value = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:136: @RequestMapping(value = "/trash/empty", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:24:@RequestMapping(path = "/taskstate") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:39: @RequestMapping(path = "/inbox", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:51: @RequestMapping(path = "/today", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:63: @RequestMapping(path = "/next", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:75: @RequestMapping(path = "/waiting", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:87: @RequestMapping(path = "/scheduled", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:99: @RequestMapping(path = "/someday", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:111: @RequestMapping(path = "/completed", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:123: @RequestMapping(path = "/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:135: @RequestMapping(path = "/focus", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:21:@RequestMapping(path = "/taskstate/task") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:40: @RequestMapping(path = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:59: @RequestMapping(path = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:71: @RequestMapping(path = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:78: @RequestMapping(path = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:85: @RequestMapping(path = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:92: @RequestMapping(path = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:99: @RequestMapping(path = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:106: @RequestMapping(path = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:113: @RequestMapping(path = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:120: @RequestMapping(path = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:127: @RequestMapping(path = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:136: @RequestMapping(path = "/trash/empty", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:145: @RequestMapping(path = "/{taskId}/complete", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:157: @RequestMapping(path = "/{taskId}/incomplete/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:172: @RequestMapping(path = "/{taskId}/setfocus/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:185: @RequestMapping(path = "/{taskId}/unsetfocus", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/testdata --------------------------------------------------------------------- -12:@RequestMapping(value = "/test") -25: @RequestMapping(value = "/helper/project/createTree", method = RequestMethod.GET) +12:@RequestMapping(path = "/test") +25: @RequestMapping(path = "/helper/project/createTree", method = RequestMethod.GET) --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/login --------------------------------------------------------------------- -46: @RequestMapping(value = "/login", method = RequestMethod.GET) -61: @RequestMapping(value = "/login", method = RequestMethod.POST) -81: @RequestMapping(value="/logout", method = RequestMethod.GET) +46: @RequestMapping(path = "/login", method = RequestMethod.GET) +61: @RequestMapping(path = "/login", method = RequestMethod.POST) +81: @RequestMapping(path="/logout", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/messages --------------------------------------------------------------------- -32:@RequestMapping(value = "/user2user/") -37: @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.GET) -58: @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.POST) +32:@RequestMapping(path = "/user2user/") +37: @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) +58: @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/register --------------------------------------------------------------------- -40: @RequestMapping(value = "/register", method = RequestMethod.GET) -55: @RequestMapping(value = "/register", method = RequestMethod.POST) -93: @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.GET) -118: @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.POST) +40: @RequestMapping(path = "/register", method = RequestMethod.GET) +55: @RequestMapping(path = "/register", method = RequestMethod.POST) +93: @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.GET) +118: @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/resetpassword --------------------------------------------------------------------- -42: @RequestMapping(value = "/resetPassword", method = RequestMethod.GET) -57: @RequestMapping(value = "/resetPassword", method = RequestMethod.POST) -93: @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) -118: @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) +42: @RequestMapping(path = "/resetPassword", method = RequestMethod.GET) +57: @RequestMapping(path = "/resetPassword", method = RequestMethod.POST) +93: @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) +118: @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/selfservice --------------------------------------------------------------------- -39:@RequestMapping(value = "/user/selfservice") -52: @RequestMapping(value = "/profile", method = RequestMethod.GET) -72: @RequestMapping(value = "/name", method = RequestMethod.GET) -87: @RequestMapping(value = "/name", method = RequestMethod.POST) -108: @RequestMapping(value = "/password", method = RequestMethod.GET) -122: @RequestMapping(value = "/password", method = RequestMethod.POST) -173: @RequestMapping(value = "/contexts", method = RequestMethod.GET) -188: @RequestMapping(value = "/contexts", method = RequestMethod.POST) -216: @RequestMapping(value = "/context/add", method = RequestMethod.GET) -228: @RequestMapping(value = "/context/add", method = RequestMethod.POST) -251: @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.GET) -268: @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.POST) -293: @RequestMapping(value = "/context/delete/{id}", method = RequestMethod.GET) -323: @RequestMapping(value = "/language", method = RequestMethod.GET) -337: @RequestMapping(value = "/language", method = RequestMethod.POST) +39:@RequestMapping(path = "/user/selfservice") +52: @RequestMapping(path = "/profile", method = RequestMethod.GET) +72: @RequestMapping(path = "/name", method = RequestMethod.GET) +87: @RequestMapping(path = "/name", method = RequestMethod.POST) +108: @RequestMapping(path = "/password", method = RequestMethod.GET) +122: @RequestMapping(path = "/password", method = RequestMethod.POST) +173: @RequestMapping(path = "/contexts", method = RequestMethod.GET) +188: @RequestMapping(path = "/contexts", method = RequestMethod.POST) +216: @RequestMapping(path = "/context/add", method = RequestMethod.GET) +228: @RequestMapping(path = "/context/add", method = RequestMethod.POST) +251: @RequestMapping(path = "/context/edit/{contextId}", method = RequestMethod.GET) +268: @RequestMapping(path = "/context/edit/{contextId}", method = RequestMethod.POST) +293: @RequestMapping(path = "/context/delete/{id}", method = RequestMethod.GET) +323: @RequestMapping(path = "/language", method = RequestMethod.GET) +337: @RequestMapping(path = "/language", method = RequestMethod.POST) --------------------------------------------------------------------- diff --git a/etc/urls02.txt b/etc/urls02.txt index f935936f..0d0d4dd6 100644 --- a/etc/urls02.txt +++ b/etc/urls02.txt @@ -1,11 +1,11 @@ etc/urls01.txt --------------------------------------------------------------------- -5. Apr 23:17:52 +5. Apr 23:19:11 --------------------------------------------------------------------- /context --------------------------------------------------------------------- = "/context") -@RequestMapping(value = "/choose/{newContextId}", +@RequestMapping(path = "/choose/{newContextId}", /error --------------------------------------------------------------------- @RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) @@ -31,7 +31,7 @@ etc/urls01.txt @RequestMapping(path = "/{projectId}/task/add/", /search --------------------------------------------------------------------- -@RequestMapping(value = "/search", +@RequestMapping(path = "/search", /task --------------------------------------------------------------------- = "/task") @@ -47,28 +47,28 @@ etc/urls01.txt /taskstate --------------------------------------------------------------------- = "/taskstate") -@RequestMapping(value = "/inbox", -@RequestMapping(value = "/today", -@RequestMapping(value = "/next", -@RequestMapping(value = "/waiting", -@RequestMapping(value = "/scheduled", -@RequestMapping(value = "/someday", -@RequestMapping(value = "/completed", -@RequestMapping(value = "/trash", -@RequestMapping(value = "/focus", +@RequestMapping(path = "/inbox", +@RequestMapping(path = "/today", +@RequestMapping(path = "/next", +@RequestMapping(path = "/waiting", +@RequestMapping(path = "/scheduled", +@RequestMapping(path = "/someday", +@RequestMapping(path = "/completed", +@RequestMapping(path = "/trash", +@RequestMapping(path = "/focus", = "/taskstate/task") -@RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", -@RequestMapping(value = "/{taskId}/move/to/project/{projectId}", -@RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", -@RequestMapping(value = "/{taskId}/move/to/taskstate/today", -@RequestMapping(value = "/{taskId}/move/to/taskstate//next", -@RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", -@RequestMapping(value = "/{taskId}/move/to/taskstate//someday", -@RequestMapping(value = "/{taskId}/move/to/taskstate/focus", -@RequestMapping(value = "/{taskId}/move/to/taskstate/completed", -@RequestMapping(value = "/{taskId}/move/to/taskstate/trash", -@RequestMapping(value = "/completed/move/to/taskstate/trash", -@RequestMapping(value = "/trash/empty", +@RequestMapping(path = "/{sourceTaskId}/changeorderto/{destinationTaskId}", +@RequestMapping(path = "/{taskId}/move/to/project/{projectId}", +@RequestMapping(path = "/{taskId}/move/to/taskstate/inbox", +@RequestMapping(path = "/{taskId}/move/to/taskstate/today", +@RequestMapping(path = "/{taskId}/move/to/taskstate//next", +@RequestMapping(path = "/{taskId}/move/to/taskstate/waiting", +@RequestMapping(path = "/{taskId}/move/to/taskstate//someday", +@RequestMapping(path = "/{taskId}/move/to/taskstate/focus", +@RequestMapping(path = "/{taskId}/move/to/taskstate/completed", +@RequestMapping(path = "/{taskId}/move/to/taskstate/trash", +@RequestMapping(path = "/completed/move/to/taskstate/trash", +@RequestMapping(path = "/trash/empty", @RequestMapping(path = "/{taskId}/complete", @RequestMapping(path = "/{taskId}/incomplete/", @RequestMapping(path = "/{taskId}/setfocus/", @@ -76,45 +76,45 @@ etc/urls01.txt /testdata --------------------------------------------------------------------- = "/test") -@RequestMapping(value = "/helper/project/createTree", +@RequestMapping(path = "/helper/project/createTree", --------------------------------------------------------------------- /user/login --------------------------------------------------------------------- -@RequestMapping(value = "/login", -@RequestMapping(value = "/login", -@RequestMapping(value="/logout", method = +@RequestMapping(path = "/login", +@RequestMapping(path = "/login", +@RequestMapping(path="/logout", method = /user/messages --------------------------------------------------------------------- = "/user2user/") -@RequestMapping(value = "/{userId}/messages/", -@RequestMapping(value = "/{userId}/messages/", +@RequestMapping(path = "/{userId}/messages/", +@RequestMapping(path = "/{userId}/messages/", /user/register --------------------------------------------------------------------- -@RequestMapping(value = "/register", -@RequestMapping(value = "/register", -@RequestMapping(value = "/confirm/{confirmId}", -@RequestMapping(value = "/confirm/{confirmId}", +@RequestMapping(path = "/register", +@RequestMapping(path = "/register", +@RequestMapping(path = "/confirm/{confirmId}", +@RequestMapping(path = "/confirm/{confirmId}", /user/resetpassword --------------------------------------------------------------------- -@RequestMapping(value = "/resetPassword", -@RequestMapping(value = "/resetPassword", -@RequestMapping(value = "/passwordResetConfirm/{confirmId}", -@RequestMapping(value = "/passwordResetConfirm/{confirmId}", +@RequestMapping(path = "/resetPassword", +@RequestMapping(path = "/resetPassword", +@RequestMapping(path = "/passwordResetConfirm/{confirmId}", +@RequestMapping(path = "/passwordResetConfirm/{confirmId}", /user/selfservice --------------------------------------------------------------------- = "/user/selfservice") -@RequestMapping(value = "/profile", -@RequestMapping(value = "/name", -@RequestMapping(value = "/name", -@RequestMapping(value = "/password", -@RequestMapping(value = "/password", -@RequestMapping(value = "/contexts", -@RequestMapping(value = "/contexts", -@RequestMapping(value = "/context/add", -@RequestMapping(value = "/context/add", -@RequestMapping(value = "/context/edit/{contextId}", -@RequestMapping(value = "/context/edit/{contextId}", -@RequestMapping(value = "/context/delete/{id}", -@RequestMapping(value = "/language", -@RequestMapping(value = "/language", +@RequestMapping(path = "/profile", +@RequestMapping(path = "/name", +@RequestMapping(path = "/name", +@RequestMapping(path = "/password", +@RequestMapping(path = "/password", +@RequestMapping(path = "/contexts", +@RequestMapping(path = "/contexts", +@RequestMapping(path = "/context/add", +@RequestMapping(path = "/context/add", +@RequestMapping(path = "/context/edit/{contextId}", +@RequestMapping(path = "/context/edit/{contextId}", +@RequestMapping(path = "/context/delete/{id}", +@RequestMapping(path = "/language", +@RequestMapping(path = "/language", --------------------------------------------------------------------- diff --git a/src/main/java/org/woehlke/simpleworklist/context/ContextController.java b/src/main/java/org/woehlke/simpleworklist/context/ContextController.java index 5f94933c..30a1e855 100644 --- a/src/main/java/org/woehlke/simpleworklist/context/ContextController.java +++ b/src/main/java/org/woehlke/simpleworklist/context/ContextController.java @@ -15,7 +15,7 @@ * Created by tw on 13.03.16. */ @Controller -@RequestMapping(value = "/context") +@RequestMapping(path = "/context") public class ContextController extends AbstractController { private final ContextService contextService; @@ -25,7 +25,7 @@ public ContextController(ContextService contextService) { this.contextService = contextService; } - @RequestMapping(value = "/choose/{newContextId}", method = RequestMethod.GET) + @RequestMapping(path = "/choose/{newContextId}", method = RequestMethod.GET) public String switchContxt(@PathVariable("newContextId") Context setContext, @ModelAttribute("userSession") UserSessionBean userSession, Model model){ Context isContext = super.getContext(userSession); diff --git a/src/main/java/org/woehlke/simpleworklist/search/SearchController.java b/src/main/java/org/woehlke/simpleworklist/search/SearchController.java index 9420a7c8..4b60b2b5 100644 --- a/src/main/java/org/woehlke/simpleworklist/search/SearchController.java +++ b/src/main/java/org/woehlke/simpleworklist/search/SearchController.java @@ -33,7 +33,7 @@ public SearchController(SearchService searchService) { this.searchService = searchService; } - @RequestMapping(value = "/search", method = RequestMethod.GET) + @RequestMapping(path = "/search", method = RequestMethod.GET) public final String searchResults( @RequestParam String searchterm, @ModelAttribute("userSession") UserSessionBean userSession, diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java index d1502570..0a8d758f 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java @@ -21,7 +21,7 @@ @Slf4j @Controller -@RequestMapping(value = "/taskstate") +@RequestMapping(path = "/taskstate") public class TaskStateDisplayController extends AbstractController { @@ -36,7 +36,7 @@ public TaskStateDisplayController(TaskStateService taskStateService, TaskMoveSer this.taskControllerService = taskControllerService; } - @RequestMapping(value = "/inbox", method = RequestMethod.GET) + @RequestMapping(path = "/inbox", method = RequestMethod.GET) public final String inbox( @PageableDefault(sort = "orderIdTaskState") Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -48,7 +48,7 @@ public final String inbox( return taskControllerService.getTaskStatePage(TaskState.INBOX, taskPage, userSession, locale, model); } - @RequestMapping(value = "/today", method = RequestMethod.GET) + @RequestMapping(path = "/today", method = RequestMethod.GET) public final String today( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -60,7 +60,7 @@ public final String today( return taskControllerService.getTaskStatePage(TaskState.TODAY, taskPage, userSession, locale, model); } - @RequestMapping(value = "/next", method = RequestMethod.GET) + @RequestMapping(path = "/next", method = RequestMethod.GET) public final String next( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -72,7 +72,7 @@ public final String next( return taskControllerService.getTaskStatePage(TaskState.NEXT, taskPage, userSession, locale, model); } - @RequestMapping(value = "/waiting", method = RequestMethod.GET) + @RequestMapping(path = "/waiting", method = RequestMethod.GET) public final String waiting( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -84,7 +84,7 @@ public final String waiting( return taskControllerService.getTaskStatePage(TaskState.WAITING, taskPage, userSession, locale, model); } - @RequestMapping(value = "/scheduled", method = RequestMethod.GET) + @RequestMapping(path = "/scheduled", method = RequestMethod.GET) public final String scheduled( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -96,7 +96,7 @@ public final String scheduled( return taskControllerService.getTaskStatePage(TaskState.SCHEDULED, taskPage, userSession, locale, model); } - @RequestMapping(value = "/someday", method = RequestMethod.GET) + @RequestMapping(path = "/someday", method = RequestMethod.GET) public final String someday( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -108,7 +108,7 @@ public final String someday( return taskControllerService.getTaskStatePage(TaskState.SOMEDAY, taskPage, userSession, locale, model); } - @RequestMapping(value = "/completed", method = RequestMethod.GET) + @RequestMapping(path = "/completed", method = RequestMethod.GET) public final String completed( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -120,7 +120,7 @@ public final String completed( return taskControllerService.getTaskStatePage(TaskState.COMPLETED, taskPage, userSession, locale, model); } - @RequestMapping(value = "/trash", method = RequestMethod.GET) + @RequestMapping(path = "/trash", method = RequestMethod.GET) public final String trash( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, @@ -132,7 +132,7 @@ public final String trash( return taskControllerService.getTaskStatePage(TaskState.TRASH, taskPage, userSession, locale, model); } - @RequestMapping(value = "/focus", method = RequestMethod.GET) + @RequestMapping(path = "/focus", method = RequestMethod.GET) public final String focus( @PageableDefault(sort = "orderIdTaskState", direction = Sort.Direction.DESC) Pageable pageable, @ModelAttribute("userSession") UserSessionBean userSession, diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java index a35eaa9f..ed52a95a 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java @@ -18,7 +18,7 @@ */ @Slf4j @Controller -@RequestMapping(value = "/taskstate/task") +@RequestMapping(path = "/taskstate/task") public class TaskStateWorkflowController extends AbstractController { private final TaskStateService taskStateService; @@ -37,7 +37,7 @@ public TaskStateWorkflowController( } - @RequestMapping(value = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) + @RequestMapping(path = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) public String changeTaskOrderId( @PathVariable("sourceTaskId") Task sourceTask, @PathVariable("destinationTaskId") Task destinationTask, @@ -56,7 +56,7 @@ public String changeTaskOrderId( } - @RequestMapping(value = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) public final String moveTaskToAnotherProject(@PathVariable("taskId") Task task, @PathVariable long projectId) { if(projectId == 0) { @@ -68,63 +68,63 @@ public final String moveTaskToAnotherProject(@PathVariable("taskId") Task task, return "redirect:/project/" + projectId + "/"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET) public final String moveTaskToInbox(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to inbox"); task = taskMoveService.moveTaskToInbox(task); return "redirect:/taskstate/inbox"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/today", method = RequestMethod.GET) public final String moveTaskToToday(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to today"); task = taskMoveService.moveTaskToToday(task); return "redirect:/taskstate/today"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) public final String moveTaskToNext(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to next"); task = taskMoveService.moveTaskToNext(task); return "redirect:/taskstate/next"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/waiting", method = RequestMethod.GET) public final String moveTaskToWaiting(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to waiting"); task = taskMoveService.moveTaskToWaiting(task); return "redirect:/taskstate/waiting"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate//someday", method = RequestMethod.GET) public final String moveTaskToSomeday(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to someday"); task = taskMoveService.moveTaskToSomeday(task); return "redirect:/taskstate/someday"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/focus", method = RequestMethod.GET) public final String moveTaskToFocus(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to focus"); task = taskMoveService.moveTaskToFocus(task); return "redirect:/taskstate/focus"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/completed", method = RequestMethod.GET) public final String moveTaskToCompleted(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to completed"); task = taskMoveService.moveTaskToCompleted(task); return "redirect:/taskstate/completed"; } - @RequestMapping(value = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/trash", method = RequestMethod.GET) public final String moveTaskToTrash(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to trash"); task = taskMoveService.moveTaskToTrash(task); return "redirect:/taskstate/trash"; } - @RequestMapping(value = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) + @RequestMapping(path = "/completed/move/to/taskstate/trash", method = RequestMethod.GET) public final String deleteallCompleted( @ModelAttribute("userSession") UserSessionBean userSession ) { @@ -133,7 +133,7 @@ public final String deleteallCompleted( return "redirect:/taskstate/trash"; } - @RequestMapping(value = "/trash/empty", method = RequestMethod.GET) + @RequestMapping(path = "/trash/empty", method = RequestMethod.GET) public final String emptyTrash( @ModelAttribute("userSession") UserSessionBean userSession ) { diff --git a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java index f2668f6e..d85da893 100644 --- a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java +++ b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java @@ -9,7 +9,7 @@ import org.woehlke.simpleworklist.user.login.UserAccountLoginSuccessService; @Controller -@RequestMapping(value = "/test") +@RequestMapping(path = "/test") public class TestDataController { private final TestDataService testDataService; @@ -22,7 +22,7 @@ public TestDataController(TestDataService testDataService, UserAccountLoginSucce this.userAccountLoginSuccessService = userAccountLoginSuccessService; } - @RequestMapping(value = "/helper/project/createTree", method = RequestMethod.GET) + @RequestMapping(path = "/helper/project/createTree", method = RequestMethod.GET) public String createTestCategoryTree() { UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); testDataService.createTestCategoryTreeForUserAccount(user); diff --git a/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java b/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java index 6ead386c..b8f408df 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java @@ -43,7 +43,7 @@ public UserLoginController(UserAccountLoginSuccessService userAccountLoginSucces * @param model * @return Login Screen. */ - @RequestMapping(value = "/login", method = RequestMethod.GET) + @RequestMapping(path = "/login", method = RequestMethod.GET) public final String loginForm(Model model) { LoginForm loginForm = new LoginForm(); model.addAttribute("loginForm", loginForm); @@ -58,7 +58,7 @@ public final String loginForm(Model model) { * @param model * @return Shows Root Project after successful login or login form with error messages. */ - @RequestMapping(value = "/login", method = RequestMethod.POST) + @RequestMapping(path = "/login", method = RequestMethod.POST) public final String loginPerform(@Valid LoginForm loginForm, BindingResult result, Model model) { boolean authorized = userAccountAccessService.authorize(loginForm); @@ -78,7 +78,7 @@ public final String loginPerform(@Valid LoginForm loginForm, } } - @RequestMapping(value="/logout", method = RequestMethod.GET) + @RequestMapping(path="/logout", method = RequestMethod.GET) public String logoutPage (SessionStatus status, HttpServletRequest request, HttpServletResponse response) { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth != null){ diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java index 7f86df24..78d44f38 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java @@ -29,12 +29,12 @@ * on 16.02.2016. */ @Controller -@RequestMapping(value = "/user2user/") +@RequestMapping(path = "/user2user/") public class User2UserMessageController extends AbstractController { private static final Logger LOGGER = LoggerFactory.getLogger(TaskController.class); - @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.GET) + @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) public final String getLastMessagesBetweenCurrentAndOtherUser( @PathVariable("userId") UserAccount otherUser, @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, @@ -55,7 +55,7 @@ public final String getLastMessagesBetweenCurrentAndOtherUser( return "user/messages/all"; } - @RequestMapping(value = "/{userId}/messages/", method = RequestMethod.POST) + @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) public final String sendNewMessageToOtherUser( @PathVariable("userId") UserAccount otherUser, @Valid @ModelAttribute("newUser2UserMessage") NewUser2UserMessage newUser2UserMessage, diff --git a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java index 9205b768..de87ee7b 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java @@ -37,7 +37,7 @@ public UserRegistrationController(UserAccountService userAccountService, UserReg * @param model * @return Formular for entering Email-Address for Registration */ - @RequestMapping(value = "/register", method = RequestMethod.GET) + @RequestMapping(path = "/register", method = RequestMethod.GET) public final String registerNewUserRequestForm(Model model) { UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); model.addAttribute("userRegistrationForm", userRegistrationForm); @@ -52,7 +52,7 @@ public final String registerNewUserRequestForm(Model model) { * @param model * @return info page at success or return to form with error messages. */ - @RequestMapping(value = "/register", method = RequestMethod.POST) + @RequestMapping(path = "/register", method = RequestMethod.POST) public final String registerNewUserRequestStoreAndSendEmailForVerification( @Valid UserRegistrationForm userRegistrationForm, BindingResult result, Model model) { @@ -90,7 +90,7 @@ public final String registerNewUserRequestStoreAndSendEmailForVerification( * @param model * @return Formular for Entering Account Task or Error Messages. */ - @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.GET) + @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.GET) public final String registerNewUserCheckResponseAndRegistrationForm( @PathVariable String confirmId, Model model) { LOGGER.info("GET /confirm/" + confirmId); @@ -115,7 +115,7 @@ public final String registerNewUserCheckResponseAndRegistrationForm( * @param model * @return login page at success or page with error messages. */ - @RequestMapping(value = "/confirm/{confirmId}", method = RequestMethod.POST) + @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.POST) public final String registerNewUserCheckResponseAndRegistrationStore( @PathVariable String confirmId, @Valid UserAccountForm userAccountForm, diff --git a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java index ccb7b457..efd2a717 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java @@ -39,7 +39,7 @@ public UserPasswordRecoveryController(UserAccountService userAccountService, Use * @param model * @return a Formular for entering the email-adress. */ - @RequestMapping(value = "/resetPassword", method = RequestMethod.GET) + @RequestMapping(path = "/resetPassword", method = RequestMethod.GET) public final String passwordForgottenForm(Model model) { UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); model.addAttribute("userRegistrationForm", userRegistrationForm); @@ -54,7 +54,7 @@ public final String passwordForgottenForm(Model model) { * @param model * @return info page if without errors or formular again displaying error messages. */ - @RequestMapping(value = "/resetPassword", method = RequestMethod.POST) + @RequestMapping(path = "/resetPassword", method = RequestMethod.POST) public final String passwordForgottenPost(@Valid UserRegistrationForm userRegistrationForm, BindingResult result, Model model) { if (result.hasErrors()) { @@ -90,7 +90,7 @@ public final String passwordForgottenPost(@Valid UserRegistrationForm userRegist * @param model * @return a Formular for entering the new Password. */ - @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) + @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) public final String enterNewPasswordFormular(@PathVariable String confirmId, Model model) { UserPasswordRecovery o = userPasswordRecoveryService.findByToken(confirmId); if (o != null) { @@ -115,7 +115,7 @@ public final String enterNewPasswordFormular(@PathVariable String confirmId, Mod * @param model * @return Info Page for success or back to formular with error messages. */ - @RequestMapping(value = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) + @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) public final String enterNewPasswordPost(@Valid UserAccountForm userAccountForm, BindingResult result, @PathVariable String confirmId, diff --git a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java index efda6a25..dda00505 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java @@ -36,7 +36,7 @@ * Created by Fert on 14.03.2016. */ @Controller -@RequestMapping(value = "/user/selfservice") +@RequestMapping(path = "/user/selfservice") public class UserSelfserviceController extends AbstractController { private static final Logger LOGGER = LoggerFactory.getLogger(UserSelfserviceController.class); @@ -49,7 +49,7 @@ public UserSelfserviceController(UserAccountAccessService userAccountAccessServi this.userAccountAccessService = userAccountAccessService; } - @RequestMapping(value = "/profile", method = RequestMethod.GET) + @RequestMapping(path = "/profile", method = RequestMethod.GET) public String userProfileAndMenu( @PageableDefault(sort = "userFullname", direction = Sort.Direction.DESC) Pageable request, @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model @@ -69,7 +69,7 @@ public String userProfileAndMenu( return "user/selfservice/profile"; } - @RequestMapping(value = "/name", method = RequestMethod.GET) + @RequestMapping(path = "/name", method = RequestMethod.GET) public String userNameForm( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model @@ -84,7 +84,7 @@ public String userNameForm( return "user/selfservice/name"; } - @RequestMapping(value = "/name", method = RequestMethod.POST) + @RequestMapping(path = "/name", method = RequestMethod.POST) public String userNameStore( @Valid UserChangeNameForm username, BindingResult result, @@ -105,7 +105,7 @@ public String userNameStore( } } - @RequestMapping(value = "/password", method = RequestMethod.GET) + @RequestMapping(path = "/password", method = RequestMethod.GET) public String userPasswordForm( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model ){ @@ -119,7 +119,7 @@ public String userPasswordForm( return "user/selfservice/password"; } - @RequestMapping(value = "/password", method = RequestMethod.POST) + @RequestMapping(path = "/password", method = RequestMethod.POST) public String userPasswordStore( @Valid UserChangePasswordForm userChangePasswordForm, BindingResult result, @@ -170,7 +170,7 @@ public String userPasswordStore( } } - @RequestMapping(value = "/contexts", method = RequestMethod.GET) + @RequestMapping(path = "/contexts", method = RequestMethod.GET) public String userAreasForm(@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -185,7 +185,7 @@ public String userAreasForm(@ModelAttribute("userSession") UserSessionBean userS return "user/selfservice/context/all"; } - @RequestMapping(value = "/contexts", method = RequestMethod.POST) + @RequestMapping(path = "/contexts", method = RequestMethod.POST) public String userAreasSave( @Valid @ModelAttribute("thisUser") UserChangeDefaultContextForm thisUser, BindingResult result, @@ -213,7 +213,7 @@ public String userAreasSave( } } - @RequestMapping(value = "/context/add", method = RequestMethod.GET) + @RequestMapping(path = "/context/add", method = RequestMethod.GET) public String userNewAreaForm(@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -225,7 +225,7 @@ public String userNewAreaForm(@ModelAttribute("userSession") UserSessionBean use return "user/selfservice/context/add"; } - @RequestMapping(value = "/context/add", method = RequestMethod.POST) + @RequestMapping(path = "/context/add", method = RequestMethod.POST) public String userNewAreaStore( @Valid NewContextForm newContext, BindingResult result, @@ -248,7 +248,7 @@ public String userNewAreaStore( } } - @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.GET) + @RequestMapping(path = "/context/edit/{contextId}", method = RequestMethod.GET) public String userEditAreaForm( @PathVariable("contextId") Context context, @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model @@ -265,7 +265,7 @@ public String userEditAreaForm( return "user/selfservice/context/edit"; } - @RequestMapping(value = "/context/edit/{contextId}", method = RequestMethod.POST) + @RequestMapping(path = "/context/edit/{contextId}", method = RequestMethod.POST) public String userEditAreaStore( @Valid NewContextForm editContext, @PathVariable("contextId") Context context, @@ -290,7 +290,7 @@ public String userEditAreaStore( //TODO: is in session active? -> display message in frontend //TODO: has projects or tasks? -> display message in frontend - @RequestMapping(value = "/context/delete/{id}", method = RequestMethod.GET) + @RequestMapping(path = "/context/delete/{id}", method = RequestMethod.GET) public String userDeleteArea( @PathVariable("id") Context context, @ModelAttribute("userSession") UserSessionBean userSession, @@ -320,7 +320,7 @@ public String userDeleteArea( return "redirect:/user/selfservice/contexts"; } - @RequestMapping(value = "/language", method = RequestMethod.GET) + @RequestMapping(path = "/language", method = RequestMethod.GET) public String userLanguageForm( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model @@ -334,7 +334,7 @@ public String userLanguageForm( return "user/selfservice/language"; } - @RequestMapping(value = "/language", method = RequestMethod.POST) + @RequestMapping(path = "/language", method = RequestMethod.POST) public String userLanguageStore( @Valid UserChangeLanguageForm userChangeLanguageForm, BindingResult result, From a8a698d98d4a8b33d53d957faf7fcc79c9cd7540 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:20:01 +0200 Subject: [PATCH 08/61] URL PATH of Actions - Controller Methods Refactoring --- getUrls.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getUrls.sh b/getUrls.sh index 5fee2cda..0177ce57 100755 --- a/getUrls.sh +++ b/getUrls.sh @@ -27,4 +27,4 @@ done echo "---------------------------------------------------------------------" >> $OUTPUT cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 > $OUTPUT2 -cat $OUTPUT2 | grep "value" +cat $OUTPUT2 From d18900e68fc3a9671c4db91936a75dab31608b0a Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:24:59 +0200 Subject: [PATCH 09/61] URL PATH of Actions - Controller Methods Refactoring --- etc/urls01.txt | 25 ++++++++++++++++++++++++- etc/urls02.txt | 25 ++++++++++++++++++++++++- getUrls.sh | 11 +++++++---- 3 files changed, 55 insertions(+), 6 deletions(-) diff --git a/etc/urls01.txt b/etc/urls01.txt index 3f493905..34dde0ae 100644 --- a/etc/urls01.txt +++ b/etc/urls01.txt @@ -1,14 +1,19 @@ etc/urls01.txt --------------------------------------------------------------------- -So 5. Apr 23:19:11 CEST 2020 +So 5. Apr 23:22:51 CEST 2020 --------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context --------------------------------------------------------------------- 18:@RequestMapping(path = "/context") 28: @RequestMapping(path = "/choose/{newContextId}", method = RequestMethod.GET) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/error --------------------------------------------------------------------- 20: @RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:29:@RequestMapping(path = "/project") @@ -29,9 +34,13 @@ So 5. Apr 23:19:11 CEST 2020 /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:42: @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:75: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:102: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/search --------------------------------------------------------------------- 36: @RequestMapping(path = "/search", method = RequestMethod.GET) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskAddController.java:26:@RequestMapping(path = "/task") @@ -44,6 +53,8 @@ So 5. Apr 23:19:11 CEST 2020 /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:28:@RequestMapping(path = "/task") /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:38: @RequestMapping(path = "/{taskId}/edit", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/task/TaskEditController.java:65: @RequestMapping(path = "/{taskId}/edit", method = RequestMethod.POST) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate --------------------------------------------------------------------- /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java:24:@RequestMapping(path = "/taskstate") @@ -73,33 +84,44 @@ So 5. Apr 23:19:11 CEST 2020 /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:157: @RequestMapping(path = "/{taskId}/incomplete/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:172: @RequestMapping(path = "/{taskId}/setfocus/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java:185: @RequestMapping(path = "/{taskId}/unsetfocus", method = RequestMethod.GET) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/testdata --------------------------------------------------------------------- 12:@RequestMapping(path = "/test") 25: @RequestMapping(path = "/helper/project/createTree", method = RequestMethod.GET) --------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/login --------------------------------------------------------------------- 46: @RequestMapping(path = "/login", method = RequestMethod.GET) 61: @RequestMapping(path = "/login", method = RequestMethod.POST) 81: @RequestMapping(path="/logout", method = RequestMethod.GET) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/messages --------------------------------------------------------------------- 32:@RequestMapping(path = "/user2user/") 37: @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) 58: @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/register --------------------------------------------------------------------- 40: @RequestMapping(path = "/register", method = RequestMethod.GET) 55: @RequestMapping(path = "/register", method = RequestMethod.POST) 93: @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.GET) 118: @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.POST) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/resetpassword --------------------------------------------------------------------- 42: @RequestMapping(path = "/resetPassword", method = RequestMethod.GET) 57: @RequestMapping(path = "/resetPassword", method = RequestMethod.POST) 93: @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) 118: @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) +--------------------------------------------------------------------- +##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/user/selfservice --------------------------------------------------------------------- 39:@RequestMapping(path = "/user/selfservice") @@ -118,3 +140,4 @@ So 5. Apr 23:19:11 CEST 2020 323: @RequestMapping(path = "/language", method = RequestMethod.GET) 337: @RequestMapping(path = "/language", method = RequestMethod.POST) --------------------------------------------------------------------- +--------------------------------------------------------------------- diff --git a/etc/urls02.txt b/etc/urls02.txt index 0d0d4dd6..25a20b08 100644 --- a/etc/urls02.txt +++ b/etc/urls02.txt @@ -1,14 +1,19 @@ etc/urls01.txt --------------------------------------------------------------------- -5. Apr 23:19:11 +5. Apr 23:22:51 --------------------------------------------------------------------- +##################################################################### /context --------------------------------------------------------------------- = "/context") @RequestMapping(path = "/choose/{newContextId}", +--------------------------------------------------------------------- +##################################################################### /error --------------------------------------------------------------------- @RequestMapping(path="/fehler", method={RequestMethod.GET,RequestMethod.POST, RequestMethod.PUT}) +--------------------------------------------------------------------- +##################################################################### /project --------------------------------------------------------------------- = "/project") @@ -29,9 +34,13 @@ etc/urls01.txt @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", @RequestMapping(path = "/{projectId}/task/add/", @RequestMapping(path = "/{projectId}/task/add/", +--------------------------------------------------------------------- +##################################################################### /search --------------------------------------------------------------------- @RequestMapping(path = "/search", +--------------------------------------------------------------------- +##################################################################### /task --------------------------------------------------------------------- = "/task") @@ -44,6 +53,8 @@ etc/urls01.txt = "/task") @RequestMapping(path = "/{taskId}/edit", @RequestMapping(path = "/{taskId}/edit", +--------------------------------------------------------------------- +##################################################################### /taskstate --------------------------------------------------------------------- = "/taskstate") @@ -73,33 +84,44 @@ etc/urls01.txt @RequestMapping(path = "/{taskId}/incomplete/", @RequestMapping(path = "/{taskId}/setfocus/", @RequestMapping(path = "/{taskId}/unsetfocus", +--------------------------------------------------------------------- +##################################################################### /testdata --------------------------------------------------------------------- = "/test") @RequestMapping(path = "/helper/project/createTree", --------------------------------------------------------------------- +##################################################################### /user/login --------------------------------------------------------------------- @RequestMapping(path = "/login", @RequestMapping(path = "/login", @RequestMapping(path="/logout", method = +--------------------------------------------------------------------- +##################################################################### /user/messages --------------------------------------------------------------------- = "/user2user/") @RequestMapping(path = "/{userId}/messages/", @RequestMapping(path = "/{userId}/messages/", +--------------------------------------------------------------------- +##################################################################### /user/register --------------------------------------------------------------------- @RequestMapping(path = "/register", @RequestMapping(path = "/register", @RequestMapping(path = "/confirm/{confirmId}", @RequestMapping(path = "/confirm/{confirmId}", +--------------------------------------------------------------------- +##################################################################### /user/resetpassword --------------------------------------------------------------------- @RequestMapping(path = "/resetPassword", @RequestMapping(path = "/resetPassword", @RequestMapping(path = "/passwordResetConfirm/{confirmId}", @RequestMapping(path = "/passwordResetConfirm/{confirmId}", +--------------------------------------------------------------------- +##################################################################### /user/selfservice --------------------------------------------------------------------- = "/user/selfservice") @@ -118,3 +140,4 @@ etc/urls01.txt @RequestMapping(path = "/language", @RequestMapping(path = "/language", --------------------------------------------------------------------- +--------------------------------------------------------------------- diff --git a/getUrls.sh b/getUrls.sh index 0177ce57..d543c46c 100755 --- a/getUrls.sh +++ b/getUrls.sh @@ -10,21 +10,24 @@ OUTPUT="etc/urls01.txt" OUTPUT2="etc/urls02.txt" echo "$OUTPUT" > $OUTPUT -echo "---------------------------------------------------------------------" >> $OUTPUT +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $OUTPUT date >> $OUTPUT -echo "---------------------------------------------------------------------" >> $OUTPUT +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $OUTPUT for i in $SUBDIRS ; do + echo "#####################################################################" >> $OUTPUT echo "$ROOT_PATH_SRC/$i" >> $OUTPUT echo "---------------------------------------------------------------------" >> $OUTPUT grep -n "RequestMapping" $ROOT_PATH_SRC/$i/*Controller*.java | grep -v "import org.springframework.web.bind.annotation.RequestMapping" >> $OUTPUT + echo "---------------------------------------------------------------------" >> $OUTPUT done -echo "---------------------------------------------------------------------" >> $OUTPUT for i in $SUBDIRS_USER ; do + echo "#####################################################################" >> $OUTPUT echo "$ROOT_PATH_SRC/user/$i" >> $OUTPUT echo "---------------------------------------------------------------------" >> $OUTPUT grep -n "RequestMapping" $ROOT_PATH_SRC/user/$i/*Controller*.java | grep -v "import org.springframework.web.bind.annotation.RequestMapping" >> $OUTPUT + echo "---------------------------------------------------------------------" >> $OUTPUT done -echo "---------------------------------------------------------------------" >> $OUTPUT +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $OUTPUT cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 > $OUTPUT2 cat $OUTPUT2 From f7269adf75ae6bb1a3b5f5d3e79c2ab7c082967d Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:27:37 +0200 Subject: [PATCH 10/61] URL PATH of Actions - Controller Methods Refactoring --- etc/urls01.txt | 8 ++++---- etc/urls02.txt | 11 +++++++---- getUrls.sh | 6 +++++- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/etc/urls01.txt b/etc/urls01.txt index 34dde0ae..fb4c1407 100644 --- a/etc/urls01.txt +++ b/etc/urls01.txt @@ -1,7 +1,7 @@ etc/urls01.txt ---------------------------------------------------------------------- -So 5. Apr 23:22:51 CEST 2020 ---------------------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +So 5. Apr 23:27:12 CEST 2020 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context --------------------------------------------------------------------- @@ -140,4 +140,4 @@ So 5. Apr 23:22:51 CEST 2020 323: @RequestMapping(path = "/language", method = RequestMethod.GET) 337: @RequestMapping(path = "/language", method = RequestMethod.POST) --------------------------------------------------------------------- ---------------------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/etc/urls02.txt b/etc/urls02.txt index 25a20b08..fabb3e61 100644 --- a/etc/urls02.txt +++ b/etc/urls02.txt @@ -1,7 +1,10 @@ +etc/urls02.txt +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +So 5. Apr 23:27:12 CEST 2020 etc/urls01.txt ---------------------------------------------------------------------- -5. Apr 23:22:51 ---------------------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +5. Apr 23:27:12 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##################################################################### /context --------------------------------------------------------------------- @@ -140,4 +143,4 @@ etc/urls01.txt @RequestMapping(path = "/language", @RequestMapping(path = "/language", --------------------------------------------------------------------- ---------------------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/getUrls.sh b/getUrls.sh index d543c46c..c930b86c 100755 --- a/getUrls.sh +++ b/getUrls.sh @@ -29,5 +29,9 @@ for i in $SUBDIRS_USER ; do done echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $OUTPUT -cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 > $OUTPUT2 +echo "$OUTPUT2" > $OUTPUT2 +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $OUTPUT2 +date >> $OUTPUT2 +cat $OUTPUT | sed "s/\/home\/tw\/IdeaProjects\/Spring-Framework-Java-Apps\/simpleworklist\/src\/main\/java\/org\/woehlke\/simpleworklist//g" | tr -s " " | cut -d" " -f2-4 >> $OUTPUT2 + cat $OUTPUT2 From 8f9b077fe2195a74b661cee29a6d29f2ea519ed0 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:34:06 +0200 Subject: [PATCH 11/61] URL PATH of Actions - Controller Methods Refactoring --- .../project/ProjectController.java | 112 +++++++++++++++++- .../project/ProjectTaskController.java | 102 ---------------- 2 files changed, 111 insertions(+), 103 deletions(-) diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java index 879cf1a4..1dcf07df 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java @@ -12,6 +12,10 @@ import org.woehlke.simpleworklist.common.AbstractController; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.task.Task; +import org.woehlke.simpleworklist.task.TaskEnergy; +import org.woehlke.simpleworklist.task.TaskTime; +import org.woehlke.simpleworklist.taskstate.TaskMoveService; +import org.woehlke.simpleworklist.taskstate.TaskState; import org.woehlke.simpleworklist.user.account.UserAccount; import org.woehlke.simpleworklist.breadcrumb.Breadcrumb; import org.woehlke.simpleworklist.user.UserSessionBean; @@ -30,10 +34,12 @@ public class ProjectController extends AbstractController { private final ProjectControllerService projectControllerService; + private final TaskMoveService taskMoveService; @Autowired - public ProjectController(ProjectControllerService projectControllerService) { + public ProjectController(ProjectControllerService projectControllerService, TaskMoveService taskMoveService) { this.projectControllerService = projectControllerService; + this.taskMoveService = taskMoveService; } @RequestMapping(path = "/{projectId}", method = RequestMethod.GET) @@ -230,4 +236,108 @@ public final String deleteProject( } } + @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) + public String changeTaskOrderIdWithinAProject( + @PathVariable("projectId") Project thisProject, + @PathVariable("sourceTaskId") Task sourceTask, + @PathVariable("destinationTaskId") Task destinationTask, + @ModelAttribute("userSession") UserSessionBean userSession, + Model model + ){ + if(!sourceTask.isInRootProject()){ + userSession.setLastProjectId(sourceTask.getProject().getId()); + } + model.addAttribute("userSession",userSession); + log.info("-------------------------------------------------"); + log.info(" changeTaskOrderIdWithinAProject"); + log.info("-------------------------------------------------"); + log.info(" source Task: "+sourceTask.toString()); + log.info("-------------------------------------------------"); + log.info(" destination Task: "+destinationTask.toString()); + log.info("-------------------------------------------------"); + String returnUrl = "redirect:/taskstate/inbox"; + boolean rootProject = sourceTask.isInRootProject(); + returnUrl = "redirect:/project/0"; + if(rootProject){ + taskMoveService.moveOrderIdRootProject(sourceTask, destinationTask); + } else { + taskMoveService.moveOrderIdProject(sourceTask, destinationTask); + log.info(" DONE: taskMoveService.moveOrderIdProject (2)"); + returnUrl = "redirect:/project/" + sourceTask.getProject().getId(); + } + log.info("-------------------------------------------------"); + return returnUrl; + } + + @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) + public final String addNewTaskToProjectGet( + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, Model model + ) { + UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + Task task = new Task(); + task.setTaskState(TaskState.INBOX); + task.setTaskEnergy(TaskEnergy.NONE); + task.setTaskTime(TaskTime.NONE); + Boolean mustChooseArea = false; + if(userSession.getContextId() == 0L){ + mustChooseArea = true; + task.setContext(userAccount.getDefaultContext()); + } else { + Context context = contextService.findByIdAndUserAccount(userSession.getContextId(), userAccount); + task.setContext(context); + } + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowRootProject(locale); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("mustChooseArea", mustChooseArea); + model.addAttribute("thisProjectId", 0L); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("task", task); + return "id/task/add"; + } + + @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) + public final String addNewTaskToProjectPost( + @PathVariable long projectId, + @ModelAttribute("userSession") UserSessionBean userSession, + @Valid Task task, + BindingResult result, Locale locale, Model model) { + Context context = super.getContext(userSession); + UserAccount userAccount = context.getUserAccount(); + if (result.hasErrors()) { + for (ObjectError e : result.getAllErrors()) { + log.info(e.toString()); + } + Project thisProject = projectControllerService.getProject(projectId, userAccount, userSession); + Boolean mustChooseArea = false; + task.setProject(thisProject); + task.setContext(thisProject.getContext()); + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); + model.addAttribute("mustChooseArea", mustChooseArea); + model.addAttribute("thisProject", thisProject); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("task", task); + //return "task/addToProject"; + return "id/task/add"; + } else { + Project thisProject = projectService.findByProjectId(projectId); + task.setProject(thisProject); + task.setContext(thisProject.getContext()); + if(task.getDueDate()==null){ + task.setTaskState(TaskState.INBOX); + } else { + task.setTaskState(TaskState.SCHEDULED); + } + task.setFocus(false); + task.setContext(context); + long maxOrderIdProject = taskMoveService.getMaxOrderIdProject(task.getProject(),context); + task.setOrderIdProject(++maxOrderIdProject); + long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); + task.setOrderIdTaskState(++maxOrderIdTaskState); + task = taskService.saveAndFlush(task); + log.info(task.toString()); + return "redirect:/project/" + projectId + "/"; + } + } + } diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java index fa36f481..e316b8d0 100644 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java +++ b/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java @@ -39,108 +39,6 @@ public ProjectTaskController(TaskMoveService taskMoveService, ProjectControllerS this.projectControllerService = projectControllerService; } - @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) - public String changeTaskOrderIdWithinAProject( - @PathVariable("projectId") Project thisProject, - @PathVariable("sourceTaskId") Task sourceTask, - @PathVariable("destinationTaskId") Task destinationTask, - @ModelAttribute("userSession") UserSessionBean userSession, - Model model - ){ - if(!sourceTask.isInRootProject()){ - userSession.setLastProjectId(sourceTask.getProject().getId()); - } - model.addAttribute("userSession",userSession); - log.info("-------------------------------------------------"); - log.info(" changeTaskOrderIdWithinAProject"); - log.info("-------------------------------------------------"); - log.info(" source Task: "+sourceTask.toString()); - log.info("-------------------------------------------------"); - log.info(" destination Task: "+destinationTask.toString()); - log.info("-------------------------------------------------"); - String returnUrl = "redirect:/taskstate/inbox"; - boolean rootProject = sourceTask.isInRootProject(); - returnUrl = "redirect:/project/0"; - if(rootProject){ - taskMoveService.moveOrderIdRootProject(sourceTask, destinationTask); - } else { - taskMoveService.moveOrderIdProject(sourceTask, destinationTask); - log.info(" DONE: taskMoveService.moveOrderIdProject (2)"); - returnUrl = "redirect:/project/" + sourceTask.getProject().getId(); - } - log.info("-------------------------------------------------"); - return returnUrl; - } - - @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) - public final String addNewTaskToProjectGet( - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model - ) { - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); - Task task = new Task(); - task.setTaskState(TaskState.INBOX); - task.setTaskEnergy(TaskEnergy.NONE); - task.setTaskTime(TaskTime.NONE); - Boolean mustChooseArea = false; - if(userSession.getContextId() == 0L){ - mustChooseArea = true; - task.setContext(userAccount.getDefaultContext()); - } else { - Context context = contextService.findByIdAndUserAccount(userSession.getContextId(), userAccount); - task.setContext(context); - } - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowRootProject(locale); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("mustChooseArea", mustChooseArea); - model.addAttribute("thisProjectId", 0L); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("task", task); - return "id/task/add"; - } - @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) - public final String addNewTaskToProjectPost( - @PathVariable long projectId, - @ModelAttribute("userSession") UserSessionBean userSession, - @Valid Task task, - BindingResult result, Locale locale, Model model) { - Context context = super.getContext(userSession); - UserAccount userAccount = context.getUserAccount(); - if (result.hasErrors()) { - for (ObjectError e : result.getAllErrors()) { - log.info(e.toString()); - } - Project thisProject = projectControllerService.getProject(projectId, userAccount, userSession); - Boolean mustChooseArea = false; - task.setProject(thisProject); - task.setContext(thisProject.getContext()); - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale); - model.addAttribute("mustChooseArea", mustChooseArea); - model.addAttribute("thisProject", thisProject); - model.addAttribute("breadcrumb", breadcrumb); - model.addAttribute("task", task); - //return "task/addToProject"; - return "id/task/add"; - } else { - Project thisProject = projectService.findByProjectId(projectId); - task.setProject(thisProject); - task.setContext(thisProject.getContext()); - if(task.getDueDate()==null){ - task.setTaskState(TaskState.INBOX); - } else { - task.setTaskState(TaskState.SCHEDULED); - } - task.setFocus(false); - task.setContext(context); - long maxOrderIdProject = taskMoveService.getMaxOrderIdProject(task.getProject(),context); - task.setOrderIdProject(++maxOrderIdProject); - long maxOrderIdTaskState = taskMoveService.getMaxOrderIdTaskState(task.getTaskState(),task.getContext()); - task.setOrderIdTaskState(++maxOrderIdTaskState); - task = taskService.saveAndFlush(task); - log.info(task.toString()); - return "redirect:/project/" + projectId + "/"; - } - } } From d4073ab97e347b4f5d4b6256ef13b4188b94786c Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:34:50 +0200 Subject: [PATCH 12/61] URL PATH of Actions - Controller Methods Refactoring --- .../project/ProjectTaskController.java | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java diff --git a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java b/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java deleted file mode 100644 index e316b8d0..00000000 --- a/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.woehlke.simpleworklist.project; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.validation.ObjectError; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.simpleworklist.breadcrumb.Breadcrumb; -import org.woehlke.simpleworklist.common.AbstractController; -import org.woehlke.simpleworklist.context.Context; -import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskEnergy; -import org.woehlke.simpleworklist.taskstate.TaskState; -import org.woehlke.simpleworklist.task.TaskTime; -import org.woehlke.simpleworklist.taskstate.TaskMoveService; -import org.woehlke.simpleworklist.user.UserSessionBean; -import org.woehlke.simpleworklist.user.account.UserAccount; - -import javax.validation.Valid; -import java.util.Locale; - - -@Slf4j -@Controller -@RequestMapping(path = "/project") -public class ProjectTaskController extends AbstractController { - - private final TaskMoveService taskMoveService; - private final ProjectControllerService projectControllerService; - - @Autowired - public ProjectTaskController(TaskMoveService taskMoveService, ProjectControllerService projectControllerService) { - this.taskMoveService = taskMoveService; - this.projectControllerService = projectControllerService; - } - - - -} From e570c2b844f8a649fce007ba4b82dfedeb4806e5 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Sun, 5 Apr 2020 23:35:10 +0200 Subject: [PATCH 13/61] URL PATH of Actions - Controller Methods Refactoring --- etc/urls01.txt | 25 ++++++++++++------------- etc/urls02.txt | 11 +++++------ 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/etc/urls01.txt b/etc/urls01.txt index fb4c1407..4c206096 100644 --- a/etc/urls01.txt +++ b/etc/urls01.txt @@ -1,6 +1,6 @@ etc/urls01.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -So 5. Apr 23:27:12 CEST 2020 +So 5. Apr 23:34:55 CEST 2020 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/context @@ -16,24 +16,23 @@ So 5. Apr 23:27:12 CEST 2020 ##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project --------------------------------------------------------------------- -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:29:@RequestMapping(path = "/project") -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:39: @RequestMapping(path = "/{projectId}", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:74: @RequestMapping(path = "/{projectId}/add/project", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:86: @RequestMapping(path = "/{projectId}/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:108: @RequestMapping(path = "/{thisProjectId}/move/to/project/{targetProjectId}", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:123: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:142: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.POST) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:179: @RequestMapping(path = "/{projectId}/delete", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:33:@RequestMapping(path = "/project") +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:45: @RequestMapping(path = "/{projectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:80: @RequestMapping(path = "/{projectId}/add/project", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:92: @RequestMapping(path = "/{projectId}/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:114: @RequestMapping(path = "/{thisProjectId}/move/to/project/{targetProjectId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:129: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:148: @RequestMapping(path = "/{projectId}/edit", method = RequestMethod.POST) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:185: @RequestMapping(path = "/{projectId}/delete", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:239: @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:272: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) +/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectController.java:299: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:29:@RequestMapping(path = "/project/root") /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:41: @RequestMapping(path = "/", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:64: @RequestMapping(path = "/add/project", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:75: @RequestMapping(path = "/add/project", method = {RequestMethod.POST, RequestMethod.PUT}) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:95: @RequestMapping(path = "/add/task", method = RequestMethod.GET) /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectRootController.java:130: @RequestMapping(path = "/add/task", method = RequestMethod.POST) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:30:@RequestMapping(path = "/project") -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:42: @RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:75: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.GET) -/home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/project/ProjectTaskController.java:102: @RequestMapping(path = "/{projectId}/task/add/", method = RequestMethod.POST) --------------------------------------------------------------------- ##################################################################### /home/tw/IdeaProjects/Spring-Framework-Java-Apps/simpleworklist/src/main/java/org/woehlke/simpleworklist/search diff --git a/etc/urls02.txt b/etc/urls02.txt index fabb3e61..6a8d650c 100644 --- a/etc/urls02.txt +++ b/etc/urls02.txt @@ -1,9 +1,9 @@ etc/urls02.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -So 5. Apr 23:27:12 CEST 2020 +So 5. Apr 23:34:55 CEST 2020 etc/urls01.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -5. Apr 23:27:12 +5. Apr 23:34:55 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##################################################################### /context @@ -27,16 +27,15 @@ etc/urls01.txt @RequestMapping(path = "/{projectId}/edit", @RequestMapping(path = "/{projectId}/edit", @RequestMapping(path = "/{projectId}/delete", +@RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", +@RequestMapping(path = "/{projectId}/task/add/", +@RequestMapping(path = "/{projectId}/task/add/", = "/project/root") @RequestMapping(path = "/", @RequestMapping(path = "/add/project", @RequestMapping(path = "/add/project", @RequestMapping(path = "/add/task", @RequestMapping(path = "/add/task", -= "/project") -@RequestMapping(path = "/{projectId}/task/{sourceTaskId}/changeorderto/{destinationTaskId}", -@RequestMapping(path = "/{projectId}/task/add/", -@RequestMapping(path = "/{projectId}/task/add/", --------------------------------------------------------------------- ##################################################################### /search From f5c04df73d14a8a9ce75a8835f097740156be4e2 Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Mon, 6 Apr 2020 00:06:10 +0200 Subject: [PATCH 14/61] URL PATH of Actions - Controller Methods Refactoring --- .../context/ContextController.java | 2 + .../search/SearchController.java | 13 +- .../taskstate/TaskMoveController.java | 27 -- .../taskstate/TaskMoveServiceImpl.java | 234 +++++++++++------- ...ntroller.java => TaskStateController.java} | 6 +- ...ller.java => TaskStateMoveController.java} | 11 +- .../testdata/TestDataController.java | 12 +- .../messages/User2UserMessageController.java | 10 +- 8 files changed, 166 insertions(+), 149 deletions(-) delete mode 100644 src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java rename src/main/java/org/woehlke/simpleworklist/taskstate/{TaskStateDisplayController.java => TaskStateController.java} (95%) rename src/main/java/org/woehlke/simpleworklist/taskstate/{TaskStateWorkflowController.java => TaskStateMoveController.java} (95%) diff --git a/src/main/java/org/woehlke/simpleworklist/context/ContextController.java b/src/main/java/org/woehlke/simpleworklist/context/ContextController.java index 30a1e855..db55de4d 100644 --- a/src/main/java/org/woehlke/simpleworklist/context/ContextController.java +++ b/src/main/java/org/woehlke/simpleworklist/context/ContextController.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.context; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -14,6 +15,7 @@ /** * Created by tw on 13.03.16. */ +@Slf4j @Controller @RequestMapping(path = "/context") public class ContextController extends AbstractController { diff --git a/src/main/java/org/woehlke/simpleworklist/search/SearchController.java b/src/main/java/org/woehlke/simpleworklist/search/SearchController.java index 4b60b2b5..0a01f644 100644 --- a/src/main/java/org/woehlke/simpleworklist/search/SearchController.java +++ b/src/main/java/org/woehlke/simpleworklist/search/SearchController.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.search; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -21,11 +20,11 @@ /** * Created by tw on 14.02.16. */ +@Slf4j @Controller +@RequestMapping(path = "/search") public class SearchController extends AbstractController { - private static final Logger LOGGER = LoggerFactory.getLogger(SearchController.class); - private final SearchService searchService; @Autowired @@ -33,7 +32,7 @@ public SearchController(SearchService searchService) { this.searchService = searchService; } - @RequestMapping(path = "/search", method = RequestMethod.GET) + @RequestMapping(path = "/", method = RequestMethod.GET) public final String searchResults( @RequestParam String searchterm, @ModelAttribute("userSession") UserSessionBean userSession, @@ -43,9 +42,9 @@ public final String searchResults( UserAccount thisUser = context.getUserAccount(); userSession.setLastSearchterm(searchterm); model.addAttribute("userSession",userSession); - LOGGER.info("Search: "+ searchterm); + log.info("Search: "+ searchterm); SearchResult searchResult = searchService.search(searchterm, thisUser); - LOGGER.info("found: "+ searchResult.toString()); + log.info("found: "+ searchResult.toString()); model.addAttribute("searchResult",searchResult); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForSearchResults(locale); model.addAttribute("breadcrumb",breadcrumb); diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java deleted file mode 100644 index 9082f819..00000000 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveController.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.woehlke.simpleworklist.taskstate; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; -import org.woehlke.simpleworklist.common.AbstractController; -import org.woehlke.simpleworklist.context.Context; -import org.woehlke.simpleworklist.project.Project; -import org.woehlke.simpleworklist.task.Task; -import org.woehlke.simpleworklist.task.TaskControllerService; - -public class TaskMoveController extends AbstractController { - - private static final Logger LOGGER = LoggerFactory.getLogger(TaskMoveController.class); - - private final TaskMoveService taskMoveService; - private final TaskControllerService taskControllerService; - - public TaskMoveController(TaskMoveService taskMoveService, TaskControllerService taskControllerService) { - this.taskMoveService = taskMoveService; - this.taskControllerService = taskControllerService; - } - -} diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java index d5fb0e88..da2c991d 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskMoveServiceImpl.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.taskstate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -14,16 +13,15 @@ import java.util.Date; import java.util.List; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRES_NEW) public class TaskMoveServiceImpl implements TaskMoveService { - private static final Logger LOGGER = LoggerFactory.getLogger(TaskMoveServiceImpl.class); - private final TaskRepository taskRepository; @Autowired - public TaskMoveServiceImpl(TaskRepository taskRepository) { + public TaskMoveServiceImpl( TaskRepository taskRepository ) { this.taskRepository = taskRepository; } @@ -43,7 +41,8 @@ public Task moveTaskToAnotherProject(Task task, Project project) { if(okContext) { task.setProject(project); long maxOrderIdProject = this.getMaxOrderIdProject( - task.getProject(), task.getContext() + task.getProject(), + task.getContext() ); task.setOrderIdProject(++maxOrderIdProject); taskRepository.saveAndFlush(task); @@ -53,103 +52,121 @@ public Task moveTaskToAnotherProject(Task task, Project project) { @Override public Task moveTaskToInbox(Task task) { - long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.INBOX, task.getContext() - ); - task.setTaskState(TaskState.INBOX); - task.setOrderIdTaskState(++newOrderIdTaskState); - task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to inbox: " + task.toString()); + long newOrderIdTaskState = this.getMaxOrderIdTaskState( + TaskState.INBOX, + task.getContext() + ); + task.setTaskState(TaskState.INBOX); + task.setOrderIdTaskState(++newOrderIdTaskState); + task = taskRepository.saveAndFlush(task); + log.info("moved " + task.getId() + " to inbox: " + task.toString()); return task; } @Override public Task moveTaskToToday(Task task) { - Date now = new Date(); - long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.TODAY, task.getContext() - ); - task.setOrderIdTaskState(++newOrderIdTaskState); - task.setTaskState(TaskState.TODAY); - task.setDueDate(now); - task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to today: " + task.toString()); + Date now = new Date(); + long newOrderIdTaskState = this.getMaxOrderIdTaskState( + TaskState.TODAY, + task.getContext() + ); + task.setOrderIdTaskState(++newOrderIdTaskState); + task.setTaskState(TaskState.TODAY); + task.setDueDate(now); + task = taskRepository.saveAndFlush(task); + log.info("moved " + task.getId() + " to today: " + task.toString()); return task; } @Override public Task moveTaskToNext(Task task) { - long newOrderIdTaskState = this.getMaxOrderIdTaskState(TaskState.NEXT, task.getContext()); + long newOrderIdTaskState = this.getMaxOrderIdTaskState( + TaskState.NEXT, + task.getContext() + ); task.setOrderIdTaskState(++newOrderIdTaskState); task.setTaskState(TaskState.NEXT); task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to next: " + task.toString()); + log.info("moved " + task.getId() + " to next: " + task.toString()); return task; } @Override public Task moveTaskToWaiting(Task task) { - long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.WAITING, task.getContext() - ); - task.setOrderIdTaskState(++newOrderIdTaskState); - task.setTaskState(TaskState.WAITING); - task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to next: " + task.toString()); + long newOrderIdTaskState = this.getMaxOrderIdTaskState( + TaskState.WAITING, + task.getContext() + ); + task.setOrderIdTaskState(++newOrderIdTaskState); + task.setTaskState(TaskState.WAITING); + task = taskRepository.saveAndFlush(task); + log.info("moved " + task.getId() + " to next: " + task.toString()); return task; } @Override public Task moveTaskToSomeday(Task task) { long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.SOMEDAY, task.getContext() + TaskState.SOMEDAY, + task.getContext() ); task.setOrderIdTaskState(++newOrderIdTaskState); task.setTaskState(TaskState.SOMEDAY); task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to someday: " + task.toString()); + log.info("moved " + task.getId() + " to someday: " + task.toString()); return task; } @Override public Task moveTaskToFocus(Task task) { long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.FOCUS, task.getContext() + TaskState.FOCUS, + task.getContext() ); task.setOrderIdTaskState(++newOrderIdTaskState); task.setFocus(true); task = taskRepository.saveAndFlush(task); - LOGGER.info("moved " + task.getId() + " to focus: " + task.toString()); + log.info("moved " + task.getId() + " to focus: " + task.toString()); return task; } @Override public Task moveTaskToCompleted(Task task) { long newOrderIdTaskState = this.getMaxOrderIdTaskState( - TaskState.COMPLETED, task.getContext() + TaskState.COMPLETED, + task.getContext() ); task.setOrderIdTaskState(++newOrderIdTaskState); task.setTaskState(TaskState.COMPLETED); task = taskRepository.saveAndFlush(task); - LOGGER.debug("moved " + task.getId() + " to completed: " + task.toString()); + log.debug("moved " + task.getId() + " to completed: " + task.toString()); return task; } @Override public Task moveTaskToTrash(Task task) { - long newOrderIdTaskState = this.getMaxOrderIdTaskState(TaskState.TRASH, task.getContext()); + long newOrderIdTaskState = this.getMaxOrderIdTaskState( + TaskState.TRASH, + task.getContext() + ); task.setOrderIdTaskState(++newOrderIdTaskState); task.setTaskState(TaskState.TRASH); task = taskRepository.saveAndFlush(task); - LOGGER.debug("moved " + task.getId() + " to trash: " + task.toString()); + log.debug("moved " + task.getId() + " to trash: " + task.toString()); return task; } @Override public void deleteAllCompleted(Context context) { - long maxOrderIdTaskState = this.getMaxOrderIdTaskStateFor(TaskState.TRASH, context); + long maxOrderIdTaskState = this.getMaxOrderIdTaskStateFor( + TaskState.TRASH, + context + ); long newOrderIdTaskState = maxOrderIdTaskState; - List taskListCompleted = taskRepository.findByTaskStateAndContextOrderByOrderIdTaskStateAsc(TaskState.COMPLETED, context); + List taskListCompleted = taskRepository.findByTaskStateAndContextOrderByOrderIdTaskStateAsc( + TaskState.COMPLETED, + context + ); for (Task task : taskListCompleted) { newOrderIdTaskState++; task.setOrderIdTaskState(newOrderIdTaskState); @@ -158,32 +175,36 @@ public void deleteAllCompleted(Context context) { taskRepository.saveAll(taskListCompleted); } - private long getMaxOrderIdTaskStateFor(TaskState taskState, Context context){ - Task task = taskRepository.findTopByTaskStateAndContextOrderByOrderIdTaskStateDesc(taskState, context); - return (task == null) ? 0 : task.getOrderIdTaskState(); - } - @Override public void emptyTrash(Context context) { - List taskList = taskRepository.findByTaskStateAndContext(TaskState.TRASH, context); + List taskList = taskRepository.findByTaskStateAndContext( + TaskState.TRASH, + context + ); taskRepository.deleteInBatch(taskList); } @Override public long getMaxOrderIdTaskState(TaskState taskState, Context context) { - Task task = taskRepository.findTopByTaskStateAndContextOrderByOrderIdTaskStateDesc(taskState, context); + Task task = taskRepository.findTopByTaskStateAndContextOrderByOrderIdTaskStateDesc( + taskState, + context + ); return (task==null) ? 0 : task.getOrderIdTaskState(); } @Override public long getMaxOrderIdProject(Project project, Context context) { - Task task = taskRepository.findTopByProjectAndContextOrderByOrderIdProjectDesc(project, context); + Task task = taskRepository.findTopByProjectAndContextOrderByOrderIdProjectDesc( + project, + context + ); return (task==null) ? 0 : task.getOrderIdProject(); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void moveOrderIdTaskState(Task sourceTask, Task destinationTask) { + public void moveOrderIdTaskState( Task sourceTask, Task destinationTask ) { boolean notEqualsId = ! sourceTask.equalsById(destinationTask); boolean notEquals = ! sourceTask.equalsByUniqueConstraint(destinationTask); boolean sameContext = sourceTask.hasSameContextAs(destinationTask); @@ -194,9 +215,43 @@ public void moveOrderIdTaskState(Task sourceTask, Task destinationTask) { sameContext && sameTaskType ) { if (srcIsBelowDestinationTask) { - this.moveTasksDownByTaskState(sourceTask, destinationTask); + this.moveTasksDownByTaskState( sourceTask, destinationTask ); } else { - this.moveTasksUpByTaskState(sourceTask, destinationTask); + this.moveTasksUpByTaskState( sourceTask, destinationTask ); + } + } + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public void moveOrderIdRootProject( Task sourceTask, Task destinationTask ) { + boolean sourceTaskRoot = destinationTask.isInRootProject(); + boolean destinationTaskRoot = destinationTask.isInRootProject(); + boolean sameContext = sourceTask.hasSameContextAs(destinationTask); + boolean sameProject = sourceTask.hasSameProjectAs(destinationTask); + boolean srcIsBelowDestinationTask = sourceTask.isBelowByProject(destinationTask); + if (sameContext && sameProject && sourceTaskRoot && destinationTaskRoot) { + if (srcIsBelowDestinationTask) { + this.moveTasksDownByProject(sourceTask, destinationTask); + } else { + this.moveTasksUpByProject(sourceTask, destinationTask); + } + } + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public void moveOrderIdProject( Task sourceTask, Task destinationTask ) { + Project project = sourceTask.getProject(); + boolean okProject = destinationTask.hasProject(project); + boolean sameContext = sourceTask.hasSameContextAs(destinationTask); + boolean sameProject = sourceTask.hasSameProjectAs(destinationTask); + boolean srcIsBelowDestinationTask = sourceTask.isBelowByProject(destinationTask); + if (sameContext && sameProject && okProject) { + if (srcIsBelowDestinationTask) { + this.moveTasksDownByProject(sourceTask, destinationTask); + } else { + this.moveTasksUpByProject(sourceTask, destinationTask); } } } @@ -208,24 +263,38 @@ public void moveOrderIdTaskState(Task sourceTask, Task destinationTask) { * @param sourceTask * @param destinationTask */ - private void moveTasksUpByTaskState(Task sourceTask, Task destinationTask) { + private void moveTasksUpByTaskState( Task sourceTask, Task destinationTask ) { TaskState taskState = sourceTask.getTaskState(); Context context = sourceTask.getContext(); long lowerOrderIdTaskState = destinationTask.getOrderIdTaskState(); long higherOrderIdTaskState = sourceTask.getOrderIdTaskState(); List tasks = taskRepository.getTasksByOrderIdTaskStateBetweenLowerTaskAndHigherTask( - lowerOrderIdTaskState,higherOrderIdTaskState,taskState,context + lowerOrderIdTaskState, + higherOrderIdTaskState, + taskState, + context ); for(Task task:tasks){ task.moveUpByTaskState(); } - sourceTask.setOrderIdTaskState(destinationTask.getOrderIdTaskState()); + sourceTask.setOrderIdTaskState( destinationTask.getOrderIdTaskState() ); destinationTask.moveDownByTaskState(); tasks.add(sourceTask); tasks.add(destinationTask); taskRepository.saveAll(tasks); } + + + + private long getMaxOrderIdTaskStateFor(TaskState taskState, Context context ){ + Task task = taskRepository.findTopByTaskStateAndContextOrderByOrderIdTaskStateDesc( + taskState, + context + ); + return (task == null) ? 0 : task.getOrderIdTaskState(); + } + /** * Before: sourceTask is dragged from below up to destinationTask, so sourceTask is below destinationTask. * After: sourceTask is placed to the position of destinationTask, all tasks between old position of sourceTask @@ -233,13 +302,16 @@ private void moveTasksUpByTaskState(Task sourceTask, Task destinationTask) { * @param sourceTask * @param destinationTask */ - private void moveTasksDownByTaskState(Task sourceTask, Task destinationTask) { + private void moveTasksDownByTaskState( Task sourceTask, Task destinationTask ) { TaskState taskState = sourceTask.getTaskState(); Context context = sourceTask.getContext(); long lowerOrderIdTaskState = sourceTask.getOrderIdTaskState(); long higherOrderIdTaskState = destinationTask.getOrderIdTaskState(); List tasks = taskRepository.getTasksByOrderIdTaskStateBetweenLowerTaskAndHigherTask( - lowerOrderIdTaskState,higherOrderIdTaskState,taskState,context + lowerOrderIdTaskState, + higherOrderIdTaskState, + taskState, + context ); for(Task task:tasks){ task.moveDownByTaskState(); @@ -251,47 +323,16 @@ private void moveTasksDownByTaskState(Task sourceTask, Task destinationTask) { taskRepository.saveAll(tasks); } - @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void moveOrderIdRootProject(Task sourceTask, Task destinationTask) { - boolean sourceTaskRoot = destinationTask.isInRootProject(); - boolean destinationTaskRoot = destinationTask.isInRootProject(); - boolean sameContext = sourceTask.hasSameContextAs(destinationTask); - boolean sameProject = sourceTask.hasSameProjectAs(destinationTask); - boolean srcIsBelowDestinationTask = sourceTask.isBelowByProject(destinationTask); - if (sameContext && sameProject && sourceTaskRoot && destinationTaskRoot) { - if (srcIsBelowDestinationTask) { - this.moveTasksDownByProject(sourceTask, destinationTask); - } else { - this.moveTasksUpByProject(sourceTask, destinationTask); - } - } - } - - @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void moveOrderIdProject(Task sourceTask, Task destinationTask) { - Project project = sourceTask.getProject(); - boolean okProject = destinationTask.hasProject(project); - boolean sameContext = sourceTask.hasSameContextAs(destinationTask); - boolean sameProject = sourceTask.hasSameProjectAs(destinationTask); - boolean srcIsBelowDestinationTask = sourceTask.isBelowByProject(destinationTask); - if (sameContext && sameProject && okProject) { - if (srcIsBelowDestinationTask) { - this.moveTasksDownByProject(sourceTask, destinationTask); - } else { - this.moveTasksUpByProject(sourceTask, destinationTask); - } - } - } - - private void moveTasksUpByProject(Task sourceTask, Task destinationTask) { + private void moveTasksUpByProject( Task sourceTask, Task destinationTask ) { Context context = sourceTask.getContext(); Project project = sourceTask.getProject(); long lowerOrderIdProject = destinationTask.getOrderIdProject(); long higherOrderIdProject = sourceTask.getOrderIdProject(); List tasks = taskRepository.getTasksByOrderIdProjectBetweenLowerTaskAndHigherTask( - lowerOrderIdProject,higherOrderIdProject,project,context + lowerOrderIdProject, + higherOrderIdProject, + project, + context ); for(Task task:tasks){ task.moveUpByProject(); @@ -303,13 +344,16 @@ private void moveTasksUpByProject(Task sourceTask, Task destinationTask) { taskRepository.saveAll(tasks); } - private void moveTasksDownByProject(Task sourceTask, Task destinationTask) { + private void moveTasksDownByProject( Task sourceTask, Task destinationTask ) { Context context = sourceTask.getContext(); Project project = sourceTask.getProject(); long lowerOrderIdProject = sourceTask.getOrderIdProject(); long higherOrderIdProject = destinationTask.getOrderIdProject(); List tasks = taskRepository.getTasksByOrderIdProjectBetweenLowerTaskAndHigherTask( - lowerOrderIdProject,higherOrderIdProject,project,context + lowerOrderIdProject, + higherOrderIdProject, + project, + context ); for(Task task:tasks){ task.moveDownByProject(); diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java similarity index 95% rename from src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java rename to src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java index 0a8d758f..d628bda1 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateDisplayController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateController.java @@ -22,17 +22,15 @@ @Slf4j @Controller @RequestMapping(path = "/taskstate") -public class TaskStateDisplayController extends AbstractController { +public class TaskStateController extends AbstractController { private final TaskStateService taskStateService; - private final TaskMoveService taskMoveService; private final TaskControllerService taskControllerService; @Autowired - public TaskStateDisplayController(TaskStateService taskStateService, TaskMoveService taskMoveService, TaskControllerService taskControllerService) { + public TaskStateController(TaskStateService taskStateService, TaskControllerService taskControllerService) { this.taskStateService = taskStateService; - this.taskMoveService = taskMoveService; this.taskControllerService = taskControllerService; } diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateMoveController.java similarity index 95% rename from src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java rename to src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateMoveController.java index ed52a95a..99df3b16 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateWorkflowController.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateMoveController.java @@ -19,24 +19,20 @@ @Slf4j @Controller @RequestMapping(path = "/taskstate/task") -public class TaskStateWorkflowController extends AbstractController { +public class TaskStateMoveController extends AbstractController { - private final TaskStateService taskStateService; private final TaskMoveService taskMoveService; private final TaskControllerService taskControllerService; @Autowired - public TaskStateWorkflowController( - TaskStateService taskStateService, + public TaskStateMoveController( TaskMoveService taskMoveService, TaskControllerService taskControllerService ) { - this.taskStateService = taskStateService; this.taskMoveService = taskMoveService; this.taskControllerService = taskControllerService; } - @RequestMapping(path = "/{sourceTaskId}/changeorderto/{destinationTaskId}", method = RequestMethod.GET) public String changeTaskOrderId( @PathVariable("sourceTaskId") Task sourceTask, @@ -55,7 +51,6 @@ public String changeTaskOrderId( return "redirect:/taskstate/" + sourceTask.getTaskState().name().toLowerCase(); } - @RequestMapping(path = "/{taskId}/move/to/project/{projectId}", method = RequestMethod.GET) public final String moveTaskToAnotherProject(@PathVariable("taskId") Task task, @PathVariable long projectId) { @@ -82,7 +77,7 @@ public final String moveTaskToToday(@PathVariable("taskId") Task task) { return "redirect:/taskstate/today"; } - @RequestMapping(path = "/{taskId}/move/to/taskstate//next", method = RequestMethod.GET) + @RequestMapping(path = "/{taskId}/move/to/taskstate/next", method = RequestMethod.GET) public final String moveTaskToNext(@PathVariable("taskId") Task task) { log.info("dragged and dropped "+task.getId()+" to next"); task = taskMoveService.moveTaskToNext(task); diff --git a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java index d85da893..e02d736e 100644 --- a/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java +++ b/src/main/java/org/woehlke/simpleworklist/testdata/TestDataController.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.testdata; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -8,21 +9,24 @@ import org.springframework.beans.factory.annotation.Autowired; import org.woehlke.simpleworklist.user.login.UserAccountLoginSuccessService; +@Slf4j @Controller -@RequestMapping(path = "/test") +@RequestMapping(path = "/testdata") public class TestDataController { private final TestDataService testDataService; - private final UserAccountLoginSuccessService userAccountLoginSuccessService; @Autowired - public TestDataController(TestDataService testDataService, UserAccountLoginSuccessService userAccountLoginSuccessService) { + public TestDataController( + TestDataService testDataService, + UserAccountLoginSuccessService userAccountLoginSuccessService + ) { this.testDataService = testDataService; this.userAccountLoginSuccessService = userAccountLoginSuccessService; } - @RequestMapping(path = "/helper/project/createTree", method = RequestMethod.GET) + @RequestMapping(path = "/createTree", method = RequestMethod.GET) public String createTestCategoryTree() { UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); testDataService.createTestCategoryTreeForUserAccount(user); diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java index 78d44f38..ff2925de 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.messages; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; @@ -28,13 +29,14 @@ * Created by * on 16.02.2016. */ +@Slf4j @Controller -@RequestMapping(path = "/user2user/") +@RequestMapping(path = "/user/messages/") public class User2UserMessageController extends AbstractController { private static final Logger LOGGER = LoggerFactory.getLogger(TaskController.class); - @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) + @RequestMapping(path = "/{userId}/", method = RequestMethod.GET) public final String getLastMessagesBetweenCurrentAndOtherUser( @PathVariable("userId") UserAccount otherUser, @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, @@ -55,7 +57,7 @@ public final String getLastMessagesBetweenCurrentAndOtherUser( return "user/messages/all"; } - @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) + @RequestMapping(path = "/{userId}/", method = RequestMethod.POST) public final String sendNewMessageToOtherUser( @PathVariable("userId") UserAccount otherUser, @Valid @ModelAttribute("newUser2UserMessage") NewUser2UserMessage newUser2UserMessage, @@ -81,7 +83,7 @@ public final String sendNewMessageToOtherUser( return "user/messages/all"; } else { user2UserMessageService.sendNewUserMessage(thisUser, otherUser, newUser2UserMessage); - return "redirect:/user2user/"+otherUser.getId()+"/messages/"; + return "redirect:/user/messages/"+otherUser.getId()+"/"; } } From fba69bebadfd9c9f4244cde3dfcf774edc87205e Mon Sep 17 00:00:00 2001 From: thomaswoehlke Date: Mon, 6 Apr 2020 01:06:34 +0200 Subject: [PATCH 15/61] URL PATH of Actions - Controller Methods Refactoring --- etc/serialversions/getserialversionid.cmd | 4 +- etc/serialversions/getserialversionid.sh | 4 +- etc/serialversions/serialversions.txt | 4 +- .../taskstate/TaskStateServiceImpl.java | 2 + .../simpleworklist/user/UserDetailsBean.java | 72 +-------- .../simpleworklist/user/UserSessionBean.java | 71 ++------- .../account/UserAccountAccessServiceImpl.java | 41 +++-- .../user/account/UserAccountForm.java | 111 ++----------- .../UserAccountSecurityServiceImpl.java | 6 +- .../user/account/UserAccountServiceImpl.java | 17 +- .../user/{ => account}/UserRole.java | 2 +- .../simpleworklist/user/login/LoginForm.java | 57 +------ .../user/login/LoginSuccessHandler.java | 9 +- .../UserAccountLoginSuccessServiceImpl.java | 18 ++- .../user/login/UserLoginController.java | 26 +-- .../user/messages/NewUser2UserMessage.java | 47 ------ .../user/messages/User2UserMessage.java | 79 +--------- .../messages/User2UserMessageController.java | 28 ++-- .../messages/User2UserMessageFormBean.java | 26 +++ .../messages/User2UserMessageService.java | 2 +- .../messages/User2UserMessageServiceImpl.java | 28 +++- .../register/UserRegistrationController.java | 38 +++-- .../user/register/UserRegistrationForm.java | 47 +----- .../register/UserRegistrationServiceImpl.java | 20 +-- .../UserPasswordRecoveryController.java | 63 ++++---- .../UserPasswordRecoveryServiceImpl.java | 17 +- ...serAccountSecurityPasswordServiceImpl.java | 7 +- .../user/selfservice/UserChangeNameForm.java | 44 +----- .../selfservice/UserChangePasswordForm.java | 53 +------ .../UserSelfserviceController.java | 137 +++++++++------- .../templates/user/messages/all.html | 148 +++++++++--------- 31 files changed, 429 insertions(+), 799 deletions(-) rename src/main/java/org/woehlke/simpleworklist/user/{ => account}/UserRole.java (82%) delete mode 100644 src/main/java/org/woehlke/simpleworklist/user/messages/NewUser2UserMessage.java create mode 100644 src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageFormBean.java diff --git a/etc/serialversions/getserialversionid.cmd b/etc/serialversions/getserialversionid.cmd index edfb63e8..c70bb9cc 100644 --- a/etc/serialversions/getserialversionid.cmd +++ b/etc/serialversions/getserialversionid.cmd @@ -21,7 +21,7 @@ serialver org.woehlke.simpleworklist.taskstate.TaskState >> ..\..\etc\serialvers serialver org.woehlke.simpleworklist.task.TaskTime >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.register.UserRegistrationStatus >> ..\..\etc\serialversions.txt -serialver org.woehlke.simpleworklist.user.UserRole >> ..\..\etc\serialversions.txt +serialver org.woehlke.simpleworklist.user.account.UserRole >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.common.AuditModel >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.context.Context >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.project.Project >> ..\..\etc\serialversions.txt @@ -34,7 +34,7 @@ serialver org.woehlke.simpleworklist.breadcrumb.BreadcrumbItem >> ..\..\etc\ser serialver org.woehlke.simpleworklist.breadcrumb.Breadcrumb >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.login.LoginForm >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.context.NewContextForm >> ..\..\etc\serialversions.txt -serialver org.woehlke.simpleworklist.user.messages.NewUser2UserMessage >> ..\..\etc\serialversions.txt +serialver org.woehlke.simpleworklist.user.messages.User2UserMessageFormBean >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.search.SearchResult >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.user.account.UserAccountForm >> ..\..\etc\serialversions.txt serialver org.woehlke.simpleworklist.context.UserChangeDefaultContextForm >> ..\..\etc\serialversions.txt diff --git a/etc/serialversions/getserialversionid.sh b/etc/serialversions/getserialversionid.sh index 2c52c249..ade0db35 100644 --- a/etc/serialversions/getserialversionid.sh +++ b/etc/serialversions/getserialversionid.sh @@ -33,7 +33,7 @@ serialver org.woehlke.simpleworklist.taskstate.TaskState >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.task.TaskTime >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.register.UserRegistrationStatus >> $SERIALVERSIONS_FILE -serialver org.woehlke.simpleworklist.user.UserRole >> $SERIALVERSIONS_FILE +serialver org.woehlke.simpleworklist.user.account.UserRole >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.common.AuditModel >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.context.Context >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.project.Project >> $SERIALVERSIONS_FILE @@ -46,7 +46,7 @@ serialver org.woehlke.simpleworklist.breadcrumb.BreadcrumbItem >> $SERIALVERSIO serialver org.woehlke.simpleworklist.breadcrumb.Breadcrumb >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.login.LoginForm >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.context.NewContextForm >> $SERIALVERSIONS_FILE -serialver org.woehlke.simpleworklist.user.messages.NewUser2UserMessage >> $SERIALVERSIONS_FILE +serialver org.woehlke.simpleworklist.user.messages.User2UserMessageFormBean >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.search.SearchResult >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.user.account.UserAccountForm >> $SERIALVERSIONS_FILE serialver org.woehlke.simpleworklist.context.UserChangeDefaultContextForm >> $SERIALVERSIONS_FILE diff --git a/etc/serialversions/serialversions.txt b/etc/serialversions/serialversions.txt index 36911687..75c58f6b 100644 --- a/etc/serialversions/serialversions.txt +++ b/etc/serialversions/serialversions.txt @@ -4,7 +4,7 @@ org.woehlke.simpleworklist.taskstate.TaskState: private static final long ser org.woehlke.simpleworklist.task.TaskTime: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.user.resetpassword.UserPasswordRecoveryStatus: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.user.register.UserRegistrationStatus: private static final long serialVersionUID = 0L; -org.woehlke.simpleworklist.user.UserRole: private static final long serialVersionUID = 0L; +org.woehlke.simpleworklist.user.account.UserRole: private static final long serialVersionUID = 0L; org.woehlke.simpleworklist.common.AuditModel: private static final long serialVersionUID = 4399373914714726911L; org.woehlke.simpleworklist.context.Context: private static final long serialVersionUID = -5035732370606951871L; org.woehlke.simpleworklist.project.Project: private static final long serialVersionUID = 4566653175832872422L; @@ -17,7 +17,7 @@ org.woehlke.simpleworklist.breadcrumb.BreadcrumbItem: private static final lo org.woehlke.simpleworklist.breadcrumb.Breadcrumb: private static final long serialVersionUID = 7932703111140692689L; org.woehlke.simpleworklist.user.login.LoginForm: private static final long serialVersionUID = 5936886560348238355L; org.woehlke.simpleworklist.context.NewContextForm: private static final long serialVersionUID = -937143305653156981L; -org.woehlke.simpleworklist.user.messages.NewUser2UserMessage: private static final long serialVersionUID = 1576610181966480168L; +org.woehlke.simpleworklist.user.messages.User2UserMessageFormBean: private static final long serialVersionUID = 1576610181966480168L; org.woehlke.simpleworklist.search.SearchResult: private static final long serialVersionUID = 1682809351146047764L; org.woehlke.simpleworklist.user.account.UserAccountForm: private static final long serialVersionUID = 9180383385243540190L; org.woehlke.simpleworklist.context.UserChangeDefaultContextForm: private static final long serialVersionUID = -8592295563275083292L; diff --git a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java index e9496d66..cdb75395 100644 --- a/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/taskstate/TaskStateServiceImpl.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.taskstate; +import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -14,6 +15,7 @@ /** * Created by tw on 21.02.16. */ +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class TaskStateServiceImpl implements TaskStateService { diff --git a/src/main/java/org/woehlke/simpleworklist/user/UserDetailsBean.java b/src/main/java/org/woehlke/simpleworklist/user/UserDetailsBean.java index d86109d2..0246c205 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/UserDetailsBean.java +++ b/src/main/java/org/woehlke/simpleworklist/user/UserDetailsBean.java @@ -1,16 +1,20 @@ package org.woehlke.simpleworklist.user; -import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import lombok.*; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.woehlke.simpleworklist.user.account.UserAccount; -public class UserDetailsBean implements UserDetails, Serializable { + +@Getter +@EqualsAndHashCode +@ToString(exclude = {"password"}) +public class UserDetailsBean implements UserDetails { private static final long serialVersionUID = 1L; @@ -42,68 +46,4 @@ public Collection getAuthorities() { authorities.add(new SimpleGrantedAuthority("ROLE_USER")); return authorities; } - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return username; - } - - @Override - public boolean isAccountNonExpired() { - return accountNonExpired; - } - - @Override - public boolean isAccountNonLocked() { - return accountNonLocked; - } - - @Override - public boolean isCredentialsNonExpired() { - return credentialsNonExpired; - } - - @Override - public boolean isEnabled() { - return enabled; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result - + ((password == null) ? 0 : password.hashCode()); - result = prime * result - + ((username == null) ? 0 : username.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - UserDetailsBean other = (UserDetailsBean) obj; - if (password == null) { - if (other.password != null) - return false; - } else if (!password.equals(other.password)) - return false; - if (username == null) { - if (other.username != null) - return false; - } else if (!username.equals(other.username)) - return false; - return true; - } - } diff --git a/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java b/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java index da44b3b8..08b77975 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java +++ b/src/main/java/org/woehlke/simpleworklist/user/UserSessionBean.java @@ -1,24 +1,28 @@ package org.woehlke.simpleworklist.user; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; import org.woehlke.simpleworklist.taskstate.TaskState; import java.io.Serializable; -import java.util.Objects; /** * Created by tw on 13.03.16. */ +@Getter +@Setter +@EqualsAndHashCode +@ToString public class UserSessionBean implements Serializable { private static final long serialVersionUID = -6649686058228455825L; private Long contextId; - - private String lastSearchterm; - private TaskState lastTaskState; - private Long lastProjectId; + private String lastSearchterm; public UserSessionBean(){ lastSearchterm=""; @@ -34,61 +38,4 @@ public UserSessionBean(long contextId){ this.contextId = contextId; } - public Long getContextId() { - return contextId; - } - - public void setContextId(Long contextId) { - this.contextId = contextId; - } - - public String getLastSearchterm() { - return lastSearchterm; - } - - public void setLastSearchterm(String lastSearchterm) { - this.lastSearchterm = lastSearchterm; - } - - public TaskState getLastTaskState() { - return lastTaskState; - } - - public void setLastTaskState(TaskState lastTaskState) { - this.lastTaskState = lastTaskState; - } - - public Long getLastProjectId() { - return lastProjectId; - } - - public void setLastProjectId(Long lastProjectId) { - this.lastProjectId = lastProjectId; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof UserSessionBean)) return false; - UserSessionBean that = (UserSessionBean) o; - return getContextId().equals(that.getContextId()) && - getLastSearchterm().equals(that.getLastSearchterm()) && - getLastTaskState() == that.getLastTaskState() && - getLastProjectId().equals(that.getLastProjectId()); - } - - @Override - public int hashCode() { - return Objects.hash(getContextId(), getLastSearchterm(), getLastTaskState(), getLastProjectId()); - } - - @Override - public String toString() { - return "UserSessionBean{" + - "contextId=" + contextId + - ", lastSearchterm='" + lastSearchterm + '\'' + - ", lastTaskState=" + lastTaskState + - ", lastProjectId=" + lastProjectId + - '}'; - } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountAccessServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountAccessServiceImpl.java index e87d8e75..1cebc265 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountAccessServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountAccessServiceImpl.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.user.account; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -14,22 +13,23 @@ import org.woehlke.simpleworklist.user.login.LoginForm; import org.woehlke.simpleworklist.user.selfservice.UserChangePasswordForm; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserAccountAccessServiceImpl implements UserAccountAccessService { - private static final Logger LOGGER = LoggerFactory.getLogger(UserAccountAccessServiceImpl.class); - private final UserAccountRepository userAccountRepository; - private final AuthenticationManager authenticationManager; - private final PasswordEncoder encoder; @Autowired - public UserAccountAccessServiceImpl(UserAccountRepository userAccountRepository, AuthenticationManager authenticationManager) { + public UserAccountAccessServiceImpl( + UserAccountRepository userAccountRepository, + AuthenticationManager authenticationManager + ) { this.userAccountRepository = userAccountRepository; this.authenticationManager = authenticationManager; + //TODO: int strength = 10; this.encoder = new BCryptPasswordEncoder(strength); } @@ -37,8 +37,14 @@ public UserAccountAccessServiceImpl(UserAccountRepository userAccountRepository, @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void changeUsersPassword(UserChangePasswordForm userAccountFormBean, UserAccount user) { - UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(user.getUserEmail(), userAccountFormBean.getOldUserPassword()); + public void changeUsersPassword( + UserChangePasswordForm userAccountFormBean, + UserAccount user + ) { + UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( + user.getUserEmail(), + userAccountFormBean.getOldUserPassword() + ); Authentication authenticationResult = authenticationManager.authenticate(token); if(authenticationResult.isAuthenticated()){ UserAccount ua = userAccountRepository.findByUserEmail(user.getUserEmail()); @@ -49,17 +55,26 @@ public void changeUsersPassword(UserChangePasswordForm userAccountFormBean, User } @Override - public boolean confirmUserByLoginAndPassword(String userEmail, String oldUserPassword) { - UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(userEmail, oldUserPassword); + public boolean confirmUserByLoginAndPassword( + String userEmail, + String oldUserPassword + ) { + UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( + userEmail, + oldUserPassword + ); Authentication authenticationResult = authenticationManager.authenticate(token); String oldPwEncoded = this.encoder.encode(oldUserPassword); - LOGGER.info(userEmail+", "+oldPwEncoded); + log.info(userEmail+", "+oldPwEncoded); return authenticationResult.isAuthenticated(); } @Override public boolean authorize(LoginForm loginForm) { - UserAccount account = userAccountRepository.findByUserEmailAndUserPassword(loginForm.getUserEmail(), loginForm.getUserPassword()); + UserAccount account = userAccountRepository.findByUserEmailAndUserPassword( + loginForm.getUserEmail(), + loginForm.getUserPassword() + ); return account != null; } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountForm.java b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountForm.java index 640fe1c9..16b10556 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountForm.java +++ b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountForm.java @@ -5,10 +5,19 @@ import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; + +import lombok.*; import org.hibernate.validator.constraints.SafeHtml; import java.io.Serializable; + +@Getter +@Setter +@EqualsAndHashCode +@AllArgsConstructor +@NoArgsConstructor +@ToString(exclude = {"userPassword"}) public class UserAccountForm implements Serializable { private static final long serialVersionUID = 9180383385243540190L; @@ -19,6 +28,12 @@ public class UserAccountForm implements Serializable { @Email(message = "Email Address is not a valid format") private String userEmail; + //TODO: Messages i18n + @SafeHtml(whitelistType= SafeHtml.WhiteListType.NONE) + @NotNull(message = "Fullname is compulsory") + @NotBlank(message = "Fullname is compulsory") + private String userFullname; + //TODO: Messages i18n @SafeHtml(whitelistType= SafeHtml.WhiteListType.NONE) @NotNull(message = "Password is compulsory") @@ -31,105 +46,9 @@ public class UserAccountForm implements Serializable { @NotBlank(message = "Password is compulsory") private String userPasswordConfirmation; - //TODO: Messages i18n - @SafeHtml(whitelistType= SafeHtml.WhiteListType.NONE) - @NotNull(message = "Fullname is compulsory") - @NotBlank(message = "Fullname is compulsory") - private String userFullname; - - public String getUserEmail() { - return userEmail; - } - - public void setUserEmail(String userEmail) { - this.userEmail = userEmail; - } - - public String getUserPassword() { - return userPassword; - } - - public void setUserPassword(String userPassword) { - this.userPassword = userPassword; - } - - public String getUserPasswordConfirmation() { - return userPasswordConfirmation; - } - - public void setUserPasswordConfirmation(String userPasswordConfirmation) { - this.userPasswordConfirmation = userPasswordConfirmation; - } - - public String getUserFullname() { - return userFullname; - } - - public void setUserFullname(String userFullname) { - this.userFullname = userFullname; - } - @Transient public boolean passwordsAreTheSame() { return this.userPassword.compareTo(userPasswordConfirmation) == 0; } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result - + ((userEmail == null) ? 0 : userEmail.hashCode()); - result = prime * result - + ((userFullname == null) ? 0 : userFullname.hashCode()); - result = prime * result - + ((userPassword == null) ? 0 : userPassword.hashCode()); - result = prime - * result - + ((userPasswordConfirmation == null) ? 0 - : userPasswordConfirmation.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - UserAccountForm other = (UserAccountForm) obj; - if (userEmail == null) { - if (other.userEmail != null) - return false; - } else if (!userEmail.equals(other.userEmail)) - return false; - if (userFullname == null) { - if (other.userFullname != null) - return false; - } else if (!userFullname.equals(other.userFullname)) - return false; - if (userPassword == null) { - if (other.userPassword != null) - return false; - } else if (!userPassword.equals(other.userPassword)) - return false; - if (userPasswordConfirmation == null) { - if (other.userPasswordConfirmation != null) - return false; - } else if (!userPasswordConfirmation - .equals(other.userPasswordConfirmation)) - return false; - return true; - } - - @Override - public String toString() { - return "UserAccountForm [userEmail=" + userEmail - + ", userPassword=" + userPassword - + ", userPasswordConfirmation=" + userPasswordConfirmation - + ", userFullname=" + userFullname + "]"; - } - } diff --git a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountSecurityServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountSecurityServiceImpl.java index 9dcd187d..88e771d5 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountSecurityServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountSecurityServiceImpl.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.user.account; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; @@ -10,12 +9,11 @@ import org.springframework.transaction.annotation.Transactional; import org.woehlke.simpleworklist.user.UserDetailsBean; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserAccountSecurityServiceImpl implements UserAccountSecurityService { - private static final Logger log = LoggerFactory.getLogger(UserAccountSecurityServiceImpl.class); - private final UserAccountRepository userAccountRepository; @Autowired diff --git a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountServiceImpl.java index ce07c728..5257edbf 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/account/UserAccountServiceImpl.java @@ -6,10 +6,9 @@ import java.util.List; import java.util.Map; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -23,18 +22,14 @@ import org.woehlke.simpleworklist.context.ContextRepository; import org.woehlke.simpleworklist.user.messages.User2UserMessageRepository; +@Slf4j @Service("userAccountService") @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserAccountServiceImpl implements UserAccountService { - private static final Logger LOGGER = LoggerFactory.getLogger(UserAccountServiceImpl.class); - private final UserAccountRepository userAccountRepository; - private final User2UserMessageRepository userMessageRepository; - private final ContextRepository contextRepository; - private final PasswordEncoder encoder; @Autowired @@ -64,19 +59,19 @@ public void createUser(UserAccountForm userAccount) { u.setAccountNonLocked(true); u.setCredentialsNonExpired(true); u.setEnabled(true); - LOGGER.info("About to save " + u.toString()); + log.info("About to save " + u.toString()); u = userAccountRepository.save(u); Context workContext = new Context("Arbeit","Work"); Context privContext = new Context("Privat","Private"); workContext.setUserAccount(u); privContext.setUserAccount(u); - LOGGER.info("About to save " + workContext.toString()); + log.info("About to save " + workContext.toString()); contextRepository.save(workContext); - LOGGER.info("About to save " + privContext.toString()); + log.info("About to save " + privContext.toString()); contextRepository.save(privContext); u.setDefaultContext(workContext); u = userAccountRepository.save(u); - LOGGER.info("Saved " + u.toString()); + log.info("Saved " + u.toString()); } @Override diff --git a/src/main/java/org/woehlke/simpleworklist/user/UserRole.java b/src/main/java/org/woehlke/simpleworklist/user/account/UserRole.java similarity index 82% rename from src/main/java/org/woehlke/simpleworklist/user/UserRole.java rename to src/main/java/org/woehlke/simpleworklist/user/account/UserRole.java index eddaaab4..9d10be86 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/UserRole.java +++ b/src/main/java/org/woehlke/simpleworklist/user/account/UserRole.java @@ -1,4 +1,4 @@ -package org.woehlke.simpleworklist.user; +package org.woehlke.simpleworklist.user.account; import javax.persistence.Enumerated; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/simpleworklist/user/login/LoginForm.java b/src/main/java/org/woehlke/simpleworklist/user/login/LoginForm.java index 1312b151..930682ea 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/login/LoginForm.java +++ b/src/main/java/org/woehlke/simpleworklist/user/login/LoginForm.java @@ -4,10 +4,18 @@ import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; + +import lombok.*; import org.hibernate.validator.constraints.SafeHtml; import java.io.Serializable; +@Getter +@Setter +@EqualsAndHashCode +@AllArgsConstructor +@NoArgsConstructor +@ToString(exclude = {"userPassword"}) public class LoginForm implements Serializable { private static final long serialVersionUID = 5936886560348238355L; @@ -24,53 +32,4 @@ public class LoginForm implements Serializable { @NotBlank(message = "Password is compulsory") private String userPassword; - public String getUserEmail() { - return userEmail; - } - - public void setUserEmail(String userEmail) { - this.userEmail = userEmail; - } - - public String getUserPassword() { - return userPassword; - } - - public void setUserPassword(String userPassword) { - this.userPassword = userPassword; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result - + ((userEmail == null) ? 0 : userEmail.hashCode()); - result = prime * result - + ((userPassword == null) ? 0 : userPassword.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - LoginForm other = (LoginForm) obj; - if (userEmail == null) { - if (other.userEmail != null) - return false; - } else if (!userEmail.equals(other.userEmail)) - return false; - if (userPassword == null) { - if (other.userPassword != null) - return false; - } else if (!userPassword.equals(other.userPassword)) - return false; - return true; - } - } diff --git a/src/main/java/org/woehlke/simpleworklist/user/login/LoginSuccessHandler.java b/src/main/java/org/woehlke/simpleworklist/user/login/LoginSuccessHandler.java index e26f0831..fbac91ed 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/login/LoginSuccessHandler.java +++ b/src/main/java/org/woehlke/simpleworklist/user/login/LoginSuccessHandler.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.user.login; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; @@ -20,13 +19,11 @@ /** * Created by tw on 19.02.16. */ +@Slf4j @Component public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler implements AuthenticationSuccessHandler { - private static final Logger LOGGER = LoggerFactory.getLogger(LoginSuccessHandler.class); - private final UserAccountLoginSuccessService userAccountLoginSuccessService; - private final LocaleResolver localeResolver; @Autowired @@ -50,7 +47,7 @@ public void onAuthenticationSuccess( default: locale = Locale.ENGLISH; break; } localeResolver.setLocale(request,response,locale); - LOGGER.info("successful logged in "+user.getUserEmail()); + log.info("successful logged in "+user.getUserEmail()); } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/login/UserAccountLoginSuccessServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/login/UserAccountLoginSuccessServiceImpl.java index ca5d0a37..e5535d60 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/login/UserAccountLoginSuccessServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/login/UserAccountLoginSuccessServiceImpl.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.login; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @@ -13,6 +14,7 @@ import java.util.Date; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserAccountLoginSuccessServiceImpl implements UserAccountLoginSuccessService { @@ -24,7 +26,6 @@ public UserAccountLoginSuccessServiceImpl(UserAccountRepository userAccountRepos this.userAccountRepository = userAccountRepository; } - @Override public String retrieveUsername() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @@ -37,13 +38,6 @@ public String retrieveUsername() { } } - @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void updateLastLoginTimestamp(UserAccount user) { - user.setLastLoginTimestamp(new Date()); - userAccountRepository.saveAndFlush(user); - } - @Override public UserAccount retrieveCurrentUser() throws UsernameNotFoundException { String username = this.retrieveUsername(); @@ -51,4 +45,12 @@ public UserAccount retrieveCurrentUser() throws UsernameNotFoundException { if (account == null) throw new UsernameNotFoundException(username); return account; } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public void updateLastLoginTimestamp(UserAccount user) { + user.setLastLoginTimestamp(new Date()); + userAccountRepository.saveAndFlush(user); + } + } diff --git a/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java b/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java index b8f408df..df747e08 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/login/UserLoginController.java @@ -1,12 +1,11 @@ package org.woehlke.simpleworklist.user.login; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; @@ -20,14 +19,12 @@ import org.woehlke.simpleworklist.user.account.UserAccount; import org.woehlke.simpleworklist.user.account.UserAccountAccessService; - +@Slf4j @Controller +@RequestMapping(path = "/user") public class UserLoginController { - private static final Logger LOGGER = LoggerFactory.getLogger(UserLoginController.class); - private final UserAccountLoginSuccessService userAccountLoginSuccessService; - private final UserAccountAccessService userAccountAccessService; @Autowired @@ -59,13 +56,16 @@ public final String loginForm(Model model) { * @return Shows Root Project after successful login or login form with error messages. */ @RequestMapping(path = "/login", method = RequestMethod.POST) - public final String loginPerform(@Valid LoginForm loginForm, - BindingResult result, Model model) { + public final String loginPerform( + @Valid LoginForm loginForm, + BindingResult result, + Model model + ) { boolean authorized = userAccountAccessService.authorize(loginForm); if (!result.hasErrors() && authorized) { UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); userAccountLoginSuccessService.updateLastLoginTimestamp(user); - LOGGER.info("logged in"); + log.info("logged in"); return "redirect:/"; } else { String objectName = "loginForm"; @@ -73,13 +73,17 @@ public final String loginPerform(@Valid LoginForm loginForm, String defaultMessage = "Email or Password wrong."; FieldError e = new FieldError(objectName, field, defaultMessage); result.addError(e); - LOGGER.info("not logged in"); + log.info("not logged in"); return "user/login/loginForm"; } } @RequestMapping(path="/logout", method = RequestMethod.GET) - public String logoutPage (SessionStatus status, HttpServletRequest request, HttpServletResponse response) { + public String logoutPage ( + SessionStatus status, + HttpServletRequest request, + HttpServletResponse response + ) { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth != null){ new SecurityContextLogoutHandler().logout(request, response, auth); diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/NewUser2UserMessage.java b/src/main/java/org/woehlke/simpleworklist/user/messages/NewUser2UserMessage.java deleted file mode 100644 index 1d349b0d..00000000 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/NewUser2UserMessage.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.woehlke.simpleworklist.user.messages; - - -import org.hibernate.validator.constraints.Length; -import org.hibernate.validator.constraints.SafeHtml; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; -import java.util.Objects; - -public class NewUser2UserMessage implements Serializable { - - private static final long serialVersionUID = 1576610181966480168L; - - @SafeHtml(whitelistType= SafeHtml.WhiteListType.SIMPLE_TEXT) - @NotBlank - @Length(min=1,max=65535) - private String messageText; - - public String getMessageText() { - return messageText; - } - - public void setMessageText(String messageText) { - this.messageText = messageText; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof NewUser2UserMessage)) return false; - NewUser2UserMessage that = (NewUser2UserMessage) o; - return getMessageText().equals(that.getMessageText()); - } - - @Override - public int hashCode() { - return Objects.hash(getMessageText()); - } - - @Override - public String toString() { - return "NewUser2UserMessage{" + - "messageText='" + messageText + '\'' + - '}'; - } -} diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessage.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessage.java index 30be78bb..e142452c 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessage.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessage.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.messages; +import lombok.*; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import org.hibernate.validator.constraints.SafeHtml; @@ -9,7 +10,6 @@ import javax.persistence.*; import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Objects; /** * Created by Fert on 16.02.2016. @@ -28,6 +28,12 @@ @Index(name = "ix_user_message_row_created_at", columnList = "row_created_at") } ) +@Getter +@Setter +@EqualsAndHashCode +@ToString +@NoArgsConstructor +@AllArgsConstructor public class User2UserMessage extends AuditModel implements Serializable { private static final long serialVersionUID = 4263078228257938175L; @@ -61,75 +67,4 @@ public class User2UserMessage extends AuditModel implements Serializable { @JoinColumn(name = "user_account_id_receiver", nullable = false) private UserAccount receiver; - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getMessageText() { - return messageText; - } - - public void setMessageText(String messageText) { - this.messageText = messageText; - } - - public Boolean isReadByReceiver() { - return readByReceiver; - } - - public void setReadByReceiver(Boolean readByReceiver) { - this.readByReceiver = readByReceiver; - } - - public UserAccount getSender() { - return sender; - } - - public void setSender(UserAccount sender) { - this.sender = sender; - } - - public UserAccount getReceiver() { - return receiver; - } - - public void setReceiver(UserAccount receiver) { - this.receiver = receiver; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof User2UserMessage)) return false; - if (!super.equals(o)) return false; - User2UserMessage that = (User2UserMessage) o; - return Objects.equals(getId(), that.getId()) && - getMessageText().equals(that.getMessageText()) && - isReadByReceiver().equals(that.isReadByReceiver()) && - getSender().equals(that.getSender()) && - getReceiver().equals(that.getReceiver()); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), getId(), getMessageText(), isReadByReceiver(), getSender(), getReceiver()); - } - - @Override - public String toString() { - return "User2UserMessage{" + - "id=" + id + - ", messageText='" + messageText + '\'' + - ", readByReceiver=" + readByReceiver + - ", sender=" + sender + - ", receiver=" + receiver + - ", uuid='" + uuid + '\'' + - ", rowCreatedAt=" + rowCreatedAt + - ", rowUpdatedAt=" + rowUpdatedAt + - '}'; - } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java index ff2925de..e0170ff0 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageController.java @@ -1,8 +1,6 @@ package org.woehlke.simpleworklist.user.messages; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -20,7 +18,6 @@ import org.woehlke.simpleworklist.user.UserSessionBean; import org.woehlke.simpleworklist.context.Context; import org.woehlke.simpleworklist.user.account.UserAccount; -import org.woehlke.simpleworklist.task.TaskController; import javax.validation.Valid; import java.util.Locale; @@ -34,21 +31,21 @@ @RequestMapping(path = "/user/messages/") public class User2UserMessageController extends AbstractController { - private static final Logger LOGGER = LoggerFactory.getLogger(TaskController.class); - @RequestMapping(path = "/{userId}/", method = RequestMethod.GET) public final String getLastMessagesBetweenCurrentAndOtherUser( @PathVariable("userId") UserAccount otherUser, @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + Locale locale, + Model model ) { + log.info("getLastMessagesBetweenCurrentAndOtherUser"); Context context = super.getContext(userSession); UserAccount thisUser = context.getUserAccount(); model.addAttribute("userSession",userSession); - NewUser2UserMessage newUser2UserMessage = new NewUser2UserMessage(); + User2UserMessageFormBean user2UserMessageFormBean = new User2UserMessageFormBean(); Page user2UserMessagePage = user2UserMessageService.readAllMessagesBetweenCurrentAndOtherUser(thisUser,otherUser,request); - model.addAttribute("newUser2UserMessage", newUser2UserMessage); + model.addAttribute("newUser2UserMessage", user2UserMessageFormBean); model.addAttribute("otherUser", otherUser); model.addAttribute("user2UserMessagePage", user2UserMessagePage); model.addAttribute("refreshMessages",true); @@ -60,30 +57,31 @@ public final String getLastMessagesBetweenCurrentAndOtherUser( @RequestMapping(path = "/{userId}/", method = RequestMethod.POST) public final String sendNewMessageToOtherUser( @PathVariable("userId") UserAccount otherUser, - @Valid @ModelAttribute("newUser2UserMessage") NewUser2UserMessage newUser2UserMessage, + @Valid @ModelAttribute("newUser2UserMessage") User2UserMessageFormBean user2UserMessageFormBean, BindingResult result, @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + Locale locale, + Model model ) { - LOGGER.info("sendNewMessageToOtherUser"); + log.info("sendNewMessageToOtherUser"); Context context = super.getContext(userSession); UserAccount thisUser = context.getUserAccount(); model.addAttribute("userSession",userSession); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForMessagesBetweenCurrentAndOtherUser(locale); model.addAttribute("breadcrumb",breadcrumb); if(result.hasErrors()){ - LOGGER.info("result.hasErrors"); + log.info("result.hasErrors"); for(ObjectError objectError:result.getAllErrors()){ - LOGGER.info("result.hasErrors: "+objectError.toString()); + log.info("result.hasErrors: "+objectError.toString()); } Page user2UserMessagePage = user2UserMessageService.readAllMessagesBetweenCurrentAndOtherUser(thisUser,otherUser,request); model.addAttribute("otherUser", otherUser); model.addAttribute("user2UserMessagePage", user2UserMessagePage); return "user/messages/all"; } else { - user2UserMessageService.sendNewUserMessage(thisUser, otherUser, newUser2UserMessage); - return "redirect:/user/messages/"+otherUser.getId()+"/"; + user2UserMessageService.sendNewUserMessage(thisUser, otherUser, user2UserMessageFormBean); + return "redirect:/user/messages/" + otherUser.getId(); } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageFormBean.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageFormBean.java new file mode 100644 index 00000000..bf734448 --- /dev/null +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageFormBean.java @@ -0,0 +1,26 @@ +package org.woehlke.simpleworklist.user.messages; + + +import lombok.*; +import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.SafeHtml; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +@Getter +@Setter +@EqualsAndHashCode +@ToString +@AllArgsConstructor +@NoArgsConstructor +public class User2UserMessageFormBean implements Serializable { + + private static final long serialVersionUID = 1576610181966480168L; + + @SafeHtml(whitelistType= SafeHtml.WhiteListType.SIMPLE_TEXT) + @NotBlank + @Length(min=1,max=65535) + private String messageText; + +} diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageService.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageService.java index 71c19cdd..5b6117f4 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageService.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageService.java @@ -9,7 +9,7 @@ */ public interface User2UserMessageService { - void sendNewUserMessage(UserAccount thisUser, UserAccount otherUser, NewUser2UserMessage newUser2UserMessage); + void sendNewUserMessage(UserAccount thisUser, UserAccount otherUser, User2UserMessageFormBean user2UserMessageFormBean); int getNumberOfNewIncomingMessagesForUser(UserAccount user); diff --git a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageServiceImpl.java index bd9fc1e7..bc132754 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/messages/User2UserMessageServiceImpl.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.messages; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Page; @@ -15,12 +16,11 @@ /** * Created by tw on 16.02.2016. */ +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class User2UserMessageServiceImpl implements User2UserMessageService { - private static final Logger LOGGER = LoggerFactory.getLogger(User2UserMessageServiceImpl.class); - private final User2UserMessageRepository userMessageRepository; @Autowired @@ -30,18 +30,25 @@ public User2UserMessageServiceImpl(User2UserMessageRepository userMessageReposit @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void sendNewUserMessage(UserAccount thisUser, UserAccount otherUser, NewUser2UserMessage newUser2UserMessage) { - LOGGER.info("sendNewUserMessage"); + public void sendNewUserMessage( + UserAccount thisUser, + UserAccount otherUser, + User2UserMessageFormBean user2UserMessageFormBean + ) { + log.info("sendNewUserMessage"); User2UserMessage m = new User2UserMessage(); m.setSender(thisUser); m.setReceiver(otherUser); m.setReadByReceiver(false); - m.setMessageText(newUser2UserMessage.getMessageText()); + m.setMessageText(user2UserMessageFormBean.getMessageText()); userMessageRepository.saveAndFlush(m); } @Override - public int getNumberOfNewIncomingMessagesForUser(UserAccount receiver) { + public int getNumberOfNewIncomingMessagesForUser( + UserAccount receiver + ) { + log.info("getNumberOfNewIncomingMessagesForUser"); boolean readByReceiver = false; List user2UserMessageList = userMessageRepository.findByReceiverAndReadByReceiver(receiver, readByReceiver); @@ -50,10 +57,15 @@ public int getNumberOfNewIncomingMessagesForUser(UserAccount receiver) { @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public Page readAllMessagesBetweenCurrentAndOtherUser(UserAccount receiver, UserAccount sender, Pageable request) { + public Page readAllMessagesBetweenCurrentAndOtherUser( + UserAccount receiver, + UserAccount sender, + Pageable request + ) { + log.info("readAllMessagesBetweenCurrentAndOtherUser"); Page user2UserMessagePage = userMessageRepository.findAllMessagesBetweenCurrentAndOtherUser(sender,receiver,request); for(User2UserMessage user2UserMessage : user2UserMessagePage){ - if((!user2UserMessage.isReadByReceiver()) && (receiver.getId().longValue()== user2UserMessage.getReceiver().getId().longValue())){ + if((!user2UserMessage.getReadByReceiver()) && (receiver.getId().longValue()== user2UserMessage.getReceiver().getId().longValue())){ user2UserMessage.setReadByReceiver(true); userMessageRepository.saveAndFlush(user2UserMessage); } diff --git a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java index de87ee7b..a8723d26 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationController.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.user.register; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -15,13 +14,12 @@ import javax.validation.Valid; +@Slf4j @Controller +@RequestMapping(path = "/user/register") public class UserRegistrationController { - private static final Logger LOGGER = LoggerFactory.getLogger(UserRegistrationController.class); - private final UserAccountService userAccountService; - private final UserRegistrationService userRegistrationService; @Autowired @@ -37,7 +35,7 @@ public UserRegistrationController(UserAccountService userAccountService, UserReg * @param model * @return Formular for entering Email-Address for Registration */ - @RequestMapping(path = "/register", method = RequestMethod.GET) + @RequestMapping(path = "/", method = RequestMethod.GET) public final String registerNewUserRequestForm(Model model) { UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); model.addAttribute("userRegistrationForm", userRegistrationForm); @@ -52,10 +50,12 @@ public final String registerNewUserRequestForm(Model model) { * @param model * @return info page at success or return to form with error messages. */ - @RequestMapping(path = "/register", method = RequestMethod.POST) + @RequestMapping(path = "/", method = RequestMethod.POST) public final String registerNewUserRequestStoreAndSendEmailForVerification( @Valid UserRegistrationForm userRegistrationForm, - BindingResult result, Model model) { + BindingResult result, + Model model + ) { if (result.hasErrors()) { return "user/register/registerForm"; } else { @@ -92,8 +92,10 @@ public final String registerNewUserRequestStoreAndSendEmailForVerification( */ @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.GET) public final String registerNewUserCheckResponseAndRegistrationForm( - @PathVariable String confirmId, Model model) { - LOGGER.info("GET /confirm/" + confirmId); + @PathVariable String confirmId, + Model model + ) { + log.info("GET /confirm/" + confirmId); UserRegistration o = userRegistrationService.findByToken(confirmId); if (o != null) { userRegistrationService.registrationClickedInEmail(o); @@ -117,17 +119,19 @@ public final String registerNewUserCheckResponseAndRegistrationForm( */ @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.POST) public final String registerNewUserCheckResponseAndRegistrationStore( - @PathVariable String confirmId, - @Valid UserAccountForm userAccountForm, - BindingResult result, Model model) { - LOGGER.info("POST /confirm/" + confirmId + " : " + userAccountForm.toString()); + @PathVariable String confirmId, + @Valid UserAccountForm userAccountForm, + BindingResult result, + Model model + ) { + log.info("POST /confirm/" + confirmId + " : " + userAccountForm.toString()); userRegistrationService.registrationCheckIfResponseIsInTime(userAccountForm.getUserEmail()); - UserRegistration o = userRegistrationService.findByToken(confirmId); - if (o != null) { + UserRegistration oUserRegistration = userRegistrationService.findByToken(confirmId); + if (oUserRegistration != null) { boolean passwordsMatch = userAccountForm.passwordsAreTheSame(); if (!result.hasErrors() && passwordsMatch) { userAccountService.createUser(userAccountForm); - userRegistrationService.registrationUserCreated(o); + userRegistrationService.registrationUserCreated(oUserRegistration); return "user/register/registerDone"; } else { if (!passwordsMatch) { diff --git a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationForm.java b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationForm.java index df0c8105..a40ea8f3 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationForm.java +++ b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationForm.java @@ -1,11 +1,19 @@ package org.woehlke.simpleworklist.user.register; +import lombok.*; + import javax.validation.constraints.NotNull; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import java.io.Serializable; +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode +@ToString public class UserRegistrationForm implements Serializable { private static final long serialVersionUID = 6864871862706880939L; @@ -16,43 +24,4 @@ public class UserRegistrationForm implements Serializable { @Email(message = "Email Address is not a valid format") private String email; - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((email == null) ? 0 : email.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - UserRegistrationForm other = (UserRegistrationForm) obj; - if (email == null) { - if (other.email != null) - return false; - } else if (!email.equals(other.email)) - return false; - return true; - } - - @Override - public String toString() { - return "UserRegistrationForm [email=" + email + "]"; - } - - } diff --git a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationServiceImpl.java index 5aeb7389..46da0ea9 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/register/UserRegistrationServiceImpl.java @@ -2,6 +2,7 @@ import java.util.Date; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.slf4j.Logger; @@ -16,19 +17,14 @@ import org.woehlke.simpleworklist.config.ApplicationProperties; import org.woehlke.simpleworklist.user.token.TokenGeneratorService; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class UserRegistrationServiceImpl implements - UserRegistrationService { - - private static final Logger LOGGER = LoggerFactory.getLogger(UserRegistrationServiceImpl.class); +public class UserRegistrationServiceImpl implements UserRegistrationService { private final ApplicationProperties applicationProperties; - private final UserRegistrationRepository userRegistrationRepository; - private final TokenGeneratorService tokenGeneratorService; - private final JavaMailSender mailSender; @Autowired @@ -71,9 +67,9 @@ public void registrationSendEmailTo(String email) { o.setEmail(email); String token = tokenGeneratorService.getToken(); o.setToken(token); - LOGGER.info("To be saved: " + o.toString()); + log.info("To be saved: " + o.toString()); o = userRegistrationRepository.saveAndFlush(o); - LOGGER.info("Saved: " + o.toString()); + log.info("Saved: " + o.toString()); this.sendEmailToRegisterNewUser(o); } @@ -86,7 +82,7 @@ public UserRegistration findByToken(String confirmId) { @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void registrationSentEmail(UserRegistration o) { o.setDoubleOptInStatus(UserRegistrationStatus.REGISTRATION_SENT_MAIL); - LOGGER.info("about to save: " + o.toString()); + log.info("about to save: " + o.toString()); userRegistrationRepository.saveAndFlush(o); } @@ -121,13 +117,13 @@ private void sendEmailToRegisterNewUser(UserRegistration o) { try { this.mailSender.send(msg); } catch (MailException ex) { - LOGGER.warn(ex.getMessage() + " for " + o.toString()); + log.warn(ex.getMessage() + " for " + o.toString()); success = false; } if (success) { this.registrationSentEmail(o); } - LOGGER.info("Sent MAIL: " + o.toString()); + log.info("Sent MAIL: " + o.toString()); } diff --git a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java index efd2a717..a8721a12 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryController.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.resetpassword; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -17,13 +18,12 @@ import org.springframework.beans.factory.annotation.Autowired; import javax.validation.Valid; +@Slf4j @Controller +@RequestMapping(path = "/user/resetPassword") public class UserPasswordRecoveryController { - private static final Logger LOGGER = LoggerFactory.getLogger(UserPasswordRecoveryController.class); - private final UserAccountService userAccountService; - private final UserPasswordRecoveryService userPasswordRecoveryService; @Autowired @@ -39,7 +39,7 @@ public UserPasswordRecoveryController(UserAccountService userAccountService, Use * @param model * @return a Formular for entering the email-adress. */ - @RequestMapping(path = "/resetPassword", method = RequestMethod.GET) + @RequestMapping(path = "/", method = RequestMethod.GET) public final String passwordForgottenForm(Model model) { UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); model.addAttribute("userRegistrationForm", userRegistrationForm); @@ -54,20 +54,23 @@ public final String passwordForgottenForm(Model model) { * @param model * @return info page if without errors or formular again displaying error messages. */ - @RequestMapping(path = "/resetPassword", method = RequestMethod.POST) - public final String passwordForgottenPost(@Valid UserRegistrationForm userRegistrationForm, - BindingResult result, Model model) { + @RequestMapping(path = "/", method = RequestMethod.POST) + public final String passwordForgottenPost( + @Valid UserRegistrationForm userRegistrationForm, + BindingResult result, + Model model + ) { if (result.hasErrors()) { - LOGGER.info("----------------------"); - LOGGER.info(userRegistrationForm.toString()); - LOGGER.info(result.toString()); - LOGGER.info(model.toString()); - LOGGER.info("----------------------"); + log.info("----------------------"); + log.info(userRegistrationForm.toString()); + log.info(result.toString()); + log.info(model.toString()); + log.info("----------------------"); return "user/resetPassword/resetPasswordForm"; } else { - LOGGER.info(userRegistrationForm.toString()); - LOGGER.info(result.toString()); - LOGGER.info(model.toString()); + log.info(userRegistrationForm.toString()); + log.info(result.toString()); + log.info(model.toString()); if (userAccountService.findByUserEmail(userRegistrationForm.getEmail()) == null) { String objectName = "userRegistrationForm"; String field = "email"; @@ -79,7 +82,6 @@ public final String passwordForgottenPost(@Valid UserRegistrationForm userRegist userPasswordRecoveryService.passwordRecoverySendEmailTo(userRegistrationForm.getEmail()); return "user/resetPassword/resetPasswordSentMail"; } - } } @@ -90,14 +92,17 @@ public final String passwordForgottenPost(@Valid UserRegistrationForm userRegist * @param model * @return a Formular for entering the new Password. */ - @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.GET) - public final String enterNewPasswordFormular(@PathVariable String confirmId, Model model) { - UserPasswordRecovery o = userPasswordRecoveryService.findByToken(confirmId); - if (o != null) { - userPasswordRecoveryService.passwordRecoveryClickedInEmail(o); - UserAccount ua = userAccountService.findByUserEmail(o.getEmail()); + @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.GET) + public final String enterNewPasswordFormular( + @PathVariable String confirmId, + Model model + ) { + UserPasswordRecovery oUserPasswordRecovery = userPasswordRecoveryService.findByToken(confirmId); + if (oUserPasswordRecovery != null) { + userPasswordRecoveryService.passwordRecoveryClickedInEmail(oUserPasswordRecovery); + UserAccount ua = userAccountService.findByUserEmail(oUserPasswordRecovery.getEmail()); UserAccountForm userAccountForm = new UserAccountForm(); - userAccountForm.setUserEmail(o.getEmail()); + userAccountForm.setUserEmail(oUserPasswordRecovery.getEmail()); userAccountForm.setUserFullname(ua.getUserFullname()); model.addAttribute("userAccountForm", userAccountForm); return "user/resetPassword/resetPasswordConfirmed"; @@ -115,11 +120,13 @@ public final String enterNewPasswordFormular(@PathVariable String confirmId, Mod * @param model * @return Info Page for success or back to formular with error messages. */ - @RequestMapping(path = "/passwordResetConfirm/{confirmId}", method = RequestMethod.POST) - public final String enterNewPasswordPost(@Valid UserAccountForm userAccountForm, - BindingResult result, - @PathVariable String confirmId, - Model model) { + @RequestMapping(path = "/confirm/{confirmId}", method = RequestMethod.POST) + public final String enterNewPasswordPost( + @Valid UserAccountForm userAccountForm, + BindingResult result, + @PathVariable String confirmId, + Model model + ) { UserPasswordRecovery o = userPasswordRecoveryService.findByToken(confirmId); boolean passwordsMatch = userAccountForm.passwordsAreTheSame(); if (o != null) { diff --git a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryServiceImpl.java index ac49294a..4f9e475f 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/resetpassword/UserPasswordRecoveryServiceImpl.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.resetpassword; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -15,20 +16,16 @@ import java.util.Date; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserPasswordRecoveryServiceImpl implements UserPasswordRecoveryService { private final UserPasswordRecoveryRepository userPasswordRecoveryRepository; - private final ApplicationProperties applicationProperties; - private final TokenGeneratorService tokenGeneratorService; - private final JavaMailSender mailSender; - private static final Logger LOGGER = LoggerFactory.getLogger(UserPasswordRecoveryServiceImpl.class); - @Autowired public UserPasswordRecoveryServiceImpl(UserPasswordRecoveryRepository userPasswordRecoveryRepository, ApplicationProperties applicationProperties, TokenGeneratorService tokenGeneratorService, JavaMailSender mailSender) { this.userPasswordRecoveryRepository = userPasswordRecoveryRepository; @@ -73,9 +70,9 @@ public void passwordRecoverySendEmailTo(String email) { o.setEmail(email); String token = tokenGeneratorService.getToken(); o.setToken(token); - LOGGER.info("To be saved: " + o.toString()); + log.info("To be saved: " + o.toString()); o = userPasswordRecoveryRepository.saveAndFlush(o); - LOGGER.info("Saved: " + o.toString()); + log.info("Saved: " + o.toString()); this.sendEmailForPasswordReset(o); } @@ -83,7 +80,7 @@ public void passwordRecoverySendEmailTo(String email) { @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void passwordRecoverySentEmail(UserPasswordRecovery o) { o.setDoubleOptInStatus(UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL); - LOGGER.info("about to save: " + o.toString()); + log.info("about to save: " + o.toString()); userPasswordRecoveryRepository.saveAndFlush(o); } @@ -118,12 +115,12 @@ private void sendEmailForPasswordReset(UserPasswordRecovery o) { try { this.mailSender.send(msg); } catch (MailException ex) { - LOGGER.warn(ex.getMessage() + " for " + o.toString()); + log.warn(ex.getMessage() + " for " + o.toString()); success = false; } if (success) { this.passwordRecoverySentEmail(o); } - LOGGER.info("Sent MAIL: " + o.toString()); + log.info("Sent MAIL: " + o.toString()); } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserAccountSecurityPasswordServiceImpl.java b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserAccountSecurityPasswordServiceImpl.java index 86d88eee..89b516ea 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserAccountSecurityPasswordServiceImpl.java +++ b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserAccountSecurityPasswordServiceImpl.java @@ -1,5 +1,6 @@ package org.woehlke.simpleworklist.user.selfservice; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -16,16 +17,13 @@ import org.woehlke.simpleworklist.user.UserDetailsBean; import org.woehlke.simpleworklist.user.account.UserAccountRepository; +@Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserAccountSecurityPasswordServiceImpl implements UserAccountSecurityPasswordService { - private static final Logger LOGGER = LoggerFactory.getLogger(UserAccountSecurityPasswordServiceImpl.class); - private final UserAccountRepository userAccountRepository; - private final PasswordEncoder encoder; - private final AuthenticationManager authenticationManager; @Autowired @@ -36,7 +34,6 @@ public UserAccountSecurityPasswordServiceImpl(UserAccountRepository userAccountR this.authenticationManager = authenticationManager; } - @Override public UserDetails updatePassword(UserDetails user, String newPassword) { UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(user.getUsername(), user.getPassword()); diff --git a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangeNameForm.java b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangeNameForm.java index f98e8875..39a9ce95 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangeNameForm.java +++ b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangeNameForm.java @@ -1,6 +1,8 @@ package org.woehlke.simpleworklist.user.selfservice; import javax.validation.constraints.NotBlank; + +import lombok.*; import org.hibernate.validator.constraints.SafeHtml; import javax.validation.constraints.NotNull; @@ -9,6 +11,12 @@ /** * Created by tw on 14.03.16. */ +@Getter +@Setter +@EqualsAndHashCode +@AllArgsConstructor +@NoArgsConstructor +@ToString public class UserChangeNameForm implements Serializable { private static final long serialVersionUID = 5120488382888268418L; @@ -19,40 +27,4 @@ public class UserChangeNameForm implements Serializable { @NotBlank(message = "Fullname is compulsory") private String userFullname; - public UserChangeNameForm(){} - - public UserChangeNameForm(String userFullname){ - this.userFullname = userFullname; - } - - public String getUserFullname() { - return userFullname; - } - - public void setUserFullname(String userFullname) { - this.userFullname = userFullname; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - UserChangeNameForm that = (UserChangeNameForm) o; - - return userFullname != null ? userFullname.equals(that.userFullname) : that.userFullname == null; - - } - - @Override - public int hashCode() { - return userFullname != null ? userFullname.hashCode() : 0; - } - - @Override - public String toString() { - return "UserChangeNameForm{" + - "userFullname='" + userFullname + '\'' + - '}'; - } } diff --git a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangePasswordForm.java b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangePasswordForm.java index dc38400d..39ecdfd1 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangePasswordForm.java +++ b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserChangePasswordForm.java @@ -1,6 +1,8 @@ package org.woehlke.simpleworklist.user.selfservice; import javax.validation.constraints.NotBlank; + +import lombok.*; import org.hibernate.validator.constraints.SafeHtml; import javax.persistence.Transient; @@ -10,6 +12,11 @@ /** * Created by tw on 15.03.16. */ +@Getter +@Setter +@EqualsAndHashCode +@AllArgsConstructor +@NoArgsConstructor public class UserChangePasswordForm implements Serializable { private static final long serialVersionUID = 9149342594823222054L; @@ -37,50 +44,4 @@ public boolean passwordsAreTheSame() { return this.userPassword.compareTo(userPasswordConfirmation) == 0; } - public String getOldUserPassword() { - return oldUserPassword; - } - - public void setOldUserPassword(String oldUserPassword) { - this.oldUserPassword = oldUserPassword; - } - - public String getUserPassword() { - return userPassword; - } - - public void setUserPassword(String userPassword) { - this.userPassword = userPassword; - } - - public String getUserPasswordConfirmation() { - return userPasswordConfirmation; - } - - public void setUserPasswordConfirmation(String userPasswordConfirmation) { - this.userPasswordConfirmation = userPasswordConfirmation; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - UserChangePasswordForm that = (UserChangePasswordForm) o; - - if (oldUserPassword != null ? !oldUserPassword.equals(that.oldUserPassword) : that.oldUserPassword != null) - return false; - if (userPassword != null ? !userPassword.equals(that.userPassword) : that.userPassword != null) return false; - return userPasswordConfirmation != null ? userPasswordConfirmation.equals(that.userPasswordConfirmation) : that.userPasswordConfirmation == null; - - } - - @Override - public int hashCode() { - int result = oldUserPassword != null ? oldUserPassword.hashCode() : 0; - result = 31 * result + (userPassword != null ? userPassword.hashCode() : 0); - result = 31 * result + (userPasswordConfirmation != null ? userPasswordConfirmation.hashCode() : 0); - return result; - } - } diff --git a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java index dda00505..834faee0 100644 --- a/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java +++ b/src/main/java/org/woehlke/simpleworklist/user/selfservice/UserSelfserviceController.java @@ -1,7 +1,6 @@ package org.woehlke.simpleworklist.user.selfservice; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -35,13 +34,11 @@ /** * Created by Fert on 14.03.2016. */ +@Slf4j @Controller @RequestMapping(path = "/user/selfservice") public class UserSelfserviceController extends AbstractController { - private static final Logger LOGGER = LoggerFactory.getLogger(UserSelfserviceController.class); - - private final UserAccountAccessService userAccountAccessService; @Autowired @@ -51,14 +48,16 @@ public UserSelfserviceController(UserAccountAccessService userAccountAccessServi @RequestMapping(path = "/profile", method = RequestMethod.GET) public String userProfileAndMenu( - @PageableDefault(sort = "userFullname", direction = Sort.Direction.DESC) Pageable request, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @PageableDefault(sort = "userFullname", direction = Sort.Direction.DESC) Pageable request, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); Page users = userAccountService.findAll(request); for(UserAccount u:users){ - LOGGER.info(u.getUserFullname()+": "+u.getUserEmail()); + log.info(u.getUserFullname()+": "+u.getUserEmail()); } Map usersToNewMessages = userAccountService.getNewIncomingMessagesForEachOtherUser(user); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserProfileAndMenu(locale); @@ -71,8 +70,9 @@ public String userProfileAndMenu( @RequestMapping(path = "/name", method = RequestMethod.GET) public String userNameForm( - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -86,9 +86,11 @@ public String userNameForm( @RequestMapping(path = "/name", method = RequestMethod.POST) public String userNameStore( - @Valid UserChangeNameForm username, - BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @Valid UserChangeNameForm username, + BindingResult result, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -107,7 +109,9 @@ public String userNameStore( @RequestMapping(path = "/password", method = RequestMethod.GET) public String userPasswordForm( - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -121,57 +125,63 @@ public String userPasswordForm( @RequestMapping(path = "/password", method = RequestMethod.POST) public String userPasswordStore( - @Valid UserChangePasswordForm userChangePasswordForm, - BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @Valid UserChangePasswordForm userChangePasswordForm, + BindingResult result, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ) { Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); - LOGGER.info("---------------------------------------------------------"); - LOGGER.info("userPasswordStore"); + log.info("---------------------------------------------------------"); + log.info("userPasswordStore"); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserChangePassword(locale); model.addAttribute("breadcrumb", breadcrumb); model.addAttribute("thisUser", user); model.addAttribute("userChangePasswordForm", userChangePasswordForm); if(result.hasErrors()) { - LOGGER.info("result has Errors"); + log.info("result has Errors"); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/password"; } else { if(! userChangePasswordForm.passwordsAreTheSame()){ - LOGGER.info("passwords Are Not The Same"); + log.info("passwords Are Not The Same"); String objectName = "userChangePasswordForm"; String field = "userPassword"; String defaultMessage = "Passwords aren't the same."; FieldError e = new FieldError(objectName, field, defaultMessage); result.addError(e); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/password"; } if(!userAccountAccessService.confirmUserByLoginAndPassword(user.getUserEmail(), userChangePasswordForm.getOldUserPassword())){ - LOGGER.info("old Password is wrong"); + log.info("old Password is wrong"); String objectName = "userChangePasswordForm"; String field = "oldUserPassword"; String defaultMessage = "Password is incorrect"; FieldError e = new FieldError(objectName, field, defaultMessage); result.addError(e); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/password"; } - LOGGER.info("OK"); + log.info("OK"); userAccountAccessService.changeUsersPassword(userChangePasswordForm,user); return "redirect:/user/selfservice/profile"; } } @RequestMapping(path = "/contexts", method = RequestMethod.GET) - public String userAreasForm(@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model){ + public String userAreasForm( + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model + ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); UserChangeDefaultContextForm bean = new UserChangeDefaultContextForm(); @@ -189,7 +199,9 @@ public String userAreasForm(@ModelAttribute("userSession") UserSessionBean userS public String userAreasSave( @Valid @ModelAttribute("thisUser") UserChangeDefaultContextForm thisUser, BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -198,9 +210,9 @@ public String userAreasSave( Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserContexts(locale); model.addAttribute("breadcrumb", breadcrumb); if(result.hasErrors()){ - LOGGER.info("userAreasSave: result has Errors"); + log.info("userAreasSave: result has Errors"); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/context/all"; } else { @@ -214,7 +226,11 @@ public String userAreasSave( } @RequestMapping(path = "/context/add", method = RequestMethod.GET) - public String userNewAreaForm(@ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model){ + public String userNewAreaForm( + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model + ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); model.addAttribute("thisUser", user); @@ -227,9 +243,11 @@ public String userNewAreaForm(@ModelAttribute("userSession") UserSessionBean use @RequestMapping(path = "/context/add", method = RequestMethod.POST) public String userNewAreaStore( - @Valid NewContextForm newContext, - BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @Valid NewContextForm newContext, + BindingResult result, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context context = super.getContext(userSession); UserAccount user = context.getUserAccount(); @@ -237,9 +255,9 @@ public String userNewAreaStore( model.addAttribute("breadcrumb", breadcrumb); model.addAttribute("thisUser", user); if(result.hasErrors()){ - LOGGER.info("userNewAreaStore: result has Errors"); + log.info("userNewAreaStore: result has Errors"); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/context/add"; } else { @@ -250,8 +268,10 @@ public String userNewAreaStore( @RequestMapping(path = "/context/edit/{contextId}", method = RequestMethod.GET) public String userEditAreaForm( - @PathVariable("contextId") Context context, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @PathVariable("contextId") Context context, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Context contextFromSession = super.getContext(userSession); UserAccount user = contextFromSession.getUserAccount(); @@ -270,14 +290,16 @@ public String userEditAreaStore( @Valid NewContextForm editContext, @PathVariable("contextId") Context context, BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserContextEdit(locale, context); model.addAttribute("breadcrumb", breadcrumb); if(result.hasErrors()){ - LOGGER.info("userEditAreaStore: result has Errors"); + log.info("userEditAreaStore: result has Errors"); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/context/edit"; } else { @@ -292,9 +314,10 @@ public String userEditAreaStore( //TODO: has projects or tasks? -> display message in frontend @RequestMapping(path = "/context/delete/{id}", method = RequestMethod.GET) public String userDeleteArea( - @PathVariable("id") Context context, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + @PathVariable("id") Context context, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ UserAccount thisUser = context.getUserAccount(); model.addAttribute("userSession",userSession); @@ -302,17 +325,17 @@ public String userDeleteArea( Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserContextDelete(locale,context); model.addAttribute("breadcrumb", breadcrumb); if(userSession.getContextId() == context.getId()){ - LOGGER.info("context is active in session: "+ context); + log.info("context is active in session: "+ context); } else { if(thisUser.getDefaultContext().getId() == context.getId()){ - LOGGER.info("context is default context of this user: "+ context); + log.info("context is default context of this user: "+ context); } else { if(contextService.contextHasItems(context)){ - LOGGER.info("context has items: "+ context); + log.info("context has items: "+ context); } else { boolean deleted = contextService.delete(context); if(!deleted){ - LOGGER.info("context not deleted: "+ context); + log.info("context not deleted: "+ context); } } } @@ -322,8 +345,9 @@ public String userDeleteArea( @RequestMapping(path = "/language", method = RequestMethod.GET) public String userLanguageForm( - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); model.addAttribute("thisUser", user); @@ -336,18 +360,19 @@ public String userLanguageForm( @RequestMapping(path = "/language", method = RequestMethod.POST) public String userLanguageStore( - @Valid UserChangeLanguageForm userChangeLanguageForm, - BindingResult result, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, Model model + @Valid UserChangeLanguageForm userChangeLanguageForm, + BindingResult result, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model ){ UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserChangeLanguage(locale); model.addAttribute("breadcrumb", breadcrumb); if(result.hasErrors()){ - LOGGER.info("userLanguageStore: result has Errors"); + log.info("userLanguageStore: result has Errors"); for(ObjectError error : result.getAllErrors()){ - LOGGER.info(error.toString()); + log.info(error.toString()); } return "user/selfservice/language"; } else { diff --git a/src/main/resources/templates/user/messages/all.html b/src/main/resources/templates/user/messages/all.html index 305b06cb..00ec20b8 100644 --- a/src/main/resources/templates/user/messages/all.html +++ b/src/main/resources/templates/user/messages/all.html @@ -1,74 +1,74 @@ - - - - Title - - - -
-

- Your Dialog with - otherUser.userFullname -

-
- -
- - -
-
-
- -
-
-
-
-
-
-
-
- -