You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2021/12/22 14:12:14 UTC
[openmeetings] branch java11-modules updated (6c00af6 -> c824bb4)
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a change to branch java11-modules
in repository https://gitbox.apache.org/repos/asf/openmeetings.git.
from 6c00af6 Some more work on modules
add 6b15ae4 [OPENMEETINGS-2640] slf4j tika, mysql, plugins
add 88c38ee [OPENMEETINGS-2640] logback
add 8ac48db [OPENMEETINGS-2640] some exclusions are added
add 51c20bf [OPENMEETINGS-2640] commons-dbcp, maven-source-plugin
add 3a1b9c7 [OPENMEETINGS-2640] tomcat
add e5f6815 [OPENMEETINGS-2639] invitation hash should be generated for password protected invitations
add 3549481 no jira: hazelcast warning is eliminated
add 613c13c [OPENMEETINGS-2640] commons-pool, mssql
add 41737f4 [OPENMEETINGS-2640] xstream
add 8494d0c [OPENMEETINGS-2640] ojdbc, tika, mockito
add ebddc8e [OPENMEETINGS-2640] tika
add b13bf82 [OPENMEETINGS-2637] initial commit
add 612551b Merge branch 'master' into bootstrap-5
add 45be7ab [OPENMEETINGS-2637] More work on migration
add 37c12d6 test parameters are removed
add fee30bd [OPENMEETINGS-2637] Merge branch 'bootstrap-5'
add 600d411 [OPENMEETINGS-2640] wicket-bootstrap, prometheus
add 50f8b34 OPENMEETINGS-2654 Update website with new commands for updating JS code dynamically. (#144)
add 88a6de9 OPENMEETINGS-2655 Adjust sidebar and desktop sharer icon to fit into button and menu. (#145)
add 2fa40b5 Merge branch 'master' of github.com:apache/openmeetings
add c166be6 [OPENMEETINGS-2652] multi-select should work better
add 595e2af OPENMEETINGS-2420 GEnerates swagger and update generated website to link swagger doc.
add ed711d9 OPENMEETINGS-2420 Add additional tab.
add 6c233f3 OPENMEETINGS-2420 Add additional tab part2.
add a8e0027 Merge pull request #146 from apache/feature/OPENMEETINGS-2420-generate-swagger-and-provide-to-users-using-swagger-ui
add 9fcc79f OPENMEETINGS-2420 Update documentation and tagging for documenting Rest API. Sync with website.
add 17c1fa0 OPENMEETINGS-2420 Update dependency to move to top level.
add 7db3f9a OPENMEETINGS-2420 Update Rest API docs for RoomService.
add 6e202af Merge pull request #147 from apache/feature/OPENMEETINGS-2420-generate-swagger-improvements
add 0d08259 [OPENMEETINGS-2420] whitespaces, dependency versions
add 2f802e9 [OPENMEETINGS-2652] test is fixed
add dcb1235 Merge branch 'master' into feature/OPENMEETINGS-2420-update-swagger-rest-api-docs-RoomService
add ad654ee OPENMEETINGS-2420 Fix typo in generated json.
add 525bd84 Merge pull request #148 from apache/feature/OPENMEETINGS-2420-update-swagger-rest-api-docs-RoomService
add 55fcb94 OPENMEETINGS-2660 Update response codes and objects to be generated. Add UserService API tags for documentation.
add 8b6eb93 OPENMEETINGS-2660 Update and add WbWebService.
add 6b078d5 OPENMEETINGS-2660 Add RecordingWebService.java API Rest docs.
add c7f3429 OPENMEETINGS-2660 Add NetTestWebService and RecordingWebService.
add b5d1544 OPENMEETINGS-2660 Add InfoService.
add 26ee1b5 OPENMEETINGS-2660 Add Rest API documentation annotation for GroupService.
add 397efd2 OPENMEETINGS-2660 Add Rest API documentation annotation for FileService.
add 26d49e8 OPENMEETINGS-2660 Add Rest API documentation annotation for ErrorService.
add cd29850 OPENMEETINGS-2660 Add Rest API documentation annotation for CalendarService.
add 082ceca Merge pull request #149 from apache/feature/OPENMEETINGS-2660-update-swagger-rest-api-docs-additional-Web-Services
add 7ea9706 OPENMEETINGS-2660 Update specs generated so that ordering in generated docs is defined.
add 66b8d30 Merge pull request #150 from apache/feature/OPENMEETINGS-2660-fix-api-docs-generated-API-order
add 4a656bd [OPENMEETINGS-2659] vertical lines in calendar
add e1de3d2 [OPENMEETINGS-2640] maven-javadoc-plugin, font-awesome
add e01c014 OPENMEETINGS-2664 Fix consumes tag so generated swagger is correct.
add 65cceb3 Merge pull request #151 from apache/feature/OPENMEETINGS-2664-fix-consumes-tag-for-rest-apis
add 73a96cd OPENMEETINGS-2661 Add Rest examples and add Node.js Module.
add 1fc5032 Merge pull request #152 from apache/feature/OPENMEETINGS-2661-update-rest-examples-add-node-js-module
add 97d1730 OPENMEETINGS-2661 Fix link and typo.
add 29b6c33 Merge pull request #153 from apache/feature/OPENMEETINGS-2661-fix-typo-and-link
add 828f1f0 OPENMEETINGS-2661 Fix another typo.
add a57aa10 Merge pull request #155 from apache/feature/OPENMEETINGS-2661-fix-another-typo
add feb2545 Revert "OPENMEETINGS-2664 Fix consumes tag so generated swagger is correct."
add 882e265 OPENMEETINGS-2420 Update news section on OpenAPI spec and Node.js integration.
add f897caf [OPENMEETINGS-2640] wicket namespace is updated
add de05f65 [OPENMEETINGS-2640] wicket, maven-war-plugin
add c46bdc7 [OPENMEETINGS-2640] wicketstuff, junit, tomcat
add 9756d54 OPENMEETINGS-2420 Add both release and other news section for Node.js and OpenAPI swagger doc link.
add 051dab4 Merge branch 'master' of github.com:apache/openmeetings
add a3a8865 Merge branch 'master' of github.com:apache/openmeetings
add b2f565b [OPENMEETINGS-2640, OPENMEETINGS-2665] wicket-bootstrap
add 5f787ce no jira: urls are corrected
add 65a56e7 [OPENMEETINGS-2637] minor UI issues
add b5bfab6 [OPENMEETINGS-2666] Backup import is improved
add 63dd35e [OPENMEETINGS-2668] upload to various 'roots' should work
add 4ed7cf0 OPENMEETINGS-2667 Add ServiceResult updated schema wrapper to match CXF-RS response structure including root element.
add 1876650 OPENMEETINGS-2667 Fix schema with root element and example values for responses.
add 4e3d592 OPENMEETINGS-2667 Fix RoomService to have correct response schema and an example value.
add 642f4c2 OPENMEETINGS-2667 Fix Recording and WbService to have schema matching response and example values.
add 600abcb OPENMEETINGS-2667 Update Info Service with correct response schema and an example response.
add 77f5211 OPENMEETINGS-2667 Fix GroupService to have correct response schema definition and an example value.
add b949e0c OPENMEETINGS-2667 Update FileService to have correct schema definition and an example response.
add 845995e OPENMEETINGS-2667 Update CalendarService with response schema matching actual response and add an example value.
add 4daf7c1 Merge pull request #156 from apache/feature/OPENMEETINGS-2667-update-schema-definition-for-response-wrapping-in-root-element
add ca98a7a Merge branch 'master' of github.com:apache/openmeetings
add f30ddd6 OPENMEETINGS-2674 Update and add section for PHP Composer client module.
add 5af06ba Merge pull request #157 from apache/feature/OPENMEETINGS-2674-update-with-php-example
add 28446ce OPENMEETINGS-2674 Fix typo in news section.
add 30b7d1c OPENMEETINGS-2674 Update link from swagger to PHP example integration.
add c535508 [OPENMEETINGS-2640] junit, spring, tomcat, cxf, asterisk-java, postgres, swagger
add 8497914 [OPENMEETINGS-2640] mockito, spring and wicket-jquery-ui
add 80cdb0d OPENMEETINGS-2678 Update and ignore if Notificaiton API is not available.
add 127d137 OPENMEETINGS-2678 Add review comment.
add 5b0e6b8 Merge pull request #159 from apache/feature/OPENMEETINGS-2678-ios-notification-api
add f69af21 OPENMEETINGS-2681 Improve margins and when whiteboard is disabled.
add bf1a5b0 Merge pull request #160 from apache/feature/OPENMEETINGS-2681-improve-and-remove-margins-that
add d774bea OPENMEETINGS-2681 revert fixed menu size, since it enlarges in mobile viewport.
add 220f9fe Merge pull request #161 from apache/feature/OPENMEETINGS-2681-improve-and-remove-margins-that
add 7e33756 OPENMEETINGS-2684, OPENMEETINGS-2280 Apply viewport and fix height to adjust when resizing occurs for iOS/Mobile browsers.
add 3102717 OPENMEETINGS-2684 Remove unused css.
add 886ba52 Merge pull request #162 from apache/feature/OPENMEETINGS-2684-update-viewport-and-adjust-height
add 4a85d9d OPENMEETINGS-2684 replace whitespaces with tab.
add 57aea57 Merge branch 'master' of github.com:apache/openmeetings
add 8f94d1d OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on mobile.
add 56cb5fb Merge pull request #164 from apache/feature/OPENMEETINGS-2683-manifest-file-for-saving-to-home-screen
add 92e19ec OPENMEETINGS-2692 Update manifest to get webapp name from base URL config.
add c2b0254 Merge pull request #165 from apache/feature/OPENMEETINGS-2692-update-webapp-path-for-manifest-references
add 3d7001d OPENMEETINGS-2693 Update instructions on how to change Mobile Icons.
add 6bbb3d5 OPENMEETINGS-2693 Update docs and convert to markdown.
add 739d682 Merge pull request #167 from apache/feature/OPENMEETINGS-2693-update-instructions-how-to-change-icons
add 45c0299 OPENMEETINGS-2693 Fix SVG header license.
add d1259e6 OPENMEETINGS-2692 Update review comments on parsing path element.
add bedde16 OPENMEETINGS-2692 Update to use URI.resolve.
add 3cef7f5 OPENMEETINGS-2692 change to log without stack trace.
add 86ef9ff OPENMEETINGS-2692 Update review comments around method handling.
add b25113a Merge pull request #166 from apache/feature/OPENMEETINGS-2692-update-webapp-path-for-manifest-references
add 01d376a [OPENMEETINGS-2675] openjpa
add 365fe62 [OPENMEETINGS-2675] mysql, postgres, spring
add d122b24 6.2.0 Release Candidate 1
add 50f1c35 6.2.0 Release Candidate 1
add 303c1bb 6.2.0 Release Candidate 1
add 349f810 Update Changelog file with correct list of issues fixed in 6.2.0
add bf2a0a4 Update and add 1 additional Jira to Changelog.
add bdb0760 6.2.0 Release Candidate 2
add 31686b2 Merge branch 'master' into release-6-2-0
add 6296bb1 Update information for v6.2.0 and additional changes.
add a7216ac 6.2.0 Release Candidate 3
add f14472b Merge branch 'release-6-2-0'
add 9880bdd Update master with changes from release 6.2.0.
add ebfa674 Fix repo URL to master.
add 7a4b334 Merge pull request #169 from apache/feature/release-merge-back
add 63fde57 OPENMEETINGS-2695 Update website screenshots.
add 4062edc OPENMEETINGS-2695 Resize to smaller file size.
add eb4df3c Merge pull request #168 from apache/feature/OPENMEETINGS-2695-update-website-screenshots
add e4481c0 [OPENMEETINGS-2701] web-service errors are visible to user; build time is reduced
add 8457e58 [OPENMEETINGS-2675] spring, commons-cli, postgres, jetty
add 6b7ba12 [OPENMEETINGS-2701] tests should be fixed
add 253f12b [OPENMEETINGS-2701] tests should be fixed
add 35c45c8 [OPENMEETINGS-2675] tomcat
add 507751a [OPENMEETINGS-2702] wb-tools selector is fixed
add 3850b5a [OPENMEETINGS-2701] another attempt to fix tests
add 438fff8 [OPENMEETINGS-2703] browser warning should be eliminated, sonar should be happier
add 1276607 [OPENMEETINGS-2703] code clean-up
add 153278e [OPENMEETINGS-2703] test is fixed
add 8716d6c [OPENMEETINGS-2700] screensharing is disabled if getDisplayMedia is unavailable
add 206bbca [OPENMEETINGS-2710] unenroll seems to be fixed
add b54676a [OPENMEETINGS-2709] room sidebar tab text should look better
add eb368b3 [OPENMEETINGS-2708] wb dropdowns are fixed one more time
add 08fbc69 [OPENMEETINGS-2706] confirm popup should be functional
add 08d3670 [OPENMEETINGS-2712] alerts overlapping is fixed
add f480c97 [OPENMEETINGS-2707] my-rooms header text looks better
add 96aad9d [OPENMEETINGS-2690] there is more room for Enter button
add 5cee9a5 [OPENMEETINGS-2488] bootstrap-confirmation used instead of dialog
add 6f36145 [OPENMEETINGS-2687] upload is blocked on start, progress is improved
add 2ab8d3f [OPENMEETINGS-2714] invitation is saved as expected
add 0fb6820 [OPENMEETINGS-2648] UI backup import is more responsive
add 0feade0 [OPENMEETINGS-2707] tooltip is added
add 299425e [OPENMEETINGS-2675] libraries, test logging
new c824bb4 Merge branch 'master' into java11-modules Some errors are fixed
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.gitignore | 3 +
CHANGELOG.md | 45 +-
README.md | 23 +-
openmeetings-core/pom.xml | 18 -
openmeetings-core/src/main/java/module-info.java | 24 +-
.../apache/openmeetings/core/mail/MailHandler.java | 30 +-
.../org/apache/openmeetings/core/remote/KRoom.java | 2 +-
.../core/util/ChatWebSocketHelper.java | 2 +-
.../openmeetings/core/util/WebSocketHelper.java | 2 +-
.../openmeetings/core/mail/TestMailSending.java | 10 +-
.../openmeetings/core/remote/BaseMockedTest.java | 12 +-
.../core/remote/TestNotConnectedMocked.java | 2 +-
.../core/remote/TestRecordingFlowMocked.java | 10 +-
.../core/remote/TestRoomFlowMocked.java | 14 +-
.../core/remote/TestSetupFlowMocked.java | 20 +-
openmeetings-db/pom.xml | 32 +-
openmeetings-db/src/main/java/module-info.java | 14 +-
.../apache/openmeetings/{ => db}/IApplication.java | 2 +-
.../apache/openmeetings/{ => db}/IWebSession.java | 2 +-
.../db/dao/basic/ConfigurationDao.java | 2 +-
.../openmeetings/db/dao/room/InvitationDao.java | 8 +
.../db/entity/calendar/Appointment.java | 4 +
.../openmeetings/db/entity/room/Invitation.java | 4 +
.../apache/openmeetings/db/entity/room/Room.java | 4 +
.../openmeetings/db/util/ApplicationHelper.java | 4 +-
.../openmeetings/db/util/ws/RoomMessage.java | 1 +
openmeetings-install/pom.xml | 5 +-
.../src/main/java/module-info.java | 17 +-
.../apache/openmeetings/backup/BackupExport.java | 58 +-
.../apache/openmeetings/backup/BackupImport.java | 201 ++++---
.../apache/openmeetings/backup/ProgressHolder.java | 35 --
.../java/org/apache/openmeetings/cli/Admin.java | 11 +-
.../installation/ImportInitvalues.java | 2 +-
openmeetings-server/pom.xml | 6 +-
.../src/site/markdown/LogoAndIcons.md | 28 +
.../Features_Screen_Conference_Room_Thumb.png | Bin 230947 -> 0 bytes
.../images/cut_administration_configuration.png | Bin 203669 -> 0 bytes
.../resources/images/cut_conference_room_om5.png | Bin 209105 -> 0 bytes
.../site/resources/images/cut_file_explorer.png | Bin 390104 -> 0 bytes
.../resources/images/cut_integrated_calendar.png | Bin 55245 -> 0 bytes
.../site/resources/images/cut_integration_api.png | Bin 152877 -> 0 bytes
.../site/resources/images/cut_private_messages.png | Bin 75489 -> 0 bytes
.../resources/images/cut_recordings_playback.png | Bin 311981 -> 0 bytes
.../src/site/resources/images/desktopsharing.png | Bin 35736 -> 0 bytes
.../site/resources/images/recordings_timeleine.png | Bin 231190 -> 0 bytes
.../screenshots/administration-configuration.png | Bin 0 -> 434836 bytes
.../images/screenshots/calendar-screenshot.png | Bin 0 -> 234263 bytes
.../screenshots/conference-room-av-settings.jpg | Bin 0 -> 157090 bytes
.../resources/images/screenshots/file-explorer.png | Bin 0 -> 646616 bytes
.../images/screenshots/integration-api.png | Bin 0 -> 251807 bytes
.../images/screenshots/private-messages.png | Bin 0 -> 312453 bytes
.../images/screenshots/recordings-playback.png | Bin 0 -> 527528 bytes
.../images/screenshots/screenshot_OM6-2.jpg | Bin 0 -> 136688 bytes
.../resources/images/screenshots/share-screen.jpg | Bin 0 -> 143210 bytes
openmeetings-server/src/site/resources/js/site.js | 2 +-
openmeetings-server/src/site/site.xml | 4 +-
.../src/site/xdoc/BuildInstructions.xml | 23 +-
.../src/site/xdoc/ConfluencePlugin.xml | 2 +-
openmeetings-server/src/site/xdoc/JiraPlugin.xml | 2 +-
openmeetings-server/src/site/xdoc/NewsArchive.xml | 32 +
.../src/site/xdoc/RestAPISample.xml | 121 +++-
.../src/site/xdoc/WebappNamePath.xml | 7 -
openmeetings-server/src/site/xdoc/WebsiteGuide.xml | 2 +-
openmeetings-server/src/site/xdoc/downloads.xml | 30 +-
openmeetings-server/src/site/xdoc/index.xml | 107 ++--
openmeetings-service/pom.xml | 10 -
.../src/main/java/module-info.java | 35 +-
.../service/calendar/caldav/IcalUtils.java | 254 ++++----
.../openmeetings/service/mail/EmailManager.java | 2 +-
.../mail/template/AbstractTemplatePanel.html | 2 +-
.../mail/template/AbstractTemplatePanel.java | 4 +-
.../service/mail/template/FeedbackTemplate.html | 2 +-
.../service/mail/template/InvitationTemplate.html | 2 +-
.../mail/template/RegisterUserTemplate.html | 2 +-
.../template/RequestContactConfirmTemplate.html | 2 +-
.../mail/template/RequestContactTemplate.html | 2 +-
.../mail/template/ResetPasswordTemplate.html | 2 +-
.../subject/AppointmentReminderTemplate.java | 2 +-
.../mail/template/subject/AppointmentTemplate.html | 2 +-
.../mail/template/subject/AppointmentTemplate.java | 2 +-
.../subject/CanceledAppointmentTemplate.java | 2 +-
.../subject/CreatedAppointmentTemplate.java | 2 +-
.../subject/InvitedAppointmentTemplate.html | 2 +-
.../subject/InvitedAppointmentTemplate.java | 2 +-
.../subject/NewGroupUsersNotificationTemplate.html | 2 +-
.../subject/RecordingExpiringTemplate.html | 2 +-
.../subject/UpdatedAppointmentTemplate.java | 2 +-
.../service/room/InvitationManager.java | 10 +-
openmeetings-util/pom.xml | 40 +-
openmeetings-util/src/main/java/module-info.java | 30 +-
.../openmeetings/util/OpenmeetingsVariables.java | 19 +
.../org/apache/openmeetings/util/StoredFile.java | 2 +-
.../openmeetings/util/crypt/CryptProvider.java | 3 -
.../util/mail/ByteArrayDataSource.java | 2 +-
.../apache/openmeetings/util/mail/IcalHandler.java | 25 +-
openmeetings-util/src/test/java/module-info.test | 25 -
.../{NonJenkinsTests.java => NonJenkinsTest.java} | 13 +-
openmeetings-web/pom.xml | 119 +---
openmeetings-web/src/main/front/chat/src/chat.js | 2 +-
openmeetings-web/src/main/front/main/src/index.js | 7 +
.../src/main/front/main/src/omutils.js | 25 +-
.../src/main/front/room/src/quick-poll.js | 4 +-
.../src/main/front/room/src/user-list.js | 3 +-
openmeetings-web/src/main/front/room/src/video.js | 5 -
.../src/main/front/settings/src/video-util.js | 16 +-
openmeetings-web/src/main/front/wb/src/wb-tools.js | 16 +-
openmeetings-web/src/main/java/module-info.java | 50 ++
.../openmeetings/web/admin/AdminActionsPanel.html | 2 +-
.../openmeetings/web/admin/AdminActionsPanel.java | 2 +-
.../openmeetings/web/admin/AdminBasePanel.html | 4 +-
.../openmeetings/web/admin/backup/BackupPanel.html | 67 ++-
.../openmeetings/web/admin/backup/BackupPanel.java | 170 ++----
.../backup/BackupUploadResourceReference.java | 99 +++
.../web/admin/configurations/ConfigsPanel.html | 4 +-
.../web/admin/connection/ConnectionsPanel.html | 6 +-
.../web/admin/connection/ConnectionsPanel.java | 4 +-
.../openmeetings/web/admin/email/EmailForm.java | 2 +-
.../openmeetings/web/admin/email/EmailPanel.html | 6 +-
.../openmeetings/web/admin/extra/ExtraPanel.html | 4 +-
.../web/admin/groups/GroupUsersPanel.html | 6 +-
.../web/admin/groups/GroupUsersPanel.java | 6 +-
.../openmeetings/web/admin/groups/GroupsPanel.html | 4 +-
.../openmeetings/web/admin/groups/GroupsPanel.java | 2 +-
.../web/admin/labels/AddLanguageDialog.html | 2 +-
.../openmeetings/web/admin/labels/LangPanel.html | 26 +-
.../openmeetings/web/admin/labels/LangPanel.java | 2 +-
.../openmeetings/web/admin/ldaps/LdapsPanel.html | 4 +-
.../openmeetings/web/admin/oauth/OAuthForm.java | 2 +-
.../openmeetings/web/admin/oauth/OAuthPanel.html | 8 +-
.../openmeetings/web/admin/rooms/RoomForm.java | 8 +-
.../openmeetings/web/admin/rooms/RoomsPanel.html | 16 +-
.../web/admin/users/PasswordDialog.html | 4 +-
.../openmeetings/web/admin/users/UserForm.html | 2 +-
.../openmeetings/web/admin/users/UserForm.java | 4 +-
.../openmeetings/web/admin/users/UsersPanel.html | 4 +-
.../openmeetings/web/admin/users/UsersPanel.java | 2 +-
.../apache/openmeetings/web/app/Application.java | 71 +--
.../web/app/Application.properties.xml | 23 +-
.../web/app/Application_ar.properties.xml | 16 +-
.../web/app/Application_bg.properties.xml | 23 +-
.../web/app/Application_bn.properties.xml | 23 +-
.../web/app/Application_ca.properties.xml | 23 +-
.../web/app/Application_cs.properties.xml | 23 +-
.../web/app/Application_da.properties.xml | 23 +-
.../web/app/Application_de.properties.xml | 12 +-
.../web/app/Application_el.properties.xml | 23 +-
.../web/app/Application_es.properties.xml | 12 +-
.../web/app/Application_fa.properties.xml | 12 +-
.../web/app/Application_fi.properties.xml | 23 +-
.../web/app/Application_fr.properties.xml | 12 +-
.../web/app/Application_gl.properties.xml | 23 +-
.../web/app/Application_hi.properties.xml | 23 +-
.../web/app/Application_hu.properties.xml | 12 +-
.../web/app/Application_in.properties.xml | 23 +-
.../web/app/Application_it.properties.xml | 12 +-
.../web/app/Application_iw.properties.xml | 23 +-
.../web/app/Application_ja.properties.xml | 12 +-
.../web/app/Application_ko.properties.xml | 23 +-
.../web/app/Application_ku.properties.xml | 23 +-
.../web/app/Application_lo.properties.xml | 14 +-
.../web/app/Application_nl.properties.xml | 23 +-
.../web/app/Application_pl.properties.xml | 14 +-
.../web/app/Application_pt.properties.xml | 23 +-
.../web/app/Application_pt_BR.properties.xml | 14 +-
.../web/app/Application_ru.properties.xml | 12 +-
.../web/app/Application_sk.properties.xml | 23 +-
.../web/app/Application_sv.properties.xml | 21 +-
.../web/app/Application_ta.properties.xml | 23 +-
.../web/app/Application_th.properties.xml | 23 +-
.../web/app/Application_tk.properties.xml | 23 +-
.../web/app/Application_tr.properties.xml | 23 +-
.../web/app/Application_uk.properties.xml | 12 +-
.../web/app/Application_ur.properties.xml | 23 +-
.../web/app/Application_zh_CN.properties.xml | 12 +-
.../web/app/Application_zh_TW.properties.xml | 23 +-
.../apache/openmeetings/web/app/WebSession.java | 2 +-
.../openmeetings/web/app/WhiteboardManager.java | 2 +-
.../apache/openmeetings/web/common/Captcha.html | 2 +-
.../openmeetings/web/common/ComunityUserForm.html | 2 +-
.../openmeetings/web/common/ErrorMessagePanel.html | 2 +-
.../openmeetings/web/common/FormActionsPanel.html | 2 +-
.../openmeetings/web/common/FormActionsPanel.java | 2 +-
.../openmeetings/web/common/GeneralUserForm.html | 2 +-
.../openmeetings/web/common/GeneralUserForm.java | 2 +-
.../openmeetings/web/common/HeaderPanel.html | 2 +-
.../apache/openmeetings/web/common/ImagePanel.html | 2 +-
.../openmeetings/web/common/InvitationDialog.html | 2 +-
.../openmeetings/web/common/InvitationDialog.java | 1 +
.../openmeetings/web/common/InvitationForm.html | 2 +-
.../openmeetings/web/common/InvitationForm.java | 8 +-
.../apache/openmeetings/web/common/MainPanel.html | 2 +-
.../apache/openmeetings/web/common/MainPanel.java | 2 +-
.../apache/openmeetings/web/common/NameDialog.html | 4 +-
.../openmeetings/web/common/OmPagingNavigator.html | 2 +-
.../web/common/PagedEntityListPanel.html | 6 +-
.../web/common/PagingNavigatorPanel.html | 6 +-
.../web/common/UploadableImagePanel.html | 2 +-
.../web/common/UploadableImagePanel.java | 2 +-
.../common/confirmation/ConfirmableAjaxBorder.html | 26 -
.../common/confirmation/ConfirmableAjaxBorder.java | 74 ---
.../common/confirmation/ConfirmationBehavior.java | 112 ----
.../common/confirmation/ConfirmationConfig.java | 114 ----
.../common/confirmation/ConfirmationDialog.java | 77 ---
.../common/confirmation/ConfirmationHelper.java | 47 ++
.../common/confirmation/bootstrap-confirmation.js | 596 ------------------
.../common/datetime/AbstractOmDateTimePicker.html | 2 +-
.../openmeetings/web/common/menu/MenuPanel.html | 2 +-
.../web/common/tree/ConvertingErrorsDialog.html | 2 +-
.../web/common/tree/FileItemPanel.html | 2 +-
.../web/common/tree/FileTreePanel.html | 25 +-
.../web/common/tree/FileTreePanel.java | 67 +--
.../openmeetings/web/common/tree/FolderPanel.html | 2 +-
.../web/common/tree/OmTreeProvider.java | 2 +-
.../openmeetings/web/common/tree/filetree.js | 13 +-
.../upload/UploadForm.html} | 38 +-
.../openmeetings/web/common/upload/UploadForm.java | 120 ++++
.../web/common/upload/UploadResourceReference.java | 148 +++++
.../openmeetings/web/common/upload/upload.js | 126 ++++
.../openmeetings/web/pages/AccessDeniedPage.html | 2 +-
.../apache/openmeetings/web/pages/BasePage.html | 34 +-
.../apache/openmeetings/web/pages/BasePage.java | 2 +-
.../apache/openmeetings/web/pages/HashPage.html | 2 +-
.../openmeetings/web/pages/InternalErrorPage.html | 2 +-
.../web/pages/InvitationPasswordDialog.html | 2 +-
.../apache/openmeetings/web/pages/MainPage.html | 2 +-
.../openmeetings/web/pages/NotInitedPage.html | 2 +-
.../apache/openmeetings/web/pages/PrivacyPage.html | 2 +-
.../apache/openmeetings/web/pages/ResetPage.html | 2 +-
.../web/pages/auth/ForgetPasswordDialog.html | 16 +-
.../web/pages/auth/ForgetPasswordDialog.java | 2 +-
.../web/pages/auth/RegisterDialog.html | 34 +-
.../web/pages/auth/ResetPasswordDialog.html | 8 +-
.../openmeetings/web/pages/auth/SignInDialog.html | 36 +-
.../openmeetings/web/pages/auth/SignInPage.html | 2 +-
.../web/pages/install/CongratulationsPanel.html | 2 +-
.../web/pages/install/InstallWizard$DbStep.html | 2 +-
.../pages/install/InstallWizard$InstallStep.html | 2 +-
.../pages/install/InstallWizard$ParamsStep1.html | 2 +-
.../pages/install/InstallWizard$ParamsStep2.html | 2 +-
.../pages/install/InstallWizard$ParamsStep3.html | 2 +-
.../pages/install/InstallWizard$ParamsStep4.html | 2 +-
.../pages/install/InstallWizard$WelcomeStep.html | 2 +-
.../web/pages/install/InstallWizard.java | 8 +-
.../web/pages/install/InstallWizardPage.html | 2 +-
.../openmeetings/web/room/EventDetailDialog.html | 2 +-
.../openmeetings/web/room/IconTextModal.html | 2 +-
.../apache/openmeetings/web/room/NetTestPanel.html | 34 +-
.../openmeetings/web/room/NicknameDialog.html | 2 +-
.../apache/openmeetings/web/room/RoomPanel.html | 30 +-
.../apache/openmeetings/web/room/RoomPanel.java | 61 +-
.../web/room/RoomResourceReference.java | 2 +-
.../openmeetings/web/room/VideoSettings.html | 12 +-
.../web/room/activities/ActivitiesPanel.html | 6 +-
.../openmeetings/web/room/menu/ActionsSubMenu.java | 7 +-
.../web/room/menu/RoomInvitationForm.html | 2 +-
.../web/room/menu/RoomInvitationForm.java | 19 +-
.../openmeetings/web/room/menu/RoomMenuPanel.html | 4 +-
.../openmeetings/web/room/menu/RoomMenuPanel.java | 10 +-
.../web/room/menu/SipDialerDialog.html | 2 +-
.../web/room/poll/CreatePollDialog.html | 10 +-
.../web/room/poll/PollResultsDialog.html | 2 +-
.../web/room/poll/PollResultsDialog.java | 2 +-
.../openmeetings/web/room/poll/VoteDialog.html | 6 +-
.../apache/openmeetings/web/room/raw-nettest.js | 2 +-
.../web/room/sidebar/RoomFilePanel.java | 2 +-
.../sidebar/RoomFileUploadResourceReference.java | 143 ++---
.../openmeetings/web/room/sidebar/RoomSidebar.html | 12 +-
.../openmeetings/web/room/sidebar/RoomSidebar.java | 2 +-
.../RoomUploadForm.html} | 32 +-
.../web/room/sidebar/RoomUploadForm.java | 93 +++
.../web/room/sidebar/UploadDialog.html | 26 +-
.../web/room/sidebar/UploadDialog.java | 53 +-
.../openmeetings/web/room/sidebar/room-upload.js | 14 +
.../apache/openmeetings/web/room/sidebar/upload.js | 112 ----
.../openmeetings/web/room/wb/InterviewWbPanel.html | 2 +-
.../apache/openmeetings/web/room/wb/WbPanel.html | 70 +--
.../web/room/wb/WbWebSocketHelper.java | 2 +-
.../openmeetings/web/room/wb/WsMessageWb.java | 2 +-
.../openmeetings/web/room/wb/WsMessageWbFile.java | 2 +-
.../apache/openmeetings/web/user/AboutDialog.html | 10 +-
.../web/user/InviteUserMessageDialog.html | 2 +-
.../web/user/InviteUserToRoomDialog.html | 2 +-
.../openmeetings/web/user/MessageDialog.html | 2 +-
.../openmeetings/web/user/MessageDialog.java | 5 +-
.../openmeetings/web/user/OmWysiwygToolbar.html | 6 +-
.../openmeetings/web/user/UserInfoDialog.html | 2 +-
.../web/user/calendar/AppointmentDialog.html | 8 +-
.../web/user/calendar/AppointmentDialog.java | 9 +-
.../web/user/calendar/CalendarDialog.html | 2 +-
.../web/user/calendar/CalendarDialog.java | 2 +-
.../web/user/calendar/CalendarPanel.html | 4 +-
.../web/user/calendar/CalendarPanel.java | 2 +-
.../apache/openmeetings/web/user/chat/Chat.html | 6 +-
.../apache/openmeetings/web/user/chat/Chat.java | 4 +-
.../openmeetings/web/user/chat/ChatPanel.html | 4 +-
.../openmeetings/web/user/chat/ChatToolbar.html | 16 +-
.../openmeetings/web/user/chat/ChatToolbar.java | 8 +-
.../web/user/dashboard/MyRoomsWidgetView.html | 2 +-
.../web/user/dashboard/OmDashboardPanel.html | 2 +-
.../web/user/dashboard/RecentRoomsWidgetView.html | 2 +-
.../web/user/dashboard/RssWidgetView.html | 6 +-
.../web/user/dashboard/StartWidgetView.html | 10 +-
.../web/user/dashboard/WelcomeWidgetView.html | 2 +-
.../dashboard/admin/AdminCleanupInfoDialog.html | 2 +-
.../dashboard/admin/AdminCleanupInfoDialog.java | 2 +-
.../web/user/dashboard/admin/AdminWidgetView.html | 2 +-
.../dashboard/admin/CleanupEntityUnitPanel.html | 2 +-
.../web/user/dashboard/admin/CleanupUnitPanel.html | 2 +-
.../apache/openmeetings/web/user/dashboard/rss.js | 2 +-
.../web/user/profile/ChangePasswordDialog.html | 2 +-
.../web/user/profile/EditProfileForm.html | 2 +-
.../web/user/profile/EditProfilePanel.html | 2 +-
.../web/user/profile/InvitationDetails.java | 2 +-
.../web/user/profile/InvitationsPanel.html | 14 +-
.../web/user/profile/InvitationsPanel.java | 2 +-
.../web/user/profile/MessagesContactsPanel.html | 8 +-
.../web/user/profile/MessagesContactsPanel.java | 4 +-
.../web/user/profile/UserProfilePanel.html | 2 +-
.../web/user/profile/UserSearchPanel.html | 6 +-
.../web/user/profile/UserSearchPanel.java | 2 +-
.../web/user/profile/WidgetsPanel.html | 4 +-
.../web/user/profile/WidgetsPanel.java | 4 +-
.../web/user/record/RecordingInvitationForm.html | 2 +-
.../web/user/record/RecordingInvitationForm.java | 9 +-
.../web/user/record/RecordingsPanel.html | 4 +-
.../web/user/record/RecordingsPanel.java | 7 +-
.../openmeetings/web/user/record/VideoInfo.html | 2 +-
.../openmeetings/web/user/record/VideoPlayer.html | 2 +-
.../openmeetings/web/user/rooms/RoomListPanel.html | 6 +-
.../openmeetings/web/user/rooms/RoomListPanel.java | 2 +-
.../openmeetings/web/user/rooms/RoomsPanel.html | 4 +-
.../openmeetings/web/user/rooms/RoomsPanel.java | 2 +-
.../web/user/rooms/RoomsSelectorPanel.html | 4 +-
.../web/user/rooms/RoomsSelectorPanel.java | 11 +-
.../web/user/rooms/RoomsTabbedPanel.html | 2 +-
.../web/util/GroupLogoResourceReference.java | 4 +-
.../web/util/ProfileImageResourceReference.java | 9 +-
.../apache/openmeetings/web/util/ThreadHelper.java | 13 +-
.../web/util/UserDashboardPersister.java | 2 +-
.../util/logging/OpenMeetingsMetricsServlet.java | 3 +-
.../web/util/logging/TomcatGenericExports.java | 13 +-
.../classes/META-INF/oracle_persistence.xml | 2 +-
.../main/webapp/WEB-INF/classes/cxf-servlet.xml | 1 +
.../src/main/webapp/WEB-INF/classes/hazelcast.xml | 2 +-
.../src/main/webapp/css/raw-activities.css | 2 +-
openmeetings-web/src/main/webapp/css/raw-admin.css | 4 +-
.../src/main/webapp/css/raw-calendar.css | 7 +
openmeetings-web/src/main/webapp/css/raw-chat.css | 7 +-
.../src/main/webapp/css/raw-general.css | 22 +-
openmeetings-web/src/main/webapp/css/raw-menu.css | 6 +-
.../src/main/webapp/css/raw-nettest.css | 20 +-
openmeetings-web/src/main/webapp/css/raw-room.css | 111 ++--
openmeetings-web/src/main/webapp/css/raw-tree.css | 18 +-
.../src/main/webapp/css/raw-variables.css | 3 +-
openmeetings-web/src/main/webapp/css/raw-wb.css | 4 +-
.../main/webapp/images/icons/apple-icon-180.png | Bin 0 -> 10696 bytes
.../webapp/images/icons/apple-splash-1125-2436.jpg | Bin 0 -> 66463 bytes
.../webapp/images/icons/apple-splash-1136-640.jpg | Bin 0 -> 24945 bytes
.../webapp/images/icons/apple-splash-1170-2532.jpg | Bin 0 -> 69906 bytes
.../webapp/images/icons/apple-splash-1242-2208.jpg | Bin 0 -> 72120 bytes
.../webapp/images/icons/apple-splash-1242-2688.jpg | Bin 0 -> 75659 bytes
.../webapp/images/icons/apple-splash-1284-2778.jpg | Bin 0 -> 78823 bytes
.../webapp/images/icons/apple-splash-1334-750.jpg | Bin 0 -> 31010 bytes
.../webapp/images/icons/apple-splash-1536-2048.jpg | Bin 0 -> 88952 bytes
.../webapp/images/icons/apple-splash-1620-2160.jpg | Bin 0 -> 95661 bytes
.../webapp/images/icons/apple-splash-1668-2224.jpg | Bin 0 -> 99240 bytes
.../webapp/images/icons/apple-splash-1668-2388.jpg | Bin 0 -> 101273 bytes
.../webapp/images/icons/apple-splash-1792-828.jpg | Bin 0 -> 32864 bytes
.../webapp/images/icons/apple-splash-2048-1536.jpg | Bin 0 -> 83104 bytes
.../webapp/images/icons/apple-splash-2048-2732.jpg | Bin 0 -> 130068 bytes
.../webapp/images/icons/apple-splash-2160-1620.jpg | Bin 0 -> 89441 bytes
.../webapp/images/icons/apple-splash-2208-1242.jpg | Bin 0 -> 60178 bytes
.../webapp/images/icons/apple-splash-2224-1668.jpg | Bin 0 -> 92538 bytes
.../webapp/images/icons/apple-splash-2388-1668.jpg | Bin 0 -> 92578 bytes
.../webapp/images/icons/apple-splash-2436-1125.jpg | Bin 0 -> 50367 bytes
.../webapp/images/icons/apple-splash-2532-1170.jpg | Bin 0 -> 53274 bytes
.../webapp/images/icons/apple-splash-2688-1242.jpg | Bin 0 -> 57573 bytes
.../webapp/images/icons/apple-splash-2732-2048.jpg | Bin 0 -> 121595 bytes
.../webapp/images/icons/apple-splash-2778-1284.jpg | Bin 0 -> 60820 bytes
.../webapp/images/icons/apple-splash-640-1136.jpg | Bin 0 -> 30165 bytes
.../webapp/images/icons/apple-splash-750-1334.jpg | Bin 0 -> 37214 bytes
.../webapp/images/icons/apple-splash-828-1792.jpg | Bin 0 -> 44404 bytes
.../images/icons/manifest-icon-192.maskable.png | Bin 0 -> 11489 bytes
.../images/icons/manifest-icon-512.maskable.png | Bin 0 -> 40763 bytes
.../webapp/images/icons/openmeetings-logo-icon.svg | 110 ++++
.../apache/openmeetings/AbstractSpringTest.java | 48 --
.../calendar/TestAppointmentAddAppointment.java | 4 +-
.../calendar/TestAppointmentSchedulerTask.java | 4 +-
.../calendar/TestDatabaseStructureAppointment.java | 4 +-
...TestDatabaseStructureGetAppointmentByRange.java | 4 +-
.../TestDatabaseStructureGetUserStart.java | 4 +-
.../TestDatabaseStructureMeetingMember.java | 4 +-
.../openmeetings/calendar/TestGetAppointment.java | 4 +-
.../openmeetings/calendar/TestOmCalendar.java | 4 +-
.../openmeetings/calendar/TestSendIcalMessage.java | 33 +-
.../openmeetings/{cli => cmdline}/TestAdmin.java | 16 +-
.../openmeetings/{cli => cmdline}/TestPatcher.java | 9 +-
.../org/apache/openmeetings/config/TestConfig.java | 4 +-
.../openmeetings/core/file/TestFileProcessor.java | 4 +-
.../apache/openmeetings/domain/TestAddGroup.java | 4 +-
.../domain/TestUserGroupAggregation.java | 4 +-
.../openmeetings/invitiation/TestInvitation.java | 6 +-
.../org/apache/openmeetings/ldap/TestLdap.java | 6 +-
.../apache/openmeetings/smoke/TestSmokeBasic.java | 4 +-
.../apache/openmeetings/user/TestUserContact.java | 6 +-
.../apache/openmeetings/user/TestUserCount.java | 4 +-
.../apache/openmeetings/user/TestUserGroup.java | 6 +-
.../org/apache/openmeetings/userdata/TestAuth.java | 4 +-
.../apache/openmeetings/userdata/TestLogin.java | 4 +-
.../org/apache/openmeetings/web/TestCalendar.java | 8 +-
.../org/apache/openmeetings/web/TestMainAreas.java | 6 +-
.../org/apache/openmeetings/web/TestMainMenu.java | 6 +-
.../openmeetings/web/app/TestApplication.java | 4 +-
.../web/app/TestApplicationMocked.java | 6 +-
.../web/app/TestOmAuthenticationStrategy.java | 4 +-
.../web/app/TestUserManagerMocked.java | 2 +
.../openmeetings/web/app/TestWebSession.java | 4 +-
.../openmeetings/web/pages/TestHashPage.java | 8 +-
.../openmeetings/web/pages/auth/TestLoginUI.java | 4 +-
.../web/pages/install/TestInstall.java | 26 +-
.../service/mail}/TestEmailTemplate.java | 12 +-
.../service/mail}/TestSubjTemplate.java | 14 +-
.../test/AbstractOmServerTest.java} | 34 +-
.../test/AbstractWicketTesterTest.java} | 10 +-
.../apache/openmeetings/web/test/IsolatedTest.java | 11 +-
.../apache/openmeetings/web/test/RegularTest.java | 11 +-
.../{ => web/test}/backup/AbstractTestImport.java | 10 +-
.../{ => web/test}/backup/TestExport.java | 11 +-
.../{ => web/test}/backup/TestImport.java | 5 +-
.../{ => web/test}/backup/TestImportCalendar.java | 4 +-
.../{ => web/test}/backup/TestImportConfig.java | 4 +-
.../{ => web/test}/backup/TestImportOld.java | 8 +-
.../{ => web/test}/backup/TestImportRoom.java | 4 +-
.../{ => web/test}/backup/TestImportUser.java | 5 +-
.../{db/dao => web/test/db}/TestFileDao.java | 6 +-
.../{db/dao => web/test/db}/TestRoomDao.java | 6 +-
.../scheduler => web/test/job}/TestJob.java | 10 +-
.../openmeetings/{ => web}/util/TestDateTime.java | 6 +-
.../{ => web}/util/TestStoredFile.java | 7 +-
.../webservice/AbstractWebServiceTest.java | 50 +-
.../webservice/CreateTomcatExtension.java | 82 +++
.../webservice/TestCalendarService.java | 14 +-
.../openmeetings/webservice/TestErrorService.java | 2 +-
.../openmeetings/webservice/TestFileService.java | 13 +-
.../openmeetings/webservice/TestGroupService.java | 4 +-
.../openmeetings/webservice/TestInfoService.java | 31 +-
.../webservice/TestRecordingService.java | 2 +-
.../openmeetings/webservice/TestUserService.java | 24 +-
openmeetings-web/src/test/jetty/web.xml | 2 +-
.../src/test/resources/logback-test.xml | 1 +
.../apache/openmeetings/backup/config/configs.xml | 4 +-
.../openmeetings/backup/config/skip/configs.xml | 4 +-
openmeetings-webservice/pom.xml | 107 +++-
.../src/main/java/module-info.java | 16 +-
.../webservice/CalendarWebService.java | 128 +++-
.../openmeetings/webservice/ErrorWebService.java | 41 +-
.../openmeetings/webservice/FileWebService.java | 136 ++++-
.../openmeetings/webservice/GroupWebService.java | 113 +++-
.../openmeetings/webservice/InfoWebService.java | 67 ++-
.../openmeetings/webservice/NetTestWebService.java | 50 +-
.../webservice/RecordingWebService.java | 68 ++-
.../openmeetings/webservice/RoomWebService.java | 202 ++++++-
.../openmeetings/webservice/UserWebService.java | 97 ++-
.../openmeetings/webservice/WbWebService.java | 72 ++-
.../schema/AppointmentDTOListWrapper.java | 157 +++++
.../webservice/schema/AppointmentDTOWrapper.java | 153 +++++
.../schema/FileExplorerObjectWrapper.java | 79 +++
.../webservice/schema/FileItemDTOListWrapper.java | 60 ++
.../webservice/schema/FileItemDTOWrapper.java | 56 ++
.../webservice/schema/GroupDTOListWrapper.java | 49 +-
.../webservice/schema/HealthWrapper.java | 43 +-
.../webservice/schema/InfoWrapper.java | 38 +-
.../webservice/schema/RecordingDTOListWrapper.java | 63 ++
.../webservice/schema/RoomDTOListWrapper.java | 124 ++++
.../webservice/schema/RoomDTOWrapper.java | 64 ++
.../ServiceResultWrapper.java} | 35 +-
.../webservice/schema/UserDTOListWrapper.java | 111 ++++
.../webservice/schema/UserDTOWrapper.java | 68 +++
.../webservice/schema/UserSearchResultWrapper.java | 94 +++
...ParamConverter.java => OmExceptionHandler.java} | 33 +-
pom.xml | 666 +++++++++++++++++----
.../license/THIRD-PARTY.properties | 3 +-
src/license/license-template.ftl | 93 +++
483 files changed, 6152 insertions(+), 3852 deletions(-)
rename openmeetings-db/src/main/java/org/apache/openmeetings/{ => db}/IApplication.java (98%)
rename openmeetings-db/src/main/java/org/apache/openmeetings/{ => db}/IWebSession.java (96%)
copy openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java => openmeetings-install/src/main/java/module-info.java (68%)
delete mode 100644 openmeetings-install/src/main/java/org/apache/openmeetings/backup/ProgressHolder.java
create mode 100644 openmeetings-server/src/site/markdown/LogoAndIcons.md
delete mode 100644 openmeetings-server/src/site/resources/images/Features_Screen_Conference_Room_Thumb.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_administration_configuration.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_conference_room_om5.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_file_explorer.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_integrated_calendar.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_integration_api.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_private_messages.png
delete mode 100644 openmeetings-server/src/site/resources/images/cut_recordings_playback.png
delete mode 100644 openmeetings-server/src/site/resources/images/desktopsharing.png
delete mode 100644 openmeetings-server/src/site/resources/images/recordings_timeleine.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/administration-configuration.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/calendar-screenshot.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/conference-room-av-settings.jpg
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/file-explorer.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/integration-api.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/private-messages.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/recordings-playback.png
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/screenshot_OM6-2.jpg
create mode 100644 openmeetings-server/src/site/resources/images/screenshots/share-screen.jpg
copy {openmeetings-core => openmeetings-service}/src/main/java/module-info.java (56%)
delete mode 100644 openmeetings-util/src/test/java/module-info.test
rename openmeetings-util/src/test/java/org/apache/openmeetings/test/{NonJenkinsTests.java => NonJenkinsTest.java} (69%)
create mode 100644 openmeetings-web/src/main/java/module-info.java
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupUploadResourceReference.java
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmableAjaxBorder.html
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmableAjaxBorder.java
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmationBehavior.java
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmationConfig.java
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmationDialog.java
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/ConfirmationHelper.java
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/confirmation/bootstrap-confirmation.js
copy openmeetings-web/src/main/java/org/apache/openmeetings/web/{room/sidebar/UploadDialog.html => common/upload/UploadForm.html} (50%)
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadForm.java
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadResourceReference.java
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/upload.js
copy openmeetings-web/src/main/java/org/apache/openmeetings/web/room/{poll/PollResultsDialog.html => sidebar/RoomUploadForm.html} (51%)
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.java
create mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/room-upload.js
delete mode 100644 openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-icon-180.png
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1125-2436.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1136-640.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1170-2532.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1242-2208.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1242-2688.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1284-2778.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1334-750.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1536-2048.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1620-2160.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1668-2224.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1668-2388.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-1792-828.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2048-1536.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2048-2732.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2160-1620.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2208-1242.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2224-1668.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2388-1668.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2436-1125.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2532-1170.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2688-1242.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2732-2048.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-2778-1284.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-640-1136.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-750-1334.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/apple-splash-828-1792.jpg
create mode 100644 openmeetings-web/src/main/webapp/images/icons/manifest-icon-192.maskable.png
create mode 100644 openmeetings-web/src/main/webapp/images/icons/manifest-icon-512.maskable.png
create mode 100644 openmeetings-web/src/main/webapp/images/icons/openmeetings-logo-icon.svg
delete mode 100644 openmeetings-web/src/test/java/org/apache/openmeetings/AbstractSpringTest.java
rename openmeetings-web/src/test/java/org/apache/openmeetings/{cli => cmdline}/TestAdmin.java (87%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{cli => cmdline}/TestPatcher.java (90%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{service/mail/template => web/service/mail}/TestEmailTemplate.java (78%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{service/mail/template/subject => web/service/mail}/TestSubjTemplate.java (79%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{AbstractJUnitDefaults.java => web/test/AbstractOmServerTest.java} (87%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{AbstractWicketTester.java => web/test/AbstractWicketTesterTest.java} (97%)
copy openmeetings-util/src/main/java/org/apache/openmeetings/util/logging/TimedApplication.java => openmeetings-web/src/test/java/org/apache/openmeetings/web/test/IsolatedTest.java (85%)
copy openmeetings-util/src/main/java/org/apache/openmeetings/util/logging/TimedApplication.java => openmeetings-web/src/test/java/org/apache/openmeetings/web/test/RegularTest.java (85%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/AbstractTestImport.java (88%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestExport.java (92%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImport.java (97%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImportCalendar.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImportConfig.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImportOld.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImportRoom.java (93%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web/test}/backup/TestImportUser.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{db/dao => web/test/db}/TestFileDao.java (92%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{db/dao => web/test/db}/TestRoomDao.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{service/scheduler => web/test/job}/TestJob.java (93%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web}/util/TestDateTime.java (95%)
rename openmeetings-web/src/test/java/org/apache/openmeetings/{ => web}/util/TestStoredFile.java (87%)
create mode 100644 openmeetings-web/src/test/java/org/apache/openmeetings/webservice/CreateTomcatExtension.java
copy openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/IRecordingConverter.java => openmeetings-webservice/src/main/java/module-info.java (71%)
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.java
copy openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MenuPanel.java => openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.java (50%)
copy openmeetings-util/src/main/java/org/apache/openmeetings/util/ImportHelper.java => openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/HealthWrapper.java (54%)
copy openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestInfoService.java => openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/InfoWrapper.java (55%)
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/RoomDTOWrapper.java
copy openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/{error/ServiceException.java => schema/ServiceResultWrapper.java} (54%)
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/UserDTOListWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/UserDTOWrapper.java
create mode 100644 openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.java
copy openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/{UserParamConverter.java => OmExceptionHandler.java} (59%)
rename THIRD-PARTY.properties => src/license/THIRD-PARTY.properties (82%)
create mode 100644 src/license/license-template.ftl
[openmeetings] 01/01: Merge branch 'master' into java11-modules Some errors are fixed
Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch java11-modules
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit c824bb40d2c1d06a6853ecd24fae844428867d17
Merge: 6c00af6 299425e
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Dec 22 21:11:22 2021 +0700
Merge branch 'master' into java11-modules
Some errors are fixed
.gitignore | 3 +
CHANGELOG.md | 45 +-
README.md | 23 +-
openmeetings-core/pom.xml | 18 -
openmeetings-core/src/main/java/module-info.java | 24 +-
.../apache/openmeetings/core/mail/MailHandler.java | 30 +-
.../org/apache/openmeetings/core/remote/KRoom.java | 2 +-
.../core/util/ChatWebSocketHelper.java | 2 +-
.../openmeetings/core/util/WebSocketHelper.java | 2 +-
.../openmeetings/core/mail/TestMailSending.java | 10 +-
.../openmeetings/core/remote/BaseMockedTest.java | 12 +-
.../core/remote/TestNotConnectedMocked.java | 2 +-
.../core/remote/TestRecordingFlowMocked.java | 10 +-
.../core/remote/TestRoomFlowMocked.java | 14 +-
.../core/remote/TestSetupFlowMocked.java | 20 +-
openmeetings-db/pom.xml | 32 +-
openmeetings-db/src/main/java/module-info.java | 14 +-
.../apache/openmeetings/{ => db}/IApplication.java | 2 +-
.../apache/openmeetings/{ => db}/IWebSession.java | 2 +-
.../db/dao/basic/ConfigurationDao.java | 2 +-
.../openmeetings/db/dao/room/InvitationDao.java | 8 +
.../db/entity/calendar/Appointment.java | 4 +
.../openmeetings/db/entity/room/Invitation.java | 4 +
.../apache/openmeetings/db/entity/room/Room.java | 4 +
.../openmeetings/db/util/ApplicationHelper.java | 4 +-
.../openmeetings/db/util/ws/RoomMessage.java | 1 +
openmeetings-install/pom.xml | 5 +-
.../src/main/java/module-info.java | 16 +-
.../apache/openmeetings/backup/BackupExport.java | 58 +-
.../apache/openmeetings/backup/BackupImport.java | 201 ++++---
.../java/org/apache/openmeetings/cli/Admin.java | 11 +-
.../installation/ImportInitvalues.java | 2 +-
openmeetings-server/pom.xml | 6 +-
.../src/site/markdown/LogoAndIcons.md | 28 +
.../Features_Screen_Conference_Room_Thumb.png | Bin 230947 -> 0 bytes
.../images/cut_administration_configuration.png | Bin 203669 -> 0 bytes
.../resources/images/cut_conference_room_om5.png | Bin 209105 -> 0 bytes
.../site/resources/images/cut_file_explorer.png | Bin 390104 -> 0 bytes
.../resources/images/cut_integrated_calendar.png | Bin 55245 -> 0 bytes
.../site/resources/images/cut_integration_api.png | Bin 152877 -> 0 bytes
.../site/resources/images/cut_private_messages.png | Bin 75489 -> 0 bytes
.../resources/images/cut_recordings_playback.png | Bin 311981 -> 0 bytes
.../src/site/resources/images/desktopsharing.png | Bin 35736 -> 0 bytes
.../site/resources/images/recordings_timeleine.png | Bin 231190 -> 0 bytes
.../screenshots/administration-configuration.png | Bin 0 -> 434836 bytes
.../images/screenshots/calendar-screenshot.png | Bin 0 -> 234263 bytes
.../screenshots/conference-room-av-settings.jpg | Bin 0 -> 157090 bytes
.../resources/images/screenshots/file-explorer.png | Bin 0 -> 646616 bytes
.../images/screenshots/integration-api.png | Bin 0 -> 251807 bytes
.../images/screenshots/private-messages.png | Bin 0 -> 312453 bytes
.../images/screenshots/recordings-playback.png | Bin 0 -> 527528 bytes
.../images/screenshots/screenshot_OM6-2.jpg | Bin 0 -> 136688 bytes
.../resources/images/screenshots/share-screen.jpg | Bin 0 -> 143210 bytes
openmeetings-server/src/site/resources/js/site.js | 2 +-
openmeetings-server/src/site/site.xml | 4 +-
.../src/site/xdoc/BuildInstructions.xml | 23 +-
.../src/site/xdoc/ConfluencePlugin.xml | 2 +-
openmeetings-server/src/site/xdoc/JiraPlugin.xml | 2 +-
openmeetings-server/src/site/xdoc/NewsArchive.xml | 32 +
.../src/site/xdoc/RestAPISample.xml | 121 +++-
.../src/site/xdoc/WebappNamePath.xml | 7 -
openmeetings-server/src/site/xdoc/WebsiteGuide.xml | 2 +-
openmeetings-server/src/site/xdoc/downloads.xml | 30 +-
openmeetings-server/src/site/xdoc/index.xml | 107 ++--
openmeetings-service/pom.xml | 10 -
.../src/main/java/module-info.java | 35 +-
.../service/calendar/caldav/IcalUtils.java | 254 ++++----
.../openmeetings/service/mail/EmailManager.java | 2 +-
.../mail/template/AbstractTemplatePanel.html | 2 +-
.../mail/template/AbstractTemplatePanel.java | 4 +-
.../service/mail/template/FeedbackTemplate.html | 2 +-
.../service/mail/template/InvitationTemplate.html | 2 +-
.../mail/template/RegisterUserTemplate.html | 2 +-
.../template/RequestContactConfirmTemplate.html | 2 +-
.../mail/template/RequestContactTemplate.html | 2 +-
.../mail/template/ResetPasswordTemplate.html | 2 +-
.../subject/AppointmentReminderTemplate.java | 2 +-
.../mail/template/subject/AppointmentTemplate.html | 2 +-
.../mail/template/subject/AppointmentTemplate.java | 2 +-
.../subject/CanceledAppointmentTemplate.java | 2 +-
.../subject/CreatedAppointmentTemplate.java | 2 +-
.../subject/InvitedAppointmentTemplate.html | 2 +-
.../subject/InvitedAppointmentTemplate.java | 2 +-
.../subject/NewGroupUsersNotificationTemplate.html | 2 +-
.../subject/RecordingExpiringTemplate.html | 2 +-
.../subject/UpdatedAppointmentTemplate.java | 2 +-
.../service/room/InvitationManager.java | 10 +-
openmeetings-util/pom.xml | 40 +-
openmeetings-util/src/main/java/module-info.java | 30 +-
.../openmeetings/util/OpenmeetingsVariables.java | 19 +
.../org/apache/openmeetings/util/StoredFile.java | 2 +-
.../openmeetings/util/crypt/CryptProvider.java | 3 -
.../util/mail/ByteArrayDataSource.java | 2 +-
.../apache/openmeetings/util/mail/IcalHandler.java | 25 +-
.../{NonJenkinsTests.java => NonJenkinsTest.java} | 13 +-
openmeetings-web/pom.xml | 119 +---
openmeetings-web/src/main/front/chat/src/chat.js | 2 +-
openmeetings-web/src/main/front/main/src/index.js | 7 +
.../src/main/front/main/src/omutils.js | 25 +-
.../src/main/front/room/src/quick-poll.js | 4 +-
.../src/main/front/room/src/user-list.js | 3 +-
openmeetings-web/src/main/front/room/src/video.js | 5 -
.../src/main/front/settings/src/video-util.js | 16 +-
openmeetings-web/src/main/front/wb/src/wb-tools.js | 16 +-
openmeetings-web/src/main/java/module-info.java | 50 ++
.../openmeetings/web/admin/AdminActionsPanel.html | 2 +-
.../openmeetings/web/admin/AdminActionsPanel.java | 2 +-
.../openmeetings/web/admin/AdminBasePanel.html | 4 +-
.../openmeetings/web/admin/backup/BackupPanel.html | 67 ++-
.../openmeetings/web/admin/backup/BackupPanel.java | 170 ++----
.../backup/BackupUploadResourceReference.java | 99 +++
.../web/admin/configurations/ConfigsPanel.html | 4 +-
.../web/admin/connection/ConnectionsPanel.html | 6 +-
.../web/admin/connection/ConnectionsPanel.java | 4 +-
.../openmeetings/web/admin/email/EmailForm.java | 2 +-
.../openmeetings/web/admin/email/EmailPanel.html | 6 +-
.../openmeetings/web/admin/extra/ExtraPanel.html | 4 +-
.../web/admin/groups/GroupUsersPanel.html | 6 +-
.../web/admin/groups/GroupUsersPanel.java | 6 +-
.../openmeetings/web/admin/groups/GroupsPanel.html | 4 +-
.../openmeetings/web/admin/groups/GroupsPanel.java | 2 +-
.../web/admin/labels/AddLanguageDialog.html | 2 +-
.../openmeetings/web/admin/labels/LangPanel.html | 26 +-
.../openmeetings/web/admin/labels/LangPanel.java | 2 +-
.../openmeetings/web/admin/ldaps/LdapsPanel.html | 4 +-
.../openmeetings/web/admin/oauth/OAuthForm.java | 2 +-
.../openmeetings/web/admin/oauth/OAuthPanel.html | 8 +-
.../openmeetings/web/admin/rooms/RoomForm.java | 8 +-
.../openmeetings/web/admin/rooms/RoomsPanel.html | 16 +-
.../web/admin/users/PasswordDialog.html | 4 +-
.../openmeetings/web/admin/users/UserForm.html | 2 +-
.../openmeetings/web/admin/users/UserForm.java | 4 +-
.../openmeetings/web/admin/users/UsersPanel.html | 4 +-
.../openmeetings/web/admin/users/UsersPanel.java | 2 +-
.../apache/openmeetings/web/app/Application.java | 71 +--
.../web/app/Application.properties.xml | 23 +-
.../web/app/Application_ar.properties.xml | 16 +-
.../web/app/Application_bg.properties.xml | 23 +-
.../web/app/Application_bn.properties.xml | 23 +-
.../web/app/Application_ca.properties.xml | 23 +-
.../web/app/Application_cs.properties.xml | 23 +-
.../web/app/Application_da.properties.xml | 23 +-
.../web/app/Application_de.properties.xml | 12 +-
.../web/app/Application_el.properties.xml | 23 +-
.../web/app/Application_es.properties.xml | 12 +-
.../web/app/Application_fa.properties.xml | 12 +-
.../web/app/Application_fi.properties.xml | 23 +-
.../web/app/Application_fr.properties.xml | 12 +-
.../web/app/Application_gl.properties.xml | 23 +-
.../web/app/Application_hi.properties.xml | 23 +-
.../web/app/Application_hu.properties.xml | 12 +-
.../web/app/Application_in.properties.xml | 23 +-
.../web/app/Application_it.properties.xml | 12 +-
.../web/app/Application_iw.properties.xml | 23 +-
.../web/app/Application_ja.properties.xml | 12 +-
.../web/app/Application_ko.properties.xml | 23 +-
.../web/app/Application_ku.properties.xml | 23 +-
.../web/app/Application_lo.properties.xml | 14 +-
.../web/app/Application_nl.properties.xml | 23 +-
.../web/app/Application_pl.properties.xml | 14 +-
.../web/app/Application_pt.properties.xml | 23 +-
.../web/app/Application_pt_BR.properties.xml | 14 +-
.../web/app/Application_ru.properties.xml | 12 +-
.../web/app/Application_sk.properties.xml | 23 +-
.../web/app/Application_sv.properties.xml | 21 +-
.../web/app/Application_ta.properties.xml | 23 +-
.../web/app/Application_th.properties.xml | 23 +-
.../web/app/Application_tk.properties.xml | 23 +-
.../web/app/Application_tr.properties.xml | 23 +-
.../web/app/Application_uk.properties.xml | 12 +-
.../web/app/Application_ur.properties.xml | 23 +-
.../web/app/Application_zh_CN.properties.xml | 12 +-
.../web/app/Application_zh_TW.properties.xml | 23 +-
.../apache/openmeetings/web/app/WebSession.java | 2 +-
.../openmeetings/web/app/WhiteboardManager.java | 2 +-
.../apache/openmeetings/web/common/Captcha.html | 2 +-
.../openmeetings/web/common/ComunityUserForm.html | 2 +-
.../openmeetings/web/common/ErrorMessagePanel.html | 2 +-
.../openmeetings/web/common/FormActionsPanel.html | 2 +-
.../openmeetings/web/common/FormActionsPanel.java | 2 +-
.../openmeetings/web/common/GeneralUserForm.html | 2 +-
.../openmeetings/web/common/GeneralUserForm.java | 2 +-
.../openmeetings/web/common/HeaderPanel.html | 2 +-
.../apache/openmeetings/web/common/ImagePanel.html | 2 +-
.../openmeetings/web/common/InvitationDialog.html | 2 +-
.../openmeetings/web/common/InvitationDialog.java | 1 +
.../openmeetings/web/common/InvitationForm.html | 2 +-
.../openmeetings/web/common/InvitationForm.java | 8 +-
.../apache/openmeetings/web/common/MainPanel.html | 2 +-
.../apache/openmeetings/web/common/MainPanel.java | 2 +-
.../apache/openmeetings/web/common/NameDialog.html | 4 +-
.../openmeetings/web/common/OmPagingNavigator.html | 2 +-
.../web/common/PagedEntityListPanel.html | 6 +-
.../web/common/PagingNavigatorPanel.html | 6 +-
.../web/common/UploadableImagePanel.html | 2 +-
.../web/common/UploadableImagePanel.java | 2 +-
.../common/confirmation/ConfirmableAjaxBorder.html | 26 -
.../common/confirmation/ConfirmableAjaxBorder.java | 74 ---
.../common/confirmation/ConfirmationBehavior.java | 112 ----
.../common/confirmation/ConfirmationConfig.java | 114 ----
.../common/confirmation/ConfirmationDialog.java | 77 ---
.../common/confirmation/ConfirmationHelper.java | 47 ++
.../common/confirmation/bootstrap-confirmation.js | 596 ------------------
.../common/datetime/AbstractOmDateTimePicker.html | 2 +-
.../openmeetings/web/common/menu/MenuPanel.html | 2 +-
.../web/common/tree/ConvertingErrorsDialog.html | 2 +-
.../web/common/tree/FileItemPanel.html | 2 +-
.../web/common/tree/FileTreePanel.html | 25 +-
.../web/common/tree/FileTreePanel.java | 67 +--
.../openmeetings/web/common/tree/FolderPanel.html | 2 +-
.../web/common/tree/OmTreeProvider.java | 2 +-
.../openmeetings/web/common/tree/filetree.js | 13 +-
.../upload/UploadForm.html} | 38 +-
.../openmeetings/web/common/upload/UploadForm.java | 120 ++++
.../web/common/upload/UploadResourceReference.java | 148 +++++
.../openmeetings/web/common/upload/upload.js | 126 ++++
.../openmeetings/web/pages/AccessDeniedPage.html | 2 +-
.../apache/openmeetings/web/pages/BasePage.html | 34 +-
.../apache/openmeetings/web/pages/BasePage.java | 2 +-
.../apache/openmeetings/web/pages/HashPage.html | 2 +-
.../openmeetings/web/pages/InternalErrorPage.html | 2 +-
.../web/pages/InvitationPasswordDialog.html | 2 +-
.../apache/openmeetings/web/pages/MainPage.html | 2 +-
.../openmeetings/web/pages/NotInitedPage.html | 2 +-
.../apache/openmeetings/web/pages/PrivacyPage.html | 2 +-
.../apache/openmeetings/web/pages/ResetPage.html | 2 +-
.../web/pages/auth/ForgetPasswordDialog.html | 16 +-
.../web/pages/auth/ForgetPasswordDialog.java | 2 +-
.../web/pages/auth/RegisterDialog.html | 34 +-
.../web/pages/auth/ResetPasswordDialog.html | 8 +-
.../openmeetings/web/pages/auth/SignInDialog.html | 36 +-
.../openmeetings/web/pages/auth/SignInPage.html | 2 +-
.../web/pages/install/CongratulationsPanel.html | 2 +-
.../web/pages/install/InstallWizard$DbStep.html | 2 +-
.../pages/install/InstallWizard$InstallStep.html | 2 +-
.../pages/install/InstallWizard$ParamsStep1.html | 2 +-
.../pages/install/InstallWizard$ParamsStep2.html | 2 +-
.../pages/install/InstallWizard$ParamsStep3.html | 2 +-
.../pages/install/InstallWizard$ParamsStep4.html | 2 +-
.../pages/install/InstallWizard$WelcomeStep.html | 2 +-
.../web/pages/install/InstallWizard.java | 8 +-
.../web/pages/install/InstallWizardPage.html | 2 +-
.../openmeetings/web/room/EventDetailDialog.html | 2 +-
.../openmeetings/web/room/IconTextModal.html | 2 +-
.../apache/openmeetings/web/room/NetTestPanel.html | 34 +-
.../openmeetings/web/room/NicknameDialog.html | 2 +-
.../apache/openmeetings/web/room/RoomPanel.html | 30 +-
.../apache/openmeetings/web/room/RoomPanel.java | 61 +-
.../web/room/RoomResourceReference.java | 2 +-
.../openmeetings/web/room/VideoSettings.html | 12 +-
.../web/room/activities/ActivitiesPanel.html | 6 +-
.../openmeetings/web/room/menu/ActionsSubMenu.java | 7 +-
.../web/room/menu/RoomInvitationForm.html | 2 +-
.../web/room/menu/RoomInvitationForm.java | 19 +-
.../openmeetings/web/room/menu/RoomMenuPanel.html | 4 +-
.../openmeetings/web/room/menu/RoomMenuPanel.java | 10 +-
.../web/room/menu/SipDialerDialog.html | 2 +-
.../web/room/poll/CreatePollDialog.html | 10 +-
.../web/room/poll/PollResultsDialog.html | 2 +-
.../web/room/poll/PollResultsDialog.java | 2 +-
.../openmeetings/web/room/poll/VoteDialog.html | 6 +-
.../apache/openmeetings/web/room/raw-nettest.js | 2 +-
.../web/room/sidebar/RoomFilePanel.java | 2 +-
.../sidebar/RoomFileUploadResourceReference.java | 143 ++---
.../openmeetings/web/room/sidebar/RoomSidebar.html | 12 +-
.../openmeetings/web/room/sidebar/RoomSidebar.java | 2 +-
.../RoomUploadForm.html} | 32 +-
.../web/room/sidebar/RoomUploadForm.java | 93 +++
.../web/room/sidebar/UploadDialog.html | 26 +-
.../web/room/sidebar/UploadDialog.java | 53 +-
.../openmeetings/web/room/sidebar/room-upload.js | 14 +
.../apache/openmeetings/web/room/sidebar/upload.js | 112 ----
.../openmeetings/web/room/wb/InterviewWbPanel.html | 2 +-
.../apache/openmeetings/web/room/wb/WbPanel.html | 70 +--
.../web/room/wb/WbWebSocketHelper.java | 2 +-
.../openmeetings/web/room/wb/WsMessageWb.java | 2 +-
.../openmeetings/web/room/wb/WsMessageWbFile.java | 2 +-
.../apache/openmeetings/web/user/AboutDialog.html | 10 +-
.../web/user/InviteUserMessageDialog.html | 2 +-
.../web/user/InviteUserToRoomDialog.html | 2 +-
.../openmeetings/web/user/MessageDialog.html | 2 +-
.../openmeetings/web/user/MessageDialog.java | 5 +-
.../openmeetings/web/user/OmWysiwygToolbar.html | 6 +-
.../openmeetings/web/user/UserInfoDialog.html | 2 +-
.../web/user/calendar/AppointmentDialog.html | 8 +-
.../web/user/calendar/AppointmentDialog.java | 9 +-
.../web/user/calendar/CalendarDialog.html | 2 +-
.../web/user/calendar/CalendarDialog.java | 2 +-
.../web/user/calendar/CalendarPanel.html | 4 +-
.../web/user/calendar/CalendarPanel.java | 2 +-
.../apache/openmeetings/web/user/chat/Chat.html | 6 +-
.../apache/openmeetings/web/user/chat/Chat.java | 4 +-
.../openmeetings/web/user/chat/ChatPanel.html | 4 +-
.../openmeetings/web/user/chat/ChatToolbar.html | 16 +-
.../openmeetings/web/user/chat/ChatToolbar.java | 8 +-
.../web/user/dashboard/MyRoomsWidgetView.html | 2 +-
.../web/user/dashboard/OmDashboardPanel.html | 2 +-
.../web/user/dashboard/RecentRoomsWidgetView.html | 2 +-
.../web/user/dashboard/RssWidgetView.html | 6 +-
.../web/user/dashboard/StartWidgetView.html | 10 +-
.../web/user/dashboard/WelcomeWidgetView.html | 2 +-
.../dashboard/admin/AdminCleanupInfoDialog.html | 2 +-
.../dashboard/admin/AdminCleanupInfoDialog.java | 2 +-
.../web/user/dashboard/admin/AdminWidgetView.html | 2 +-
.../dashboard/admin/CleanupEntityUnitPanel.html | 2 +-
.../web/user/dashboard/admin/CleanupUnitPanel.html | 2 +-
.../apache/openmeetings/web/user/dashboard/rss.js | 2 +-
.../web/user/profile/ChangePasswordDialog.html | 2 +-
.../web/user/profile/EditProfileForm.html | 2 +-
.../web/user/profile/EditProfilePanel.html | 2 +-
.../web/user/profile/InvitationDetails.java | 2 +-
.../web/user/profile/InvitationsPanel.html | 14 +-
.../web/user/profile/InvitationsPanel.java | 2 +-
.../web/user/profile/MessagesContactsPanel.html | 8 +-
.../web/user/profile/MessagesContactsPanel.java | 4 +-
.../web/user/profile/UserProfilePanel.html | 2 +-
.../web/user/profile/UserSearchPanel.html | 6 +-
.../web/user/profile/UserSearchPanel.java | 2 +-
.../web/user/profile/WidgetsPanel.html | 4 +-
.../web/user/profile/WidgetsPanel.java | 4 +-
.../web/user/record/RecordingInvitationForm.html | 2 +-
.../web/user/record/RecordingInvitationForm.java | 9 +-
.../web/user/record/RecordingsPanel.html | 4 +-
.../web/user/record/RecordingsPanel.java | 7 +-
.../openmeetings/web/user/record/VideoInfo.html | 2 +-
.../openmeetings/web/user/record/VideoPlayer.html | 2 +-
.../openmeetings/web/user/rooms/RoomListPanel.html | 6 +-
.../openmeetings/web/user/rooms/RoomListPanel.java | 2 +-
.../openmeetings/web/user/rooms/RoomsPanel.html | 4 +-
.../openmeetings/web/user/rooms/RoomsPanel.java | 2 +-
.../web/user/rooms/RoomsSelectorPanel.html | 4 +-
.../web/user/rooms/RoomsSelectorPanel.java | 11 +-
.../web/user/rooms/RoomsTabbedPanel.html | 2 +-
.../web/util/GroupLogoResourceReference.java | 4 +-
.../web/util/ProfileImageResourceReference.java | 9 +-
.../apache/openmeetings/web/util/ThreadHelper.java | 13 +-
.../web/util/UserDashboardPersister.java | 2 +-
.../util/logging/OpenMeetingsMetricsServlet.java | 3 +-
.../web/util/logging/TomcatGenericExports.java | 13 +-
.../classes/META-INF/oracle_persistence.xml | 2 +-
.../main/webapp/WEB-INF/classes/cxf-servlet.xml | 1 +
.../src/main/webapp/WEB-INF/classes/hazelcast.xml | 2 +-
.../src/main/webapp/css/raw-activities.css | 2 +-
openmeetings-web/src/main/webapp/css/raw-admin.css | 4 +-
.../src/main/webapp/css/raw-calendar.css | 7 +
openmeetings-web/src/main/webapp/css/raw-chat.css | 7 +-
.../src/main/webapp/css/raw-general.css | 22 +-
openmeetings-web/src/main/webapp/css/raw-menu.css | 6 +-
.../src/main/webapp/css/raw-nettest.css | 20 +-
openmeetings-web/src/main/webapp/css/raw-room.css | 111 ++--
openmeetings-web/src/main/webapp/css/raw-tree.css | 18 +-
.../src/main/webapp/css/raw-variables.css | 3 +-
openmeetings-web/src/main/webapp/css/raw-wb.css | 4 +-
.../main/webapp/images/icons/apple-icon-180.png | Bin 0 -> 10696 bytes
.../webapp/images/icons/apple-splash-1125-2436.jpg | Bin 0 -> 66463 bytes
.../webapp/images/icons/apple-splash-1136-640.jpg | Bin 0 -> 24945 bytes
.../webapp/images/icons/apple-splash-1170-2532.jpg | Bin 0 -> 69906 bytes
.../webapp/images/icons/apple-splash-1242-2208.jpg | Bin 0 -> 72120 bytes
.../webapp/images/icons/apple-splash-1242-2688.jpg | Bin 0 -> 75659 bytes
.../webapp/images/icons/apple-splash-1284-2778.jpg | Bin 0 -> 78823 bytes
.../webapp/images/icons/apple-splash-1334-750.jpg | Bin 0 -> 31010 bytes
.../webapp/images/icons/apple-splash-1536-2048.jpg | Bin 0 -> 88952 bytes
.../webapp/images/icons/apple-splash-1620-2160.jpg | Bin 0 -> 95661 bytes
.../webapp/images/icons/apple-splash-1668-2224.jpg | Bin 0 -> 99240 bytes
.../webapp/images/icons/apple-splash-1668-2388.jpg | Bin 0 -> 101273 bytes
.../webapp/images/icons/apple-splash-1792-828.jpg | Bin 0 -> 32864 bytes
.../webapp/images/icons/apple-splash-2048-1536.jpg | Bin 0 -> 83104 bytes
.../webapp/images/icons/apple-splash-2048-2732.jpg | Bin 0 -> 130068 bytes
.../webapp/images/icons/apple-splash-2160-1620.jpg | Bin 0 -> 89441 bytes
.../webapp/images/icons/apple-splash-2208-1242.jpg | Bin 0 -> 60178 bytes
.../webapp/images/icons/apple-splash-2224-1668.jpg | Bin 0 -> 92538 bytes
.../webapp/images/icons/apple-splash-2388-1668.jpg | Bin 0 -> 92578 bytes
.../webapp/images/icons/apple-splash-2436-1125.jpg | Bin 0 -> 50367 bytes
.../webapp/images/icons/apple-splash-2532-1170.jpg | Bin 0 -> 53274 bytes
.../webapp/images/icons/apple-splash-2688-1242.jpg | Bin 0 -> 57573 bytes
.../webapp/images/icons/apple-splash-2732-2048.jpg | Bin 0 -> 121595 bytes
.../webapp/images/icons/apple-splash-2778-1284.jpg | Bin 0 -> 60820 bytes
.../webapp/images/icons/apple-splash-640-1136.jpg | Bin 0 -> 30165 bytes
.../webapp/images/icons/apple-splash-750-1334.jpg | Bin 0 -> 37214 bytes
.../webapp/images/icons/apple-splash-828-1792.jpg | Bin 0 -> 44404 bytes
.../images/icons/manifest-icon-192.maskable.png | Bin 0 -> 11489 bytes
.../images/icons/manifest-icon-512.maskable.png | Bin 0 -> 40763 bytes
.../webapp/images/icons/openmeetings-logo-icon.svg | 110 ++++
.../apache/openmeetings/AbstractSpringTest.java | 48 --
.../calendar/TestAppointmentAddAppointment.java | 4 +-
.../calendar/TestAppointmentSchedulerTask.java | 4 +-
.../calendar/TestDatabaseStructureAppointment.java | 4 +-
...TestDatabaseStructureGetAppointmentByRange.java | 4 +-
.../TestDatabaseStructureGetUserStart.java | 4 +-
.../TestDatabaseStructureMeetingMember.java | 4 +-
.../openmeetings/calendar/TestGetAppointment.java | 4 +-
.../openmeetings/calendar/TestOmCalendar.java | 4 +-
.../openmeetings/calendar/TestSendIcalMessage.java | 33 +-
.../openmeetings/{cli => cmdline}/TestAdmin.java | 16 +-
.../openmeetings/{cli => cmdline}/TestPatcher.java | 9 +-
.../org/apache/openmeetings/config/TestConfig.java | 4 +-
.../openmeetings/core/file/TestFileProcessor.java | 4 +-
.../apache/openmeetings/domain/TestAddGroup.java | 4 +-
.../domain/TestUserGroupAggregation.java | 4 +-
.../openmeetings/invitiation/TestInvitation.java | 6 +-
.../org/apache/openmeetings/ldap/TestLdap.java | 6 +-
.../apache/openmeetings/smoke/TestSmokeBasic.java | 4 +-
.../apache/openmeetings/user/TestUserContact.java | 6 +-
.../apache/openmeetings/user/TestUserCount.java | 4 +-
.../apache/openmeetings/user/TestUserGroup.java | 6 +-
.../org/apache/openmeetings/userdata/TestAuth.java | 4 +-
.../apache/openmeetings/userdata/TestLogin.java | 4 +-
.../org/apache/openmeetings/web/TestCalendar.java | 8 +-
.../org/apache/openmeetings/web/TestMainAreas.java | 6 +-
.../org/apache/openmeetings/web/TestMainMenu.java | 6 +-
.../openmeetings/web/app/TestApplication.java | 4 +-
.../web/app/TestApplicationMocked.java | 6 +-
.../web/app/TestOmAuthenticationStrategy.java | 4 +-
.../web/app/TestUserManagerMocked.java | 2 +
.../openmeetings/web/app/TestWebSession.java | 4 +-
.../openmeetings/web/pages/TestHashPage.java | 8 +-
.../openmeetings/web/pages/auth/TestLoginUI.java | 4 +-
.../web/pages/install/TestInstall.java | 26 +-
.../service/mail}/TestEmailTemplate.java | 12 +-
.../service/mail}/TestSubjTemplate.java | 14 +-
.../test/AbstractOmServerTest.java} | 34 +-
.../test/AbstractWicketTesterTest.java} | 10 +-
.../test/IsolatedTest.java} | 18 +-
.../apache/openmeetings/web/test/RegularTest.java | 23 +-
.../{ => web/test}/backup/AbstractTestImport.java | 10 +-
.../{ => web/test}/backup/TestExport.java | 11 +-
.../{ => web/test}/backup/TestImport.java | 5 +-
.../{ => web/test}/backup/TestImportCalendar.java | 4 +-
.../{ => web/test}/backup/TestImportConfig.java | 4 +-
.../{ => web/test}/backup/TestImportOld.java | 8 +-
.../{ => web/test}/backup/TestImportRoom.java | 4 +-
.../{ => web/test}/backup/TestImportUser.java | 5 +-
.../{db/dao => web/test/db}/TestFileDao.java | 6 +-
.../{db/dao => web/test/db}/TestRoomDao.java | 6 +-
.../scheduler => web/test/job}/TestJob.java | 10 +-
.../openmeetings/{ => web}/util/TestDateTime.java | 6 +-
.../{ => web}/util/TestStoredFile.java | 7 +-
.../webservice/AbstractWebServiceTest.java | 50 +-
.../webservice/CreateTomcatExtension.java | 82 +++
.../webservice/TestCalendarService.java | 14 +-
.../openmeetings/webservice/TestErrorService.java | 2 +-
.../openmeetings/webservice/TestFileService.java | 13 +-
.../openmeetings/webservice/TestGroupService.java | 4 +-
.../openmeetings/webservice/TestInfoService.java | 31 +-
.../webservice/TestRecordingService.java | 2 +-
.../openmeetings/webservice/TestUserService.java | 24 +-
openmeetings-web/src/test/jetty/web.xml | 2 +-
.../src/test/resources/logback-test.xml | 1 +
.../apache/openmeetings/backup/config/configs.xml | 4 +-
.../openmeetings/backup/config/skip/configs.xml | 4 +-
openmeetings-webservice/pom.xml | 107 +++-
.../src/main/java/module-info.java | 13 +-
.../webservice/CalendarWebService.java | 128 +++-
.../openmeetings/webservice/ErrorWebService.java | 41 +-
.../openmeetings/webservice/FileWebService.java | 136 ++++-
.../openmeetings/webservice/GroupWebService.java | 113 +++-
.../openmeetings/webservice/InfoWebService.java | 67 ++-
.../openmeetings/webservice/NetTestWebService.java | 50 +-
.../webservice/RecordingWebService.java | 68 ++-
.../openmeetings/webservice/RoomWebService.java | 202 ++++++-
.../openmeetings/webservice/UserWebService.java | 97 ++-
.../openmeetings/webservice/WbWebService.java | 72 ++-
.../schema/AppointmentDTOListWrapper.java | 157 +++++
.../webservice/schema/AppointmentDTOWrapper.java | 153 +++++
.../schema/FileExplorerObjectWrapper.java | 79 +++
.../webservice/schema/FileItemDTOListWrapper.java | 60 ++
.../webservice/schema/FileItemDTOWrapper.java | 56 ++
.../webservice/schema/GroupDTOListWrapper.java | 58 ++
.../webservice/schema/HealthWrapper.java | 34 +-
.../webservice/schema/InfoWrapper.java | 38 +-
.../webservice/schema/RecordingDTOListWrapper.java | 63 ++
.../webservice/schema/RoomDTOListWrapper.java | 124 ++++
.../webservice/schema/RoomDTOWrapper.java | 64 ++
.../webservice/schema/ServiceResultWrapper.java | 44 +-
.../webservice/schema/UserDTOListWrapper.java | 111 ++++
.../webservice/schema/UserDTOWrapper.java | 68 +++
.../webservice/schema/UserSearchResultWrapper.java | 94 +++
.../webservice/util/OmExceptionHandler.java | 20 +-
pom.xml | 666 +++++++++++++++++----
.../license/THIRD-PARTY.properties | 3 +-
src/license/license-template.ftl | 93 +++
481 files changed, 6195 insertions(+), 3760 deletions(-)
diff --cc openmeetings-core/pom.xml
index 01d7b75,145b416..3cabb9d
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-core/pom.xml
@@@ -84,20 -80,12 +80,8 @@@
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-all</artifactId>
- <version>${api-all.version}</version>
- <exclusions>
- <exclusion>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.sun.mail</groupId>
- <artifactId>javax.mail</artifactId>
- <version>${javax.mail.version}</version>
</dependency>
<dependency>
- <groupId>com.sun.mail</groupId>
- <artifactId>javax.mail</artifactId>
- </dependency>
- <dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
</dependency>
diff --cc openmeetings-core/src/main/java/module-info.java
index 696b002,0000000..0a2eb16
mode 100644,000000..100644
--- a/openmeetings-core/src/main/java/module-info.java
+++ b/openmeetings-core/src/main/java/module-info.java
@@@ -1,44 -1,0 +1,52 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
- module apache.openmeetings.core {
- requires transitive apache.openmeetings.db;
++module org.apache.openmeetings.core {
++ exports org.apache.openmeetings.core.converter;
++ exports org.apache.openmeetings.core.data.file;
++ exports org.apache.openmeetings.core.ldap;
++ exports org.apache.openmeetings.core.mail;
++ exports org.apache.openmeetings.core.notifier;
++ exports org.apache.openmeetings.core.remote;
++ exports org.apache.openmeetings.core.rss;
++ exports org.apache.openmeetings.core.sip;
++ exports org.apache.openmeetings.core.util;
++
++ requires transitive org.apache.openmeetings.db;
++
++ requires transitive org.apache.wicket.ioc;
+
+ requires transitive org.apache.commons.io;
+
+ requires kurento.client;
+ requires kurento.commons;
+ requires kurento.jsonrpc.client;
- requires java.activation;
+ requires com.google.gson;
- requires java.mail;
+ requires java.xml;
+ requires xstream;
+
+ requires jodconverter.core;
+ requires jodconverter.local;
+ requires org.apache.directory.ldap.api.all;
- requires tika.parsers;
+ requires javax.inject;
- requires wicket.ioc;
+ requires java.annotation;
- requires apache.openmeetings.util;
+ requires asterisk.java;
+ requires jain.sip.ri;
++ requires org.apache.tika.parser.image;
++ requires transitive jakarta.mail;
+}
-
diff --cc openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
index 5e42772,5e42772..445d1a6
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/mail/MailHandler.java
@@@ -40,24 -40,24 +40,10 @@@ import java.util.Date
import java.util.List;
import java.util.Properties;
--import javax.activation.DataHandler;
--import javax.mail.Authenticator;
--import javax.mail.BodyPart;
--import javax.mail.Message;
--import javax.mail.MessagingException;
--import javax.mail.Multipart;
--import javax.mail.PasswordAuthentication;
--import javax.mail.Session;
--import javax.mail.Transport;
--import javax.mail.internet.InternetAddress;
--import javax.mail.internet.MimeBodyPart;
--import javax.mail.internet.MimeMessage;
--import javax.mail.internet.MimeMultipart;
--import javax.mail.util.ByteArrayDataSource;
--
import org.apache.openmeetings.db.dao.basic.MailMessageDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
import org.apache.openmeetings.db.entity.basic.MailMessage.Status;
++import org.apache.openmeetings.util.mail.ByteArrayDataSource;
import org.apache.openmeetings.util.mail.MailUtil;
import org.apache.wicket.util.string.Strings;
import org.slf4j.Logger;
@@@ -66,6 -66,6 +52,20 @@@ import org.springframework.beans.factor
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Component;
++import jakarta.activation.DataHandler;
++import jakarta.mail.Authenticator;
++import jakarta.mail.BodyPart;
++import jakarta.mail.Message;
++import jakarta.mail.MessagingException;
++import jakarta.mail.Multipart;
++import jakarta.mail.PasswordAuthentication;
++import jakarta.mail.Session;
++import jakarta.mail.Transport;
++import jakarta.mail.internet.InternetAddress;
++import jakarta.mail.internet.MimeBodyPart;
++import jakarta.mail.internet.MimeMessage;
++import jakarta.mail.internet.MimeMultipart;
++
/**
*
* @author swagner
diff --cc openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
index 04c9a08,04c9a08..7408229
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
@@@ -30,8 -30,8 +30,8 @@@ import java.util.concurrent.atomic.Atom
import javax.inject.Inject;
import org.apache.commons.lang3.time.FastDateFormat;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.WebSocketHelper;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.basic.Client.Activity;
diff --cc openmeetings-core/src/main/java/org/apache/openmeetings/core/util/ChatWebSocketHelper.java
index 33d3a8e,33d3a8e..b92ab6d
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/ChatWebSocketHelper.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/ChatWebSocketHelper.java
@@@ -26,10 -26,10 +26,10 @@@ import java.util.List
import java.util.function.BiConsumer;
import org.apache.commons.lang3.time.FastDateFormat;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.ws.WsMessageChat;
import org.apache.openmeetings.core.util.ws.WsMessageChat2All;
import org.apache.openmeetings.core.util.ws.WsMessageChat2User;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.db.entity.user.User;
diff --cc openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
index 16c3698,16c3698..3ef9357
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
@@@ -28,12 -28,12 +28,12 @@@ import java.util.function.Function
import java.util.function.Predicate;
import java.util.stream.Stream;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.ws.WsMessageAll;
import org.apache.openmeetings.core.util.ws.WsMessageRoom;
import org.apache.openmeetings.core.util.ws.WsMessageRoomMsg;
import org.apache.openmeetings.core.util.ws.WsMessageRoomOthers;
import org.apache.openmeetings.core.util.ws.WsMessageUser;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.basic.IWsClient;
import org.apache.openmeetings.db.manager.IClientManager;
diff --cc openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
index e2572e9,e2572e9..3533970
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/mail/TestMailSending.java
@@@ -26,15 -26,15 +26,15 @@@ import static org.apache.openmeetings.u
import static org.apache.openmeetings.util.OpenmeetingsVariables.setSmtpUser;
import static org.junit.jupiter.api.Assertions.assertTrue;
--import javax.mail.Message;
--import javax.mail.Transport;
--import javax.mail.internet.InternetAddress;
--import javax.mail.internet.MimeMessage;
--
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
++import jakarta.mail.Message;
++import jakarta.mail.Transport;
++import jakarta.mail.internet.InternetAddress;
++import jakarta.mail.internet.MimeMessage;
++
/**
*
* @author swagner
diff --cc openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
index e405d55,ff8549d..a27d3b5
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
@@@ -35,8 -35,8 +35,8 @@@ import java.util.Set
import javax.inject.Inject;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.WebSocketHelper;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.label.LabelDao;
import org.apache.openmeetings.db.entity.basic.IWsClient;
import org.apache.openmeetings.db.entity.label.OmLanguage;
diff --cc openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
index 377d48b,b8ddf50..9391a8e
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
@@@ -28,7 -28,7 +28,7 @@@ import static org.mockito.Mockito.doRet
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
--import org.apache.openmeetings.IApplication;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
diff --cc openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
index d120f9b,005bbe4..9d06f7f
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
+++ b/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
@@@ -26,7 -26,7 +26,7 @@@ import static org.mockito.Mockito.doRet
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
--import org.apache.openmeetings.IApplication;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
diff --cc openmeetings-db/src/main/java/module-info.java
index aa1690d,0000000..62479df
mode 100644,000000..100644
--- a/openmeetings-db/src/main/java/module-info.java
+++ b/openmeetings-db/src/main/java/module-info.java
@@@ -1,63 -1,0 +1,67 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
- module apache.openmeetings.db {
- exports org.apache.openmeetings;
++module org.apache.openmeetings.db {
++ exports org.apache.openmeetings.db;
++ exports org.apache.openmeetings.db.bind;
++ exports org.apache.openmeetings.db.bind.adapter;
+ exports org.apache.openmeetings.db.dao;
+ exports org.apache.openmeetings.db.dao.basic;
+ exports org.apache.openmeetings.db.dao.calendar;
+ exports org.apache.openmeetings.db.dao.file;
+ exports org.apache.openmeetings.db.dao.label;
+ exports org.apache.openmeetings.db.dao.log;
+ exports org.apache.openmeetings.db.dao.record;
+ exports org.apache.openmeetings.db.dao.room;
+ exports org.apache.openmeetings.db.dao.server;
+ exports org.apache.openmeetings.db.dao.user;
+ exports org.apache.openmeetings.db.dto.basic;
+ exports org.apache.openmeetings.db.dto.calendar;
+ exports org.apache.openmeetings.db.dto.file;
+ exports org.apache.openmeetings.db.dto.record;
+ exports org.apache.openmeetings.db.dto.room;
+ exports org.apache.openmeetings.db.dto.user;
+ exports org.apache.openmeetings.db.entity;
+ exports org.apache.openmeetings.db.entity.basic;
+ exports org.apache.openmeetings.db.entity.calendar;
+ exports org.apache.openmeetings.db.entity.file;
+ exports org.apache.openmeetings.db.entity.label;
+ exports org.apache.openmeetings.db.entity.log;
+ exports org.apache.openmeetings.db.entity.record;
+ exports org.apache.openmeetings.db.entity.room;
+ exports org.apache.openmeetings.db.entity.server;
+ exports org.apache.openmeetings.db.entity.user;
+ exports org.apache.openmeetings.db.manager;
++ exports org.apache.openmeetings.db.mapper;
+ exports org.apache.openmeetings.db.util;
+ exports org.apache.openmeetings.db.util.ws;
+
- requires transitive apache.openmeetings.util;
++ requires transitive org.apache.openmeetings.util;
+ requires transitive org.apache.wicket.request;
+ requires transitive org.apache.wicket.websocket.core;
++ requires transitive org.apache.commons.text;
++
+ requires transitive spring.beans;
+ requires transitive spring.web;
+ requires transitive spring.core;
++ requires transitive org.apache.openjpa;
+
+ requires spring.tx;
+ requires javax.persistence;
- requires openjpa;
+ requires java.xml.bind;
- requires org.apache.commons.text;
+}
diff --cc openmeetings-db/src/main/java/org/apache/openmeetings/db/IApplication.java
index 45f9f91,45f9f91..5da9209
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/IApplication.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/IApplication.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings;
++package org.apache.openmeetings.db;
import java.util.Locale;
import java.util.Set;
diff --cc openmeetings-db/src/main/java/org/apache/openmeetings/db/IWebSession.java
index 6f20e00,6f20e00..eccfb7f
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/IWebSession.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/IWebSession.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings;
++package org.apache.openmeetings.db;
import java.util.Locale;
diff --cc openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 71b8a8d,71b8a8d..be53b79
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@@ -41,7 -41,7 +41,7 @@@ import org.apache.openjpa.event.RemoteC
import org.apache.openjpa.event.TCPRemoteCommitProvider;
import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
import org.apache.openjpa.persistence.OpenJPAPersistence;
--import org.apache.openmeetings.IApplication;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.IDataProviderDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
import org.apache.openmeetings.db.dao.user.UserDao;
diff --cc openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
index 06d68b4,06d68b4..22f3510
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
@@@ -34,8 -34,8 +34,8 @@@ import javax.servlet.FilterConfig
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
--import org.apache.openmeetings.IApplication;
--import org.apache.openmeetings.IWebSession;
++import org.apache.openmeetings.db.IApplication;
++import org.apache.openmeetings.db.IWebSession;
import org.apache.openmeetings.db.dao.label.LabelDao;
import org.apache.openmeetings.util.OMContextListener;
import org.apache.wicket.Application;
diff --cc openmeetings-install/src/main/java/module-info.java
index 5987c83,b3174f1..85b0322
--- a/openmeetings-install/src/main/java/module-info.java
+++ b/openmeetings-install/src/main/java/module-info.java
@@@ -16,10 -16,14 +16,16 @@@
* specific language governing permissions and limitations
* under the License.
*/
- module org.apache.openmeetings.util.test {
- requires transitive org.apache.openmeetings.util;
-package org.apache.openmeetings;
++module org.apache.openmeetings.install {
++ exports org.apache.openmeetings.cli;
++ exports org.apache.openmeetings.backup;
++ exports org.apache.openmeetings.installation;
- //tests
- requires org.junit.jupiter.engine;
- requires org.junit.jupiter.api;
-import org.junit.jupiter.api.Test;
-
-class TestConnection {
-
- @Test
- void testNoop() {
- //no-op
- }
++ requires transitive org.apache.openmeetings.core;
++ requires java.xml.bind;
++ requires org.apache.commons.io;
++ requires java.desktop;
++ requires spring.context.support;
++ requires commons.cli;
++ requires quartz;
}
diff --cc openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
index 6990b12,33942d8..57a5d0b
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
@@@ -381,10 -382,10 +382,7 @@@ public class BackupExport
writeList(zos, "extraMenus.xml", EXTRA_MENU_LIST_NODE, list);
}
-- /*
-- * Package private for tests
-- */
-- static <T> ByteArrayOutputStream stream(String listElement, List<T> list) throws Exception {
++ public static <T> ByteArrayOutputStream stream(String listElement, List<T> list) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream(10 * 1024); //10K
writeList(baos, listElement, list);
return baos;
diff --cc openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
index 8a66ea9,ec17fa0..58e2609f
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
@@@ -480,15 -483,23 +483,23 @@@ public class BackupImport
}
}
}
+ log.info("File explorer item import complete");
+ success = true;
+ } catch (Exception e) {
+ throw e;
+ } finally {
+ if (f != null) {
+ log.info("Clearing temp files ...");
+ FileUtils.deleteDirectory(f);
+ }
+ cleanup();
+ if (success) {
+ progress.set(100);
+ }
}
- log.info("File explorer item import complete, clearing temp files");
-
- FileUtils.deleteDirectory(f);
- cleanup();
- progressHolder.setProgress(100);
}
-- void cleanup() {
++ public void cleanup() {
ldapMap.clear();
oauthMap.clear();
userMap.clear();
@@@ -505,7 -516,7 +516,7 @@@
messageFolderMap.put(TRASH_FOLDER_ID, TRASH_FOLDER_ID);
}
-- static BackupVersion getVersion(File base) {
++ public static BackupVersion getVersion(File base) {
List<BackupVersion> list = new ArrayList<>(1);
readList(base, "version.xml", VERSION_LIST_NODE, VERSION_NODE, BackupVersion.class, list::add, true);
return list.isEmpty() ? new BackupVersion() : list.get(0);
@@@ -514,7 -525,7 +525,7 @@@
/*
* ##################### Import Configs
*/
-- void importConfigs(File base) throws Exception {
++ public void importConfigs(File base) throws Exception {
final Map<Integer, String> keyMap = new HashMap<>();
Arrays.stream(KeyEvent.class.getDeclaredFields())
.filter(fld -> fld.getName().startsWith("VK_"))
@@@ -577,7 -588,7 +588,7 @@@
/*
* ##################### Import Groups
*/
-- void importGroups(File base) throws Exception {
++ public void importGroups(File base) throws Exception {
log.info("Configs import complete, starting group import");
readList(base, "organizations.xml", GROUP_LIST_NODE, GROUP_NODE, Group.class, g -> {
Long oldId = g.getId();
@@@ -590,7 -601,7 +601,7 @@@
/*
* ##################### Import LDAP Configs
*/
-- Long importLdap(File base) {
++ public Long importLdap(File base) {
log.info("Groups import complete, starting LDAP config import");
Long[] defaultLdapId = {cfgDao.getLong(CONFIG_DEFAULT_LDAP_ID, null)};
readList(base, "ldapconfigs.xml", "ldapconfigs", "ldapconfig", LdapConfig.class, c -> {
@@@ -613,7 -624,7 +624,7 @@@
/*
* ##################### OAuth2 servers
*/
-- void importOauth(File base) {
++ public void importOauth(File base) {
log.info("Ldap config import complete, starting OAuth2 server import");
readList(base, "oauth2servers.xml", OAUTH_LIST_NODE, OAUTH_NODE, OAuthServer.class
, s -> {
@@@ -629,7 -640,7 +640,7 @@@
/*
* ##################### Import Users
*/
-- void importUsers(File base) throws Exception {
++ public void importUsers(File base) throws Exception {
log.info("OAuth2 servers import complete, starting user import");
String jNameTimeZone = getDefaultTimezone();
//add existent emails from database
@@@ -755,7 -766,7 +766,7 @@@
/*
* ##################### Import Room Groups
*/
-- void importRoomGroups(File base) throws Exception {
++ public void importRoomGroups(File base) throws Exception {
log.info("Room import complete, starting room groups import");
Class<RoomGroup> eClazz = RoomGroup.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
@@@ -784,7 -795,7 +795,7 @@@
/*
* ##################### Import Chat messages
*/
-- void importChat(File base) throws Exception {
++ public void importChat(File base) throws Exception {
log.info("Room groups import complete, starting chat messages import");
Class<ChatMessage> eClazz = ChatMessage.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
@@@ -807,7 -818,7 +818,7 @@@
/*
* ##################### Import Calendars
*/
-- void importCalendars(File base) throws Exception {
++ public void importCalendars(File base) throws Exception {
log.info("Chat messages import complete, starting calendar import");
Class<OmCalendar> eClazz = OmCalendar.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
@@@ -825,7 -836,7 +836,7 @@@
/*
* ##################### Import Appointments
*/
-- void importAppointments(File base) throws Exception {
++ public void importAppointments(File base) throws Exception {
log.info("Calendar import complete, starting appointement import");
Class<Appointment> eClazz = Appointment.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
@@@ -860,7 -871,7 +871,7 @@@
*
* Reminder Invitations will be NOT send!
*/
-- void importMeetingMembers(File base) throws Exception {
++ public void importMeetingMembers(File base) throws Exception {
log.info("Appointement import complete, starting meeting members import");
Class<MeetingMember> eClazz = MeetingMember.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
@@@ -953,7 -964,7 +964,7 @@@
/*
* ##################### Import Recordings
*/
-- void importRecordings(File base) throws Exception {
++ public void importRecordings(File base) throws Exception {
log.info("Meeting members import complete, starting recordings server import");
final Map<Long, Long> folders = new HashMap<>();
saveTree(base, "flvRecordings.xml", RECORDING_LIST_NODE, RECORDING_NODE, Recording.class, folders, r -> {
@@@ -996,7 -1007,7 +1007,7 @@@
/*
* ##################### Import Private Message Folders
*/
-- void importPrivateMsgFolders(File base) {
++ public void importPrivateMsgFolders(File base) {
log.info("Recording import complete, starting private message folder import");
readList(base, "privateMessageFolder.xml", MSG_FOLDER_LIST_NODE, MSG_FOLDER_NODE, PrivateMessageFolder.class, p -> {
Long folderId = p.getId();
@@@ -1141,7 -1152,7 +1152,7 @@@
}, true);
}
-- void importExtraMenus(File base) throws Exception {
++ public void importExtraMenus(File base) throws Exception {
log.info("Room files complete, starting extra menus import");
Class<ExtraMenu> eClazz = ExtraMenu.class;
JAXBContext jc = JAXBContext.newInstance(eClazz);
diff --cc openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
index e653c2a,8a36fb8..297784b
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
@@@ -105,7 -105,7 +105,7 @@@ public class Admin
private File home;
private String step;
-- Admin() {
++ public Admin() {
cfg = new InstallationConfig();
opts = buildOptions();
step = "Initialization";
@@@ -227,8 -227,8 +227,7 @@@
return context;
}
-- //package private wrapper for testing
-- void process(String... args) throws Exception {
++ public void process(String... args) throws Exception {
CommandLineParser parser = new DefaultParser();
try {
cmdl = parser.parse(opts, args);
diff --cc openmeetings-service/src/main/java/module-info.java
index 696b002,68a8763..d39d422
--- a/openmeetings-service/src/main/java/module-info.java
+++ b/openmeetings-service/src/main/java/module-info.java
@@@ -16,29 -16,33 +16,22 @@@
* specific language governing permissions and limitations
* under the License.
*/
- module apache.openmeetings.core {
- requires transitive apache.openmeetings.db;
-package org.apache.openmeetings.rdc;
-
-import java.awt.event.KeyEvent;
-
-import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class TestKeyCodesNumber {
- private static final Logger log = LoggerFactory.getLogger(TestKeyCodesNumber.class);
-
- @Test
- void testKeyCodes() {
- try {
-
- for (int i = 1; i < 600; i++) {
-
- String charText = KeyEvent.getKeyText(i);
-
- log.debug("ERROR " + i + " " + charText);
-
- }
-
- } catch (Exception err) {
- log.error("[testKeyCodes]", err);
- }
-
- }
-
++module org.apache.openmeetings.service {
++ exports org.apache.openmeetings.service.calendar;
++ exports org.apache.openmeetings.service.calendar.caldav;
++ exports org.apache.openmeetings.service.mail;
++ exports org.apache.openmeetings.service.mail.template;
++ exports org.apache.openmeetings.service.mail.template.subject;
++ exports org.apache.openmeetings.service.room;
++ exports org.apache.openmeetings.service.scheduler;
+
- requires transitive org.apache.commons.io;
++ requires transitive org.apache.openmeetings.core;
+
- requires kurento.client;
- requires kurento.commons;
- requires kurento.jsonrpc.client;
- requires java.activation;
- requires com.google.gson;
- requires java.mail;
- requires java.xml;
- requires xstream;
++ requires transitive org.apache.wicket.spring;
+
- requires jodconverter.core;
- requires jodconverter.local;
- requires org.apache.directory.ldap.api.all;
- requires tika.parsers;
- requires javax.inject;
- requires wicket.ioc;
++ requires org.apache.httpcomponents.httpcore;
++ requires org.apache.httpcomponents.httpclient;
++ requires caldav4j;
++ requires jackrabbit.webdav;
+ requires java.annotation;
- requires apache.openmeetings.util;
- requires asterisk.java;
- requires jain.sip.ri;
}
-
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/IcalUtils.java
index 57a3ce2,57a3ce2..8250564
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/IcalUtils.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/IcalUtils.java
@@@ -20,20 -20,20 +20,26 @@@ package org.apache.openmeetings.service
import static java.util.UUID.randomUUID;
import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
++import static org.apache.openmeetings.util.CalendarHelper.getZoneDateTime;
import static org.apache.openmeetings.util.mail.MailUtil.MAILTO;
import static org.apache.openmeetings.util.mail.MailUtil.SCHEME_MAILTO;
import java.net.URI;
import java.text.ParsePosition;
++import java.time.Instant;
++import java.time.ZonedDateTime;
++import java.time.temporal.Temporal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.NoSuchElementException;
++import java.util.Optional;
import java.util.Set;
import java.util.TimeZone;
import java.util.UUID;
++import java.util.concurrent.atomic.AtomicReference;
import org.apache.commons.lang3.time.FastDateFormat;
import org.apache.openmeetings.db.dao.user.UserDao;
@@@ -50,12 -50,12 +56,8 @@@ import org.springframework.beans.factor
import net.fortuna.ical4j.model.Calendar;
import net.fortuna.ical4j.model.Component;
--import net.fortuna.ical4j.model.ComponentList;
--import net.fortuna.ical4j.model.DateTime;
import net.fortuna.ical4j.model.Parameter;
import net.fortuna.ical4j.model.Property;
--import net.fortuna.ical4j.model.PropertyList;
--import net.fortuna.ical4j.model.Recur.Frequency;
import net.fortuna.ical4j.model.TimeZoneRegistry;
import net.fortuna.ical4j.model.TimeZoneRegistryFactory;
import net.fortuna.ical4j.model.component.CalendarComponent;
@@@ -73,6 -73,6 +75,7 @@@ import net.fortuna.ical4j.model.propert
import net.fortuna.ical4j.model.property.Transp;
import net.fortuna.ical4j.model.property.Uid;
import net.fortuna.ical4j.model.property.Version;
++import net.fortuna.ical4j.transform.recurrence.Frequency;
/**
* Class which provides iCalendar Utilities.
@@@ -81,6 -81,6 +84,8 @@@
@org.springframework.stereotype.Component
public class IcalUtils {
private static final Logger log = LoggerFactory.getLogger(IcalUtils.class);
++ private static final TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
++ private static final List<String> acceptedFormats = List.of("yyyyMMdd'T'HHmmss", "yyyyMMdd'T'HHmmss'Z'", "yyyyMMdd");
public static final String PROD_ID = "-//Events Calendar//Apache Openmeetings//EN";
@Autowired
@@@ -119,7 -119,7 +124,7 @@@
*/
public List<Appointment> parseCalendartoAppointments(Calendar calendar, Long ownerId) {
List<Appointment> appointments = new ArrayList<>();
-- ComponentList<CalendarComponent> events = calendar.getComponents(Component.VEVENT);
++ List<CalendarComponent> events = calendar.getComponents(Component.VEVENT);
User owner = userDao.get(ownerId);
for (CalendarComponent event : events) {
@@@ -148,14 -148,14 +153,22 @@@
if (calendar == null) {
return a;
}
-- CalendarComponent event = calendar.getComponent(Component.VEVENT);
-- if (event != null) {
++ calendar.getComponent(Component.VEVENT).ifPresent(event -> {
a.setEtag(etag);
-- a = addVEventPropertiestoAppointment(a, event);
-- }
++ addVEventPropertiestoAppointment(a, event);
++ });;
return a;
}
++ private Date getDate(CalendarComponent event, String prop) {
++ return getDate(event.getProperty(prop).get());
++ }
++
++ @SuppressWarnings("unchecked")
++ private Date getDate(Property prop) {
++ return Date.from(Instant.from(((DateProperty<? extends Temporal>)prop).getDate()));
++ }
++
/**
* Add properties from the Given VEvent Component to the Appointment
*
@@@ -164,51 -164,51 +177,21 @@@
* @return Updated Appointment
*/
private Appointment addVEventPropertiestoAppointment(Appointment a, CalendarComponent event) {
-- DateProperty dtstart = (DateProperty)event.getProperty(Property.DTSTART)
-- , dtend = (DateProperty)event.getProperty(Property.DTEND)
-- , dtstamp = (DateProperty)event.getProperty(Property.DTSTAMP)
-- , lastmod = (DateProperty)event.getProperty(Property.LAST_MODIFIED);
-- Property uid = event.getProperty(Property.UID),
-- description = event.getProperty(Property.DESCRIPTION),
-- summary = event.getProperty(Property.SUMMARY),
-- location = event.getProperty(Property.LOCATION),
-- organizer = event.getProperty(Property.ORGANIZER),
-- recur = event.getProperty(Property.RRULE);
-- PropertyList<Attendee> attendees = event.getProperties(Property.ATTENDEE);
--
-- if (uid != null) {
-- a.setIcalId(uid.getValue());
-- }
--
-- Date d = dtstart.getDate();
-- a.setStart(d);
-- if (dtend == null) {
-- a.setEnd(addTimetoDate(d, java.util.Calendar.HOUR_OF_DAY, 1));
-- } else {
-- a.setEnd(dtend.getDate());
-- }
--
-- a.setInserted(dtstamp.getDate());
--
-- if (lastmod != null) {
-- a.setUpdated(lastmod.getDate());
-- }
++ event.getProperty(Property.UID).ifPresent(uid -> a.setIcalId(uid.getValue()));
-- if (description != null) {
-- a.setDescription(description.getValue());
-- }
--
-- if (summary != null) {
-- a.setTitle(summary.getValue());
-- }
++ Date d = getDate(event, Property.DTSTART);
++ a.setStart(getDate(event, Property.DTSTART));
++ event.getProperty(Property.DTEND).ifPresentOrElse(dtend -> a.setEnd(getDate(dtend))
++ , () -> a.setEnd(addTimetoDate(d, java.util.Calendar.HOUR_OF_DAY, 1)));
-- if (location != null) {
-- a.setLocation(location.getValue());
-- }
++ event.getProperty(Property.DTSTAMP).ifPresent(dtstamp -> a.setInserted(getDate(dtstamp)));
++ event.getProperty(Property.LAST_MODIFIED).ifPresent(lastmod -> a.setUpdated(getDate(lastmod)));
++ event.getProperty(Property.DESCRIPTION).ifPresent(description -> a.setDescription(description.getValue()));
++ event.getProperty(Property.SUMMARY).ifPresent(summary -> a.setTitle(summary.getValue()));
++ event.getProperty(Property.LOCATION).ifPresent(location -> a.setLocation(location.getValue()));
-- if (recur != null) {
-- Parameter freq = recur.getParameter("FREQ");
-- if (freq != null) {
++ event.getProperty(Property.RRULE).ifPresent(recur -> {
++ recur.getParameters().getFirst("FREQ").ifPresent(freq -> {
if (freq.getValue().equals(Frequency.DAILY.name())) {
a.setIsDaily(true);
} else if (freq.getValue().equals(Frequency.WEEKLY.name())) {
@@@ -218,22 -218,22 +201,22 @@@
} else if (freq.getValue().equals(Frequency.YEARLY.name())) {
a.setIsYearly(true);
}
-- }
-- }
++ });
++ });
Set<MeetingMember> attList = a.getMeetingMembers() == null ? new HashSet<>()
: new HashSet<>(a.getMeetingMembers());
-- String organizerEmail = null;
++ AtomicReference<String> organizerEmail = new AtomicReference<>();
//Note this value can be repeated in attendees as well.
-- if (organizer != null) {
++ event.getProperty(Property.ORGANIZER).ifPresent(organizer -> {
URI uri = URI.create(organizer.getValue());
//If the value of the organizer is an email
if (SCHEME_MAILTO.equals(uri.getScheme())) {
String email = uri.getSchemeSpecificPart();
-- organizerEmail = email;
++ organizerEmail.set(email);
if (!email.equals(a.getOwner().getAddress().getEmail())) {
//Contact or exist and owner
User org = userDao.getByEmail(email);
@@@ -245,29 -245,29 +228,26 @@@
}
}
}
-- }
++ });
-- if (attendees != null && !attendees.isEmpty()) {
-- for (Property attendee : attendees) {
-- URI uri = URI.create(attendee.getValue());
-- if (SCHEME_MAILTO.equals(uri.getScheme())) {
-- String email = uri.getSchemeSpecificPart();
--
-- Role role = attendee.getParameter(Role.CHAIR.getName());
-- if (role != null && role.getValue().equals(Role.CHAIR.getValue())
-- && email.equals(organizerEmail)) {
-- continue;
-- }
++ event.getProperties(Property.ATTENDEE).forEach(attendee -> {
++ URI uri = URI.create(attendee.getValue());
++ if (SCHEME_MAILTO.equals(uri.getScheme())) {
++ String email = uri.getSchemeSpecificPart();
-- User u = userDao.getByEmail(email);
-- if (u == null) {
-- u = userDao.getContact(email, a.getOwner());
-- }
-- attList.add(createMeetingMember(a, u));
++ Optional<Role> role = attendee.getParameters().getFirst(Role.CHAIR.getName());
++ if (role.isPresent() && role.get().getValue().equals(Role.CHAIR.getValue()) && email.equals(organizerEmail.get())) {
++ return;
++ }
++ User u = userDao.getByEmail(email);
++ if (u == null) {
++ u = userDao.getContact(email, a.getOwner());
}
++ attList.add(createMeetingMember(a, u));
++
}
-- }
++ });
a.setMeetingMembers(attList.isEmpty() ? null : new ArrayList<>(attList));
@@@ -302,16 -302,16 +282,15 @@@
* @return Parsed TimeZone
*/
public TimeZone parseTimeZone(Calendar calendar, User owner) {
-- if (calendar != null) {
-- Component timezone = calendar.getComponent(Component.VTIMEZONE);
-- if (timezone != null) {
-- Property tzid = timezone.getProperty(Property.TZID);
-- if (tzid != null) {
-- return getTimeZone(tzid.getValue());
-- }
-- }
-- }
-- return getTimeZone(owner);
++ return Optional.ofNullable(calendar)
++ .map(cal -> cal.getComponent(Component.VTIMEZONE))
++ .filter(Optional::isPresent)
++ .map(Optional::get)
++ .map(timezone -> timezone.getProperty(Property.TZID))
++ .filter(Optional::isPresent)
++ .map(Optional::get)
++ .map(tzid -> getTimeZone(tzid.getValue()))
++ .orElse(getTimeZone(owner));
}
/**
@@@ -327,13 -327,13 +306,9 @@@
return null;
}
-- String[] acceptedFormats = {"yyyyMMdd'T'HHmmss", "yyyyMMdd'T'HHmmss'Z'", "yyyyMMdd"};
-- Parameter tzid = dt.getParameter(Parameter.TZID);
-- if (tzid == null) {
-- return parseDate(dt.getValue(), acceptedFormats, timeZone);
-- } else {
-- return parseDate(dt.getValue(), acceptedFormats, getTimeZone(tzid.getValue()));
-- }
++ return dt.getParameters().getFirst(Parameter.TZID)
++ .map(tzid -> parseDate(dt.getValue(), getTimeZone(tzid.getValue())))
++ .orElse(parseDate(dt.getValue(), timeZone));
}
/**
@@@ -346,14 -346,14 +321,14 @@@
* @return <code>java.util.Date</code> representation of string or
* <code>null</code> if the Date could not be parsed.
*/
-- public Date parseDate(String str, String[] patterns, TimeZone inTimeZone) {
++ public Date parseDate(String str, TimeZone inTimeZone) {
FastDateFormat parser;
Locale locale = WebSession.get().getLocale();
TimeZone timeZone = str.endsWith("Z") ? TimeZone.getTimeZone("UTC") : inTimeZone;
ParsePosition pos = new ParsePosition(0);
-- for (String pattern : patterns) {
++ for (String pattern : acceptedFormats) {
parser = FastDateFormat.getInstance(pattern, timeZone, locale);
pos.setIndex(0);
Date date = parser.parse(str, pos);
@@@ -373,7 -373,7 +348,7 @@@
* @param amount Amount to be Added
* @return New Date
*/
-- public Date addTimetoDate(Date date, int field, int amount) {
++ public Date addTimetoDate(Date date, int field, int amount) { //FIXME TODO
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
c.add(field, amount);
@@@ -381,37 -381,37 +356,6 @@@
}
/**
-- * Methods to parse Appointment to iCalendar according RFC 2445
-- *
-- * @param appointment to be converted to iCalendar
-- * @return iCalendar representation of the Appointment
-- */
-- public Calendar parseAppointmenttoCalendar(Appointment appointment) {
-- String tzid = parseTimeZone(null, appointment.getOwner()).getID();
--
-- TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
--
-- net.fortuna.ical4j.model.TimeZone timeZone = registry.getTimeZone(tzid);
-- if (timeZone == null) {
-- throw new NoSuchElementException("Unable to get time zone by id provided: " + tzid);
-- }
--
-- Calendar icsCalendar = new Calendar();
-- icsCalendar.getProperties().add(new ProdId(PROD_ID));
-- icsCalendar.getProperties().add(Version.VERSION_2_0);
-- icsCalendar.getProperties().add(CalScale.GREGORIAN);
-- icsCalendar.getComponents().add(timeZone.getVTimeZone());
--
-- DateTime start = new DateTime(appointment.getStart()), end = new DateTime(appointment.getEnd());
--
-- VEvent meeting = new VEvent(start, end, appointment.getTitle());
-- addVEventpropsfromAppointment(appointment, meeting);
-- icsCalendar.getComponents().add(meeting);
--
-- return icsCalendar;
-- }
--
-- /**
* Adds the Appointment Properties to the given VEvent
*
* @param appointment Appointment whose properties are taken
@@@ -460,35 -460,35 +404,61 @@@
meeting.getProperties().add(organizer);
}
-- /**
-- * Parses a List of Appointments into a VCALENDAR component.
-- *
-- * @param appointments List of Appointments for the Calendar
-- * @param ownerId Owner of the Appointments
-- * @return VCALENDAR representation of the Appointments
-- */
-- public Calendar parseAppointmentstoCalendar(List<Appointment> appointments, Long ownerId) {
-- String tzid = parseTimeZone(null, userDao.get(ownerId)).getID();
--
-- TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
--
++ private net.fortuna.ical4j.model.TimeZone getTimazone(String tzid) {
net.fortuna.ical4j.model.TimeZone timeZone = registry.getTimeZone(tzid);
if (timeZone == null) {
throw new NoSuchElementException("Unable to get time zone by id provided: " + tzid);
}
++ return timeZone;
++ }
++ private Calendar getCalendar(net.fortuna.ical4j.model.TimeZone timeZone) {
Calendar icsCalendar = new Calendar();
icsCalendar.getProperties().add(new ProdId(PROD_ID));
icsCalendar.getProperties().add(Version.VERSION_2_0);
icsCalendar.getProperties().add(CalScale.GREGORIAN);
icsCalendar.getComponents().add(timeZone.getVTimeZone());
++ return icsCalendar;
++ }
-- for (Appointment appointment : appointments) {
-- DateTime start = new DateTime(appointment.getStart()), end = new DateTime(appointment.getEnd());
++ private void parseAppointment(Appointment appointment, Calendar icsCalendar, net.fortuna.ical4j.model.TimeZone timeZone) {
++ ZonedDateTime start = getZoneDateTime(appointment.getStart(), timeZone.getID());
++ ZonedDateTime end = getZoneDateTime(appointment.getEnd(), timeZone.getID());
-- VEvent meeting = new VEvent(start, end, appointment.getTitle());
-- addVEventpropsfromAppointment(appointment, meeting);
-- icsCalendar.getComponents().add(meeting);
++ VEvent meeting = new VEvent(start, end, appointment.getTitle());
++ addVEventpropsfromAppointment(appointment, meeting);
++ icsCalendar.getComponents().add(meeting);
++ }
++
++ /**
++ * Methods to parse Appointment to iCalendar according RFC 2445
++ *
++ * @param appointment to be converted to iCalendar
++ * @return iCalendar representation of the Appointment
++ */
++ public Calendar parseAppointmenttoCalendar(Appointment appointment) {
++ net.fortuna.ical4j.model.TimeZone timeZone = getTimazone(parseTimeZone(null, appointment.getOwner()).getID());
++
++ Calendar icsCalendar = getCalendar(timeZone);
++ parseAppointment(appointment, icsCalendar, timeZone);
++
++ return icsCalendar;
++ }
++
++ /**
++ * Parses a List of Appointments into a VCALENDAR component.
++ *
++ * @param appointments List of Appointments for the Calendar
++ * @param ownerId Owner of the Appointments
++ * @return VCALENDAR representation of the Appointments
++ */
++ public Calendar parseAppointmentstoCalendar(List<Appointment> appointments, Long ownerId) {
++ net.fortuna.ical4j.model.TimeZone timeZone = getTimazone(parseTimeZone(null, userDao.get(ownerId)).getID());
++
++ Calendar icsCalendar = getCalendar(timeZone);
++
++ for (Appointment appointment : appointments) {
++ parseAppointment(appointment, icsCalendar, timeZone);
}
return icsCalendar;
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
index 593c7c7,593c7c7..ae91fa0
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java
@@@ -23,8 -23,8 +23,8 @@@ import static org.apache.openmeetings.u
import static org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.mail.MailHandler;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.service.mail.template.RegisterUserTemplate;
import org.apache.wicket.Application;
import org.apache.wicket.request.mapper.parameter.PageParameters;
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
index 39c0d5f,39c0d5f..ddd8113
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
@@@ -22,8 -22,8 +22,8 @@@ import static org.apache.openmeetings.d
import java.util.Locale;
--import org.apache.openmeetings.IApplication;
--import org.apache.openmeetings.IWebSession;
++import org.apache.openmeetings.db.IApplication;
++import org.apache.openmeetings.db.IWebSession;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentReminderTemplate.java
index 08149d8,08149d8..04dc2de
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentReminderTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentReminderTemplate.java
@@@ -47,7 -47,7 +47,7 @@@ public class AppointmentReminderTemplat
}
@Override
-- String getPrefix() {
++ public String getPrefix() {
return app.getOmString("1158", locale);
}
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.java
index 8f40f5f,8f40f5f..d2ab5d8
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/AppointmentTemplate.java
@@@ -59,7 -59,7 +59,7 @@@ public abstract class AppointmentTempla
add(new Label("end", format(a.getEnd())));
}
-- abstract String getPrefix();
++ public abstract String getPrefix();
@Override
Fragment getSubjectFragment() {
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CanceledAppointmentTemplate.java
index ebf807b,ebf807b..fd32229
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CanceledAppointmentTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CanceledAppointmentTemplate.java
@@@ -47,7 -47,7 +47,7 @@@ public class CanceledAppointmentTemplat
}
@Override
-- String getPrefix() {
++ public String getPrefix() {
return app.getOmString("1157", locale);
}
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CreatedAppointmentTemplate.java
index 161d10f,161d10f..627b34e
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CreatedAppointmentTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/CreatedAppointmentTemplate.java
@@@ -47,7 -47,7 +47,7 @@@ public class CreatedAppointmentTemplat
}
@Override
-- String getPrefix() {
++ public String getPrefix() {
return app.getOmString("1151", locale);
}
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.java
index 7f0b00d,7f0b00d..ac4823e
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/InvitedAppointmentTemplate.java
@@@ -28,7 -28,7 +28,7 @@@ public abstract class InvitedAppointmen
private static final long serialVersionUID = 1L;
protected final String invitorName;
-- InvitedAppointmentTemplate(Locale locale, Appointment a, TimeZone tz, String invitorName) {
++ public InvitedAppointmentTemplate(Locale locale, Appointment a, TimeZone tz, String invitorName) {
super(locale, a, tz);
this.invitorName = invitorName;
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/UpdatedAppointmentTemplate.java
index cb9b315,cb9b315..f6231d0
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/UpdatedAppointmentTemplate.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/subject/UpdatedAppointmentTemplate.java
@@@ -47,7 -47,7 +47,7 @@@ public class UpdatedAppointmentTemplat
}
@Override
-- String getPrefix() {
++ public String getPrefix() {
return app.getOmString("1155", locale);
}
}
diff --cc openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
index 32822a2,32822a2..9397ce7
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
@@@ -22,12 -22,12 +22,13 @@@ import static java.util.UUID.randomUUID
import static org.apache.openmeetings.db.entity.calendar.Appointment.allowedStart;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
++import static org.apache.openmeetings.util.CalendarHelper.getZoneDateTime;
import java.util.Date;
import java.util.TimeZone;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.mail.MailHandler;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.entity.basic.MailMessage;
import org.apache.openmeetings.db.entity.calendar.Appointment;
@@@ -117,14 -117,14 +118,15 @@@ public class InvitationManager implemen
if (invitationLink != null) {
desc += (desc.isEmpty() ? "" : "\n\n\n") + invitationLink;
}
++ String tzid = getTimeZone(owner).getID();
IcalHandler handler = new IcalHandler(MessageType.CANCEL == type ? IcalHandler.ICAL_METHOD_CANCEL : IcalHandler.ICAL_METHOD_REQUEST)
-- .createVEvent(getTimeZone(owner).getID(), a.getStart(), a.getEnd(), a.getTitle())
++ .createVEvent(getZoneDateTime(a.getStart(), tzid), getZoneDateTime(a.getEnd(), tzid), a.getTitle())
.addOrganizer(replyToEmail, owner.getDisplayName())
.setUid(a.getIcalId())
.addAttendee(email, i.getInvitee().getDisplayName(), isOwner)
-- .setCreated(a.getInserted())
++ .setCreated(getZoneDateTime(a.getInserted(), tzid))
.setDescription(desc)
-- .setModified(a.getUpdated())
++ .setModified(getZoneDateTime(a.getUpdated(), tzid))
.setLocation(a.getLocation())
.setSequence(0)
.build();
diff --cc openmeetings-util/pom.xml
index 5ac31ed,f066117..0dade93
--- a/openmeetings-util/pom.xml
+++ b/openmeetings-util/pom.xml
@@@ -146,8 -128,8 +128,18 @@@
<artifactId>aspectjtools</artifactId>
</dependency>
<dependency>
++ <groupId>com.sun.mail</groupId>
++ <artifactId>jakarta.mail</artifactId>
++ </dependency>
++ <dependency>
<groupId>io.prometheus</groupId>
-- <artifactId>simpleclient</artifactId>
++ <artifactId>simpleclient_servlet</artifactId>
++ </dependency>
++ <dependency>
++ <groupId>org.junit.jupiter</groupId>
++ <artifactId>junit-jupiter-engine</artifactId>
++ <scope>compile</scope>
++ <optional>true</optional>
</dependency>
</dependencies>
</project>
diff --cc openmeetings-util/src/main/java/module-info.java
index ecd5250,0000000..2a5c013
mode 100644,000000..100644
--- a/openmeetings-util/src/main/java/module-info.java
+++ b/openmeetings-util/src/main/java/module-info.java
@@@ -1,48 -1,0 +1,48 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+module org.apache.openmeetings.util {
++ exports org.apache.openmeetings.util;
++ exports org.apache.openmeetings.util.crypt;
++ exports org.apache.openmeetings.util.mail;
++ exports org.apache.openmeetings.util.process;
++ exports org.apache.openmeetings.util.ws;
++ exports org.apache.openmeetings.util.logging;
++
+ requires transitive org.apache.wicket.util;
+ requires transitive org.apache.wicket.core;
+ requires transitive org.apache.wicket.extensions;
+
+ requires transitive org.apache.commons.codec;
+ requires transitive org.apache.commons.lang3;
++ requires transitive org.apache.tika.core;
++
++ requires transitive jakarta.activation;
+
+ requires transitive com.github.openjson;
+ requires transitive org.slf4j;
+ requires transitive org.bouncycastle.provider;
- requires transitive jakarta.activation;
+ requires transitive org.mnode.ical4j.core;
- requires org.aspectj.tools;
- requires transitive javax.servlet.api;
- requires transitive tika.core;
+ requires transitive spring.context;
- requires transitive logback.classic;
- requires transitive logback.core;
++ requires transitive ch.qos.logback.classic;
++ requires transitive ch.qos.logback.core;
+ requires transitive dom4j;
- requires transitive jcip.annotations;
- requires simpleclient;
-
- exports org.apache.openmeetings.util;
- exports org.apache.openmeetings.util.crypt;
- exports org.apache.openmeetings.util.mail;
- exports org.apache.openmeetings.util.process;
- exports org.apache.openmeetings.util.ws;
- exports org.apache.openmeetings.util.logging;
++ requires javax.servlet.api;
++ requires simpleclient.servlet;
++ requires org.aspectj.tools;
+}
diff --cc openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java
index 8910122,8910122..7ad0ff6
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java
@@@ -26,7 -26,7 +26,7 @@@ import java.io.IOException
import java.io.InputStream;
import java.io.OutputStream;
--import javax.activation.DataSource;
++import jakarta.activation.DataSource;
public class ByteArrayDataSource implements DataSource {
private byte[] data; // data
diff --cc openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
index 8314358,8314358..e4a498f
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
@@@ -24,7 -24,7 +24,7 @@@ import java.io.ByteArrayOutputStream
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
--import java.util.Date;
++import java.time.ZonedDateTime;
import java.util.NoSuchElementException;
import org.slf4j.Logger;
@@@ -32,7 -32,7 +32,6 @@@ import org.slf4j.LoggerFactory
import net.fortuna.ical4j.data.CalendarOutputter;
import net.fortuna.ical4j.model.Calendar;
--import net.fortuna.ical4j.model.DateTime;
import net.fortuna.ical4j.model.TimeZone;
import net.fortuna.ical4j.model.TimeZoneRegistry;
import net.fortuna.ical4j.model.TimeZoneRegistryFactory;
@@@ -66,6 -66,6 +65,7 @@@ import net.fortuna.ical4j.validate.Vali
*/
public class IcalHandler {
private static final Logger log = LoggerFactory.getLogger(IcalHandler.class);
++ private static final TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
static {
System.setProperty("net.fortuna.ical4j.timezone.update.enabled", "false");
System.setProperty("net.fortuna.ical4j.timezone.cache.impl", "net.fortuna.ical4j.util.MapTimeZoneCache");
@@@ -99,32 -99,32 +99,25 @@@
icsCalendar.getProperties().add(method);
}
-- public IcalHandler createVEvent(String tz, Date startDate, Date endDate, String name) {
-- TimeZoneRegistry registry = TimeZoneRegistryFactory.getInstance().createRegistry();
--
-- timeZone = registry.getTimeZone(tz);
++ public IcalHandler createVEvent(ZonedDateTime start, ZonedDateTime end, String name) {
++ timeZone = registry.getTimeZone(start.getZone().getId());
if (timeZone == null) {
-- throw new NoSuchElementException("Unable to get time zone by id provided: " + tz);
++ throw new NoSuchElementException("Unable to get time zone by id provided: " + start.getZone());
}
-- DateTime start = new DateTime(startDate);
-- start.setTimeZone(timeZone);
-- DateTime end = new DateTime(endDate);
-- end.setTimeZone(timeZone);
--
meeting = new VEvent(start, end, name);
meeting.getProperties().add(Transp.OPAQUE);
meeting.getProperties().add(Status.VEVENT_CONFIRMED);
return this;
}
-- public IcalHandler setCreated(Date date) {
-- meeting.getProperties().add(new Created(new DateTime(date)));
++ public IcalHandler setCreated(ZonedDateTime date) {
++ meeting.getProperties().add(new Created(date.toInstant()));
return this;
}
-- public IcalHandler setModified(Date date) {
-- meeting.getProperties().add(new LastModified(new DateTime(date == null ? new Date() : date)));
++ public IcalHandler setModified(ZonedDateTime date) {
++ meeting.getProperties().add(new LastModified((date == null ? ZonedDateTime.now() : date).toInstant()));
return this;
}
diff --cc openmeetings-web/pom.xml
index 1255216,02fe510..49fe8eb
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@@ -622,17 -579,16 +579,8 @@@
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
-- <groupId>io.prometheus</groupId>
-- <artifactId>simpleclient_servlet</artifactId>
-- </dependency>
-- <dependency>
-- <groupId>org.apache.tomcat</groupId>
-- <artifactId>tomcat-catalina</artifactId>
-- </dependency>
-- <dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery-ui-touch-punch</artifactId>
- <version>0.2.3-2</version>
</dependency>
<!-- Test dependencies -->
<dependency>
diff --cc openmeetings-web/src/main/java/module-info.java
index 0000000,0000000..ad9ddf2
new file mode 100644
--- /dev/null
+++ b/openmeetings-web/src/main/java/module-info.java
@@@ -1,0 -1,0 +1,50 @@@
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements. See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership. The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License") + you may not use this file except in compliance
++ * with the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing,
++ * software distributed under the License is distributed on an
++ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
++ * KIND, either express or implied. See the License for the
++ * specific language governing permissions and limitations
++ * under the License.
++ */
++module org.apache.openmeetings.web {
++ requires org.apache.openmeetings.service;
++ requires org.apache.wicket.auth.roles;
++ requires org.apache.wicket.devutils;
++
++ requires wicketstuff.dashboard.core;
++ requires wicketstuff.datastore.hazelcast;
++ requires wicketstuff.select2;
++ requires wicketstuff.urlfragment;
++
++ requires wicket.bootstrap.extensions;
++ requires wicket.bootstrap.core;
++ requires wicket.bootstrap.themes;
++
++ requires org.danekja.jdk.serializable.functional;
++ requires wicket.jquery.ui;
++ requires wicket.jquery.ui.calendar;
++ requires wicket.jquery.ui.core;
++ requires wicket.jquery.ui.plugins;
++ requires javax.websocket.api;
++ requires com.hazelcast.core;
++ requires java.management;
++ requires simpleclient.servlet;
++ requires commons.fileupload;
++ requires org.apache.openmeetings.install;
++ requires spring.orm;
++ requires java.net.http;
++ requires wicket.webjars;
++ requires jqplot;
++ requires jqplot4java;
++ requires java.ws.rs;
++}
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index 9132b84,39160b7..2da273b
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@@ -18,9 -18,9 +18,9 @@@
*/
package org.apache.openmeetings.web.admin.connection;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelConfirm;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelConfirm;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
index a72f18f,a72f18f..53e64fe
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.web.admin.groups;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
++import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultGroup;
--import static org.apache.openmeetings.web.app.WebSession.getRights;
import java.util.Iterator;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
index 93cde50,2219359..25217e1
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
@@@ -19,8 -19,8 +19,8 @@@
package org.apache.openmeetings.web.admin.labels;
import static java.time.Duration.ZERO;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelDangerConfirm;
import static org.apache.wicket.request.resource.ContentDisposition.ATTACHMENT;
import java.io.IOException;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index b93776d,afcb9b9..6f688a1
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@@ -19,13 -19,13 +19,13 @@@
package org.apache.openmeetings.web.admin.rooms;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
import static org.apache.openmeetings.web.admin.AdminUserChoiceProvider.PAGE_SIZE;
import static org.apache.openmeetings.web.app.Application.kickUser;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.common.BasePanel.EVT_CHANGE;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelDangerConfirm;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
import static org.apache.wicket.validation.validator.StringValidator.maximumLength;
import java.util.ArrayList;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index b60059c,b60059c..6b561cf
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@@ -23,10 -23,10 +23,10 @@@ import static org.apache.openmeetings.d
import static org.apache.openmeetings.db.entity.user.User.DISPLAY_NAME_NA;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isSendRegisterEmail;
import static org.apache.wicket.validation.validator.StringValidator.minimumLength;
import java.util.ArrayList;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
index 6dba04d,6dba04d..eb701b8
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
@@@ -19,8 -19,8 +19,8 @@@
package org.apache.openmeetings.web.admin.users;
import static org.apache.openmeetings.db.dao.user.UserDao.getNewUserInstance;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.user.User;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index a173df2,4dbb3b8..c196086
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@@ -45,10 -46,10 +46,10 @@@ import java.util.stream.Stream
import javax.websocket.WebSocketContainer;
--import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.sip.SipManager;
import org.apache.openmeetings.core.util.ChatWebSocketHelper;
import org.apache.openmeetings.core.util.WebSocketHelper;
++import org.apache.openmeetings.db.IApplication;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.label.LabelDao;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
index f64b4a1,957ee1d..d6076f2
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
index 89cd296,cad7b48..4d60bfb
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
@@@ -763,7 -763,7 +763,7 @@@ see https://openmeetings.apache.org/Lan
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
index 9e2563d,160dc48..ab8effa
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
index 531ec4d,a4894e6..507b7e5
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
index 15bc331,7882279..c40b777
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
index 9320649,3bb47dc..870fabb
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
index afc6e54,0d0afd6..4709e5e
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
index 69025b3,b5cf43e..be6c68b
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
index 413ac0a,db09cee..3bbf79d
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
index e0ac9f7,b9f9087..7c91881
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
index c6f6ba4,491aaff..501f548
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
index 9bb7d65,e4378c8..47cb519
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
index f2c325f,8fd939c..b69d03c
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
index d542c70,707be0e..d569f96
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
index 729ecd5,1386623..1d05a23
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ku.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
index 3423fcc,33ff47e..6b75be1
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_lo.properties.xml
@@@ -763,7 -763,7 +763,7 @@@ see https://openmeetings.apache.org/Lan
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
index 14d1726,6f31705..10b5551
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
index 404f951,6d7df1b..2834dcd
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
@@@ -763,7 -763,7 +763,7 @@@ see https://openmeetings.apache.org/Lan
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
index b8076ac,bfe087d..57d96f9
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
index 1679a06,62eb69d..4c671d8
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
@@@ -763,7 -763,7 +763,7 @@@ see https://openmeetings.apache.org/Lan
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
index 15663b0,4912e6e..ef1cfa7
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
index 6a5e248,b6ca04e..140661a
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
@@@ -765,7 -774,7 +774,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
index 281e418,891c8e7..59fdcaf
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
index b273337,06bd4cb..aa96294
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tk.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
index 169e6cb,8dd2585..d50261d
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ur.properties.xml
index f64b4a1,957ee1d..d6076f2
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ur.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ur.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
index 01db3e1,5f3b4ba..5dabc7f
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
@@@ -763,7 -772,7 +772,7 @@@ To update your system
<entry key="install.wizard.params.step4.crypt"><![CDATA[Crypt Type]]></entry>
<entry key="install.wizard.params.step4.cryptClassName"><![CDATA[Crypt Class]]></entry>
<entry key="install.wizard.params.step4.cryptClassName.text"><![CDATA[You can use this default crypt type which is equal to
-- RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.util.crypt.SCryptImplementation</b>
++ RFC 7914 - The scrypt Password-Based Key Derivation Function:<b>org.apache.openmeetings.web.util.crypt.SCryptImplementation</b>
for more information or to write your own Crypt-Style see: <a
href="https://openmeetings.apache.org/CustomCryptMechanism.html"
target="_blank">Custom Crypt Mechanism</a> You can edit this
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
index a4df318,a4df318..6621ed0
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
@@@ -41,8 -41,8 +41,8 @@@ import java.util.Set
import java.util.TimeZone;
import org.apache.commons.lang3.time.FastDateFormat;
--import org.apache.openmeetings.IWebSession;
import org.apache.openmeetings.core.ldap.LdapLoginManager;
++import org.apache.openmeetings.db.IWebSession;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.label.LabelDao;
import org.apache.openmeetings.db.dao.room.InvitationDao;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
index 6d24e77,6d24e77..1be3d6a
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
@@@ -20,8 -20,8 +20,8 @@@ package org.apache.openmeetings.web.app
import static org.apache.openmeetings.db.dto.room.Whiteboard.ATTR_SLIDE;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
import static org.apache.openmeetings.web.room.wb.WbWebSocketHelper.sendWbAll;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.getDefaultLang;
import java.util.ArrayList;
import java.util.HashMap;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
index 75c1811,75c1811..9222ce8
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
@@@ -19,10 -19,10 +19,10 @@@
package org.apache.openmeetings.web.common;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isDisplayNameEditable;
import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isDisplayNameEditable;
import java.util.ArrayList;
import java.util.List;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
index 8ea79c8,21aea80..8ba2189
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
@@@ -21,15 -21,16 +21,16 @@@ package org.apache.openmeetings.web.com
import static de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal.BUTTON_MARKUP_ID;
import static java.time.Duration.ZERO;
import static java.util.UUID.randomUUID;
-import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
-import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4;
-import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
+ import static org.apache.openmeetings.web.app.WebSession.getUserId;
+ import static org.apache.openmeetings.web.common.BasePanel.EVT_CLICK;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirmCfg;
+ import static org.apache.openmeetings.web.pages.BasePage.ALIGN_LEFT;
+ import static org.apache.openmeetings.web.pages.BasePage.ALIGN_RIGHT;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_JPG;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_MP4;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
- import static org.apache.openmeetings.web.app.WebSession.getUserId;
- import static org.apache.openmeetings.web.common.BasePanel.EVT_CLICK;
- import static org.apache.openmeetings.web.pages.BasePage.ALIGN_LEFT;
- import static org.apache.openmeetings.web.pages.BasePage.ALIGN_RIGHT;
import java.io.File;
import java.nio.file.Path;
@@@ -44,10 -45,8 +45,8 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.entity.file.BaseFileItem.Type;
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.record.Recording;
--import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.common.NameDialog;
- import org.apache.openmeetings.web.common.confirmation.ConfirmableAjaxBorder;
- import org.apache.openmeetings.web.common.confirmation.ConfirmationDialog;
++import org.apache.openmeetings.util.OmFileHelper;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxEventBehavior;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
index 1517e47,1517e47..f93c6b0
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.web.common.tree;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
import java.util.ArrayList;
import java.util.Iterator;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
index 92350d3,92350d3..66d9090
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
@@@ -18,10 -18,10 +18,10 @@@
*/
package org.apache.openmeetings.web.pages;
++import static org.apache.openmeetings.web.app.Application.isInstalled;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getApplicationName;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getGaCode;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isInitComplete;
--import static org.apache.openmeetings.web.app.Application.isInstalled;
import static org.apache.wicket.RuntimeConfigurationType.DEVELOPMENT;
import java.util.HashMap;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
index ee2be61,ee2be61..9ed0701
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.web.pages.auth;
import static java.util.UUID.randomUUID;
++import static org.apache.openmeetings.web.app.Application.urlForPage;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getMinLoginLength;
--import static org.apache.openmeetings.web.app.Application.urlForPage;
import java.util.Date;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
index 865e228,865e228..e265115
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.web.pages.install;
import static org.apache.openmeetings.core.converter.BaseConverter.EXEC_EXT;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONE_SET;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
import static org.apache.wicket.validation.validator.RangeValidator.range;
import static org.apache.wicket.validation.validator.StringValidator.minimumLength;
import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
@@@ -45,17 -45,17 +45,17 @@@ import org.apache.openmeetings.db.dao.l
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
--import org.apache.openmeetings.util.ConnectionProperties;
--import org.apache.openmeetings.util.ConnectionProperties.DbType;
--import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.process.ProcessHelper;
import org.apache.openmeetings.util.process.ProcessResult;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.ErrorMessagePanel;
import org.apache.openmeetings.web.common.OmLabel;
++import org.apache.openmeetings.util.ConnectionProperties;
++import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.util.OmTooltipBehavior;
import org.apache.openmeetings.web.util.ThreadHelper;
++import org.apache.openmeetings.util.ConnectionProperties.DbType;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index de66749,0e84051..c0c4461
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@@ -23,10 -23,10 +23,10 @@@ import static java.time.Duration.ZERO
import static org.apache.openmeetings.core.remote.KurentoHandler.activityAllowed;
import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
import static org.apache.openmeetings.db.entity.calendar.Appointment.allowedStart;
--import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.room.wb.WbPanel.WB_JS_REFERENCE;
++import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import java.io.IOException;
import java.nio.file.Files;
@@@ -59,7 -56,8 +56,7 @@@ import org.apache.openmeetings.db.util.
import org.apache.openmeetings.db.util.ws.RoomMessage;
import org.apache.openmeetings.db.util.ws.RoomMessage.Type;
import org.apache.openmeetings.db.util.ws.TextRoomMessage;
--import org.apache.openmeetings.util.NullStringer;
+ import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.ClientManager;
import org.apache.openmeetings.web.app.QuickPollManager;
import org.apache.openmeetings.web.app.TimerService;
@@@ -73,6 -71,6 +70,7 @@@ import org.apache.openmeetings.web.room
import org.apache.openmeetings.web.room.wb.WbAction;
import org.apache.openmeetings.web.room.wb.WbPanel;
import org.apache.openmeetings.web.util.ExtendedClientProperties;
++import org.apache.openmeetings.util.NullStringer;
import org.apache.openmeetings.web.util.TouchPunchResourceReference;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
index 98636ed,98636ed..ae9cb40
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
@@@ -19,11 -19,11 +19,11 @@@
package org.apache.openmeetings.web.room;
import static org.apache.openmeetings.db.dto.room.Whiteboard.ATTR_SLIDE;
++import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PNG;
import static org.apache.openmeetings.util.OmFileHelper.MP4_MIME_TYPE;
import static org.apache.openmeetings.util.OmFileHelper.PNG_MIME_TYPE;
import static org.apache.openmeetings.util.OmFileHelper.getImagesDir;
--import static org.apache.openmeetings.web.app.WebSession.getUserId;
import java.io.File;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
index 8ec7507,7655214..33e9f2c
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/ActionsSubMenu.java
@@@ -18,10 -18,10 +18,10 @@@
*/
package org.apache.openmeetings.web.room.menu;
++import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PNG;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isSipEnabled;
--import static org.apache.openmeetings.web.app.WebSession.getUserId;
import java.io.Serializable;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index d96d16f,d96d16f..4fd172b
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@@ -18,16 -18,16 +18,16 @@@
*/
package org.apache.openmeetings.web.room.menu;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.util.GroupLogoResourceReference.getUrl;
import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_GROUP;
import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_MY;
import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.getBaseUrl;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import java.util.ArrayList;
import java.util.Date;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
index 5eb979d,5eb979d..1468cc6
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
@@@ -18,9 -18,9 +18,9 @@@
*/
package org.apache.openmeetings.web.room.sidebar;
--import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.common.BasePanel.EVT_CLICK;
++import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
import org.apache.openmeetings.db.dao.file.FileItemDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
index 3894920,3894920..74bd097
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
@@@ -28,12 -28,12 +28,12 @@@ import java.util.function.Predicate
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
--import org.apache.openmeetings.util.NullStringer;
import org.apache.openmeetings.util.ws.IClusterWsMessage;
import org.apache.openmeetings.web.room.RoomPreviewResourceReference;
import org.apache.openmeetings.web.room.RoomResourceReference;
import org.apache.openmeetings.web.user.record.Mp4RecordingResourceReference;
import org.apache.openmeetings.web.user.record.PngRecordingResourceReference;
++import org.apache.openmeetings.util.NullStringer;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
import org.apache.wicket.request.mapper.parameter.PageParameters;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWb.java
index 6c8018e,6c8018e..6d226d2
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWb.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWb.java
@@@ -18,8 -18,8 +18,8 @@@
*/
package org.apache.openmeetings.web.room.wb;
--import org.apache.openmeetings.util.NullStringer;
import org.apache.openmeetings.util.ws.IClusterWsMessage;
++import org.apache.openmeetings.util.NullStringer;
import com.github.openjson.JSONObject;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWbFile.java
index b3c7212,b3c7212..2051f48
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWbFile.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WsMessageWbFile.java
@@@ -19,8 -19,8 +19,8 @@@
package org.apache.openmeetings.web.room.wb;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
--import org.apache.openmeetings.util.NullStringer;
import org.apache.openmeetings.util.ws.IClusterWsMessage;
++import org.apache.openmeetings.util.NullStringer;
import com.github.openjson.JSONObject;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index 4c51295,0481bee..eacf2e6
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@@ -18,13 -18,13 +18,13 @@@
*/
package org.apache.openmeetings.web.user.calendar;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.common.BasePanel.EVT_CHANGE;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelDangerConfirm;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
import static org.apache.openmeetings.web.util.CalendarWebHelper.getDate;
import static org.apache.openmeetings.web.util.CalendarWebHelper.getDateTime;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import java.time.LocalDateTime;
import java.util.ArrayList;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
index 3d91602,3d91602..0ce06b1
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
@@@ -20,11 -20,11 +20,11 @@@ package org.apache.openmeetings.web.use
import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ALL;
import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ROOM_PREFIX;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_CHAT;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isChatSendOnEnter;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_CHAT;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isChatSendOnEnter;
import static org.apache.openmeetings.web.util.ProfileImageResourceReference.getUrl;
import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
index 5d76376,44509eb..6a03349
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/admin/AdminCleanupInfoDialog.java
@@@ -23,10 -23,10 +23,10 @@@ import static org.apache.openmeetings.c
import static org.apache.openmeetings.cli.CleanupHelper.getImportUnit;
import static org.apache.openmeetings.cli.CleanupHelper.getProfileUnit;
import static org.apache.openmeetings.cli.CleanupHelper.getRecUnit;
++import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsDir;
import static org.apache.openmeetings.util.OmFileHelper.getUploadDir;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelDangerConfirm;
-import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
import org.apache.openmeetings.cli.CleanupEntityUnit;
import org.apache.openmeetings.cli.CleanupUnit;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.java
index 3be2347,3be2347..b51fc47
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/InvitationsPanel.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.web.user.profile;
import static org.apache.openmeetings.db.util.FormatHelper.formatUser;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import java.util.Iterator;
import java.util.Set;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
index 83d6b73,f5f6819..489f7c9
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
@@@ -21,10 -21,10 +21,10 @@@ package org.apache.openmeetings.web.use
import static org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
import static org.apache.openmeetings.db.entity.user.PrivateMessage.SENT_FOLDER_ID;
import static org.apache.openmeetings.db.entity.user.PrivateMessage.TRASH_FOLDER_ID;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
- import static org.apache.openmeetings.web.common.confirmation.ConfirmationBehavior.newOkCancelDangerConfirm;
+ import static org.apache.openmeetings.web.common.confirmation.ConfirmationHelper.newOkCancelDangerConfirm;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import java.util.ArrayList;
import java.util.HashSet;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
index 94afde3,94afde3..bf9a4c4
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
@@@ -19,8 -19,8 +19,8 @@@
package org.apache.openmeetings.web.user.profile;
import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_CLASS;
import java.util.ArrayList;
import java.util.Iterator;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
index 0e80f38,0e80f38..988e127
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
@@@ -19,11 -19,11 +19,11 @@@
package org.apache.openmeetings.web.user.profile;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS;
import static org.apache.openmeetings.web.app.Application.getDashboardContext;
import static org.apache.openmeetings.web.app.WebSession.getDashboard;
import static org.apache.openmeetings.web.app.WebSession.getRights;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS;
import java.util.ArrayList;
import java.util.Iterator;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
index 1cd806e,5a14902..12b8361
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
@@@ -18,9 -18,9 +18,9 @@@
*/
package org.apache.openmeetings.web.user.record;
++import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.util.OmFileHelper.getHumanSize;
import static org.apache.openmeetings.util.OmFileHelper.getRecordingChunk;
--import static org.apache.openmeetings.web.app.WebSession.getUserId;
import java.util.List;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.java
index 3576fc8,3576fc8..76073fc
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.java
@@@ -18,8 -18,8 +18,8 @@@
*/
package org.apache.openmeetings.web.user.rooms;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
import static org.apache.openmeetings.web.common.BasePanel.EVT_CLICK;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
import java.io.Serializable;
import java.util.List;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
index 4760969,4760969..9ed7c0a
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
@@@ -28,9 -28,9 +28,9 @@@ import org.apache.openmeetings.db.dao.r
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room;
--import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.app.ClientManager;
import org.apache.openmeetings.web.common.UserPanel;
++import org.apache.openmeetings.util.OmFileHelper;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
index ffff1f7,f8c7716..1650b31
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
@@@ -18,10 -18,11 +18,11 @@@
*/
package org.apache.openmeetings.web.user.rooms;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
--import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.util.OmUrlFragment.TYPE_GROUP;
import static org.apache.openmeetings.web.util.OmUrlFragment.TYPE_MY;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_TITLE;
++import static org.apache.openmeetings.util.OpenmeetingsVariables.isMyRoomsEnabled;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.web.app.Application;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java
index 060c838,060c838..bf066c9
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/GroupLogoResourceReference.java
@@@ -19,10 -19,10 +19,10 @@@
package org.apache.openmeetings.web.util;
import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel;
--import static org.apache.openmeetings.util.OmFileHelper.PNG_MIME_TYPE;
--import static org.apache.openmeetings.util.OmFileHelper.getGroupLogo;
import static org.apache.openmeetings.web.app.WebSession.getRights;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OmFileHelper.PNG_MIME_TYPE;
++import static org.apache.openmeetings.util.OmFileHelper.getGroupLogo;
import java.io.File;
import java.io.IOException;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
index ce79595,ce79595..21bd5fb
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/ProfileImageResourceReference.java
@@@ -20,8 -20,8 +20,8 @@@ package org.apache.openmeetings.web.uti
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.user.User;
--import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.app.WebSession;
++import org.apache.openmeetings.util.OmFileHelper;
import org.apache.wicket.injection.Injector;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.mapper.parameter.PageParameters;
@@@ -34,14 -34,14 +34,15 @@@ import org.slf4j.Logger
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletResponse;
++
++import static org.apache.openmeetings.util.OmFileHelper.PNG_MIME_TYPE;
++import static org.apache.openmeetings.util.OmFileHelper.SIP_USER_ID;
++
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URI;
--import static org.apache.openmeetings.util.OmFileHelper.PNG_MIME_TYPE;
--import static org.apache.openmeetings.util.OmFileHelper.SIP_USER_ID;
--
public class ProfileImageResourceReference extends ResourceReference {
private static final long serialVersionUID = 1L;
private static final Logger log = LoggerFactory.getLogger(ProfileImageResourceReference.class);
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java
index 5b468ed,5b468ed..71274b9
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java
@@@ -19,8 -19,8 +19,8 @@@
package org.apache.openmeetings.web.util;
import static java.nio.charset.StandardCharsets.UTF_8;
--import static org.apache.openmeetings.util.OmFileHelper.getUserDashboard;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
++import static org.apache.openmeetings.util.OmFileHelper.getUserDashboard;
import java.io.File;
import java.io.FileInputStream;
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java
index 05c1555,05c1555..1b9bdd5
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java
@@@ -21,8 -21,8 +21,7 @@@ package org.apache.openmeetings.web.uti
import io.prometheus.client.exporter.MetricsServlet;
public class OpenMeetingsMetricsServlet extends MetricsServlet {
--
-- private static final long serialVersionUID = -2488393857088858502L;
++ private static final long serialVersionUID = 1L;
public OpenMeetingsMetricsServlet() {
super();
diff --cc openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java
index 8865859,8865859..0383d14
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java
@@@ -18,10 -18,10 +18,12 @@@
*/
package org.apache.openmeetings.web.util.logging;
++import java.io.InputStream;
import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
++import java.util.Properties;
import java.util.Set;
import javax.management.Attribute;
@@@ -30,11 -30,11 +32,11 @@@ import javax.management.MBeanServer
import javax.management.ObjectInstance;
import javax.management.ObjectName;
--import org.apache.catalina.util.ServerInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.prometheus.client.Collector;
++import io.prometheus.client.Collector.MetricFamilySamples;
import io.prometheus.client.CounterMetricFamily;
import io.prometheus.client.GaugeMetricFamily;
@@@ -293,7 -293,7 +295,14 @@@ public class TomcatGenericExports exten
private void addVersionInfo(List<MetricFamilySamples> mfs) {
GaugeMetricFamily tomcatInfo = new GaugeMetricFamily("tomcat_info", "tomcat version info",
List.of("version", "build"));
-- tomcatInfo.addMetric(List.of(ServerInfo.getServerNumber(), ServerInfo.getServerBuilt()), 1);
++ try (InputStream is = getClass().getResourceAsStream("/org/apache/catalina/util/ServerInfo.properties")) {
++ Properties props = new Properties();
++ props.load(is);
++ //server info can be get as props.getProperty("server.info");
++ tomcatInfo.addMetric(List.of(props.getProperty("server.number"), props.getProperty("server.built")), 1);
++ } catch (Throwable t) {
++ log.warn("Unable to read Tomcat version: ", t);
++ }
mfs.add(tomcatInfo);
}
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentAddAppointment.java
index 5819d14,65ba0b0..695051c
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentAddAppointment.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentAddAppointment.java
@@@ -29,7 -29,7 +29,6 @@@ import java.util.ArrayList
import java.util.Calendar;
import java.util.Date;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.Appointment.Reminder;
@@@ -38,6 -38,6 +37,7 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.service.calendar.AppointmentLogic;
import org.apache.openmeetings.web.app.WebSession;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentSchedulerTask.java
index 642c15f,50996e8..c704dec
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentSchedulerTask.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestAppointmentSchedulerTask.java
@@@ -23,9 -23,9 +23,9 @@@ import static org.apache.openmeetings.u
import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
import static org.junit.jupiter.api.Assertions.assertTrue;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.service.calendar.AppointmentLogic;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureAppointment.java
index a5993c2,21371c2..4d30e87
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureAppointment.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureAppointment.java
@@@ -24,8 -24,8 +24,8 @@@ import java.util.Date
import java.util.Iterator;
import java.util.List;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.calendar.Appointment;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetAppointmentByRange.java
index cf58b10,33f9a57..6b532c9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetAppointmentByRange.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetAppointmentByRange.java
@@@ -23,9 -23,9 +23,9 @@@ import static org.junit.jupiter.api.Ass
import java.util.ArrayList;
import java.util.Calendar;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetUserStart.java
index 9898299,a40d9a8..e948b0d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetUserStart.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureGetUserStart.java
@@@ -18,7 -18,7 +18,7 @@@
*/
package org.apache.openmeetings.calendar;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureMeetingMember.java
index 25e4d16,b29ffdb..c3d38c1
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureMeetingMember.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestDatabaseStructureMeetingMember.java
@@@ -18,10 -18,10 +18,10 @@@
*/
package org.apache.openmeetings.calendar;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
- class TestDatabaseStructureMeetingMember extends AbstractJUnitDefaults {
+ class TestDatabaseStructureMeetingMember extends AbstractOmServerTest {
@Test
void testUpdateMeetingMember(){
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestGetAppointment.java
index 511b803,bde1652..047cf0a
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestGetAppointment.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestGetAppointment.java
@@@ -24,9 -24,9 +24,9 @@@ import static org.junit.jupiter.api.Ass
import java.util.Calendar;
import java.util.Date;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestOmCalendar.java
index 9b1483f,cf9e953..50f3d61
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestOmCalendar.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestOmCalendar.java
@@@ -21,10 -21,10 +21,10 @@@ package org.apache.openmeetings.calenda
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.calendar.OmCalendarDao;
import org.apache.openmeetings.db.entity.calendar.OmCalendar;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestSendIcalMessage.java
index 7da0ed6,2d3d2cf..d16c730
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestSendIcalMessage.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/calendar/TestSendIcalMessage.java
@@@ -19,6 -19,6 +19,7 @@@
package org.apache.openmeetings.calendar;
import static java.util.UUID.randomUUID;
++import static org.apache.openmeetings.util.CalendarHelper.getZoneDateTime;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.ByteArrayInputStream;
@@@ -27,24 -27,24 +28,25 @@@ import java.util.Date
import java.util.TimeZone;
import javax.activation.DataHandler;
--import javax.mail.BodyPart;
--import javax.mail.Message;
--import javax.mail.Multipart;
--import javax.mail.internet.InternetAddress;
--import javax.mail.internet.MimeBodyPart;
--import javax.mail.internet.MimeMessage;
--import javax.mail.internet.MimeMultipart;
--
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++
import org.apache.openmeetings.core.mail.MailHandler;
import org.apache.openmeetings.util.mail.ByteArrayDataSource;
import org.apache.openmeetings.util.mail.IcalHandler;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
- class TestSendIcalMessage extends AbstractJUnitDefaults {
++import jakarta.mail.BodyPart;
++import jakarta.mail.Message;
++import jakarta.mail.Multipart;
++import jakarta.mail.internet.InternetAddress;
++import jakarta.mail.internet.MimeBodyPart;
++import jakarta.mail.internet.MimeMessage;
++import jakarta.mail.internet.MimeMultipart;
++
+ class TestSendIcalMessage extends AbstractOmServerTest {
private static final Logger log = LoggerFactory.getLogger(TestSendIcalMessage.class);
@Autowired
@@@ -65,8 -65,8 +67,9 @@@
Calendar endCal = Calendar.getInstance();
endCal.add(Calendar.HOUR_OF_DAY, 1);
Date end = endCal.getTime();
++ String tzid = TimeZone.getDefault().getID();
IcalHandler handler = new IcalHandler(IcalHandler.ICAL_METHOD_REQUEST)
-- .createVEvent(TimeZone.getDefault().getID(), start, end, "test event")
++ .createVEvent(getZoneDateTime(start, tzid), getZoneDateTime(end, tzid), "test event")
.setLocation("")
.setDescription("localhost:5080/link_openmeetings")
.setUid(randomUUID().toString())
@@@ -91,16 -91,16 +94,12 @@@
// -- Create a new message --
BodyPart msg = new MimeBodyPart();
-- msg.setDataHandler(new DataHandler(new ByteArrayDataSource(htmlBody,
-- "text/html; charset=\"utf-8\"")));
++ msg.setDataHandler(new DataHandler(new ByteArrayDataSource(htmlBody, "text/html; charset=\"utf-8\"")));
Multipart multipart = new MimeMultipart();
BodyPart iCalAttachment = new MimeBodyPart();
-- iCalAttachment.setDataHandler(new DataHandler(
-- new javax.mail.util.ByteArrayDataSource(
-- new ByteArrayInputStream(iCalMimeBody),
-- "text/calendar;method=REQUEST;charset=\"UTF-8\"")));
++ iCalAttachment.setDataHandler(new DataHandler(new jakarta.mail.util.ByteArrayDataSource(new ByteArrayInputStream(iCalMimeBody), "text/calendar;method=REQUEST;charset=\"UTF-8\"")));
iCalAttachment.setFileName("invite.ics");
multipart.addBodyPart(iCalAttachment);
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestAdmin.java
index 38bcf05,5ba13a8..cfe624b
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestAdmin.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestAdmin.java
@@@ -16,14 -16,14 +16,9 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.cli;
++package org.apache.openmeetings.cmdline;
import static org.apache.commons.io.FileUtils.deleteQuietly;
- import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
- import static org.apache.openmeetings.AbstractJUnitDefaults.email;
- import static org.apache.openmeetings.AbstractJUnitDefaults.group;
- import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
- import static org.apache.openmeetings.AbstractSpringTest.setOmHome;
-import static org.apache.openmeetings.AbstractOmServerTest.adminUsername;
-import static org.apache.openmeetings.AbstractOmServerTest.email;
-import static org.apache.openmeetings.AbstractOmServerTest.group;
-import static org.apache.openmeetings.AbstractOmServerTest.setOmHome;
-import static org.apache.openmeetings.AbstractOmServerTest.userpass;
import static org.apache.openmeetings.cli.Admin.OM_HOME;
import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
@@@ -33,6 -33,6 +28,11 @@@ import static org.apache.openmeetings.u
import static org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
import static org.apache.openmeetings.web.pages.install.TestInstall.resetH2Home;
import static org.apache.openmeetings.web.pages.install.TestInstall.setH2Home;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.adminUsername;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.email;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.group;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.setOmHome;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.userpass;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@@@ -42,6 -42,7 +42,9 @@@ import java.util.ArrayList
import java.util.List;
import java.util.UUID;
-import org.apache.openmeetings.IsolatedTest;
++import org.apache.openmeetings.cli.Admin;
++import org.apache.openmeetings.cli.ExitException;
++import org.apache.openmeetings.web.test.IsolatedTest;
import org.apache.wicket.Application;
import org.apache.wicket.protocol.http.WebApplication;
import org.junit.jupiter.api.AfterEach;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestPatcher.java
index 149583f,194572c..34f787e
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestPatcher.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/cmdline/TestPatcher.java
@@@ -16,18 -16,19 +16,20 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.cli;
++package org.apache.openmeetings.cmdline;
- import static org.apache.openmeetings.AbstractSpringTest.setOmHome;
-import static org.apache.openmeetings.AbstractOmServerTest.setOmHome;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.setOmHome;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.util.TimeZone;
import org.apache.openjpa.lib.util.Files;
-import org.apache.openmeetings.IsolatedTest;
++import org.apache.openmeetings.cli.ConnectionPropertiesPatcher;
import org.apache.openmeetings.util.ConnectionProperties;
--import org.apache.openmeetings.util.ConnectionProperties.DbType;
import org.apache.openmeetings.util.OmFileHelper;
++import org.apache.openmeetings.util.ConnectionProperties.DbType;
++import org.apache.openmeetings.web.test.IsolatedTest;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/config/TestConfig.java
index 9e45fbb,56bce75..9d29143
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/config/TestConfig.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/config/TestConfig.java
@@@ -24,8 -24,8 +24,8 @@@ import static org.junit.jupiter.api.Ass
import java.util.List;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.basic.Configuration;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java
index 5a0545f,e472b79..b056443
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/core/file/TestFileProcessor.java
@@@ -28,12 -28,12 +28,12 @@@ import java.io.FileInputStream
import java.io.InputStream;
import java.util.Optional;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.core.data.file.FileProcessor;
import org.apache.openmeetings.db.dto.file.FileItemDTO;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.util.process.ProcessResultList;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
index 03d1726,18bc5c0..8ca2e08
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestAddGroup.java
@@@ -20,9 -20,9 +20,9 @@@ package org.apache.openmeetings.domain
import static org.junit.jupiter.api.Assertions.assertNotNull;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestUserGroupAggregation.java
index 576757e,3aec7e8..57fd6ad
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestUserGroupAggregation.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/domain/TestUserGroupAggregation.java
@@@ -21,9 -21,9 +21,9 @@@ package org.apache.openmeetings.domain
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
index ec508a2,bd5b349..a087402
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
@@@ -19,12 -19,12 +19,11 @@@
package org.apache.openmeetings.invitiation;
import static org.apache.openmeetings.util.CalendarHelper.getDate;
--import static org.junit.Assert.assertNotNull;
++import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.time.LocalDateTime;
import java.util.Date;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.room.Invitation;
@@@ -33,6 -33,6 +32,7 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.service.room.InvitationManager;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/ldap/TestLdap.java
index fe1296d,0f4e998..3cb675f
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/ldap/TestLdap.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/ldap/TestLdap.java
@@@ -52,13 -52,13 +52,13 @@@ import org.apache.directory.server.core
import org.apache.directory.server.core.annotations.CreateDS;
import org.apache.directory.server.core.annotations.CreatePartition;
import org.apache.directory.server.protocol.shared.transport.Transport;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.core.ldap.LdapLoginManager;
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.db.entity.user.User;
--import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.app.WebSession;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
++import org.apache.openmeetings.util.OmException;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/smoke/TestSmokeBasic.java
index 361b090,073daec..953a4c9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/smoke/TestSmokeBasic.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/smoke/TestSmokeBasic.java
@@@ -20,10 -20,10 +20,10 @@@ package org.apache.openmeetings.smoke
import static org.junit.jupiter.api.Assertions.assertNotNull;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
- class TestSmokeBasic extends AbstractJUnitDefaults {
+ class TestSmokeBasic extends AbstractOmServerTest {
@Test
void createErrorValueAndTest() {
assertNotNull(userDao.get(1L));
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
index 6aeb394,2831699..e50ec6d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
@@@ -19,9 -19,9 +19,9 @@@
package org.apache.openmeetings.user;
import static java.util.UUID.randomUUID;
++import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isSipEnabled;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipEnabled;
--import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
@@@ -29,11 -29,11 +29,11 @@@ import static org.junit.jupiter.api.Ass
import java.util.List;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
- class TestUserContact extends AbstractWicketTester {
+ class TestUserContact extends AbstractWicketTesterTest {
@Test
void testGetUser() {
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserCount.java
index f835642,73957e2..3a2fcb3
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserCount.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserCount.java
@@@ -23,12 -23,12 +23,12 @@@ import static org.apache.openmeetings.w
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
- class TestUserCount extends AbstractWicketTester {
+ class TestUserCount extends AbstractWicketTesterTest {
@Test
void testCountSearchUsers() throws Exception {
User u = createUser();
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
index d201a8b,f4c4683..ca7251f
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserGroup.java
@@@ -26,12 -26,12 +26,12 @@@ import static org.junit.jupiter.api.Ass
import java.util.List;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.user.GroupUserDao;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.OmException;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestAuth.java
index 15a4808,b2a36aa..c69a094
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestAuth.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestAuth.java
@@@ -22,9 -22,9 +22,9 @@@ import static java.util.UUID.randomUUID
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.entity.server.Sessiondata;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestLogin.java
index 7a6e834,43133d1..2f6f011
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestLogin.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/userdata/TestLogin.java
@@@ -20,12 -20,12 +20,12 @@@ package org.apache.openmeetings.userdat
import static org.junit.jupiter.api.Assertions.assertNotNull;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.OmException;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
- class TestLogin extends AbstractJUnitDefaults {
+ class TestLogin extends AbstractOmServerTest {
@Test
void testTestLogin() throws OmException {
User us = userDao.login(adminUsername, userpass);
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
index 80e4e33,16d5a97..3e8a71a
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestCalendar.java
@@@ -25,11 -25,11 +25,11 @@@ import static org.junit.jupiter.api.Ass
import java.time.LocalDateTime;
import java.util.List;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.user.User;
--import org.apache.openmeetings.util.OmException;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.openmeetings.web.user.calendar.CalendarPanel;
++import org.apache.openmeetings.util.OmException;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.apache.wicket.util.tester.FormTester;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
index a24b3e2,e433169..222e95f
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainAreas.java
@@@ -40,8 -40,8 +40,6 @@@ import static org.junit.jupiter.api.Ass
import java.util.function.Consumer;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
--import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.admin.backup.BackupPanel;
import org.apache.openmeetings.web.admin.configurations.ConfigsPanel;
import org.apache.openmeetings.web.admin.connection.ConnectionsPanel;
@@@ -60,12 -60,12 +58,14 @@@ import org.apache.openmeetings.web.page
import org.apache.openmeetings.web.pages.install.InstallWizardPage;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.openmeetings.web.room.wb.AbstractWbPanel;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.openmeetings.web.user.calendar.CalendarPanel;
import org.apache.openmeetings.web.user.dashboard.OmDashboardPanel;
import org.apache.openmeetings.web.user.profile.EditProfilePanel;
import org.apache.openmeetings.web.user.profile.MessagesContactsPanel;
import org.apache.openmeetings.web.user.record.RecordingsPanel;
import org.apache.openmeetings.web.user.rooms.RoomsSelectorPanel;
++import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.util.OmUrlFragment.AreaKeys;
import org.apache.wicket.authorization.UnauthorizedInstantiationException;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
index adfd94c,344111d..33d60a9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/TestMainMenu.java
@@@ -20,8 -20,8 +20,6 @@@ package org.apache.openmeetings.web
import static org.junit.jupiter.api.Assertions.assertNotNull;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
--import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.admin.backup.BackupPanel;
import org.apache.openmeetings.web.admin.configurations.ConfigsPanel;
import org.apache.openmeetings.web.admin.connection.ConnectionsPanel;
@@@ -33,10 -33,10 +31,12 @@@ import org.apache.openmeetings.web.admi
import org.apache.openmeetings.web.admin.rooms.RoomsPanel;
import org.apache.openmeetings.web.admin.users.UsersPanel;
import org.apache.openmeetings.web.common.BasePanel;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.openmeetings.web.user.calendar.CalendarPanel;
import org.apache.openmeetings.web.user.dashboard.OmDashboardPanel;
import org.apache.openmeetings.web.user.record.RecordingsPanel;
import org.apache.openmeetings.web.user.rooms.RoomsSelectorPanel;
++import org.apache.openmeetings.util.OmException;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplication.java
index 985d45b,0a305c0..5cefeb9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplication.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplication.java
@@@ -29,11 -29,11 +29,11 @@@ import java.util.Locale
import java.util.Map.Entry;
import java.util.stream.Collectors;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.label.LabelDao;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
- class TestApplication extends AbstractJUnitDefaults {
+ class TestApplication extends AbstractOmServerTest {
@Test
void testMissing() {
assertEquals("[Missing]", app.getOmString("909", Locale.ENGLISH));
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplicationMocked.java
index 7d5fa53,fbeff05..554b0a9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplicationMocked.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestApplicationMocked.java
@@@ -18,9 -18,10 +18,10 @@@
*/
package org.apache.openmeetings.web.app;
--import static org.junit.Assert.assertEquals;
--import static org.junit.Assert.assertNull;
++import static org.junit.jupiter.api.Assertions.assertEquals;
++import static org.junit.jupiter.api.Assertions.assertNull;
-import org.apache.openmeetings.RegularTest;
++import org.apache.openmeetings.web.test.RegularTest;
import org.apache.wicket.request.Url;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
index a055f3c,8c0a7c1..d62c42b
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
@@@ -25,11 -25,11 +25,11 @@@ import static org.junit.jupiter.api.Ass
import javax.servlet.http.Cookie;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
- class TestOmAuthenticationStrategy extends AbstractWicketTester {
+ class TestOmAuthenticationStrategy extends AbstractWicketTesterTest {
@Test
void test() {
String encKey = randomUUID().toString();
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
index b57c21e,6ac16bc..1e29e6d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
@@@ -46,6 -47,6 +46,7 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.manager.IClientManager;
import org.apache.openmeetings.service.mail.EmailManager;
import org.apache.openmeetings.util.crypt.SCryptImplementation;
++import org.apache.openmeetings.web.test.RegularTest;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
index bfa1208,0c1ab7b..ef02f78
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
@@@ -22,12 -22,12 +22,12 @@@ import static org.junit.jupiter.api.Ass
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.OmException;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
- class TestWebSession extends AbstractWicketTester {
+ class TestWebSession extends AbstractWicketTesterTest {
@Test
void testLogin() throws OmException {
WebSession ws = WebSession.get();
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/TestHashPage.java
index 92e5195,fdab9aa..771b2cb
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/TestHashPage.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/TestHashPage.java
@@@ -25,12 -25,12 +25,11 @@@ import static org.apache.openmeetings.w
import static org.apache.openmeetings.web.pages.HashPage.PANEL_MAIN;
import static org.apache.openmeetings.web.pages.HashPage.PANEL_RECORDING;
import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID;
- import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
++import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Date;
import java.util.UUID;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
@@@ -41,6 -41,6 +40,7 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.util.crypt.CryptProvider;
import org.apache.openmeetings.web.common.MainPanel;
import org.apache.openmeetings.web.room.RoomPanel;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.openmeetings.web.user.record.VideoInfo;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
index 1dfcd8e,7d943b1..add14c9
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
@@@ -32,13 -32,13 +32,13 @@@ import java.lang.reflect.Method
import java.util.List;
import java.util.Locale;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.ActivatePage;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.pages.ResetPage;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.apache.wicket.extensions.markup.html.captcha.CaptchaImageResource;
import org.apache.wicket.markup.html.image.Image;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index de2da84,a2f5d41..ce8fba3
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@@ -19,17 -19,18 +19,18 @@@
package org.apache.openmeetings.web.pages.install;
import static org.apache.commons.io.FileUtils.deleteQuietly;
- import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
- import static org.apache.openmeetings.AbstractJUnitDefaults.email;
- import static org.apache.openmeetings.AbstractJUnitDefaults.group;
- import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
- import static org.apache.openmeetings.AbstractWicketTester.checkErrors;
- import static org.apache.openmeetings.AbstractWicketTester.countErrors;
- import static org.apache.openmeetings.AbstractWicketTester.getWicketTester;
-import static org.apache.openmeetings.AbstractOmServerTest.adminUsername;
-import static org.apache.openmeetings.AbstractOmServerTest.email;
-import static org.apache.openmeetings.AbstractOmServerTest.group;
-import static org.apache.openmeetings.AbstractOmServerTest.setOmHome;
-import static org.apache.openmeetings.AbstractOmServerTest.userpass;
-import static org.apache.openmeetings.AbstractWicketTesterTest.checkErrors;
-import static org.apache.openmeetings.AbstractWicketTesterTest.countErrors;
-import static org.apache.openmeetings.AbstractWicketTesterTest.getWicketTester;
import static org.apache.openmeetings.cli.ConnectionPropertiesPatcher.DEFAULT_DB_NAME;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAME;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.adminUsername;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.email;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.group;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.setOmHome;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.userpass;
++import static org.apache.openmeetings.web.test.AbstractWicketTesterTest.checkErrors;
++import static org.apache.openmeetings.web.test.AbstractWicketTesterTest.countErrors;
++import static org.apache.openmeetings.web.test.AbstractWicketTesterTest.getWicketTester;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@@ -41,13 -42,13 +42,13 @@@ import java.util.Locale
import java.util.Random;
import java.util.TimeZone;
- import org.apache.openmeetings.AbstractSpringTest;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
-import org.apache.openmeetings.IsolatedTest;
import org.apache.openmeetings.cli.ConnectionPropertiesPatcher;
--import org.apache.openmeetings.util.ConnectionProperties.DbType;
import org.apache.openmeetings.util.crypt.SCryptImplementation;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
++import org.apache.openmeetings.web.test.IsolatedTest;
++import org.apache.openmeetings.util.ConnectionProperties.DbType;
import org.apache.wicket.ajax.AjaxClientInfoBehavior;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.apache.wicket.extensions.wizard.WizardButton;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestEmailTemplate.java
index 9f0e26f,1476a8b..ec0259e
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestEmailTemplate.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestEmailTemplate.java
@@@ -16,13 -16,13 +16,19 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.service.mail.template;
++package org.apache.openmeetings.web.service.mail;
import static org.junit.jupiter.api.Assertions.assertFalse;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.UserContact;
++import org.apache.openmeetings.service.mail.template.FeedbackTemplate;
++import org.apache.openmeetings.service.mail.template.InvitationTemplate;
++import org.apache.openmeetings.service.mail.template.RegisterUserTemplate;
++import org.apache.openmeetings.service.mail.template.RequestContactConfirmTemplate;
++import org.apache.openmeetings.service.mail.template.RequestContactTemplate;
++import org.apache.openmeetings.service.mail.template.ResetPasswordTemplate;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.wicket.util.string.Strings;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestSubjTemplate.java
index 5d6e699,d579181..15f6d8d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestSubjTemplate.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/service/mail/TestSubjTemplate.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.service.mail.template.subject;
++package org.apache.openmeetings.web.service.mail;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@@ -29,11 -29,11 +29,19 @@@ import java.util.Locale
import java.util.TimeZone;
import java.util.function.Consumer;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.service.mail.template.subject.AppointmentReminderTemplate;
++import org.apache.openmeetings.service.mail.template.subject.CanceledAppointmentTemplate;
++import org.apache.openmeetings.service.mail.template.subject.CreatedAppointmentTemplate;
++import org.apache.openmeetings.service.mail.template.subject.InvitedAppointmentTemplate;
++import org.apache.openmeetings.service.mail.template.subject.NewGroupUsersNotificationTemplate;
++import org.apache.openmeetings.service.mail.template.subject.RecordingExpiringTemplate;
++import org.apache.openmeetings.service.mail.template.subject.SubjectEmailTemplate;
++import org.apache.openmeetings.service.mail.template.subject.UpdatedAppointmentTemplate;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.apache.wicket.util.string.Strings;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractOmServerTest.java
index 3ac007f,b277a75..a8e6bb7
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractOmServerTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractOmServerTest.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings;
++package org.apache.openmeetings.web.test;
import static java.util.UUID.randomUUID;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
@@@ -39,7 -41,10 +41,10 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.installation.ImportInitvalues;
import org.apache.openmeetings.installation.InstallationConfig;
-import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.app.Application;
++import org.apache.openmeetings.util.OmFileHelper;
+ import org.apache.tomcat.util.scan.Constants;
+ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractWicketTesterTest.java
index 6285b75,773cbd1..519a9da
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractWicketTesterTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/AbstractWicketTesterTest.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings;
++package org.apache.openmeetings.web.test;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
import static org.apache.openmeetings.web.common.OmWebSocketPanel.CONNECTED_MSG;
@@@ -33,10 -33,10 +33,10 @@@ import java.util.function.Consumer
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Type;
--import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.MainPage;
++import org.apache.openmeetings.util.OmException;
import org.apache.wicket.behavior.AbstractAjaxBehavior;
import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
import org.apache.wicket.feedback.FeedbackMessage;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/IsolatedTest.java
index 25e4d16,85a526a..c16a84f
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/IsolatedTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/IsolatedTest.java
@@@ -16,15 -16,17 +16,17 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package org.apache.openmeetings.calendar;
-package org.apache.openmeetings;
++package org.apache.openmeetings.web.test;
- import org.apache.openmeetings.AbstractJUnitDefaults;
- import org.junit.jupiter.api.Test;
+ import java.lang.annotation.ElementType;
+ import java.lang.annotation.Retention;
+ import java.lang.annotation.RetentionPolicy;
+ import java.lang.annotation.Target;
- class TestDatabaseStructureMeetingMember extends AbstractJUnitDefaults {
+ import org.junit.jupiter.api.Tag;
- @Test
- void testUpdateMeetingMember(){
- //TODO add test
- }
+ @Target({ ElementType.TYPE, ElementType.METHOD })
+ @Retention(RetentionPolicy.RUNTIME)
+ @Tag("isolated")
+ public @interface IsolatedTest {
}
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/RegularTest.java
index 7518278,73a8e94..a31d547
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/RegularTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/RegularTest.java
@@@ -16,20 -16,17 +16,17 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package org.apache.openmeetings.backup;
-package org.apache.openmeetings;
++package org.apache.openmeetings.web.test;
- import java.io.Serializable;
+ import java.lang.annotation.ElementType;
+ import java.lang.annotation.Retention;
+ import java.lang.annotation.RetentionPolicy;
+ import java.lang.annotation.Target;
- public class ProgressHolder implements Serializable {
- private static final long serialVersionUID = 1L;
+ import org.junit.jupiter.api.Tag;
- private int progress;
-
- public int getProgress() {
- return progress;
- }
-
- public void setProgress(int progress) {
- this.progress = progress;
- }
+ @Target({ ElementType.TYPE, ElementType.METHOD })
+ @Retention(RetentionPolicy.RUNTIME)
+ @Tag("regular")
+ public @interface RegularTest {
}
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/AbstractTestImport.java
index e0904e9,4f44062..8184803
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/AbstractTestImport.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/AbstractTestImport.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_FFMPEG;
@@@ -26,13 -26,13 +26,15 @@@ import static org.apache.openmeetings.u
import static org.apache.openmeetings.util.OpenmeetingsVariables.getCryptClassName;
import static org.junit.jupiter.api.Assertions.assertNotNull;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.backup.BackupImport;
import org.apache.openmeetings.db.entity.basic.Configuration;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.springframework.beans.factory.annotation.Autowired;
- public class AbstractTestImport extends AbstractJUnitDefaults {
+ public class AbstractTestImport extends AbstractOmServerTest {
++ public static final String BACKUP_ROOT = "org/apache/openmeetings/backup/";
private String cryptClass = null;
@Autowired
protected BackupImport backupImport;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestExport.java
index 04bd0dc,8327cae..4c1c780
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestExport.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestExport.java
@@@ -16,12 -16,12 +16,12 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
import static java.util.UUID.randomUUID;
import static org.apache.openmeetings.db.bind.Constants.FILE_LIST_NODE;
import static org.apache.openmeetings.db.bind.Constants.USER_LIST_NODE;
--import static org.junit.Assert.assertNotNull;
++import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@@ -33,19 -33,19 +33,18 @@@ import java.time.LocalDate
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.backup.BackupExport;
import org.apache.openmeetings.db.dao.file.FileItemDao;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
--import com.sun.xml.bind.marshaller.CharacterEscapeHandler;
--
- class TestExport extends AbstractJUnitDefaults {
+ class TestExport extends AbstractOmServerTest {
@Autowired
private FileItemDao fileItemDao;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImport.java
index 249e38b,249e38b..dccdbd3
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImport.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImport.java
@@@ -16,13 -16,13 +16,15 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LDAP_ID;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
++import org.apache.openmeetings.backup.BackupImport;
++import org.apache.openmeetings.backup.BackupVersion;
import org.apache.openmeetings.db.dao.basic.ChatDao;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.room.ExtraMenuDao;
@@@ -35,7 -35,7 +37,6 @@@ import org.junit.jupiter.api.Test
import org.springframework.beans.factory.annotation.Autowired;
class TestImport extends AbstractTestImport {
-- public static final String BACKUP_ROOT = "org/apache/openmeetings/backup/";
@Autowired
private LdapConfigDao ldapDao;
@Autowired
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportCalendar.java
index 46a759a,46a759a..f948c63
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportCalendar.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportCalendar.java
@@@ -16,9 -16,9 +16,9 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
--import static org.apache.openmeetings.backup.TestImport.BACKUP_ROOT;
++import static org.apache.openmeetings.web.test.backup.TestImport.BACKUP_ROOT;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportConfig.java
index de3c7b3,de3c7b3..527d3f4
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportConfig.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportConfig.java
@@@ -16,13 -16,13 +16,13 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
--import static org.apache.openmeetings.backup.TestImport.BACKUP_ROOT;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_OAUTH;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_SOAP;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REPLY_TO_ORGANIZER;
++import static org.apache.openmeetings.web.test.backup.TestImport.BACKUP_ROOT;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportOld.java
index 2d80d25,ce6aa5a..1f0d091
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportOld.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportOld.java
@@@ -16,9 -16,9 +16,8 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
--import static org.apache.openmeetings.backup.TestImport.BACKUP_ROOT;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportRoom.java
index e96f0f6,e96f0f6..2b2104d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportRoom.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportRoom.java
@@@ -16,9 -16,9 +16,9 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
--import static org.apache.openmeetings.backup.TestImport.BACKUP_ROOT;
++import static org.apache.openmeetings.web.test.backup.TestImport.BACKUP_ROOT;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportUser.java
index 57b2023,57b2023..17f0a6d
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportUser.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/backup/TestImportUser.java
@@@ -16,15 -16,15 +16,16 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.backup;
++package org.apache.openmeetings.web.test.backup;
--import static org.apache.openmeetings.backup.TestImport.BACKUP_ROOT;
++import static org.apache.openmeetings.web.test.backup.TestImport.BACKUP_ROOT;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.File;
import java.util.List;
++import org.apache.openmeetings.backup.BackupException;
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.db.entity.user.User;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestFileDao.java
index 058705d,6e9b0a4..dd40eb3
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestFileDao.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestFileDao.java
@@@ -16,20 -16,20 +16,20 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.db.dao;
++package org.apache.openmeetings.web.test.db;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.util.List;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.file.FileItemDao;
import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestRoomDao.java
index 30e02be,86ee4ca..7c18061
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestRoomDao.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/db/TestRoomDao.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.db.dao;
++package org.apache.openmeetings.web.test.db;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@@ -26,11 -26,11 +26,11 @@@ import static org.junit.jupiter.api.Ass
import java.util.HashSet;
import java.util.Set;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/test/job/TestJob.java
index 89515a8,c2521fd..b4bb5d8
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/job/TestJob.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/test/job/TestJob.java
@@@ -16,11 -16,11 +16,11 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.service.scheduler;
++package org.apache.openmeetings.web.test.job;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS;
import static org.apache.openmeetings.util.OpenmeetingsVariables.setInitComplete;
--import static org.junit.Assert.assertNotNull;
++import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doAnswer;
@@@ -32,12 -32,12 +32,14 @@@ import java.time.ZoneId
import java.util.Date;
import java.util.List;
- import org.apache.openmeetings.AbstractWicketTester;
-import org.apache.openmeetings.AbstractWicketTesterTest;
import org.apache.openmeetings.core.mail.MailHandler;
import org.apache.openmeetings.db.entity.basic.Configuration;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.service.scheduler.CleanupJob;
++import org.apache.openmeetings.service.scheduler.ReminderJob;
++import org.apache.openmeetings.web.test.AbstractWicketTesterTest;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestDateTime.java
index 926c59a,b6500ca..5369890
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestDateTime.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestDateTime.java
@@@ -16,9 -16,9 +16,9 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.util;
++package org.apache.openmeetings.web.util;
--import static org.junit.Assert.assertNotNull;
++import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.text.SimpleDateFormat;
@@@ -29,9 -29,11 +29,11 @@@ import java.util.Calendar
import java.util.Date;
import java.util.Locale;
-import org.apache.openmeetings.RegularTest;
import org.apache.openmeetings.web.common.datetime.AbstractOmDateTimePicker;
++import org.apache.openmeetings.web.test.RegularTest;
import org.junit.jupiter.api.Test;
+ @RegularTest
class TestDateTime {
@Test
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestStoredFile.java
index ff343c3,4529a41..526c5f7
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestStoredFile.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/web/util/TestStoredFile.java
@@@ -16,7 -16,7 +16,7 @@@
* specific language governing permissions and limitations
* under the License.
*/
--package org.apache.openmeetings.util;
++package org.apache.openmeetings.web.util;
import static org.apache.openmeetings.util.OmFileHelper.getDefaultProfilePicture;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@@ -25,10 -25,10 +25,11 @@@ import java.io.File
import java.io.FileNotFoundException;
import java.io.IOException;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.util.StoredFile;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.junit.jupiter.api.Test;
- class TestStoredFile extends AbstractJUnitDefaults {
+ class TestStoredFile extends AbstractOmServerTest {
@Test
void testPng() throws FileNotFoundException, IOException {
File f = getDefaultProfilePicture();
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
index 67cf812,e77fb4c..2e93793
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java
@@@ -20,12 -20,11 +20,11 @@@ package org.apache.openmeetings.webserv
import static java.util.UUID.randomUUID;
import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
- import static org.apache.openmeetings.AbstractJUnitDefaults.createPass;
- import static org.apache.openmeetings.AbstractJUnitDefaults.ensureSchema;
- import static org.apache.openmeetings.AbstractJUnitDefaults.soapUsername;
- import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
-import static org.apache.openmeetings.AbstractOmServerTest.createPass;
-import static org.apache.openmeetings.AbstractOmServerTest.ensureSchema;
-import static org.apache.openmeetings.AbstractOmServerTest.soapUsername;
-import static org.apache.openmeetings.AbstractOmServerTest.userpass;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
- import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.createPass;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.ensureSchema;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.soapUsername;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.userpass;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/CreateTomcatExtension.java
index 0000000,b3bc927..d66fdbd
mode 000000,100644..100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/CreateTomcatExtension.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/CreateTomcatExtension.java
@@@ -1,0 -1,82 +1,82 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ package org.apache.openmeetings.webservice;
+
+ import static java.util.UUID.randomUUID;
+ import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
+
+ import java.io.File;
+ import java.net.InetAddress;
+ import java.nio.file.Files;
+
+ import org.apache.catalina.LifecycleState;
+ import org.apache.catalina.connector.Connector;
+ import org.apache.catalina.startup.Tomcat;
-import org.apache.openmeetings.AbstractOmServerTest;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
+ import org.junit.jupiter.api.extension.BeforeAllCallback;
+ import org.junit.jupiter.api.extension.ExtensionContext;
+
+ public class CreateTomcatExtension implements BeforeAllCallback {
+ private String host;
+ private String context;
+ private int port = 8080;
+ private Tomcat tomcat;
+
+ public CreateTomcatExtension(String host, String context) {
+ this.host = host;
+ this.context = context;
+ }
+
+ @Override
+ public void beforeAll(ExtensionContext extContext) throws Exception {
+ if (tomcat == null) {
+ extContext.getRoot().getStore(ExtensionContext.Namespace.GLOBAL).put("my_report", new ExtensionContext.Store.CloseableResource() {
+ @Override
+ public void close() throws Throwable {
+ if (tomcat.getServer() != null && tomcat.getServer().getState() != LifecycleState.DESTROYED) {
+ if (tomcat.getServer().getState() != LifecycleState.STOPPED) {
+ tomcat.stop();
+ }
+ tomcat.destroy();
+ }
+ }
+ });
+ AbstractOmServerTest.init();
+ tomcat = new Tomcat();
+ Connector connector = new Connector("HTTP/1.1");
+ connector.setProperty("address", InetAddress.getByName(host).getHostAddress());
+ connector.setPort(0);
+ tomcat.getService().addConnector(connector);
+ tomcat.setConnector(connector);
+ File wd = Files.createTempDirectory("om" + randomUUID().toString()).toFile();
+ tomcat.setBaseDir(wd.getCanonicalPath());
+ tomcat.getHost().setAppBase(wd.getCanonicalPath());
+ tomcat.getHost().setAutoDeploy(false);
+ tomcat.getHost().setDeployOnStartup(false);
+ tomcat.addWebapp(context, getOmHome().getAbsolutePath());
+ tomcat.getConnector(); // to init the connector
+ tomcat.start();
+ port = tomcat.getConnector().getLocalPort();
+ }
+ }
+
+ public int getPort() {
+ return port;
+ }
+ }
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
index 18fdafa,ff962b0..7c984b6
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestCalendarService.java
@@@ -19,11 -19,11 +19,11 @@@
package org.apache.openmeetings.webservice;
import static java.util.UUID.randomUUID;
- import static org.apache.openmeetings.AbstractJUnitDefaults.ONE_HOUR;
- import static org.apache.openmeetings.AbstractJUnitDefaults.createPass;
- import static org.apache.openmeetings.AbstractJUnitDefaults.createUser;
- import static org.apache.openmeetings.AbstractJUnitDefaults.getAppointment;
- import static org.apache.openmeetings.AbstractJUnitDefaults.getUser;
-import static org.apache.openmeetings.AbstractOmServerTest.ONE_HOUR;
-import static org.apache.openmeetings.AbstractOmServerTest.createPass;
-import static org.apache.openmeetings.AbstractOmServerTest.createUser;
-import static org.apache.openmeetings.AbstractOmServerTest.getAppointment;
-import static org.apache.openmeetings.AbstractOmServerTest.getUser;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.ONE_HOUR;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.createPass;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.createUser;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.getAppointment;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.getUser;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@@ -37,7 -37,7 +37,6 @@@ import java.util.List
import javax.ws.rs.core.Form;
import javax.ws.rs.core.Response;
- import org.apache.openmeetings.AbstractJUnitDefaults;
-import org.apache.openmeetings.AbstractOmServerTest;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
import org.apache.openmeetings.db.dao.room.InvitationDao;
@@@ -51,6 -51,6 +50,7 @@@ import org.apache.openmeetings.db.entit
import org.apache.openmeetings.db.entity.calendar.MeetingMember;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.user.User;
++import org.apache.openmeetings.web.test.AbstractOmServerTest;
import org.apache.openmeetings.webservice.util.AppointmentParamConverter;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
index 2b4f875,42124d6..81233f5
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestErrorService.java
@@@ -19,7 -19,7 +19,7 @@@
package org.apache.openmeetings.webservice;
import static java.util.UUID.randomUUID;
- import static org.apache.openmeetings.AbstractJUnitDefaults.rnd;
-import static org.apache.openmeetings.AbstractOmServerTest.rnd;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.rnd;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestFileService.java
index 7a93bd5,4474b6f..d297299
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestFileService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestFileService.java
@@@ -20,10 -20,10 +20,10 @@@ package org.apache.openmeetings.webserv
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.UUID.randomUUID;
- import static org.apache.openmeetings.AbstractJUnitDefaults.UNIT_TEST_ARAB_EXT_TYPE;
- import static org.apache.openmeetings.AbstractJUnitDefaults.createUser;
- import static org.apache.openmeetings.AbstractJUnitDefaults.getUser;
-import static org.apache.openmeetings.AbstractOmServerTest.UNIT_TEST_ARAB_EXT_TYPE;
-import static org.apache.openmeetings.AbstractOmServerTest.createUser;
-import static org.apache.openmeetings.AbstractOmServerTest.getUser;
--import static org.junit.Assert.assertFalse;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.UNIT_TEST_ARAB_EXT_TYPE;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.createUser;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.getUser;
++import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestGroupService.java
index 820c4a3,3b24400..8d79e4f
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestGroupService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestGroupService.java
@@@ -18,8 -18,8 +18,8 @@@
*/
package org.apache.openmeetings.webservice;
- import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
- import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
-import static org.apache.openmeetings.AbstractOmServerTest.adminUsername;
-import static org.apache.openmeetings.AbstractOmServerTest.userpass;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.adminUsername;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.userpass;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRecordingService.java
index 142cd76,e237380..a7a4f46
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRecordingService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRecordingService.java
@@@ -19,7 -19,7 +19,7 @@@
package org.apache.openmeetings.webservice;
import static java.util.UUID.randomUUID;
- import static org.apache.openmeetings.AbstractJUnitDefaults.getUser;
-import static org.apache.openmeetings.AbstractOmServerTest.getUser;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.getUser;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --cc openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
index 104ab48,e3319ba..f2cf923
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
@@@ -20,11 -20,11 +20,11 @@@ package org.apache.openmeetings.webserv
import static java.util.UUID.randomUUID;
import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
- import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
- import static org.apache.openmeetings.AbstractJUnitDefaults.createPass;
- import static org.apache.openmeetings.AbstractJUnitDefaults.rnd;
- import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
-import static org.apache.openmeetings.AbstractOmServerTest.adminUsername;
-import static org.apache.openmeetings.AbstractOmServerTest.createPass;
-import static org.apache.openmeetings.AbstractOmServerTest.rnd;
-import static org.apache.openmeetings.AbstractOmServerTest.userpass;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.adminUsername;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.createPass;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.rnd;
++import static org.apache.openmeetings.web.test.AbstractOmServerTest.userpass;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@@ -46,8 -46,8 +46,8 @@@ import org.apache.openmeetings.db.dto.u
import org.apache.openmeetings.db.dto.user.UserDTO;
import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.User;
--import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.web.app.WebSession;
++import org.apache.openmeetings.util.OmException;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.junit.jupiter.api.Test;
diff --cc openmeetings-web/src/test/jetty/web.xml
index 1922c43,1922c43..2805d75
--- a/openmeetings-web/src/test/jetty/web.xml
+++ b/openmeetings-web/src/test/jetty/web.xml
@@@ -30,7 -30,7 +30,7 @@@
<param-value>1048576</param-value> <!-- 1MB by default -->
</context-param>
<listener>
-- <listener-class>org.apache.openmeetings.util.OMContextListener</listener-class>
++ <listener-class>org.apache.openmeetings.web.util.OMContextListener</listener-class>
</listener>
<filter>
diff --cc openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/configs.xml
index a1e5f24,a1e5f24..bf58577
--- a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/configs.xml
+++ b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/configs.xml
@@@ -28,7 -28,7 +28,7 @@@ see http://openmeetings.apache.org/Upgr
<config>
<id><![CDATA[1]]></id>
<key><![CDATA[crypt_ClassName]]></key>
-- <value><![CDATA[org.apache.openmeetings.util.crypt.SHA256Implementation]]></value>
++ <value><![CDATA[org.apache.openmeetings.web.util.crypt.SHA256Implementation]]></value>
<created class="java.util.Date"><![CDATA[1502426201301]]></created>
<comment><![CDATA[This Class is used for Authentification-Crypting. Be carefull what you do here! If you change it while running previous Pass of users will not be workign anymore! for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html]]></comment>
<deleted><![CDATA[false]]></deleted>
@@@ -495,7 -495,7 +495,7 @@@
<id><![CDATA[1]]></id>
<type><![CDATA[string]]></type>
<key><![CDATA[crypt.class.name]]></key>
-- <value><![CDATA[org.apache.openmeetings.util.crypt.SCryptImplementation]]></value>
++ <value><![CDATA[org.apache.openmeetings.web.util.crypt.SCryptImplementation]]></value>
<comment><![CDATA[This Class is used for Authentification-Crypting. Be carefull what you do here! If you change it while running previous Pass of users will not be workign anymore! for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html]]></comment>
</config>
<config>
diff --cc openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/skip/configs.xml
index 4534b62,4534b62..5a04fd1
--- a/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/skip/configs.xml
+++ b/openmeetings-web/src/test/resources/org/apache/openmeetings/backup/config/skip/configs.xml
@@@ -27,7 -27,7 +27,7 @@@ see http://openmeetings.apache.org/Upgr
<configs>
<config>
<id><![CDATA[1]]></id>
-- <value><![CDATA[org.apache.openmeetings.util.crypt.SHA256Implementation]]></value>
++ <value><![CDATA[org.apache.openmeetings.web.util.crypt.SHA256Implementation]]></value>
<created class="java.util.Date"><![CDATA[1502426201301]]></created>
<comment><![CDATA[This Class is used for Authentification-Crypting. Be carefull what you do here! If you change it while running previous Pass of users will not be workign anymore! for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html]]></comment>
<deleted><![CDATA[false]]></deleted>
@@@ -35,7 -35,7 +35,7 @@@
<config>
<id><![CDATA[1]]></id>
<key><![CDATA[deleted_test]]></key>
-- <value><![CDATA[org.apache.openmeetings.util.crypt.SHA256Implementation]]></value>
++ <value><![CDATA[org.apache.openmeetings.web.util.crypt.SHA256Implementation]]></value>
<created class="java.util.Date"><![CDATA[1502426201301]]></created>
<comment><![CDATA[This Class is used for Authentification-Crypting. Be carefull what you do here! If you change it while running previous Pass of users will not be workign anymore! for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html]]></comment>
<deleted><![CDATA[true]]></deleted>
diff --cc openmeetings-webservice/src/main/java/module-info.java
index 350e96b,b3174f1..4953f4d
--- a/openmeetings-webservice/src/main/java/module-info.java
+++ b/openmeetings-webservice/src/main/java/module-info.java
@@@ -16,8 -16,14 +16,15 @@@
* specific language governing permissions and limitations
* under the License.
*/
- package org.apache.openmeetings.test;
-
- public @interface NonJenkinsTests {
-package org.apache.openmeetings;
++module org.apache.openmeetings.webservice {
++ requires transitive org.apache.openmeetings.service;
-import org.junit.jupiter.api.Test;
-
-class TestConnection {
-
- @Test
- void testNoop() {
- //no-op
- }
++ requires java.jws;
++ requires java.ws.rs;
++ requires org.apache.cxf.core;
++ requires io.swagger.v3.oas.annotations;
++ requires org.apache.cxf.frontend.jaxrs;
++ requires java.desktop;
++ requires org.apache.pdfbox;
++ requires java.xml.ws;
}
diff --cc pom.xml
index 90676e6,973f010..b1c4308
--- a/pom.xml
+++ b/pom.xml
@@@ -77,18 -77,19 +77,19 @@@
<forbiddenapis.version>3.1</forbiddenapis.version>
<maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
<frontend-maven-plugin.version>1.11.0</frontend-maven-plugin.version>
+ <swagger-plugin.version>2.1.6</swagger-plugin.version>
<!-- dependency versions -->
- <junit.version>5.8.0-M1</junit.version>
- <wicket.version>9.5.0-SNAPSHOT</wicket.version>
- <wicket-jquery-ui.version>9.3.2</wicket-jquery-ui.version>
- <wicketstuff.version>9.5.0-SNAPSHOT</wicketstuff.version>
- <wicket-bootstrap.version>5.0.5</wicket-bootstrap.version>
- <font-awesome.version>5.15.3</font-awesome.version>
- <spring.version>5.3.9</spring.version>
- <tomcat.version>9.0.50</tomcat.version>
- <ical4j.version>3.0.21</ical4j.version>
- <cxf.version>3.4.4</cxf.version>
- <io.prometheus.version>0.11.0</io.prometheus.version>
+ <junit.version>5.8.2</junit.version>
+ <wicket.version>9.7.0</wicket.version>
+ <wicket-jquery-ui.version>9.5.0</wicket-jquery-ui.version>
+ <wicketstuff.version>9.7.0</wicketstuff.version>
+ <wicket-bootstrap.version>6.0.0-M6-SNAPSHOT</wicket-bootstrap.version>
+ <font-awesome.version>5.15.4</font-awesome.version>
- <spring.version>5.3.13</spring.version>
++ <spring.version>5.3.14</spring.version>
+ <tomcat.version>9.0.56</tomcat.version>
- <ical4j.version>3.0.21</ical4j.version>
++ <ical4j.version>4.0.0-alpha10</ical4j.version>
+ <cxf.version>3.4.5</cxf.version>
- <io.prometheus.version>0.12.0</io.prometheus.version>
++ <io.prometheus.version>0.14.1</io.prometheus.version>
<aspectjtools.version>1.9.7</aspectjtools.version>
<simple-xml.version>2.7.1</simple-xml.version>
<jettison.version>1.4.1</jettison.version>
@@@ -96,37 -97,40 +97,41 @@@
<src.pack.skip>false</src.pack.skip>
<h2.version>1.4.200</h2.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
-- <javax.mail.version>1.6.2</javax.mail.version>
- <openjpa.version>3.1.2</openjpa.version>
- <asterisk-java.version>3.12.0</asterisk-java.version>
- <commons-dbcp.version>2.8.0</commons-dbcp.version>
- <commons-pool2.version>2.10.0</commons-pool2.version>
- <commons-cli.version>1.4</commons-cli.version>
++ <jakarta.mail.version>2.0.1</jakarta.mail.version>
+ <openjpa.version>3.2.1-SNAPSHOT</openjpa.version>
- <asterisk-java.version>3.15.0</asterisk-java.version>
++ <asterisk-java.version>3.24.0</asterisk-java.version>
+ <commons-dbcp.version>2.9.0</commons-dbcp.version>
+ <commons-pool2.version>2.11.1</commons-pool2.version>
+ <commons-cli.version>1.5.0</commons-cli.version>
<dom4j.version>2.1.3</dom4j.version>
<commons-codec.version>1.15</commons-codec.version>
<commons-io.version>2.11.0</commons-io.version>
- <postgresql.version>42.2.23</postgresql.version>
- <mysql.version>8.0.25</mysql.version>
- <mssql.version>9.2.1.jre11</mssql.version>
- <ojdbc.version>19.11.0.0</ojdbc.version>
+ <postgresql.version>42.3.1</postgresql.version>
+ <mysql.version>8.0.27</mysql.version>
+ <mssql.version>9.4.0.jre11</mssql.version>
+ <ojdbc.version>19.12.0.0</ojdbc.version>
<commons-collections4.version>4.4</commons-collections4.version>
- <xstream.version>1.4.17</xstream.version>
+ <xstream.version>1.4.18</xstream.version>
<api-all.version>2.1.0</api-all.version>
-- <caldav4j.version>1.0.1</caldav4j.version>
- <tika-parsers.version>1.27</tika-parsers.version>
- <tika-parsers.version>2.1.0</tika-parsers.version>
++ <caldav4j.version>1.0.3</caldav4j.version>
++ <tika-parsers.version>2.2.0</tika-parsers.version>
<commons-text.version>1.9</commons-text.version>
- <slf4j.version>1.7.31</slf4j.version>
- <logback.version>1.2.3</logback.version>
- <jetty.version>9.4.43.v20210629</jetty.version>
+ <slf4j.version>1.7.32</slf4j.version>
- <logback.version>1.2.4</logback.version>
++ <logback.version>1.3.0-alpha10</logback.version>
+ <jetty.version>9.4.44.v20210927</jetty.version>
<license.excludedScopes>test</license.excludedScopes>
- <bcprov-jdk15on.version>1.69</bcprov-jdk15on.version>
- <mockito.version>3.11.2</mockito.version>
+ <bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
- <mockito.version>4.1.0</mockito.version>
++ <mockito.version>4.2.0</mockito.version>
<quartz.version>2.3.2</quartz.version>
- <kurento.version>6.16.1</kurento.version>
+ <kurento.version>6.16.2</kurento.version>
<jain-sip.version>1.2.307</jain-sip.version><!-- other versions are broken! -->
<jasny-bootstrap.version>3.1.3-2</jasny-bootstrap.version>
<jodconverter.version>4.4.2</jodconverter.version>
+ <jaxb-runtime.version>2.3.3</jaxb-runtime.version>
+ <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
+ <jquery-ui-touch-punch.version>0.2.3-2</jquery-ui-touch-punch.version>
+ <apacheds-test-framework.version>2.0.0.AM26</apacheds-test-framework.version>
+ <swagger.version>2.1.11</swagger.version>
<!-- Exclude all generated code -->
<sonar.exclusions>file:**/generated-sources/**, file:**/jquery-ui.css, file:**/cssemoticons.js, file:**/bootstrap-confirmation.js</sonar.exclusions>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
@@@ -576,11 -596,11 +597,6 @@@
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
-- <artifactId>simpleclient</artifactId>
-- <version>${io.prometheus.version}</version>
-- </dependency>
-- <dependency>
-- <groupId>io.prometheus</groupId>
<artifactId>simpleclient_servlet</artifactId>
<version>${io.prometheus.version}</version>
</dependency>
@@@ -590,11 -610,11 +606,6 @@@
<version>${aspectjtools.version}</version>
</dependency>
<dependency>
-- <groupId>org.apache.tomcat</groupId>
-- <artifactId>tomcat-catalina</artifactId>
-- <version>${tomcat.version}</version>
-- </dependency>
-- <dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>${jettison.version}</version>
@@@ -712,6 -771,204 +762,204 @@@
<version>${jain-sip.version}</version>
</dependency>
<dependency>
+ <!-- required for JAXB/CXF -->
+ <groupId>org.glassfish.jaxb</groupId>
+ <artifactId>jaxb-runtime</artifactId>
+ <version>${jaxb-runtime.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery-ui-touch-punch</artifactId>
+ <version>${jquery-ui-touch-punch.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>${commons-collections4.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>${xstream.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-all</artifactId>
+ <version>${api-all.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.mail</groupId>
- <artifactId>javax.mail</artifactId>
- <version>${javax.mail.version}</version>
++ <artifactId>jakarta.mail</artifactId>
++ <version>${jakarta.mail.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ <version>${dom4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>${commons-codec.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons-io.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>wicketstuff-datastore-hazelcast</artifactId>
+ <version>${wicketstuff.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ <version>${openjpa.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-dbcp2</artifactId>
+ <version>${commons-dbcp.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-pool2</artifactId>
+ <version>${commons-pool2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>${h2.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>${postgresql.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>mssql-jdbc</artifactId>
+ <version>${mssql.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.oracle.database.jdbc</groupId>
+ <artifactId>ojdbc10</artifactId>
+ <version>${ojdbc.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commons-cli.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.caldav4j</groupId>
+ <artifactId>caldav4j</artifactId>
+ <version>${caldav4j.version}</version>
+ <exclusions>
+ <exclusion>
+ <!-- Remove the need for ehcache, since we use the Methods directly -->
+ <groupId>net.sf.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>${mysql.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>jasny-bootstrap</artifactId>
+ <version>${jasny-bootstrap.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.webjars</groupId>
+ <artifactId>bootstrap</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>wicketstuff-dashboard-core</artifactId>
+ <version>${wicketstuff.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.wicket-jquery-ui</groupId>
+ <artifactId>wicket-jquery-ui-core</artifactId>
+ <version>${wicket-jquery-ui.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.wicket-jquery-ui</groupId>
+ <artifactId>wicket-jquery-ui</artifactId>
+ <version>${wicket-jquery-ui.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.wicket-jquery-ui</groupId>
+ <artifactId>wicket-jquery-ui-calendar</artifactId>
+ <version>${wicket-jquery-ui.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.googlecode.wicket-jquery-ui</groupId>
+ <artifactId>wicket-jquery-ui-plugins</artifactId>
+ <version>${wicket-jquery-ui.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>wicketstuff-urlfragment</artifactId>
+ <version>${wicketstuff.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>wicketstuff-select2</artifactId>
+ <version>${wicketstuff.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>jqplot</artifactId>
+ <version>${wicketstuff.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>de.agilecoders.wicket</groupId>
+ <artifactId>wicket-bootstrap-extensions</artifactId>
+ <version>${wicket-bootstrap.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>de.agilecoders.wicket</groupId>
+ <artifactId>wicket-bootstrap-themes</artifactId>
+ <version>${wicket-bootstrap.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>font-awesome</artifactId>
+ <version>${font-awesome.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.quartz-scheduler</groupId>
+ <artifactId>quartz</artifactId>
+ <version>${quartz.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>${swagger.version}</version>
+ </dependency>
+
+ <!-- TESTS -->
+ <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>${mockito.version}</version>
@@@ -729,19 -986,37 +977,40 @@@
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
++ <groupId>org.junit.jupiter</groupId>
++ <artifactId>junit-jupiter-engine</artifactId>
++ <version>${junit.version}</version>
++ <scope>test</scope>
++ </dependency>
++ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-test-framework</artifactId>
+ <version>${apacheds-test-framework.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-ldap-schema-data</artifactId>
+ </exclusion>
++ <exclusion>
++ <groupId>junit</groupId>
++ <artifactId>junit</artifactId>
++ </exclusion>
+ </exclusions>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat.embed</groupId>
+ <artifactId>tomcat-embed-websocket</artifactId>
+ <version>${tomcat.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
-- <artifactId>junit-jupiter-api</artifactId>
-- <version>${junit.version}</version>
-- <scope>test</scope>
-- </dependency>
-- <dependency>
-- <groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
-- <version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@@ -954,6 -1194,37 +1188,38 @@@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>${maven-checkstyle-plugin.version}</version>
+ <configuration>
+ <checkstyleRules>
+ <module name = "Checker">
+ <property name="fileExtensions" value="java,js,css,xml"/>
+ <module name="NewlineAtEndOfFile">
+ <property name="fileExtensions" value="java"/>
+ </module>
+ <module name="TreeWalker">
+ <module name="UnusedImports"></module>
+ <module name="RegexpSinglelineJava">
+ <property name="format" value="^\t* "/>
+ <property name="message" value="Indent must use tab characters"/>
+ <property name="ignoreComments" value="true"/>
+ </module>
+ </module>
+ <module name="RegexpSingleline">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+ </module>
+ </checkstyleRules>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ <encoding>UTF-8</encoding>
+ <consoleOutput>true</consoleOutput>
+ <failsOnError>true</failsOnError>
++ <excludes>**/module-info.java,**/module-info.test</excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
</plugin>
@@@ -973,7 -1251,8 +1246,9 @@@
<version>${maven-surefire-plugin.version}</version>
<configuration>
<forkCount>1</forkCount>
- <reuseForks>false</reuseForks>
+ <reuseForks>true</reuseForks>
++ <useModulePath>false</useModulePath>
+ <excludedGroups>${excluded.test.groups}</excludedGroups>
<includes>
<include>**/Test*.java</include>
</includes>