Compare commits

..

731 Commits

Author SHA1 Message Date
Efstratios Giannopoulos fef2df6014 Merge branch 'reference-type-refactor' of code-repo.d4science.org:MaDgiK-CITE/argos into reference-type-refactor
# Conflicts:
#	dmp-backend/web/src/main/java/eu/eudat/controllers/v2/ReferenceController.java
2024-02-12 17:44:46 +02:00
Efstratios Giannopoulos 957c1fad58 reference fetcher changes 2024-02-12 17:43:41 +02:00
Diamantis Tziotzios 9f5002802b some frontend changes for reference type refactor 2024-02-09 22:46:05 +02:00
Thomas Georgios Giannos 80096e9164 Refactoring public api dependencies from 'to be deleted' data and queryable modules 2024-02-09 13:24:23 +02:00
Efstratios Giannopoulos 87dd56ff2c reference type refactor 2024-02-08 18:27:54 +02:00
Efstratios Giannopoulos 4f1b05ab20 reference-type-refactor 2024-02-08 18:12:47 +02:00
Diamantis Tziotzios e5946f90cd no message 2024-02-08 17:48:44 +02:00
Diamantis Tziotzios 0f4a80ef1e Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/ui/description/editor/description-form/components/form-section/form-section.component.ts
2024-02-08 17:38:22 +02:00
Diamantis Tziotzios 6f74689d3f no message 2024-02-08 17:37:39 +02:00
amentis 2574cb424e Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/ui/description/editor/description-editor.model.ts
2024-02-08 17:28:07 +02:00
amentis bd8a67f6bb description editor validation changes 2024-02-08 17:23:03 +02:00
Diamantis Tziotzios f6151b085f Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-02-08 17:14:29 +02:00
Diamantis Tziotzios 98d6636855 description template ui changes 2024-02-08 17:14:25 +02:00
Thomas Georgios Giannos 45c8eb9768 Removing default value on version column on description template migration script (00.01.010) 2024-02-08 17:10:56 +02:00
Thomas Georgios Giannos 5d0c8d97e5 Removing new version from file option for description templates 2024-02-08 16:53:20 +02:00
Thomas Georgios Giannos fbf5f65318 Adding all versions listing and new version form for description templates 2024-02-08 16:48:50 +02:00
Thomas Georgios Giannos f255f61ee6 Adding all versions listing and new version form for description templates 2024-02-08 16:48:29 +02:00
Efstratios Giannopoulos 9d4e814d1c Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java
2024-02-08 11:07:37 +02:00
Efstratios Giannopoulos ab653e4f94 code clean up 2024-02-08 11:04:38 +02:00
amentis 2204119503 description template field type validation fix 2024-02-08 10:46:30 +02:00
Diamantis Tziotzios 0c2fb8cbef Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-02-08 09:40:24 +02:00
Diamantis Tziotzios 3a514af843 more description editor changes 2024-02-08 09:40:16 +02:00
amentis 305729eb48 description template validation changes 2024-02-07 18:44:17 +02:00
amentis 0a473bfd04 fix reference-field label bug 2024-02-07 18:32:16 +02:00
Thomas Georgios Giannos ce1cb02d43 Fixed issue with paths on dmp blueprint listing actions 2024-02-07 17:59:11 +02:00
Efstratios Giannopoulos f8251aaf43 bug fix 2024-02-07 17:23:47 +02:00
Thomas Georgios Giannos 6e767f1e5e Added all versions listing on dmp blueprints, actions menu on that listing not yet functional 2024-02-07 17:13:13 +02:00
amentis 02cd51b751 description template backend validator changes 2024-02-07 16:27:14 +02:00
amentis 3deb17dbea remove dmp blueprint editor old code 2024-02-07 16:03:45 +02:00
Diamantis Tziotzios 8bf262693f more description editor changes 2024-02-07 14:15:25 +02:00
Efstratios Giannopoulos 2b436be2cd description properties changes 2024-02-07 13:53:01 +02:00
Thomas Georgios Giannos 176d13d443 Removed new version from file on dmp blueprint listing options, added version column, fixed header and save button disabled conditions on dmp blueprint editor 2024-02-07 13:03:47 +02:00
amentis bc9691fa5d description templates validation small changes 2024-02-07 10:15:06 +02:00
Thomas Georgios Giannos 5802c2149d Fixed issue on dmp blueprint fields form, integrated new version endpoint 2024-02-06 20:41:57 +02:00
George Kalampokis ed2a29d14b Update file transformer base version 2024-02-06 18:05:39 +02:00
Efstratios Giannopoulos a52a3758d5 remove old logic 2024-02-06 16:38:18 +02:00
George Kalampokis fbe9683842 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2024-02-06 16:20:45 +02:00
Efstratios Giannopoulos 51285f722b remove old logic 2024-02-06 16:20:37 +02:00
George Kalampokis a22644be56 Merge remote-tracking branch 'origin/dmp-refactor-desc-templates' into dmp-refactoring 2024-02-06 16:18:58 +02:00
amentis b4ccd71f85 description templates fix reapply validation 2024-02-06 16:00:52 +02:00
Efstratios Giannopoulos f7dc3e5a32 description use storage file 2024-02-06 15:03:49 +02:00
Efstratios Giannopoulos fd974d3ee4 change description properties definition 2024-02-06 12:27:47 +02:00
George Kalampokis 3ac4ed1237 Apply minor file transformer fixes 2024-02-06 09:40:28 +02:00
amentis fc756a1780 description templates validation fixes (in progress) 2024-02-05 17:59:11 +02:00
amentis 8bf1e0c4d6 small fix 2024-02-05 10:26:41 +02:00
Diamantis Tziotzios 70e3c9fabc more description editor changes 2024-02-02 18:43:24 +02:00
Thomas Georgios Giannos 3de2c8cbbe Added versioning migration script for DmpBlueprintEntity 2024-02-02 15:10:02 +02:00
Thomas Georgios Giannos e4c1efe98c Added versioning fields on DmpBlueprintEntity and stack 2024-02-02 14:59:11 +02:00
Diamantis Tziotzios acc754823f description editor frontend changes 2024-02-02 10:29:38 +02:00
George Kalampokis 02a1437a91 Update File Transformer Builder 2024-02-01 18:15:06 +02:00
Efstratios Giannopoulos 5f6eab6e11 remove old code 2024-02-01 17:46:28 +02:00
Efstratios Giannopoulos 55fb0f3e00 remove old code 2024-02-01 17:29:04 +02:00
Diamantis Tziotzios fde91b6677 more description template changes 2024-02-01 17:14:03 +02:00
Efstratios Giannopoulos cba0741149 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-02-01 16:58:26 +02:00
Efstratios Giannopoulos 8524213d14 remove old code 2024-02-01 16:58:05 +02:00
Diamantis Tziotzios 8d5b399dba ui changes for description template editor 2024-02-01 16:57:40 +02:00
Efstratios Giannopoulos 46c19f61a1 update description properties json format 2024-02-01 16:40:11 +02:00
Thomas Georgios Giannos 1fc4e8add5 Added integration events and handlers on the main app outbox queue for tenants 2024-02-01 16:05:21 +02:00
Diamantis Tziotzios bef333ebc9 description templates editor ui fixes. 2024-02-01 15:41:05 +02:00
amentis da62f79a73 dmp editor add dmp associated user and placeholders 2024-02-01 14:42:23 +02:00
Thomas Georgios Giannos 20ffacad0d Fixing user deleter not deleting contact info and credentials 2024-02-01 13:30:47 +02:00
Thomas Georgios Giannos 30abd31974 Added data field on AssociatedProfilePublicModel on public api 2024-02-01 12:53:02 +02:00
Diamantis Tziotzios bd2a935606 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-02-01 11:37:12 +02:00
Diamantis Tziotzios 30902bbab8 ui fixes 2024-02-01 11:36:55 +02:00
Efstratios Giannopoulos 4a3f002672 move public api classes 2024-02-01 11:13:07 +02:00
Thomas Georgios Giannos 23c19888ca Added missing mapping for AssociatedProfilePublicModel on public api 2024-02-01 10:24:39 +02:00
Diamantis Tziotzios 5373e2d867 fixes 2024-01-31 21:25:15 +02:00
Diamantis Tziotzios 8b5a54814d description template changes in frontend 2024-01-31 21:16:39 +02:00
amentis 3c32e57aad reference type editor changes 2024-01-31 18:39:18 +02:00
Efstratios Giannopoulos b4f55a721c Merge branch 'dmp-refactor-desc-templates' into dmp-refactoring 2024-01-31 17:49:56 +02:00
Efstratios Giannopoulos bcd42d66b7 refactor description template xml 2024-01-31 17:48:59 +02:00
amentis 6eea7d8088 dmp editor small changes 2024-01-31 17:07:16 +02:00
Thomas Georgios Giannos 8f7a3cf768 Resolving issues with notification service user integration (on user creation) 2024-01-31 15:23:41 +02:00
Efstratios Giannopoulos 7e63abca50 refactor description template xml 2024-01-31 14:44:20 +02:00
Efstratios Giannopoulos 6a0d1a7c8b refactor description template xml 2024-01-31 14:33:24 +02:00
Diamantis Tziotzios 2ba9e146e5 more ui changes 2024-01-31 12:53:30 +02:00
Diamantis Tziotzios 078ca9e0cb minor ui fixes 2024-01-31 12:30:21 +02:00
amentis f604eac172 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-31 11:42:03 +02:00
amentis 59e70de4f8 small fix 2024-01-31 11:41:11 +02:00
Diamantis Tziotzios 95568c5f7c Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts
#	dmp-frontend/src/assets/i18n/en.json
2024-01-31 11:37:28 +02:00
Diamantis Tziotzios 4c1372257a more ui changes 2024-01-31 11:36:12 +02:00
amentis 285978fb58 add contacts dmp editor ui 2024-01-31 11:27:36 +02:00
Diamantis Tziotzios 59c425a240 no message 2024-01-31 10:44:48 +02:00
Diamantis Tziotzios 5377b1db18 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-30 19:28:09 +02:00
Diamantis Tziotzios f296bc44f9 description template frontend changes 2024-01-30 19:27:55 +02:00
Efstratios Giannopoulos 4d1d712215 xml serializer changes 2024-01-30 18:34:22 +02:00
Efstratios Giannopoulos 16222fc02c bug fix 2024-01-30 17:23:18 +02:00
Efstratios Giannopoulos 268b82eb49 update description template xml 2024-01-30 16:31:03 +02:00
amentis 7d66c1e857 fix dmp contact builders 2024-01-30 15:24:15 +02:00
Efstratios Giannopoulos 2f48b3bae2 remove old code 2024-01-29 18:26:58 +02:00
Efstratios Giannopoulos aebc6056f9 UserRemovalIntegrationEvent changes 2024-01-29 18:10:55 +02:00
Thomas Georgios Giannos 80a3aa5616 Setting outbox calls on user updates / creations, removing not needed inbox events 2024-01-29 16:51:29 +02:00
Diamantis Tziotzios 953fa2710e ui fixes 2024-01-29 15:25:59 +02:00
Diamantis Tziotzios 4542189a26 autocomplete changes 2024-01-29 14:39:20 +02:00
amentis 8fb3556acb dmp blueprint editor fixes 2024-01-29 13:13:30 +02:00
Diamantis Tziotzios 37d349fa9b ui fixes 2024-01-29 11:47:12 +02:00
amentis ea6e2765ea add integration event component names 2024-01-29 09:37:25 +02:00
Efstratios Giannopoulos d89d8d4aa8 DescriptionTemplate version status fixes 2024-01-26 18:18:05 +02:00
Thomas Georgios Giannos a55d7c3692 Adding outbox events for users on the main app 2024-01-26 17:42:45 +02:00
Efstratios Giannopoulos f58832e3e9 migration changes 2024-01-26 14:41:19 +02:00
George Kalampokis ac932ffb05 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2024-01-26 12:55:08 +02:00
George Kalampokis c9121ebb1a Fix error if one of the file transformer clients doesn't respond 2024-01-26 12:54:55 +02:00
Efstratios Giannopoulos 2726d232dd upgrade blueprint xml 2024-01-26 12:42:46 +02:00
amentis 962840d738 change frontend blueprint description template group id 2024-01-26 12:17:01 +02:00
Efstratios Giannopoulos c05ccef28e change blueprint to user description template group id 2024-01-26 11:41:20 +02:00
Efstratios Giannopoulos 447059530d migration bug fix 2024-01-26 10:30:06 +02:00
Diamantis Tziotzios 4644d24874 various UI updates 2024-01-25 20:55:42 +02:00
Diamantis Tziotzios ae543324a4 dmp blueprint editor changes 2024-01-25 18:08:47 +02:00
amentis b6a85e151d add xml type to dmp blueprint entity 2024-01-25 15:50:52 +02:00
amentis f8fa4e519b fix dmp blueprint system fields ui 2024-01-25 15:49:34 +02:00
Thomas Georgios Giannos ecb82f5812 Removing certificate from repo 2024-01-25 13:15:15 +02:00
Thomas Georgios Giannos a369d36677 Fixing relative paths on notification service poms, changes not needed anymore since the project moved to a folder on its own 2024-01-25 13:12:25 +02:00
Thomas Georgios Giannos 39982aa264 Moving notification service to root folder 2024-01-25 13:01:23 +02:00
Thomas Georgios Giannos b6231feacd Adding configurable prefix for database table names, adding missing updated_at and is_active columns, updating db scripts 2024-01-25 12:28:21 +02:00
amentis 9b27d38026 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-24 17:51:09 +02:00
amentis 8828be7dfa fix dmp blueprint create and blueprint description template validators 2024-01-24 17:50:34 +02:00
Thomas Georgios Giannos bca0144111 Adding notification related user table scripts, altering existing foreign keys, aligning more entities 2024-01-24 17:49:50 +02:00
amentis 0faa5f731a remove notification from main app 2024-01-24 14:54:33 +02:00
Thomas Georgios Giannos 7a318da46a Fixing build issue 2024-01-24 14:26:08 +02:00
Thomas Georgios Giannos ca4a9db3f8 Started aligning notification service entities with the database, code cleanup 2024-01-24 14:24:58 +02:00
amentis 7d38ab742d update validators with list null or empty 2024-01-24 13:55:28 +02:00
amentis d0faa6713d update validators with list null or empty 2024-01-24 13:54:26 +02:00
amentis b5c31590d3 add description template editor validator (in progress) 2024-01-24 11:40:32 +02:00
Efstratios Giannopoulos c30f499f30 change notification interceptor 2024-01-24 10:29:44 +02:00
Efstratios Giannopoulos d5292f5cec reference migration changes 2024-01-23 17:20:46 +02:00
amentis f49f6d1c04 add dmp editor re apply validators 2024-01-23 14:12:50 +02:00
Thomas Georgios Giannos 6502221343 Setting userId from userScope on NotifyEvent in contact support service 2024-01-23 11:53:49 +02:00
amentis 470de047d8 add description template re apply validators and small changes 2024-01-22 18:16:45 +02:00
Thomas Georgios Giannos 21b5201bf2 Fixes on notification service NotifyIntegrationEventHandler 2024-01-22 18:03:34 +02:00
amentis 101a0aace9 add notification template editor validators 2024-01-22 11:35:40 +02:00
amentis c26c472ea8 add notification service persist validators 2024-01-22 11:27:24 +02:00
amentis dcf5a5d690 update notification service poms 2024-01-22 11:06:59 +02:00
Diamantis Tziotzios ef02fa806e various fixes 2024-01-19 18:28:53 +02:00
amentis d60ecc4f1c fix update form validators 2024-01-19 16:23:34 +02:00
Thomas Georgios Giannos 53062a879f Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-19 15:12:44 +02:00
Thomas Georgios Giannos a56a9075b1 Fixes on notification service and core 2024-01-19 15:12:33 +02:00
Efstratios Giannopoulos 698c27747d change DmpPropertiesPersist to use map 2024-01-19 15:12:03 +02:00
Diamantis Tziotzios d4739ed1d0 small validation fix 2024-01-19 15:00:46 +02:00
Efstratios Giannopoulos 409b96f518 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-19 14:55:38 +02:00
Efstratios Giannopoulos c94d57f3a0 upgrade validations 2024-01-19 14:52:39 +02:00
Diamantis Tziotzios c4dac0e7d0 various ui fixes 2024-01-19 14:28:31 +02:00
amentis 9356352e7d fix reference type editor validators 2024-01-18 14:40:51 +02:00
Diamantis Tziotzios 5e32f1e74d Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-18 14:23:46 +02:00
Diamantis Tziotzios 7ad8077bc8 changes on the dmp editor frontend 2024-01-18 14:23:20 +02:00
amentis ace6ce1119 fix dmp blueprint editor validators 2024-01-18 11:59:42 +02:00
George Kalampokis 17dc3e47f1 Minor change 2024-01-18 10:31:46 +02:00
George Kalampokis 3f436846f6 Fix some merge issues 2024-01-18 10:28:16 +02:00
George Kalampokis e39d8d25b6 Merge branch 'dmp-refactoring-file-transformer-builder' into dmp-refactoring 2024-01-18 10:11:29 +02:00
George Kalampokis 3749365e87 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2024-01-18 10:10:23 +02:00
George Kalampokis cd696bf55a Yet another fix and set proper file transformer base version 2024-01-18 10:08:46 +02:00
amentis 3bd60509e7 fix persist validators 2024-01-17 18:20:39 +02:00
Thomas Georgios Giannos d0df9c7e79 Fixing missing parts on notification service migration 2024-01-17 17:36:22 +02:00
George Kalampokis 01d78cd491 Fix Front End's File Export UI 2024-01-17 14:47:32 +02:00
George Kalampokis aa75b3e3ab Update file transformer Service and add xml transformer config 2024-01-17 14:31:31 +02:00
Efstratios Giannopoulos 70c94c5bdc update validator package 2024-01-17 12:04:33 +02:00
Efstratios Giannopoulos b76a158824 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-17 11:20:33 +02:00
Efstratios Giannopoulos 200948d962 update validator package 2024-01-17 11:20:02 +02:00
Diamantis Tziotzios 85e299a4b8 backend dynamic field cleanup 2024-01-17 10:42:46 +02:00
Thomas Georgios Giannos aab7571763 Notification service upgrade to Spring Boot 3, fixing startup and dependency issues 2024-01-16 19:13:07 +02:00
George Kalampokis 7b963858f2 Finalize File Transformer Builder 2024-01-16 18:07:13 +02:00
Efstratios Giannopoulos b04c0aebab confirmRemoveCredential changes 2024-01-16 12:56:48 +02:00
Efstratios Giannopoulos 37aa6061a4 add locale config 2024-01-16 12:51:38 +02:00
Efstratios Giannopoulos 1828e28485 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-16 12:28:36 +02:00
Efstratios Giannopoulos d1cad30fcb add CredentialData 2024-01-16 12:26:29 +02:00
amentis 412c778d8c add backend validation in language, references, tenant,supportive material editor forms. 2024-01-16 11:55:46 +02:00
Diamantis Tziotzios d760209d20 more dmp editor frontend changes 2024-01-15 18:47:34 +02:00
Efstratios Giannopoulos 04381aec20 user credential changes 2024-01-15 18:03:12 +02:00
Efstratios Giannopoulos f6b7b6e00d add dmp properties models 2024-01-15 15:06:50 +02:00
Efstratios Giannopoulos 9b079e4d4d old code cleanup 2024-01-15 14:16:20 +02:00
Efstratios Giannopoulos 4da8c2a6a9 merge remove credential changes 2024-01-15 13:57:33 +02:00
Diamantis Tziotzios 0e61925f8d validators remove logic 2024-01-15 13:33:49 +02:00
amentis 0d65c38668 add in app notification fallback from db 2024-01-12 18:32:27 +02:00
Diamantis Tziotzios c7a3b58019 validator fixes 2024-01-12 18:22:06 +02:00
amentis 951f34e0cc fix notification, inapp notification permissions 2024-01-12 15:57:38 +02:00
Efstratios Giannopoulos 141ef488e5 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-12 15:00:58 +02:00
Efstratios Giannopoulos 4b9b5cc056 dmp reference changes 2024-01-12 15:00:34 +02:00
amentis 9e413d77f2 add user field in notification listing and small changes in other UI listings 2024-01-12 14:01:59 +02:00
Thomas Georgios Giannos a2edcd6a04 Notification service config update 2024-01-12 13:56:22 +02:00
Thomas Georgios Giannos 93ce7ecd6d Notification service config update 2024-01-12 13:55:50 +02:00
Thomas Georgios Giannos 2fb387825d Notification service inbox event handlers 2024-01-12 09:47:31 +02:00
Efstratios Giannopoulos df7a43d2de Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-11 18:23:39 +02:00
Efstratios Giannopoulos 4d60698327 public contact send changes 2024-01-11 18:23:21 +02:00
George Kalampokis 3d5be3a00a Add more missing field on File Transformer Builder 2024-01-11 18:02:38 +02:00
amentis 479159ff86 add notifications listing ui 2024-01-11 17:59:27 +02:00
Efstratios Giannopoulos ab8ad0be51 role editor bug fix 2024-01-11 16:40:53 +02:00
amentis 46ba3dcb62 mine in app notification listing changes 2024-01-11 12:16:50 +02:00
amentis cb7d5b342f fix read all inapp notifications query 2024-01-11 10:47:57 +02:00
amentis b2e2fc593f small change 2024-01-10 17:54:30 +02:00
amentis 17d97bb3b3 add inapp notification events in main app 2024-01-10 17:46:45 +02:00
amentis 708fa69c53 add more in app notification templates 2024-01-10 15:59:46 +02:00
amentis 29bea9f246 add inapp notification listing like filter and read all sql query 2024-01-10 15:12:26 +02:00
amentis c7ea2ce2db change in app notification listing 2024-01-10 14:24:32 +02:00
Efstratios Giannopoulos d0157fa0e5 bug fixes 2024-01-09 18:28:04 +02:00
Efstratios Giannopoulos e123338a2c Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-09 16:02:47 +02:00
Efstratios Giannopoulos 59aae92a0e elastic changes 2024-01-09 16:02:12 +02:00
amentis da657b667b add in app notification navbar 2024-01-09 15:52:07 +02:00
Efstratios Giannopoulos 1f92872158 elastic changes 2024-01-09 14:53:48 +02:00
amentis 3f85f1c9af add inapp notification ui 2024-01-08 18:32:07 +02:00
amentis c36aff22e8 inapp notification changes 2024-01-08 18:29:23 +02:00
George Kalampokis 742fa49a7c Fix File Transformer builder issues and add support for the File Storage Service 2024-01-08 17:54:30 +02:00
Efstratios Giannopoulos 3fc04a1e3a simplify description template fielddata 2024-01-08 16:10:29 +02:00
Efstratios Giannopoulos 371dcd5a61 elastic changes 2024-01-08 13:25:56 +02:00
Efstratios Giannopoulos 614fa9314a prefiling service refactor 2024-01-08 12:58:00 +02:00
Efstratios Giannopoulos 658310d8ce prefiling service refactor 2024-01-05 18:32:24 +02:00
George Kalampokis 71746419fc Add FileTransformer Builders 2024-01-05 18:06:16 +02:00
amentis 043b43b9be notification template UI small changes 2024-01-05 18:02:06 +02:00
Thomas Georgios Giannos e8553b1605 Resolving some validations applying based on status 'Finalized' 2024-01-05 17:10:13 +02:00
amentis 34df0b640c fix query available languages by ordinal 2024-01-05 16:27:37 +02:00
amentis 8807d42121 fix supportive material error 2024-01-05 15:55:18 +02:00
amentis a5f88db680 fix dmp invitation dialog 2024-01-05 15:33:27 +02:00
Thomas Georgios Giannos 9dd0405dc8 Resolving validation service implementation not available after cleanup of old code 2024-01-05 15:18:28 +02:00
Thomas Georgios Giannos b7d1424e0c Code cleanup 2024-01-05 14:02:22 +02:00
Thomas Georgios Giannos 897d099c2c Resolving issues with validators, removing old validation methods 2024-01-05 13:32:38 +02:00
amentis 7ba374d844 small fix 2024-01-05 11:41:57 +02:00
amentis a3fb03b41b fix contact support UI 2024-01-05 11:34:21 +02:00
Efstratios Giannopoulos c9640bcb54 add dmp associated user query 2024-01-05 11:05:40 +02:00
Efstratios Giannopoulos 1a567c9a81 authz changes 2024-01-04 18:09:09 +02:00
amentis 6a077d2b09 add more UI notification types 2024-01-04 16:58:10 +02:00
Efstratios Giannopoulos f8e1b4ab8b add contact support 2024-01-04 16:25:07 +02:00
amentis 065cd249c9 add notification type UI dropdown 2024-01-04 15:17:56 +02:00
Thomas Georgios Giannos 0e1a9c88b1 Implementing validators for Deposit request models (completed) 2024-01-04 13:31:14 +02:00
Efstratios Giannopoulos c056e04a89 remove old notification 2024-01-04 13:23:16 +02:00
Efstratios Giannopoulos a53396e38a remove content 2024-01-04 13:19:00 +02:00
Efstratios Giannopoulos 26ab1fb612 remove old notification 2024-01-04 13:11:13 +02:00
Efstratios Giannopoulos 5b18809da0 remove old lock 2024-01-04 13:05:06 +02:00
Efstratios Giannopoulos 73b0272672 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-04 12:56:23 +02:00
Efstratios Giannopoulos f253fd965c remove old refence classes 2024-01-04 12:55:42 +02:00
Thomas Georgios Giannos 29022ee1cd Implementing validators for User persist models (completed) 2024-01-04 12:39:31 +02:00
Thomas Georgios Giannos 18a4684859 Implementing validators for Tenant and other persist models (completed) 2024-01-04 11:51:56 +02:00
Efstratios Giannopoulos ccd7d069cb reference refactor 2024-01-04 11:23:13 +02:00
Thomas Georgios Giannos eb2b5d4df3 Implementing validators for Reference persist models (completed) 2024-01-04 10:15:29 +02:00
amentis 659c213360 fix notification template tiny editor plugins 2024-01-03 18:28:43 +02:00
Efstratios Giannopoulos 503fe2c3dc Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2024-01-03 18:22:41 +02:00
Efstratios Giannopoulos a4ced2be21 reference refactor 2024-01-03 18:22:24 +02:00
Thomas Georgios Giannos c4ec41bec1 Implementing validators for Reference persist models (not completed) 2024-01-03 18:09:14 +02:00
amentis 8bccb9a224 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2024-01-03 16:49:05 +02:00
amentis 438333786b fix formatting notification template UI 2024-01-03 16:46:57 +02:00
Thomas Georgios Giannos e5410f39fc Implementing validators for Reference persist models (not completed) 2024-01-03 16:45:57 +02:00
Efstratios Giannopoulos b87612c783 code cleanup 2024-01-03 16:21:39 +02:00
Efstratios Giannopoulos 71343c51e5 Add excludedTags, bug fixes 2024-01-03 14:06:26 +02:00
amentis 88b4bb0d2f add fallback notification template 2024-01-03 10:14:03 +02:00
Thomas Georgios Giannos 8d5b3d0426 Implementing validators for Dmp persist models (completed) 2024-01-02 17:39:50 +02:00
Thomas Georgios Giannos 3f554554fd Implementing validators for Dmp blueprint persist models (completed) 2024-01-02 14:10:35 +02:00
Thomas Georgios Giannos 1462b9944d Implementing validators for Description template related persist models (completed) 2024-01-02 11:50:32 +02:00
amentis 28238c7a6d change idpclaims.yml and add user interceptor 2024-01-02 11:06:10 +02:00
George Kalampokis 1fb516c8ef Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/core/model/file/file-format.model.ts
2024-01-02 09:52:47 +02:00
George Kalampokis e6278bff41 Add missing file format model 2024-01-02 09:52:03 +02:00
Diamantis Tziotzios de67f17603 more frontend changes 2023-12-29 18:36:02 +02:00
Diamantis Tziotzios 7b28f499a8 frontend cleanup 2023-12-29 17:04:16 +02:00
Diamantis Tziotzios 244e0e83a2 more frontend changes 2023-12-28 17:18:49 +02:00
Diamantis Tziotzios 2d377f6003 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-22 19:21:28 +02:00
Thomas Georgios Giannos 2a6b047327 Implementing validators for Description template related persist models (not completed) 2023-12-22 19:00:53 +02:00
Thomas Georgios Giannos 63ffeabe62 Implementing validators for Description related persist models, action confirmation and dmp clone persist (in progress) 2023-12-21 18:45:49 +02:00
Diamantis Tziotzios 17150126cb Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-21 09:46:12 +02:00
amentis 62970ebd35 add notification service to config.json 2023-12-20 18:08:28 +02:00
amentis a8ee89fbc4 notification template ui changes 2023-12-20 18:02:55 +02:00
Diamantis Tziotzios 4178e2c619 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-20 17:58:38 +02:00
George Kalampokis ea371cb1a1 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-12-20 10:49:56 +02:00
George Kalampokis acc4557836 Update file-transformer-base version 2023-12-20 10:49:42 +02:00
Thomas Georgios Giannos 306053acba Updating definitions info on migrated licenses 2023-12-20 10:21:44 +02:00
George Kalampokis 8d7f6582ee Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-12-20 09:35:25 +02:00
Diamantis Tziotzios 128fc3d29e Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-20 09:20:42 +02:00
Diamantis Tziotzios c6508a0082 description editor refactor - WIP 2023-12-20 09:20:38 +02:00
amentis b3b619d354 add UI Notification Template 2023-12-19 19:08:17 +02:00
amentis 35b0d58ec9 small changes in Notification Template 2023-12-19 19:05:19 +02:00
George Kalampokis 3b12e89ac2 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-12-19 18:09:15 +02:00
George Kalampokis 8f6d0cc33d Made File export menus dynamic and based on the available file transformers (no POM) 2023-12-19 18:09:09 +02:00
Thomas Georgios Giannos aa648cda1d Adding definitions info on migrated licenses 2023-12-19 16:37:54 +02:00
Thomas Georgios Giannos f9a47f2de7 Refactoring license migration 2023-12-19 15:57:13 +02:00
Efstratios Giannopoulos f09e031e0c move old validation logic 2023-12-19 15:46:31 +02:00
Efstratios Giannopoulos 4fa4cdc671 DescriptionTemplateTypePersist remove old validators 2023-12-19 15:11:22 +02:00
Efstratios Giannopoulos 68c56d70a4 new logic of validations 2023-12-19 14:54:17 +02:00
Thomas Georgios Giannos 3e97d0fdd1 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-19 10:38:54 +02:00
Thomas Georgios Giannos 6e0821f703 Updating file-transformer-base version to 0.0.1 2023-12-19 10:38:29 +02:00
Thomas Georgios Giannos 54a83e98ac Updating repositorydepositbase version to 0.0.1 2023-12-19 10:36:05 +02:00
Efstratios Giannopoulos bd64566e8c new validation logic 2023-12-18 18:23:37 +02:00
amentis ab68a0bd4d fix enums with database enum short logic 2023-12-18 14:22:48 +02:00
amentis 18a1d43f01 add notification template entity 2023-12-18 13:13:29 +02:00
George Kalampokis f06d3de1ec Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-12-18 12:57:21 +02:00
George Kalampokis 625a322467 Add File transformer integration 2023-12-18 12:55:19 +02:00
amentis 6a6840fc79 add custom required one field validator 2023-12-18 10:30:37 +02:00
Thomas Georgios Giannos 0fd552f29c Updating repositorydepositbase 1.0.4 -> 2.0.0 to resolve dependency clash between old and new core modules on the migration tool 2023-12-15 16:52:45 +02:00
Thomas Georgios Giannos 25e9f2a5c7 Updating repositorydepositbase 1.0.4 -> 2.0.0 to resolve dependency clash between old and new core modules on the migration tool 2023-12-15 16:52:26 +02:00
amentis 653991a066 change dmpInvitationExisting User template 2023-12-15 16:06:30 +02:00
Thomas Georgios Giannos a9eb2ff8a7 Resolving migration tool startup issues due to core module changes, change on handling of license json objects 2023-12-15 14:47:54 +02:00
amentis fd1d6c9b1a create dmpInvitationExistingUser notification and small changes 2023-12-15 11:51:08 +02:00
amentis bcd42e7ec1 change exception for confirm notifications requests 2023-12-15 10:15:00 +02:00
amentis 3990be182c add notifications to user,description,description-template 2023-12-14 18:19:43 +02:00
Thomas Georgios Giannos a213ca3e84 Migrating tags from elastic service 2023-12-14 17:37:43 +02:00
George Kalampokis f405fdc32a Add Maintenance on the Side bar 2023-12-14 15:02:13 +02:00
George Kalampokis 0b45dd6981 Refactor index-management (maintance refactor) 2023-12-14 14:34:39 +02:00
amentis e2c352bf00 add action confirmation entity and dmp notifications 2023-12-14 14:02:30 +02:00
Thomas Georgios Giannos e4d2cde296 Migrating licenses from dmps extra properties, while avoiding creating duplicates 2023-12-13 17:35:29 +02:00
amentis a72770868e rename notification templated 2023-12-13 12:25:26 +02:00
Efstratios Giannopoulos 8eda8402ab Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-12-13 11:46:02 +02:00
Efstratios Giannopoulos 048980ac39 zenodo model changes 2023-12-13 11:42:59 +02:00
Thomas Georgios Giannos baae057c6a Fixing issues on building migration tool 2023-12-12 18:06:30 +02:00
Thomas Georgios Giannos 9f781853a7 Resolving role naming conflicts 2023-12-12 17:51:40 +02:00
Thomas Georgios Giannos 24bfd69e4d Error handling on user role assignment service 2023-12-12 17:04:01 +02:00
amentis f47f9721fe remove mail service 2023-12-12 16:42:11 +02:00
Thomas Georgios Giannos f46543f1a4 Fix on role naming compatibility 2023-12-12 16:32:37 +02:00
Thomas Georgios Giannos b46c4e19e2 Extracting subject id from user credentials for role mapping on Keycloak Api 2023-12-12 16:17:08 +02:00
amentis a94473be49 small change 2023-12-12 11:49:52 +02:00
amentis 86628a59a7 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-12 10:17:12 +02:00
amentis f6100a8ea2 add inbox, outbox 2023-12-12 10:14:26 +02:00
Thomas Georgios Giannos a42e858f71 Small fix 2023-12-12 09:38:25 +02:00
amentis 2a00fe7ec1 change lock service 2023-12-11 18:55:20 +02:00
amentis 28fad3ccc4 remove mail service 2023-12-11 18:47:35 +02:00
Efstratios Giannopoulos aa8c73b6ed security changes 2023-12-11 15:00:21 +02:00
Thomas Georgios Giannos e70db447c8 Adding and removing users from Keycloak groups on role assignment 2023-12-11 10:56:40 +02:00
amentis 880e8c5aa8 refactor lock entity 2023-12-08 18:05:48 +02:00
Thomas Georgios Giannos 0c34502f08 Fixing issues on Dataset public Api mappers 2023-12-08 17:21:06 +02:00
Thomas Georgios Giannos 038c78fb04 Configuring groups for user roles 2023-12-08 13:27:04 +02:00
Thomas Georgios Giannos e7c7d1f991 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-08 11:48:46 +02:00
Thomas Georgios Giannos 08a5b49d1d Supporting client roles for users on Keycloak API service 2023-12-08 11:48:32 +02:00
amentis 903388c3ce add missing body fields 2023-12-08 11:45:45 +02:00
amentis 0c6e800118 add notification microservice 2023-12-08 11:28:19 +02:00
amentis 5e72a4197b add notification microservice 2023-12-08 11:25:07 +02:00
Diamantis Tziotzios 56bd12a4e3 more ui changes 2023-12-06 23:10:01 +02:00
Efstratios Giannopoulos c1b197ea30 Dmp/Description changes 2023-12-06 18:33:01 +02:00
Thomas Georgios Giannos b9eba9edcb Fix on entity doi query 2023-12-06 18:08:15 +02:00
Thomas Georgios Giannos 8227f60cda Updating EntityDoi db script removing problematic column entity_type and adding a new one with the same name of type smallint in order for the queries to work properly 2023-12-06 18:02:42 +02:00
Thomas Georgios Giannos 9ba8751564 Fixing issues in public API mappers 2023-12-06 17:38:03 +02:00
amentis 5825aa642a add tenant users on User model 2023-12-06 17:07:14 +02:00
Thomas Georgios Giannos 37c170ea54 Adding mappers for description definitions to PagedDatasetProfile model 2023-12-06 16:14:07 +02:00
amentis dd7007128b small fix 2023-12-06 16:12:30 +02:00
amentis 46dccbfbdb add more sql scripts 2023-12-06 14:23:21 +02:00
amentis 908c530922 add tenant to tables 2023-12-06 14:21:25 +02:00
Efstratios Giannopoulos 85bd0de2d5 statistics changes 2023-12-06 14:18:19 +02:00
amentis bee0e9f152 fix update_notification script 2023-12-06 13:08:49 +02:00
amentis 2dac2326ee rename NTF to ntf scripts 2023-12-06 11:34:24 +02:00
amentis ce0075f30a fix update_notification script 2023-12-06 09:41:20 +02:00
Diamantis Tziotzios 9e13eb4d01 frontend dashboard changes 2023-12-05 22:36:00 +02:00
amentis 9685b323e1 add more sql scripts for fixing 2023-12-05 18:51:44 +02:00
Efstratios Giannopoulos dfb4761276 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-12-05 18:14:08 +02:00
Efstratios Giannopoulos c286838a30 add DashboardStatistics 2023-12-05 18:13:40 +02:00
amentis d2d6013389 add more sql scripts for Notification service 2023-12-05 16:57:06 +02:00
Efstratios Giannopoulos 2fb99d2fe7 add getMyRecentActivityItems 2023-12-05 16:05:37 +02:00
Efstratios Giannopoulos 2dee73ce1f support iso dates 2023-12-05 12:52:59 +02:00
amentis 5047d3b154 add sql scripts 2023-12-05 11:56:25 +02:00
Efstratios Giannopoulos bc0d39a72f bug fixes 2023-12-05 11:32:17 +02:00
Diamantis Tziotzios 46e56111f0 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-04 19:38:52 +02:00
Diamantis Tziotzios ad1539af59 dmp overview page refactor 2023-12-04 19:37:52 +02:00
Efstratios Giannopoulos 1a76942b5f add Description PersistStatus 2023-12-04 18:38:23 +02:00
Diamantis Tziotzios a72c7001f9 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-04 18:26:31 +02:00
Efstratios Giannopoulos e441fc958c bug fix 2023-12-04 18:19:27 +02:00
Efstratios Giannopoulos 418d36dd67 dmp changes 2023-12-04 18:16:57 +02:00
Diamantis Tziotzios 84726a250f Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-04 17:56:35 +02:00
Diamantis Tziotzios 7c9e36341b more ui changes 2023-12-04 17:56:12 +02:00
Efstratios Giannopoulos df87dbf76c use new subquery 2023-12-04 17:27:47 +02:00
Diamantis Tziotzios 567b09a26b Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-12-01 19:18:48 +02:00
Diamantis Tziotzios 6e997b300d refactored DmpListing, DescriptionListing, DescriptionOverview. 2023-12-01 19:18:41 +02:00
amentis 3ea60a4b43 add user roles listing filter 2023-12-01 13:18:20 +02:00
amentis 04d97fc2e2 add reference listing filter 2023-12-01 10:12:09 +02:00
amentis 63e5cde313 fix listing filters 2023-11-30 17:28:05 +02:00
Efstratios Giannopoulos 5965acc4aa migration changes 2023-11-30 14:09:20 +02:00
Efstratios Giannopoulos 3a70b4d700 bug fixes 2023-11-30 13:38:36 +02:00
Efstratios Giannopoulos 2d5c9df855 support xml columns 2023-11-30 13:38:22 +02:00
Efstratios Giannopoulos 2a766dc37f storage file fixes 2023-11-30 13:37:56 +02:00
amentis 4417532935 add checkbox to language editor UI 2023-11-30 10:37:58 +02:00
Diamantis Tziotzios 40ae38e8d9 more ui changes 2023-11-30 10:12:41 +02:00
Efstratios Giannopoulos 17d57dbc7a bug fix 2023-11-29 17:49:00 +02:00
Efstratios Giannopoulos 345c020869 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 17:46:19 +02:00
Efstratios Giannopoulos b40134e6a7 user info changes 2023-11-29 17:41:15 +02:00
amentis f1f987a157 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 17:17:23 +02:00
amentis 37349d8fca fix sql script 2023-11-29 17:07:40 +02:00
Thomas Georgios Giannos e3d00fb72e Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 17:01:07 +02:00
Thomas Georgios Giannos 351e2cb78d Updating pom for keycloak 2023-11-29 17:01:03 +02:00
Efstratios Giannopoulos 0decfb1474 migration fixes 2023-11-29 16:56:25 +02:00
amentis 388af4410d add sql script 2023-11-29 16:41:12 +02:00
Thomas Georgios Giannos baaddb6284 Adding keycloak service and dependency 2023-11-29 16:12:56 +02:00
amentis 10923d4d48 add ordinal in Language Entity 2023-11-29 16:06:40 +02:00
amentis cabb35cf19 add ordinal in Language Entity 2023-11-29 16:05:00 +02:00
amentis 8bcc11d9a1 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 15:38:36 +02:00
amentis 63a8820681 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/ui/supportive-material-editor/supportive-material-editor.component.html
2023-11-29 15:32:03 +02:00
Diamantis Tziotzios d436fb4b2c script fix 2023-11-29 15:31:51 +02:00
amentis 2c914ead90 add ordinal in Language Entity 2023-11-29 15:27:27 +02:00
Diamantis Tziotzios b7ff88be3a Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 15:26:43 +02:00
Diamantis Tziotzios 7430477903 more frontend changes 2023-11-29 15:26:40 +02:00
Thomas Georgios Giannos bf07fed0f8 Refactoring on Dataset public API 2023-11-29 14:34:37 +02:00
Thomas Georgios Giannos 2fae4f41a7 Dmp on Dataset mapped for public API 2023-11-29 13:45:35 +02:00
Thomas Georgios Giannos f5f5d6345f Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-29 13:10:00 +02:00
Thomas Georgios Giannos b4d7312751 Dataset references mapped for public API 2023-11-29 13:07:46 +02:00
amentis 3dd7a42224 add query available language endpoint 2023-11-29 12:44:43 +02:00
Thomas Georgios Giannos 5b5f547b27 Dataset listing model mapper implemented for public API 2023-11-29 11:57:49 +02:00
Thomas Georgios Giannos c6642a726e Preparing fetching datasets for public API 2023-11-29 11:30:38 +02:00
amentis 439efbd98a small fix 2023-11-29 10:46:49 +02:00
amentis 126d47f9e4 add language file fallback method 2023-11-28 19:10:04 +02:00
amentis 3d5c718d52 change supportive material editor model 2023-11-28 19:06:15 +02:00
Thomas Georgios Giannos 319e1f0dca Preparing fetching of associated dataset profiles for dmps for public API 2023-11-28 18:04:26 +02:00
Thomas Georgios Giannos b3bc801cd4 Fetching dois for dmps for public API 2023-11-28 17:29:25 +02:00
Efstratios Giannopoulos d3d57e8838 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-28 17:24:47 +02:00
Efstratios Giannopoulos 337556265e add storage 2023-11-28 17:23:56 +02:00
Thomas Georgios Giannos e6cba30e4c Fetching funders on grants for dmps for public API 2023-11-28 16:50:00 +02:00
Thomas Georgios Giannos b00b048632 Fetching and building organizations for dmps for public API 2023-11-28 16:20:31 +02:00
Thomas Georgios Giannos 693f1dba7f Fetching and building grants for dmps for public API 2023-11-28 15:52:17 +02:00
Diamantis Tziotzios eb19b9a7d5 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/core/common/enum/permission.enum.ts
2023-11-28 15:16:36 +02:00
Diamantis Tziotzios 00e5c69fac refdactored users listing 2023-11-28 15:15:16 +02:00
Efstratios Giannopoulos 1b92af8762 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-28 15:09:01 +02:00
Efstratios Giannopoulos 75d31cf627 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
2023-11-28 15:07:41 +02:00
Efstratios Giannopoulos c5461dbc62 add storage service 2023-11-28 15:05:58 +02:00
Thomas Georgios Giannos df2086a0a7 Fetching and building researchers for dmps for public API 2023-11-28 15:05:51 +02:00
Thomas Georgios Giannos 92956f6598 Fetching and building users for dmps for public API 2023-11-28 14:25:29 +02:00
Thomas Georgios Giannos 0166bf8ece Refactoring and preparing for dmp and dataset conversion for public API 2023-11-28 12:54:08 +02:00
amentis 61218ed220 add Language entity and UI 2023-11-27 18:22:13 +02:00
Thomas Georgios Giannos 6fb601929a Migrating everything is needed for the public api refactor 2023-11-27 17:33:24 +02:00
amentis 516e639153 small fix 2023-11-27 14:58:29 +02:00
amentis 39802c6e5b add Language.sql 2023-11-27 14:51:44 +02:00
Thomas Georgios Giannos c3bb9b8ffa Entities cleanup 2023-11-27 14:46:30 +02:00
Efstratios Giannopoulos 8dbf275f3a migration changes 2023-11-27 12:20:15 +02:00
amentis 6b4424c634 add reference ui 2023-11-24 19:12:39 +02:00
Diamantis Tziotzios e6b22a5b27 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-24 18:42:32 +02:00
Diamantis Tziotzios 396c6e5b95 more frontend changes 2023-11-24 18:42:23 +02:00
Efstratios Giannopoulos aa0a86b4d1 migration changes 2023-11-24 18:19:22 +02:00
Diamantis Tziotzios 8a20687491 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-24 17:58:25 +02:00
Efstratios Giannopoulos c67e4c8c9f Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-migration-tool/web/src/main/java/eu/old/eudat/migration/DmpDatasetProfileMigrationService.java
#	dmp-migration-tool/web/src/main/java/eu/old/eudat/publicapi/migration/MigrationController.java
2023-11-24 17:26:18 +02:00
Thomas Georgios Giannos ccd650217b Fix on deleting duplicates from DmpDescriptionTemplates, delete all but one 2023-11-24 17:19:20 +02:00
Efstratios Giannopoulos c6f10b6a29 add user contact migration 2023-11-24 17:18:28 +02:00
Thomas Georgios Giannos 8ee149f094 Fixing duplicate selection from DmpDescriptionTemplates 2023-11-24 16:46:30 +02:00
amentis 3d18ed1fa6 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-24 15:12:26 +02:00
amentis d554e87093 add tenant config 2023-11-24 15:12:02 +02:00
Thomas Georgios Giannos 0934774b86 Adding UserDMP migration 2023-11-24 15:11:43 +02:00
Diamantis Tziotzios 9d37900a86 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-24 13:56:15 +02:00
Thomas Georgios Giannos 58d224b739 Small fix 2023-11-24 12:45:29 +02:00
Efstratios Giannopoulos e698b198e7 add description template to description 2023-11-24 12:39:26 +02:00
Thomas Georgios Giannos c60e90d638 Removing possible duplicate records after DmpDatasetProfile migration 2023-11-24 12:15:57 +02:00
Thomas Georgios Giannos a6d175dcb3 Adding migration for reference middle tables 2023-11-24 11:36:43 +02:00
Diamantis Tziotzios 1914444ff8 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-23 18:33:53 +02:00
Efstratios Giannopoulos e4801f94ed migration service changes 2023-11-23 18:09:17 +02:00
Diamantis Tziotzios 07daf34077 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-23 16:54:47 +02:00
Thomas Georgios Giannos eae9a5f7d3 Refactor DatasetMigrationService 2023-11-23 15:27:02 +02:00
Thomas Georgios Giannos f38febc22b Refactor DatasetMigrationService 2023-11-23 15:23:49 +02:00
Diamantis Tziotzios 3dbfc18fd6 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-23 15:06:16 +02:00
Efstratios Giannopoulos 9433beaaa6 dmp migration changes 2023-11-23 14:40:44 +02:00
Efstratios Giannopoulos e47a370088 reference migrate 2023-11-23 12:36:24 +02:00
Thomas Georgios Giannos 1e92d86356 Cleanup 2023-11-23 10:34:44 +02:00
Thomas Georgios Giannos 2936cbbb7a Adding dataset migration service 2023-11-23 10:26:40 +02:00
Diamantis Tziotzios c779bd00f0 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-23 09:48:21 +02:00
Efstratios Giannopoulos d426711904 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-22 18:35:22 +02:00
Efstratios Giannopoulos be4e723911 detach entities for migration 2023-11-22 18:34:51 +02:00
amentis 18452725bc add Tenant Entity 2023-11-22 18:01:58 +02:00
Efstratios Giannopoulos 93bbde9623 migration changes 2023-11-22 17:52:04 +02:00
Diamantis Tziotzios dbd4e6b549 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-22 17:00:54 +02:00
amentis f2c03c71cb addTenant.sql script 2023-11-22 16:39:14 +02:00
Diamantis Tziotzios 231efd05ac Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts
2023-11-22 15:55:46 +02:00
Diamantis Tziotzios 6b95730280 pull commit 2023-11-22 15:54:14 +02:00
Efstratios Giannopoulos ac91b62d63 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-22 13:32:21 +02:00
Efstratios Giannopoulos 6f2d4f016d fix sql scripts 2023-11-22 13:31:00 +02:00
amentis 4187943654 add reference type auth enabled 2023-11-22 12:56:17 +02:00
amentis 62a5a6fe1d Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-11-22 10:36:01 +02:00
amentis c19920afb2 add reference, referenceType, SupportiveMaterial 2023-11-22 10:29:29 +02:00
Thomas Georgios Giannos ad75ee1238 Small fix 2023-11-22 10:25:05 +02:00
Thomas Georgios Giannos 17b0f9bc06 Dmp migration refactored on DmpMigrationService 2023-11-22 10:24:30 +02:00
Efstratios Giannopoulos db6cb44ff8 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-migration-tool/web/src/main/java/eu/old/eudat/publicapi/migration/MigrationController.java
2023-11-21 18:35:41 +02:00
Efstratios Giannopoulos a7f70568bb migrate organization reference 2023-11-21 18:33:26 +02:00
Thomas Georgios Giannos dc381c197d Adding properties to the migrated dmps 2023-11-21 17:33:54 +02:00
Efstratios Giannopoulos 08ea46f79b migration changes 2023-11-21 17:16:32 +02:00
Efstratios Giannopoulos 8536d8d03a dmp changes 2023-11-21 14:26:14 +02:00
Efstratios Giannopoulos f92b0c238a Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-21 13:16:50 +02:00
Efstratios Giannopoulos 91af36cdcd config updates 2023-11-21 13:16:33 +02:00
Efstratios Giannopoulos c0e57b363d elastic manage service 2023-11-21 13:15:31 +02:00
amentis e1985368aa add dependencies to reference type source base 2023-11-21 12:51:26 +02:00
Efstratios Giannopoulos e62d765796 code clean up 2023-11-21 12:15:29 +02:00
Efstratios Giannopoulos 64d92e864d user clean up 2023-11-21 11:49:15 +02:00
Thomas Georgios Giannos f6a6bab04d Migration controller refactoring 2023-11-21 11:41:11 +02:00
Diamantis Tziotzios 033492a25c Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-21 10:07:50 +02:00
Diamantis Tziotzios 8908936ec6 small fix 2023-11-21 10:07:46 +02:00
Thomas Georgios Giannos 99bf7d29f9 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-21 10:00:25 +02:00
Thomas Georgios Giannos eb9ae3af48 Allignment with core changes 2023-11-21 10:00:18 +02:00
Efstratios Giannopoulos ff93e4e39b user table sql scripts 2023-11-20 17:18:12 +02:00
Thomas Georgios Giannos 4d01463c72 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-20 17:14:54 +02:00
Thomas Georgios Giannos caf7ec09c4 Adding converter for Instants to Dates 2023-11-20 17:11:57 +02:00
Efstratios Giannopoulos 6de7268465 user changes 2023-11-20 17:09:24 +02:00
Efstratios Giannopoulos 3b3dc6fffd sync db tables for description 2023-11-20 17:08:43 +02:00
Thomas Georgios Giannos 3a033a655b Fixing issues, resolving column naming conflicts between old and new entity classes 2023-11-20 16:44:55 +02:00
Thomas Georgios Giannos ea7fa62922 Migrating packages to resolve conflicts with the refactored project (part 2) 2023-11-20 12:29:24 +02:00
Thomas Georgios Giannos ee4636e508 Migrating packages to resolve conflicts with the refactored project 2023-11-20 12:19:02 +02:00
Thomas Georgios Giannos 75471e5587 Resolving conflicts with database changes relating with DMPs entities and the new refactored code 2023-11-20 11:12:45 +02:00
Efstratios Giannopoulos 91f7dbd785 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-17 19:02:02 +02:00
Efstratios Giannopoulos a97976296b user refactor 2023-11-17 19:01:44 +02:00
Diamantis Tziotzios 63f9fead96 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-17 09:37:37 +02:00
Thomas Georgios Giannos 765eff356d Removing 'old' migration tool folder 2023-11-16 17:26:41 +02:00
Thomas Georgios Giannos 6e65d22fce Adding new version of dmp-migration-tool to resolve java version issues, moving previous to 'old' folder to delete later 2023-11-16 17:25:22 +02:00
Diamantis Tziotzios df58a254b2 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-16 15:41:01 +02:00
amentis f2ee851bab reference type persist and editor 2023-11-16 15:40:25 +02:00
Diamantis Tziotzios f1d2b9d8d4 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-11-16 15:37:41 +02:00
Diamantis Tziotzios 22bd07451a lang change 2023-11-16 15:37:36 +02:00
Efstratios Giannopoulos dec8f6354c remove old data entities 2023-11-16 14:01:39 +02:00
Efstratios Giannopoulos 7c8b385146 add elastic dev config 2023-11-16 10:43:41 +02:00
Efstratios Giannopoulos 6c49b7e7c2 description persist 2023-11-15 17:06:49 +02:00
amentis e9ae5126f8 fix reference type persist and editor 2023-11-15 16:09:24 +02:00
Thomas Georgios Giannos 9cff8fb762 Adding .gitignore on dmp-migration-tool to ignore build files 2023-11-15 15:35:03 +02:00
Efstratios Giannopoulos 5cfdc4be07 elastic changes 2023-11-15 14:34:48 +02:00
Thomas Georgios Giannos 3aa6cdaf29 Adding new dmp migration tool folder, resolving class conflicts to be able to build the tool 2023-11-15 13:49:00 +02:00
Efstratios Giannopoulos 332ee8c59e add version status to dmp, description template 2023-11-14 18:18:20 +02:00
Efstratios Giannopoulos e103f40763 change queryable dependencies 2023-11-14 16:27:46 +02:00
Efstratios Giannopoulos 0e1408e532 add public description 2023-11-14 16:08:48 +02:00
Efstratios Giannopoulos 1324029804 remove old elastic 2023-11-14 13:41:57 +02:00
Efstratios Giannopoulos f0264eefb9 elastic changes 2023-11-14 12:24:14 +02:00
Thomas Georgios Giannos 34ce4f6928 Adding export on dmp service and controller (existing service not yet wired up) 2023-11-14 11:44:01 +02:00
Thomas Georgios Giannos d50a058296 Small fix 2023-11-13 17:05:25 +02:00
Thomas Georgios Giannos 5edaf1c74e Adding dmp user association, adding finalization status check on persist workflow 2023-11-13 16:46:35 +02:00
Thomas Georgios Giannos ff35ad6aab Renames on 'datas' 2023-11-13 09:39:31 +02:00
Thomas Georgios Giannos 1cee5fb49f Various fixes 2023-11-10 19:11:15 +02:00
Thomas Georgios Giannos 0c4cf467d8 Adding description cloning method on service, adding missing functionality on dmp new-version and cloning, dmp persist fix 2023-11-10 16:13:55 +02:00
amentis c2c1d834cc fix reference type persist and editor 2023-11-10 13:03:08 +02:00
amentis 3ecb1ed982 rename reference type definition fields and fix listing 2023-11-09 18:25:35 +02:00
amentis 33672e5ce8 create UI Reference Type Editor, Listing 2023-11-09 15:43:08 +02:00
Thomas Georgios Giannos 009dad8cba Adding clone dmp persist model, exposing new version and clone methods to the API 2023-11-09 14:10:32 +02:00
Efstratios Giannopoulos 41fc3407eb description refactor 2023-11-09 11:29:42 +02:00
Efstratios Giannopoulos 7ef668eede Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/query/DmpUserQuery.java
2023-11-08 18:45:01 +02:00
Efstratios Giannopoulos c1b9e72c2f query authz first implementation 2023-11-08 18:42:52 +02:00
Thomas Georgios Giannos dab5986688 Adding new version dmp persist model, moving associated users and references to new dmp with new version 2023-11-08 17:13:07 +02:00
Efstratios Giannopoulos 0bbad595f5 update logging, db configurations 2023-11-08 13:37:16 +02:00
Thomas Georgios Giannos e22ba13caf Adding user as owner on new dmp persist 2023-11-08 11:45:33 +02:00
Efstratios Giannopoulos e81e6dd89a Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/model/builder/DmpBuilder.java
2023-11-07 17:08:44 +02:00
Efstratios Giannopoulos 8cd8da6d98 add public models 2023-11-07 17:07:24 +02:00
Thomas Georgios Giannos 24aba556ef Small fix 2023-11-07 16:34:26 +02:00
Thomas Georgios Giannos 3e15749b56 Added dmp users on dmp builder 2023-11-07 16:18:18 +02:00
Thomas Georgios Giannos 4e99fb08e9 merge 2023-11-07 16:12:54 +02:00
Thomas Georgios Giannos 0e6a59ef3d Added dmp users on dmp builder 2023-11-07 16:05:12 +02:00
Efstratios Giannopoulos 0644e61962 description refactor 2023-11-07 14:53:36 +02:00
Thomas Georgios Giannos 4a8c3640de Added dmp user censor 2023-11-07 14:44:26 +02:00
Thomas Georgios Giannos 001cd0828b Added dmp description template deletions on description template deleter 2023-11-07 14:32:37 +02:00
amentis cfb7da7968 fix referenceTypePersist 2023-11-07 14:02:28 +02:00
amentis 5001968da7 fix issue 2023-11-07 13:18:17 +02:00
amentis 88bf760165 create referenceType entity 2023-11-07 13:15:25 +02:00
Efstratios Giannopoulos df5ae4a278 description refactor 2023-11-07 13:11:21 +02:00
Efstratios Giannopoulos ac8d36d1d5 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-07 12:37:02 +02:00
Efstratios Giannopoulos 1469e22185 description refactor 2023-11-07 12:36:36 +02:00
Thomas Georgios Giannos f878601609 Added missing converter annotations on entity enums 2023-11-07 12:28:40 +02:00
Thomas Georgios Giannos ee68224f58 Added DmpUser table and stack 2023-11-07 12:12:14 +02:00
Thomas Georgios Giannos ea58ed2e44 Fix on entity doi entity id, removed reference on Dmps, fix on dmp reference query 2023-11-07 11:09:54 +02:00
Efstratios Giannopoulos 05f73889be Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-11-07 10:32:02 +02:00
Efstratios Giannopoulos 662c5ad7e8 description refactor 2023-11-07 10:29:27 +02:00
Diamantis Tziotzios a9eb2b4513 fix backend build error 2023-11-07 10:02:09 +02:00
George Kalampokis 1ef613c87e Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-11-06 17:43:24 +02:00
George Kalampokis 9e27558df7 Update some of the queries in the new Deposit mapper 2023-11-06 17:43:20 +02:00
Thomas Georgios Giannos d3cd37d57a Fix on dmp persist 2023-11-06 17:43:03 +02:00
Thomas Georgios Giannos a5f46e9328 Adding description templates on dmp persist 2023-11-06 17:42:12 +02:00
George Kalampokis 49e34f9abc Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-11-06 17:25:00 +02:00
George Kalampokis 5ceed08b9c Add missing apply filter 2023-11-06 17:22:36 +02:00
Efstratios Giannopoulos 20873ca13e Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java
2023-11-06 17:17:34 +02:00
Efstratios Giannopoulos 87e22040c5 description template migration 2023-11-06 17:16:55 +02:00
George Kalampokis e42bdcfc0a Code cleanup 2023-11-06 16:58:01 +02:00
George Kalampokis c6cdcc4b15 Apply requested changes to RepositoryDepositService 2023-11-06 16:56:59 +02:00
Efstratios Giannopoulos d8b1211a12 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/web/src/main/java/eu/eudat/controllers/FileController.java
#	dmp-backend/web/src/main/java/eu/eudat/models/data/listingmodels/DataManagementPlanOverviewModel.java
2023-11-06 16:19:06 +02:00
Efstratios Giannopoulos 81528dfe55 description refactor 2023-11-06 16:17:57 +02:00
amentis 11bb1a3c8c create Supportive Material query public 2023-11-06 15:25:04 +02:00
Thomas Georgios Giannos 9b9cf0de4d Adding dmp-description-template stack 2023-11-06 13:31:01 +02:00
amentis fda8fcef2c create Supportive Material Entity, (persist in progress) 2023-11-03 18:09:19 +02:00
George Kalampokis c636b3e6b4 Minor query optimization 2023-11-03 18:00:06 +02:00
George Kalampokis 7bb8e850e8 Add first implementation of the new Repository Deposit Service 2023-11-03 17:54:26 +02:00
Thomas Georgios Giannos b389ebf160 Fix on dmp references persisting flow 2023-11-03 16:47:54 +02:00
Thomas Georgios Giannos 2f20675348 Adding reference persisting on dmp persist (work in progress), adding separate persist models for dmp properties 2023-11-03 16:02:47 +02:00
Efstratios Giannopoulos 9cf91aab50 DescriptionTemplate refactor 2023-11-03 15:53:18 +02:00
Efstratios Giannopoulos 08caf64d02 DescriptionTemplate refactor 2023-11-03 14:53:10 +02:00
amentis c37530c022 add supportive material editor to UI 2023-11-03 13:30:11 +02:00
Efstratios Giannopoulos b6278ab1ef DescriptionTemplate refactor 2023-11-03 11:55:26 +02:00
Efstratios Giannopoulos d38f22ccbf DescriptionTemplate refactor 2023-11-02 18:37:12 +02:00
Thomas Georgios Giannos e02237e599 Adding new version service method for Dmps 2023-11-02 18:12:36 +02:00
Thomas Georgios Giannos 02d8132f3d Fix on new DmpDescriptionTemplate table 2023-11-02 17:55:34 +02:00
Thomas Georgios Giannos 281475bb85 Adding sql script for new DmpDescriptionTemplate table 2023-11-02 17:11:34 +02:00
Thomas Georgios Giannos 752935f6e5 Updating Dmp properties persist 2023-11-02 15:55:17 +02:00
Efstratios Giannopoulos 732dfd9bfb DmpBlueprint feractor 2023-11-02 14:13:13 +02:00
Thomas Georgios Giannos c3808b5548 Updating Dmp Entity fields to reflect the database changes (migration script not yet updated) 2023-11-02 13:45:32 +02:00
Efstratios Giannopoulos ac15e33a87 DescriptionTemplate refactor 2023-11-01 18:12:59 +02:00
George Kalampokis 3c799063cc Fix Deposit Configuration's Authentication system 2023-11-01 14:10:35 +02:00
Efstratios Giannopoulos 4e08d9f073 DescriptionTemplate refactor 2023-11-01 12:03:23 +02:00
amentis be9761b103 add more fields to reference-type.yml 2023-10-31 17:57:41 +02:00
Efstratios Giannopoulos 7e391582b5 User DescriptionTemplate refactor 2023-10-31 17:24:03 +02:00
Diamantis Tziotzios c08f05bc04 no message 2023-10-31 11:19:52 +02:00
Efstratios Giannopoulos 2b074f268d DescriptionTemplate refactor 2023-10-30 18:02:20 +02:00
amentis 477e4e498e add frontend reference search lookup 2023-10-30 17:53:30 +02:00
amentis f744573f02 add reference search builders, lookup 2023-10-30 17:15:40 +02:00
Diamantis Tziotzios 557c444bc1 frontend description template listing component 2023-10-30 15:30:46 +02:00
Efstratios Giannopoulos c06253bb20 DescriptionTemplate refactor 2023-10-30 15:07:59 +02:00
amentis 49d400662b add reference definition censor 2023-10-30 10:57:24 +02:00
amentis a0ac8df5ba rename sourceType 2023-10-30 10:43:50 +02:00
Diamantis Tziotzios 36c17b5853 frontend: description template model alignment 2023-10-27 20:10:21 +03:00
Diamantis Tziotzios 9201f265d2 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-frontend/src/app/core/model/reference/reference.ts
2023-10-27 18:59:51 +03:00
Diamantis Tziotzios 7214745162 frontend dmp changes 2023-10-27 18:56:19 +03:00
Efstratios Giannopoulos bdcaee004d Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
#	dmp-backend/web/src/main/resources/config/permissions.yml
2023-10-27 18:52:34 +03:00
Efstratios Giannopoulos 57facf98e5 DescriptionTemplate refactor 2023-10-27 18:46:34 +03:00
amentis 9d3cc9e3d2 rename sourceType to referenceSourceType 2023-10-27 18:29:06 +03:00
amentis 92c165e904 add references definition xml,builder, persist 2023-10-27 17:35:35 +03:00
Thomas Georgios Giannos 65e8635c2f Removing unused dataset entity classes 2023-10-27 17:32:07 +03:00
Thomas Georgios Giannos 5d882c7e88 Drop old unused dataset related tables, small fix to migration script 2023-10-27 17:29:22 +03:00
Thomas Georgios Giannos e31970c7ea Adding migration scripts for Dmp, DmpReference, Description and DescriptionReference entities, other fixes / clear up dmp entity 2023-10-27 17:05:48 +03:00
Thomas Georgios Giannos 8d1c988135 Adding DescriptionReference lookup and linking on description entity builder 2023-10-27 13:48:17 +03:00
Thomas Georgios Giannos 60ca51fe00 Adding DescriptionReference entity stack (former Dataset*** entities) 2023-10-27 11:59:37 +03:00
amentis 7508cf8698 add created, updated in DmpReference 2023-10-27 11:41:44 +03:00
Diamantis Tziotzios e4203a3bb4 backend fixes 2023-10-27 09:54:49 +03:00
George Kalampokis d983e1e38e Add Deposit Security 2023-10-26 18:04:55 +03:00
amentis aecac1995d rename External Reference to Reference 2023-10-26 14:38:18 +03:00
amentis f006587f4a Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-10-26 12:09:36 +03:00
amentis 5a55e5d739 rename External Reference to Reference 2023-10-26 12:08:45 +03:00
amentis bbb21fadba rename External Reference to Reference 2023-10-26 12:07:04 +03:00
Diamantis Tziotzios 4eca9b32c9 various backend fixes 2023-10-26 11:21:33 +03:00
Diamantis Tziotzios 129dbd163a minor fixes dmp blueprints and Dmps. 2023-10-25 20:53:47 +03:00
Diamantis Tziotzios 51cc5f4fd9 dmp blueprint frontend cleanup 2023-10-25 18:15:41 +03:00
Diamantis Tziotzios d1bac40f0f more blueprint editor fixes 2023-10-25 17:47:48 +03:00
amentis 45f8f51288 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-25 17:38:21 +03:00
amentis 032b30ed04 add DmpExternalReference to DmpBlueprint 2023-10-25 17:37:37 +03:00
Thomas Georgios Giannos 9a78d98751 Updating permissions.yml for dmps, entity_dois and descriptions 2023-10-25 16:55:10 +03:00
Thomas Georgios Giannos c169a103b7 Updating censors for dmp and description entities 2023-10-25 14:49:37 +03:00
amentis 1b66d19bde rename frontend external reference to fetcher external reference 2023-10-25 13:01:09 +03:00
amentis 7df098a010 add more to external reference controller, service 2023-10-25 12:42:34 +03:00
Thomas Georgios Giannos 079382556f Added controller for description entity (former dataset) 2023-10-25 11:48:19 +03:00
Thomas Georgios Giannos 7ab1313b83 Updated the dmp builder to be able to populate the associated descriptions on the dmps 2023-10-25 11:17:56 +03:00
amentis bf8edfad92 add ExternalReference, DmpExternalReference entities 2023-10-24 18:47:13 +03:00
Efstratios Giannopoulos a68ddd42ce Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/authorization/Permission.java
2023-10-24 18:01:38 +03:00
Efstratios Giannopoulos de566729f1 DmpBlueprint refactor 2023-10-24 18:00:11 +03:00
Thomas Georgios Giannos e149b61b58 Adding 'dmp' query option on 'description' query 2023-10-24 17:24:51 +03:00
Thomas Georgios Giannos 1e733cf704 Connecting 'dmp' entity with 'description' entity (description builder populating dmp data) 2023-10-24 17:07:28 +03:00
Thomas Georgios Giannos 3e7b9ca90b Optimize imports 2023-10-24 15:39:11 +03:00
Thomas Georgios Giannos e27468b596 Adding basic service for 'description' entity 2023-10-24 15:38:15 +03:00
Thomas Georgios Giannos 485f7311cd Adding builder and query for 'description' entity 2023-10-24 13:50:53 +03:00
Thomas Georgios Giannos e3536285aa Adding 'description' entity (former 'dataset' entity) 2023-10-24 12:47:48 +03:00
Efstratios Giannopoulos a68668f07e DmpBlueprint refactor 2023-10-24 12:13:05 +03:00
Thomas Georgios Giannos dc380cdc01 Small fix on dmp entity id definition 2023-10-24 11:35:19 +03:00
Diamantis Tziotzios 2472f6de42 more dmp blueprint frontend changes 2023-10-24 10:40:26 +03:00
Efstratios Giannopoulos 167d3d4a4b DmpBlueprint refactor 2023-10-23 18:13:34 +03:00
amentis 10615c6fa9 fix front enums 2023-10-23 17:58:56 +03:00
Efstratios Giannopoulos 3b9b348d4d update External Refence 2023-10-23 16:53:32 +03:00
Efstratios Giannopoulos fe7d6f59b1 DmpBlueprint refacto 2023-10-23 15:58:33 +03:00
Thomas Georgios Giannos f4d84aa807 Implemented controller for dmp entity, dmp lookup update 2023-10-23 14:45:05 +03:00
Thomas Georgios Giannos 074ca35970 Implemented service for dmp entity 2023-10-23 12:51:11 +03:00
Thomas Georgios Giannos eeaa35fab5 Added censor, deleter and lookup for Dmp entity 2023-10-23 12:23:51 +03:00
Diamantis Tziotzios 172caabcd2 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-23 11:58:32 +03:00
Diamantis Tziotzios 6a8cb2c853 more frontend dmp blueprint listing changes 2023-10-23 11:58:15 +03:00
Alexandros Mandilaras 65e80c9877 fix typos in greek and english translations 2023-10-23 11:57:44 +03:00
Thomas Georgios Giannos 61f2810fcc Renamed DMP -> Dmp to be consistent with the other entities 2023-10-23 11:31:07 +03:00
Diamantis Tziotzios 6d6a4e0341 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-23 11:27:27 +03:00
Diamantis Tziotzios 0c1509a1a1 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
2023-10-23 11:27:03 +03:00
Thomas Georgios Giannos 10df3db7aa Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-23 11:17:23 +03:00
Thomas Georgios Giannos c338a93d71 Implemented builder and query for DMP entity, refactored services package 2023-10-23 11:16:58 +03:00
Efstratios Giannopoulos 6cde8ae2a9 add cross origin config 2023-10-23 11:15:08 +03:00
Efstratios Giannopoulos 3ad7441bb5 DmpBlueprint refactor 2023-10-23 10:21:25 +03:00
Diamantis Tziotzios 3422b147c8 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-22 13:34:12 +03:00
Efstratios Giannopoulos 30bff76163 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/src/main/java/eu/eudat/commons/enums/ExternalReferencesType.java
2023-10-20 19:17:14 +03:00
Efstratios Giannopoulos 88088d64fd DmpBlueprint refactor 2023-10-20 19:13:57 +03:00
Diamantis Tziotzios 9ed94450bd Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-20 18:01:15 +03:00
Diamantis Tziotzios 4d3098860d description template type and dmp blueprint frontend changes 2023-10-20 18:01:09 +03:00
amentis 0bd3ff6898 fix external references enums 2023-10-20 17:44:41 +03:00
Thomas Georgios Giannos a94cce47e8 Added DMP Entity (not integrated) 2023-10-20 16:48:55 +03:00
George Kalampokis 7d4b4c171b Apply some minor fixes 2023-10-20 11:57:25 +03:00
Efstratios Giannopoulos 0b3178177a changes for remote fetcher 2023-10-19 17:56:53 +03:00
Thomas Georgios Giannos 2a4e61f08f Added controller for EntityDoi entity 2023-10-19 17:48:41 +03:00
Thomas Georgios Giannos 727702023f Reverting changes on join DMP <-> EntityDoiEntity for now in order for the app to be able to run 2023-10-19 16:52:41 +03:00
Efstratios Giannopoulos 16604a8a50 bug fixes 2023-10-19 13:01:29 +03:00
Thomas Georgios Giannos 07ff58fbd9 Removing joins from DMP <-> EntityDoiEntity 2023-10-19 12:41:47 +03:00
Efstratios Giannopoulos a235eb98f4 task #9088 Authorization model should be changed to be Permission based 2023-10-19 10:44:20 +03:00
Efstratios Giannopoulos ce8ff28955 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/EntityDoiDao.java
#	dmp-backend/data/src/main/java/eu/eudat/data/dao/entities/EntityDoiDaoImpl.java
#	dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java
#	dmp-backend/web/src/main/java/eu/eudat/logic/managers/DepositManager.java
2023-10-18 19:03:35 +03:00
Efstratios Giannopoulos 52e59ac11c task #9088 Authorization model should be changed to be Permission based 2023-10-18 18:52:03 +03:00
George Kalampokis dc752f73ca Partially fix Deposit Logic and add support for upcomming micro-services 2023-10-18 18:15:52 +03:00
George Kalampokis 5885e3ae5c Fix DMP's funder tab 2023-10-18 18:14:02 +03:00
George Kalampokis 093837c395 Fix DMP user ownership error 2023-10-18 18:13:32 +03:00
amentis 7cba7b2346 add external references service 2023-10-18 18:05:39 +03:00
Thomas Georgios Giannos a38342e534 Removed EntityDao logic, added template stack, controller not yet implemented, db script not yet run 2023-10-18 17:58:36 +03:00
Diamantis Tziotzios 8574f33e56 update script 2023-10-18 14:04:43 +03:00
Efstratios Giannopoulos 941f2d69cc Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-10-18 13:54:47 +03:00
Efstratios Giannopoulos 5c17027df2 fix delete user info additional data 2023-10-18 13:54:02 +03:00
amentis 5203ec4b72 fix remote fetcher 2023-10-18 13:53:52 +03:00
amentis b2119abc08 fix issue 2023-10-18 13:48:20 +03:00
Thomas Georgios Giannos b7d22b5b07 Moving existing entities from Data module to Core module 2023-10-18 13:04:53 +03:00
amentis 1cda821d9c fix issue 2023-10-18 13:00:17 +03:00
Diamantis Tziotzios e97479aa03 conf.json cleanup 2023-10-18 12:51:15 +03:00
amentis ad91234fd9 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-10-18 12:28:13 +03:00
amentis 17bb6bd4b0 add Supportive Material 2023-10-18 12:26:57 +03:00
Efstratios Giannopoulos 66c650495f Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-10-18 12:10:50 +03:00
Efstratios Giannopoulos 27bcc31e54 task #9088 Authorization model should be changed to be Permission based 2023-10-18 12:10:24 +03:00
amentis 3dee4857f8 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
 Conflicts:
	dmp-frontend/src/assets/config/config.json
2023-10-18 10:33:59 +03:00
amentis f67ada842e commit 2023-10-18 10:31:57 +03:00
Thomas Georgios Giannos 651319ac5c Excluded .run files from staging at .gitignore 2023-10-18 10:16:46 +03:00
amentis b8affa3033 change pom 2023-10-18 09:58:05 +03:00
Efstratios Giannopoulos 43f77a4497 add status and inactive 2023-10-17 17:48:02 +03:00
Efstratios Giannopoulos b3a73a50aa task #9088 Authorization model should be changed to be Permission based 2023-10-17 17:13:34 +03:00
Diamantis Tziotzios 9fd30b1198 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/core/pom.xml
2023-10-17 15:56:28 +03:00
Diamantis Tziotzios 3eaf326c50 Description Template Types backend refactored to new format. 2023-10-17 15:55:00 +03:00
Efstratios Giannopoulos 7ed111e936 task #9088 Authorization model should be changed to be Permission based 2023-10-17 15:22:05 +03:00
Efstratios Giannopoulos 419c4d64f8 database enum handle implementation 2023-10-17 13:45:59 +03:00
Efstratios Giannopoulos bd2807fbdf remove zenodo from user info 2023-10-17 12:40:47 +03:00
Efstratios Giannopoulos 925f195f5a database enum handle implementation 2023-10-17 12:39:29 +03:00
Efstratios Giannopoulos 6443654343 Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring 2023-10-16 17:39:19 +03:00
Efstratios Giannopoulos 191f887530 database enum handle implementation 2023-10-16 17:38:12 +03:00
Thomas Georgios Giannos b537810406 Removed redundant code that calculated count on queries, already implemented on the data tools package 2023-10-16 12:22:41 +03:00
Thomas Georgios Giannos 234aa359c0 Removed redundant code that calculated count on queries, already implemented on the data tools package 2023-10-16 12:21:58 +03:00
Efstratios Giannopoulos d5c62539c5 task #9086 public urls support 2023-10-13 18:11:46 +03:00
George Kalampokis 5976084473 Fix security on LanguageController 2023-10-13 16:46:38 +03:00
George Kalampokis 959185a6c3 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-10-13 09:53:32 +03:00
George Kalampokis a9a3273f62 Fix compilation errors and fix swagger ui description formatting 2023-10-13 09:50:22 +03:00
Efstratios Giannopoulos 9c8488febb refresh token for api requests (401) 2023-10-12 18:29:27 +03:00
Efstratios Giannopoulos d14107062a task #9045 Refactor authentication mechanism to support using Keycloak 2023-10-12 17:13:04 +03:00
Efstratios Giannopoulos 5009d658ed task #9045 Refactor authentication mechanism to support using Keycloak 2023-10-12 16:16:19 +03:00
Efstratios Giannopoulos 055d29b95f Merge branch 'dmp-refactoring' of code-repo.d4science.org:MaDgiK-CITE/argos into dmp-refactoring
# Conflicts:
#	dmp-backend/web/pom.xml
#	dmp-backend/web/src/main/resources/config/application.yml
2023-10-12 12:04:26 +03:00
Diamantis Tziotzios 958fc468fa Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-12 10:57:52 +03:00
Diamantis Tziotzios 6b2fae03dd no message 2023-10-12 10:57:38 +03:00
George Kalampokis b845450ebd Update Swagger ui 2023-10-12 10:55:48 +03:00
Efstratios Giannopoulos 968f45d5b3 authn refactor 2023-10-11 17:53:12 +03:00
Efstratios Giannopoulos 8b05ee1d0f add cache yml 2023-10-11 10:09:46 +03:00
George Kalampokis de2f5e67fd Fix profile issue 2023-10-11 09:53:24 +03:00
George Kalampokis 755c79b7af Separate configuration to different files 2023-10-10 16:49:48 +03:00
George Kalampokis d45867585f Add missing files 2023-10-09 17:29:02 +03:00
George Kalampokis 166bea73bf Replace the old .properties configuration files with the .yml 2023-10-09 16:02:14 +03:00
Thomas Georgios Giannos 55aecd9c57 Updating description template type controller with apropriate auditing and logging, added censor, refactored query building to conform with other projects workflows 2023-10-09 11:17:16 +03:00
George Kalampokis cab2f1bc64 Add Environment variables 2023-10-09 10:38:46 +03:00
George Kalampokis b5cbe6a3d8 Merge remote-tracking branch 'origin/dmp-refactoring' into dmp-refactoring 2023-10-06 18:11:11 +03:00
George Kalampokis 70308db668 Add Authentication support for the remote fetcher and rework dataset template's autocomplete sources 2023-10-06 18:07:58 +03:00
Thomas Georgios Giannos 51fbbc933a Fixing detached entity error, entity id is auto generated by hibernate 2023-10-06 16:46:44 +03:00
Thomas Georgios Giannos c7778e80b9 Adding missing auditing configuration property 2023-10-06 15:22:38 +03:00
Thomas Georgios Giannos 39163ed6bc Updating cite validation library to 2.1.0 2023-10-06 15:10:58 +03:00
Thomas Georgios Giannos 0bb4c7ca15 Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring 2023-10-06 12:13:18 +03:00
Thomas Georgios Giannos 0b901205ee Adding auditing, naming convention change in API endpoints for description types 2023-10-06 12:13:09 +03:00
Diamantis Tziotzios 922c2110ac angular update fixes 2023-10-06 11:10:53 +03:00
Diamantis Tziotzios 5a46345f15 angular 16 update 2023-10-05 22:42:47 +03:00
Diamantis Tziotzios 96c2940eb0 angular 15 update 2023-10-05 16:58:45 +03:00
Diamantis Tziotzios 203ee4fb29 update to angular 14 2023-10-05 16:39:17 +03:00
George Kalampokis 05a724d757 Fix type definition issues 2023-10-05 15:23:48 +03:00
George Kalampokis 3d612812b0 Fix compile issue 2023-10-05 14:47:25 +03:00
Diamantis Tziotzios 66052f8af6 sync fixes 2023-10-05 14:12:39 +03:00
Bernaldo Mihasi b7f68f1a7e bug fixes
(cherry picked from commit 846405435c)
2023-10-05 14:04:26 +03:00
Bernaldo Mihasi f841c2a2cc update i18n
(cherry picked from commit dfc9e14003)
2023-10-05 14:04:20 +03:00
Bernaldo Mihasi 03f2bc862e 1) update dmp blueprint listing table view, 2) create clone functionality for dmp blueprints, 3) section description is not required in editor, 4) in the deletion of a dmp blueprint check if any dmps are accosiated with it 2023-10-05 14:04:10 +03:00
Bernaldo Mihasi 4373bf4b00 bug fixes: 1) when creating description template type check only for non deleted types, 2) dmp docx/pdf export: check if system fields exist 3) when creating/updating dmp check if value for extra fields is set, 4) when unchecking the 'Description Templates' checkbox in the blueprint editor, clear any templates selected 2023-10-05 14:02:20 +03:00
Bernaldo Mihasi 09dcf5328d add type attribute in xml import/export of a description template
(cherry picked from commit 3d10e8ad28)
2023-10-05 14:00:30 +03:00
Bernaldo Mihasi c58de51b33 bug fixes
(cherry picked from commit 53b61853e1)
2023-10-05 14:00:23 +03:00
Bernaldo Mihasi 94c0f7ac9c [wip] dmp xml upload changes, including section and extra fields information 2023-10-05 14:00:17 +03:00
Thomas Georgios Giannos 3f14528f16 Fixing UI incompatibilities 2023-10-05 11:41:11 +03:00
Thomas Georgios Giannos 074e374d9a Removing old implementation of DescriptionTemplateType entity, fixing issues with entity scanning and field resolving on new implementation 2023-10-04 12:46:06 +03:00
Thomas Georgios Giannos 7c96078570 Updating Spring to version 6, adding service stack for DescriptionType entity 2023-10-03 17:29:45 +03:00
4861 changed files with 280075 additions and 139620 deletions

5
.gitignore vendored
View File

@ -46,6 +46,9 @@ ELK.Docker/shared/data-elk/
.settings/
bin/
*.classpath
.run
openDMP/dmp-backend/uploads/
openDMP/dmp-backend/tmp/
dmp-frontend/.angular/
logs/
dmp-backend/web/src/main/resources/certificates/
/storage/

View File

@ -1,9 +1,3 @@
**Important note: The deployment, troubleshooting, maintenance and operation of on-premises / self-served OpenDMP instances for development, testing or production use, shall be the sole responsibility of the adopter. No support is guaranteed by OpenDMP implentation team for issues that may be encountered during deployment, extension or operation of such installations.**
**Documentation is provided on a best-effort basis for the code and processes around the development, deployment and operation of OpenDMP. If you find any misalignment of the actual processes with the related documentation, please let us know so that the misalignment is addressed for the benefit of future adopters.**
# Using Docker Compose with Argos
ARGOS is an open extensible service that simplifies the management, validation, monitoring and maintenance and of Data Management Plans. It allows actors (researchers, managers, supervisors etc) to create actionable DMPs that may be freely exchanged among infrastructures for carrying out specific aspects of the Data management process in accordance with the intentions and commitment of Data owners.

View File

@ -13,3 +13,4 @@ FROM adoptopenjdk/openjdk11:alpine-jre
WORKDIR /app
COPY --from=MAVEN_BUILD /build/web/target/web-1.0-SNAPSHOT.jar /app/app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Dspring.profiles.active=${PROF}", "-Dspring.config.additional-location=/files/config/", "-cp", "/app/app.jar", "-Dloader.path=/files/repo-jars", "org.springframework.boot.loader.PropertiesLauncher"]

81
dmp-backend/core/pom.xml Normal file
View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>eu.eudat</groupId>
<artifactId>dmp-backend</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>core</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>gr.cite</groupId>
<artifactId>validation</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>gr.cite</groupId>
<artifactId>oidc-authz</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>gr.cite.opendmp</groupId>
<artifactId>repositorydepositbase</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>gr.cite.opendmp</groupId>
<artifactId>file-transformer-base</artifactId>
<version>0.0.4</version>
</dependency>
<dependency>
<groupId>gr.cite</groupId>
<artifactId>elastic</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>jakarta.mail</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,148 @@
package eu.eudat.audit;
import gr.cite.tools.logging.EventId;
public class AuditableAction {
public static final EventId DescriptionTemplateType_Query = new EventId(1000, "DescriptionTemplateType_Query");
public static final EventId DescriptionTemplateType_Lookup = new EventId(1001, "DescriptionTemplateType_Lookup");
public static final EventId DescriptionTemplateType_Persist = new EventId(1002, "DescriptionTemplateType_Persist");
public static final EventId DescriptionTemplateType_Delete = new EventId(1003, "DescriptionTemplateType_Delete");
public static final EventId EntityDoi_Query = new EventId(2000, "EntityDoi_Query");
public static final EventId EntityDoi_Lookup = new EventId(2001, "EntityDoi_Lookup");
public static final EventId EntityDoi_Persist = new EventId(2002, "EntityDoi_Persist");
public static final EventId EntityDoi_Delete = new EventId(2003, "EntityDoi_Delete");
public static final EventId DmpBlueprint_Query = new EventId(3000, "DmpBlueprint_Query");
public static final EventId DmpBlueprint_Lookup = new EventId(3001, "DmpBlueprint_Lookup");
public static final EventId DmpBlueprint_Persist = new EventId(3002, "DmpBlueprint_Persist");
public static final EventId DmpBlueprint_Delete = new EventId(3003, "DmpBlueprint_Delete");
public static final EventId DmpBlueprint_Clone = new EventId(3004, "DmpBlueprint_Clone");
public static final EventId DmpBlueprint_PersistNewVersion = new EventId(3005, "DmpBlueprint_PersistNewVersion");
public static final EventId DmpBlueprint_GetXml = new EventId(3006, "DmpBlueprint_GetXml");
public static final EventId DmpBlueprint_Import = new EventId(3007, "DmpBlueprint_Import");
public static final EventId User_Settings_Query = new EventId(4000, "User_Settings_Query");
public static final EventId User_Settings_Lookup = new EventId(4001, "User_Settings_Lookup");
public static final EventId User_Settings_Persist = new EventId(4002, "User_Settings_Persist");
public static final EventId User_Settings_Delete = new EventId(4003, "User_Settings_Delete");
public static final EventId Dmp_Query = new EventId(5000, "Dmp_Query");
public static final EventId Dmp_Lookup = new EventId(5001, "Dmp_Lookup");
public static final EventId Dmp_Persist = new EventId(5002, "Dmp_Persist");
public static final EventId Dmp_Delete = new EventId(5003, "Dmp_Delete");
public static final EventId Dmp_Clone = new EventId(5004, "Dmp_Clone");
public static final EventId Dmp_PersistNewVersion = new EventId(5005, "Dmp_PersistNewVersion");
public static final EventId Dmp_Assign_Users = new EventId(5006, "Dmp_Assign_Users");
public static final EventId Dmp_RemoveUser = new EventId(5007, "Dmp_RemoveUser");
public static final EventId Dmp_Invite_Users = new EventId(5008, "Dmp_Invite_Users");
public static final EventId Dmp_Invite_Accept = new EventId(5009, "Dmp_Invite_Accept");
public static final EventId Dmp_PublicQuery = new EventId(5010, "Dmp_PublicQuery");
public static final EventId Description_Query = new EventId(6000, "Description_Query");
public static final EventId Description_Lookup = new EventId(6001, "Description_Lookup");
public static final EventId Description_Persist = new EventId(6002, "Description_Persist");
public static final EventId Description_Delete = new EventId(6003, "Description_Delete");
public static final EventId Description_PublicQuery = new EventId(6004, "Description_PublicQuery");
public static final EventId Description_PublicLookup = new EventId(6005, "Description_PublicLookup");
public static final EventId Description_PersistStatus = new EventId(6006, "Description_PersistStatus");
public static final EventId Description_UploadFieldFiles = new EventId(6007, "Description_UploadFieldFiles");
public static final EventId Description_GetFieldFile = new EventId(6008, "Description_GetFieldFile");
public static final EventId Reference_Query = new EventId(7000, "Reference_Query");
public static final EventId Reference_Lookup = new EventId(7001, "Reference_Lookup");
public static final EventId Reference_Persist = new EventId(7002, "Reference_Persist");
public static final EventId Reference_Delete = new EventId(7003, "Reference_Delete");
public static final EventId Reference_Search = new EventId(7004, "Reference_Search");
public static final EventId DescriptionTemplate_Query = new EventId(8000, "DescriptionTemplate_Query");
public static final EventId DescriptionTemplate_Lookup = new EventId(8001, "DescriptionTemplate_Lookup");
public static final EventId DescriptionTemplate_Persist = new EventId(8002, "DescriptionTemplate_Persist");
public static final EventId DescriptionTemplate_Delete = new EventId(8003, "DescriptionTemplate_Delete");
public static final EventId DescriptionTemplate_Clone = new EventId(8004, "DescriptionTemplate_Clone");
public static final EventId DescriptionTemplate_PersistNewVersion = new EventId(8005, "DescriptionTemplate_PersistNewVersion");
public static final EventId DescriptionTemplate_GetXml = new EventId(8006, "DescriptionTemplate_GetXml");
public static final EventId DescriptionTemplate_Import = new EventId(8007, "DescriptionTemplate_Import");
public static final EventId DescriptionTemplate_GetSemantics = new EventId(8007, "DescriptionTemplate_GetSemantics");
public static final EventId SupportiveMaterial_Query = new EventId(9000, "SupportiveMaterial_Query");
public static final EventId SupportiveMaterial_Lookup = new EventId(9001, "SupportiveMaterial_Lookup");
public static final EventId SupportiveMaterial_Persist = new EventId(9002, "SupportiveMaterial_Persist");
public static final EventId SupportiveMaterial_Delete = new EventId(9003, "SupportiveMaterial_Delete");
public static final EventId ReferenceType_Query = new EventId(10000, "ReferenceType_Query");
public static final EventId ReferenceType_Lookup = new EventId(10001, "ReferenceType_Lookup");
public static final EventId ReferenceType_Persist = new EventId(10002, "ReferenceType_Persist");
public static final EventId ReferenceType_Delete = new EventId(10003, "ReferenceType_Delete");
public static final EventId User_Query = new EventId(11000, "User_Query");
public static final EventId User_Lookup = new EventId(11001, "User_Lookup");
public static final EventId User_Persist = new EventId(11002, "User_Persist");
public static final EventId User_Delete = new EventId(11003, "User_Delete");
public static final EventId User_LookupByEmail = new EventId(11004, "User_LookupByEmail");
public static final EventId User_ExportCsv = new EventId(11005, "User_ExportCsv");
public static final EventId User_PersistRoles = new EventId(11006, "User_PersistRoles");
public static final EventId User_LanguageMine = new EventId(11007, "User_LanguageMine");
public static final EventId User_TimezoneMine = new EventId(11008, "User_TimezoneMine");
public static final EventId User_CultureMine = new EventId(11009, "User_CultureMine");
public static final EventId User_MergeRequest = new EventId(11010, "User_MergeRequest");
public static final EventId User_MergeConfirm = new EventId(11011, "User_MergeConfirm");
public static final EventId User_RemoveCredentialRequest = new EventId(11012, "User_RemoveCredentialRequest");
public static final EventId User_RemoveCredentialConfirm = new EventId(11013, "User_RemoveCredentialConfirm");
public static final EventId User_DmpAssociatedQuery = new EventId(11014, "User_DmpAssociatedQuery");
public static final EventId Tenant_Query = new EventId(12000, "Tenant_Query");
public static final EventId Tenant_Lookup = new EventId(12001, "Tenant_Lookup");
public static final EventId Tenant_Persist = new EventId(12002, "Tenant_Persist");
public static final EventId Tenant_Delete = new EventId(12003, "Tenant_Delete");
public static final EventId Language_Query = new EventId(13000, "Language_Query");
public static final EventId Language_Lookup = new EventId(13001, "Language_Lookup");
public static final EventId Language_Persist = new EventId(13002, "Language_Persist");
public static final EventId Language_Delete = new EventId(13003, "Language_Delete");
public static final EventId StorageFile_Download = new EventId(14000, "StorageFile_Download");
public static final EventId StorageFile_Upload = new EventId(14001, "StorageFile_Upload");
public static final EventId Dashboard_MyRecentActivityItems = new EventId(15000, "Dashboard_MyRecentActivityItems");
public static final EventId Dashboard_MyDashboardStatistics = new EventId(15001, "Dashboard_MyDashboardStatistics");
public static final EventId Dashboard_PublicDashboardStatistics = new EventId(15002, "Dashboard_PublicDashboardStatistics");
public static final EventId Notification_Persist = new EventId(16000, "Notification_Persist");
public static final EventId Lock_Query = new EventId(17000, "Lock_Query");
public static final EventId Lock_Lookup = new EventId(17001, "Lock_Lookup");
public static final EventId Lock_Persist = new EventId(17002, "Lock_Persist");
public static final EventId Lock_Delete = new EventId(17003, "Lock_Delete");
public static final EventId Lock_IsLocked = new EventId(17004, "Lock_IsLocked");
public static final EventId Lock_UnLocked = new EventId(17005, "Lock_UnLocked");
public static final EventId Deposit_GetAvailableRepositories = new EventId(18000, "Deposit_GetAvailableRepositories");
public static final EventId Deposit_GetAccessToken = new EventId(18001, "Deposit_GetAccessToken");
public static final EventId Deposit_Deposit = new EventId(18002, "Deposit_Deposit");
public static final EventId Deposit_GetLogo = new EventId(18003, "Deposit_GetLogo");
public static final EventId Tag_Query = new EventId(19000, "Tag_Query");
public static final EventId Tag_Lookup = new EventId(19001, "Tag_Lookup");
public static final EventId Tag_Persist = new EventId(19002, "Tag_Persist");
public static final EventId Tag_Delete = new EventId(19003, "Tag_Delete");
public static final EventId FileTransformer_GetAvailableConfigurations = new EventId(20000, "FileTransformer_GetAvailableConfigurations");
public static final EventId ContactSupport_Sent = new EventId(210000, "ContactSupport_Sent");
public static final EventId ContactSupport_PublicSent = new EventId(210001, "ContactSupport_PublicSent");
public static final EventId Prefilling_Query = new EventId(220000, "Prefilling_Query");
public static final EventId Prefilling_Generate = new EventId(210001, "Prefilling_Generate");
public static final EventId Prefilling_GenerateWithData = new EventId(210002, "Prefilling_GenerateWithData");
public static final EventId Maintenance_GenerateElastic = new EventId(220000, "Maintenance_GenerateElastic");
public static final EventId Maintenance_ClearElastic = new EventId(230000, "Maintenance_ClearElastic");
public static final EventId Principal_Lookup = new EventId(240000, "Principal_Lookup");
}

View File

@ -0,0 +1,8 @@
package eu.eudat.authorization;
import java.util.EnumSet;
public enum AuthorizationFlags {
None, Permission, DmpAssociated, Public, Owner;
public static final EnumSet<AuthorizationFlags> OwnerOrDmpAssociatedOrPermissionOrPublic = EnumSet.of(DmpAssociated, Permission, Public, Owner);
}

View File

@ -0,0 +1,5 @@
package eu.eudat.authorization;
public class ClaimNames {
public static final String ExternalProviderName = "ExternalProviderName";
}

View File

@ -0,0 +1,6 @@
package eu.eudat.authorization;
import gr.cite.commons.web.authz.policy.AuthorizationRequirement;
public class OwnedAuthorizationRequirement implements AuthorizationRequirement {
}

View File

@ -0,0 +1,26 @@
package eu.eudat.authorization;
import gr.cite.commons.web.authz.policy.AuthorizationResource;
import java.util.List;
import java.util.UUID;
public class OwnedResource extends AuthorizationResource {
private List<UUID> userIds;
public OwnedResource(UUID userId) {
this(List.of(userId));
}
public OwnedResource(List<UUID> userIds) {
this.userIds = userIds;
}
public List<UUID> getUserIds() {
return userIds;
}
public void setUserIds(List<UUID> userIds) {
this.userIds = userIds;
}
}

View File

@ -0,0 +1,188 @@
package eu.eudat.authorization;
public final class Permission {
/////// Should Remove after Refactor
public static String AnonymousRole = "AnonymousRole";
public static String AdminRole = "AdminRole";
public static String ManagerRole = "ManagerRole";
public static String UserRole = "UserRole";
public static String AuthenticatedRole = "AuthenticatedRole";
public static String PublicRole = "PublicRole";
public static String DatasetProfileManagerRole = "DatasetProfileManagerRole";
/////
//Public
public static String PublicBrowseDescription = "PublicBrowseDescription";
public static String PublicBrowseDescriptionTemplate = "BrowseDescriptionTemplate";
public static String PublicBrowseDmp = "PublicBrowseDmp";
public static String PublicBrowseDmpReference = "PublicBrowseDmpReference";
public static String PublicBrowseDmpUser = "PublicBrowseDmpUser";
public static String PublicBrowseReference = "PublicBrowseReference";
public static String PublicBrowseUser = "PublicBrowseUser";
public static String PublicBrowseDashboardStatistics = "PublicBrowseDashboardStatistics";
public static String PublicSendContactSupport = "PublicSendContactSupport";
public static String PublicBrowseReferenceType = "PublicBrowseReferenceType";
//Elastic
public static String ManageElastic = "ManageElastic";
//Deposit
public static String BrowseDeposit = "BrowseDeposit";
public static String EditDeposit = "BrowseDeposit";
//Language
public static String BrowseLanguage = "BrowseLanguage";
public static String EditLanguage = "EditLanguage";
public static String DeleteLanguage = "DeleteLanguage";
//Language
public static String BrowseStatistics = "BrowseStatistics";
public static String BrowsePublicStatistics = "BrowsePublicStatistics";
//DescriptionTemplate
public static String BrowseDescriptionTemplate = "BrowseDescriptionTemplate";
public static String EditDescriptionTemplate = "EditDescriptionTemplate";
public static String DeleteDescriptionTemplate = "DeleteDescriptionTemplate";
public static String CloneDescriptionTemplate = "CloneDescriptionTemplate";
public static String CreateNewVersionDescriptionTemplate = "CreateNewVersionDescriptionTemplate";
public static String ImportDescriptionTemplate = "ImportDescriptionTemplate";
public static String ExportDescriptionTemplate = "ExportDescriptionTemplate";
//User
public static String BrowseUser = "BrowseUser";
public static String EditUser = "EditUser";
public static String DeleteUser = "DeleteUser";
public static String ExportUsers = "ExportUsers";
public static String BrowseDmpAssociatedUser = "BrowseDmpAssociatedUser";
//StorageFile
public static String BrowseStorageFile = "BrowseStorageFile";
public static String EditStorageFile = "EditStorageFile";
public static String DeleteStorageFile = "DeleteStorageFile";
//DescriptionTemplateType
public static String BrowseDescriptionTemplateType = "BrowseDescriptionTemplateType";
public static String EditDescriptionTemplateType = "EditDescriptionTemplateType";
public static String DeleteDescriptionTemplateType = "DeleteDescriptionTemplateType";
//Dmp
public static String BrowseDmp = "BrowseDmp";
public static String EditDmp = "EditDmp";
public static String DeleteDmp = "DeleteDmp";
public static String CloneDmp = "CloneDmp";
public static String CreateNewVersionDmp = "CreateNewVersionDmp";
public static String ExportDmp = "ExportDmp";
public static String FinalizeDmp = "FinalizeDmp";
public static String AssignDmpUsers = "AssignDmpUsers";
public static String InviteDmpUsers = "InviteDmpUsers";
//DmpBlueprint
public static String BrowseDmpBlueprint = "BrowseDmpBlueprint";
public static String EditDmpBlueprint = "EditDmpBlueprint";
public static String DeleteDmpBlueprint = "DeleteDmpBlueprint";
public static String CloneDmpBlueprint = "CloneDmpBlueprint";
public static String CreateNewVersionDmpBlueprint = "CreateNewVersionDmpBlueprint";
public static String ExportDmpBlueprint = "ExportDmpBlueprint";
public static String ImportDmpBlueprint = "ImportDmpBlueprint";
//DmpDescriptionTemplate
public static String BrowseDmpDescriptionTemplate = "BrowseDmpDescriptionTemplate";
public static String EditDmpDescriptionTemplate = "EditDmpDescriptionTemplate";
public static String DeleteDmpDescriptionTemplate = "DeleteDmpDescriptionTemplate";
//DmpUser
public static String BrowseDmpUser = "BrowseDmpUser";
public static String EditDmpUser = "EditDmpUser";
public static String DeleteDmpUser = "DeleteDmpUser";
//Description
public static String BrowseDescription = "BrowseDescription";
public static String EditDescription = "EditDescription";
public static String DeleteDescription = "DeleteDescription";
public static String CloneDescription = "CloneDescription";
//DescriptionTag
public static String BrowseDescriptionTag = "BrowseDescriptionTag";
public static String EditDescriptionTag = "EditDescriptionTag";
public static String DeleteDescriptionTag = "DeleteDescriptionTag";
//DescriptionTemplateType
public static String BrowseEntityDoi = "BrowseEntityDoi";
public static String EditEntityDoi = "EditEntityDoi";
public static String DeleteEntityDoi = "DeleteEntityDoi";
//UserSettings
public static String BrowseUserSettings = "BrowseUserSettings";
public static String EditUserSettings = "EditUserSettings";
public static String DeleteUserSettings = "DeleteUserSettings";
// UI Pages
public static String ViewDescriptionTemplateTypePage = "ViewDescriptionTemplateTypePage";
public static String ViewDmpBlueprintPage = "ViewDmpBlueprintPage";
//Reference
public static String BrowseReference = "BrowseReference";
public static String EditReference = "EditReference";
public static String DeleteReference = "DeleteReference";
//Tag
public static String BrowseTag = "BrowseTag";
public static String EditTag = "EditTag";
public static String DeleteTag = "DeleteTag";
//DmpReference
public static String BrowseDmpReference = "BrowseDmpReference";
public static String EditDmpReference = "EditDmpReference";
public static String DeleteDmpReference = "DeleteDmpReference";
//DescriptionReference
public static String BrowseDescriptionReference = "BrowseDescriptionReference";
public static String EditDescriptionReference = "EditDescriptionReference";
public static String DeleteDescriptionReference = "DeleteDescriptionReference";
//SupportiveMaterial
public static String BrowseSupportiveMaterial = "BrowseSupportiveMaterial";
public static String EditSupportiveMaterial= "EditSupportiveMaterial";
public static String DeleteSupportiveMaterial = "DeleteSupportiveMaterial";
//ReferenceType
public static String BrowseReferenceType = "BrowseReferenceType";
public static String EditReferenceType= "EditReferenceType";
public static String DeleteReferenceType = "DeleteReferenceType";
//Tenant
public static String BrowseTenant = "BrowseTenant";
public static String EditTenant= "EditTenant";
public static String DeleteTenant = "DeleteTenant";
public static String AllowNoTenant = "AllowNoTenant";
//TenantUser
public static String BrowseTenantUser = "BrowseTenantUser";
public static String EditTenantUser = "EditTenantUser";
public static String DeleteTenantUser = "DeleteTenantUser";
//Prefilling
public static String BrowsePrefilling = "BrowsePrefilling";
//Lock
public static String BrowseLock = "BrowseLock";
public static String EditLock = "EditLock";
public static String DeleteLock = "DeleteLock";
//ContactSupport
public static String SendContactSupport = "SendContactSupport";
//ActionConfirmation
public static String BrowseActionConfirmation = "BrowseActionConfirmation";
public static String EditActionConfirmation = "EditActionConfirmation";
public static String DeleteActionConfirmation = "DeleteActionConfirmation";
}

View File

@ -0,0 +1,24 @@
package eu.eudat.cache.transformer;
import eu.eudat.configurations.deposit.DepositCacheOptions;
import eu.eudat.configurations.transformer.TransformerCacheOptions;
import eu.eudat.model.file.TransformerCacheModel;
import gr.cite.tools.cache.CacheService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class FileTransformerConfigurationCache extends CacheService<TransformerCacheModel> {
@Autowired
public FileTransformerConfigurationCache(TransformerCacheOptions options) {
super(options);
}
@Override
protected Class<TransformerCacheModel> valueClass() {
return TransformerCacheModel.class;
}
}

View File

@ -0,0 +1,56 @@
package eu.eudat.commons;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@Component
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
public class JsonHandlingService {
private final ObjectMapper objectMapper;
public JsonHandlingService() {
this.objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
}
public String toJson(Object item) throws JsonProcessingException {
if (item == null) return null;
return objectMapper.writeValueAsString(item);
}
public String toJsonSafe(Object item) {
if (item == null) return null;
try {
return objectMapper.writeValueAsString(item);
} catch (Exception ex) {
return null;
}
}
public <T> T fromJson(Class<T> type, String json) throws JsonProcessingException {
if (json == null) return null;
return objectMapper.readValue(json, type);
}
public HashMap<String, String> mapFromJson(String json) throws JsonProcessingException {
ObjectReader reader = objectMapper.readerFor(Map.class);
return reader.readValue(json);
}
public <T> T fromJsonSafe(Class<T> type, String json) {
if (json == null) return null;
try {
return objectMapper.readValue(json, type);
} catch (Exception ex) {
return null;
}
}
}

View File

@ -0,0 +1,103 @@
package eu.eudat.commons;
import com.fasterxml.jackson.core.JsonProcessingException;
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Marshaller;
import jakarta.xml.bind.Unmarshaller;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.management.InvalidApplicationException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
@Component
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
public class XmlHandlingService {
public String generateXml(Document doc) throws TransformerException {
TransformerFactory tFact = TransformerFactory.newInstance();
Transformer trans = tFact.newTransformer();
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
DOMSource source = new DOMSource(doc);
trans.setOutputProperty(OutputKeys.INDENT, "yes");
trans.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
trans.transform(source, result);
return writer.toString();
}
public String toXml(Object item) throws JAXBException {
JAXBContext context = JAXBContext.newInstance(item.getClass());
Marshaller marshaller = context.createMarshaller();
StringWriter out = new StringWriter();
marshaller.marshal(item, out);
return out.toString();
}
public String toXmlSafe(Object item) {
if (item == null) return null;
try {
return this.toXml(item);
} catch (Exception ex) {
return null;
}
}
public <T> T fromXml(Class<T> type, String xmlString) throws JAXBException, InstantiationException, IllegalAccessException, ParserConfigurationException, IOException, SAXException {
JAXBContext jaxbContext = JAXBContext.newInstance(type);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
return (T) jaxbUnmarshaller.unmarshal(new StringReader(xmlString));
}
public <T> T fromXmlSafe(Class<T> type, String xmlString) {
if (xmlString == null) return null;
try {
return this.fromXml(type, xmlString);
} catch (Exception ex) {
return null;
}
}
// public <T extends XmlSerializable<T>> T xmlSerializableFromXml(Class<T> type, String xmlString) throws JAXBException, InstantiationException, IllegalAccessException, ParserConfigurationException, IOException, SAXException {
// T object = type.newInstance();
// return (T) object.fromXml(this.getDocument(xmlString).getDocumentElement());
// }
//
// public <T extends XmlSerializable<T>> T xmlSerializableFromXmlSafe(Class<T> type, String xmlString) {
// if (xmlString == null) return null;
// try {
// return this.xmlSerializableFromXml(type, xmlString);
// } catch (Exception ex) {
// return null;
// }
// }
public Document getDocument(String xml) throws ParserConfigurationException, IOException, SAXException {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
InputSource inputStream = new InputSource(new StringReader(xml));
return docBuilder.parse(inputStream);
}
public Document getDocument() throws ParserConfigurationException {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
return docBuilder.newDocument();
}
}

View File

@ -0,0 +1,32 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum ActionConfirmationStatus implements DatabaseEnum<Short> {
Requested((short) 0),
Accepted((short) 1);
private final Short value;
ActionConfirmationStatus(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ActionConfirmationStatus> map = EnumUtils.getEnumValueMap(ActionConfirmationStatus.class);
public static ActionConfirmationStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum ActionConfirmationType implements DatabaseEnum<Short> {
MergeAccount((short) 0),
RemoveCredential((short) 1),
DmpInvitation((short) 2);
private final Short value;
ActionConfirmationType(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ActionConfirmationType> map = EnumUtils.getEnumValueMap(ActionConfirmationType.class);
public static ActionConfirmationType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum ContactInfoType implements DatabaseEnum<Short> {
Email((short) 0);
private final Short value;
ContactInfoType(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ContactInfoType> map = EnumUtils.getEnumValueMap(ContactInfoType.class);
public static ContactInfoType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DescriptionStatus implements DatabaseEnum<Short> {
Draft((short) 0),
Finalized((short) 1),
Canceled((short) 2);
private final Short value;
DescriptionStatus(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DescriptionStatus> map = EnumUtils.getEnumValueMap(DescriptionStatus.class);
public static DescriptionStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DescriptionTemplateStatus implements DatabaseEnum<Short> {
Draft((short) 0),
Finalized((short) 1);
private final Short value;
DescriptionTemplateStatus(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DescriptionTemplateStatus> map = EnumUtils.getEnumValueMap(DescriptionTemplateStatus.class);
public static DescriptionTemplateStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DescriptionTemplateTypeStatus implements DatabaseEnum<Short> {
Draft((short) 0),
Finalized((short) 1);
private final Short value;
DescriptionTemplateTypeStatus(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DescriptionTemplateTypeStatus> map = EnumUtils.getEnumValueMap(DescriptionTemplateTypeStatus.class);
public static DescriptionTemplateTypeStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,32 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DescriptionTemplateVersionStatus implements DatabaseEnum<Short> {
Current((short) 0),
Previous((short) 1),
NotFinalized((short) 2);
private final Short value;
DescriptionTemplateVersionStatus(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DescriptionTemplateVersionStatus> map = EnumUtils.getEnumValueMap(DescriptionTemplateVersionStatus.class);
public static DescriptionTemplateVersionStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpAccessType implements DatabaseEnum<Short> {
Public((short) 0), Restricted((short) 1);
private final Short value;
DmpAccessType(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpAccessType> map = EnumUtils.getEnumValueMap(DmpAccessType.class);
public static DmpAccessType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpBlueprintExtraFieldDataType implements DatabaseEnum<Short> {
Text((short) 0),
RichTex((short) 1),
Date((short) 2),
Number((short) 3),
;
private final Short value;
DmpBlueprintExtraFieldDataType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpBlueprintExtraFieldDataType> map = EnumUtils.getEnumValueMap(DmpBlueprintExtraFieldDataType.class);
public static DmpBlueprintExtraFieldDataType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,35 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpBlueprintFieldCategory implements DatabaseEnum<Short> {
System((short) 0),
Extra((short) 1),
ReferenceType((short) 1);
public static class Names {
public static final String System = "system";
public static final String Extra = "extra";
public static final String ReferenceType = "referenceType";
}
private final Short value;
DmpBlueprintFieldCategory(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpBlueprintFieldCategory> map = EnumUtils.getEnumValueMap(DmpBlueprintFieldCategory.class);
public static DmpBlueprintFieldCategory of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpBlueprintStatus implements DatabaseEnum<Short> {
Draft((short) 0),
Finalized((short) 1);
private final Short value;
DmpBlueprintStatus(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpBlueprintStatus> map = EnumUtils.getEnumValueMap(DmpBlueprintStatus.class);
public static DmpBlueprintStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpBlueprintSystemFieldType implements DatabaseEnum<Short> {
Title((short)0),
Description((short)1),
Language((short)2),
Contact((short)3),
AccessRights((short)4);
private final Short value;
DmpBlueprintSystemFieldType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpBlueprintSystemFieldType> map = EnumUtils.getEnumValueMap(DmpBlueprintSystemFieldType.class);
public static DmpBlueprintSystemFieldType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,32 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpBlueprintVersionStatus implements DatabaseEnum<Short> {
Current((short) 0),
Previous((short) 1),
NotFinalized((short) 2);
private final Short value;
DmpBlueprintVersionStatus(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpBlueprintVersionStatus> map = EnumUtils.getEnumValueMap(DmpBlueprintVersionStatus.class);
public static DmpBlueprintVersionStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpStatus implements DatabaseEnum<Short> {
Draft((short) 0), Finalized((short) 1);
private final Short value;
DmpStatus(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpStatus> map = EnumUtils.getEnumValueMap(DmpStatus.class);
public static DmpStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpUserRole implements DatabaseEnum<Short> {
Owner((short) 0), User((short) 1);
private final Short value;
DmpUserRole(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpUserRole> map = EnumUtils.getEnumValueMap(DmpUserRole.class);
public static DmpUserRole of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum DmpVersionStatus implements DatabaseEnum<Short> {
Current((short) 0), Previous ((short) 1);
private final Short value;
DmpVersionStatus(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, DmpVersionStatus> map = EnumUtils.getEnumValueMap(DmpVersionStatus.class);
public static DmpVersionStatus of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum EntityType implements DatabaseEnum<Short> {
DMP((short) 0);
private final Short value;
EntityType(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, EntityType> map = EnumUtils.getEnumValueMap(EntityType.class);
public static EntityType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,16 @@
package eu.eudat.commons.enums;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.HashMap;
import java.util.Map;
public class EnumUtils {
public static <EnumType extends Enum<EnumType> & DatabaseEnum<EnumValue>, EnumValue> Map<EnumValue, EnumType> getEnumValueMap(Class<EnumType> enumType){
HashMap<EnumValue, EnumType> map = new HashMap<>();
for (EnumType v : enumType.getEnumConstants()) {
map.put(v.getValue(), v);
}
return map;
}
}

View File

@ -0,0 +1,28 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum FieldDataExternalDatasetType implements DatabaseEnum<String> {
ReusedDataset("reused_dataset"),
ProducedDataset("produced_dataset"),
Other("other");
private final String value;
FieldDataExternalDatasetType(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
private static final Map<String, FieldDataExternalDatasetType> map = EnumUtils.getEnumValueMap(FieldDataExternalDatasetType.class);
public static FieldDataExternalDatasetType of(String i) {
return map.get(i);
}
}

View File

@ -0,0 +1,86 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum FieldType implements DatabaseEnum<String> {
SELECT(Names.Select),
BOOLEAN_DECISION(Names.BooleanDecision),
RADIO_BOX(Names.RadioBox),
INTERNAL_DMP_ENTRIES_DMPS(Names.InternalDmpDmps), //TODO: rename InternalEntitiesDmps
INTERNAL_DMP_ENTRIES_DATASETS(Names.InternalDmpDescriptions),//TODO: rename InternalEntitiesDescriptions
CHECK_BOX(Names.CheckBox),
FREE_TEXT(Names.FreeText),
TEXT_AREA(Names.TextArea),
RICH_TEXT_AREA(Names.RichTextarea),
UPLOAD(Names.Upload),
DATE_PICKER(Names.DatePicker),
TAGS(Names.Tags),
EXTERNAL_DATASETS(Names.ExternalDatasets),
REFERENCE_TYPES(Names.ReferenceTypes),
DATASET_IDENTIFIER(Names.DatasetIdentifier),
CURRENCY(Names.Currency),
VALIDATION(Names.Validation);
private final String value;
public static class Names {
public static final String Select = "select";
public static final String BooleanDecision = "booleanDecision";
public static final String RadioBox = "radiobox";
public static final String InternalDmpDmps = "internalDmpDmps";
public static final String InternalDmpDescriptions = "internalDmpDatasets";
public static final String CheckBox = "checkBox";
public static final String FreeText = "freetext";
public static final String TextArea = "textarea";
public static final String RichTextarea = "richTextarea";
public static final String Upload = "upload";
public static final String DatePicker = "datePicker";
public static final String Tags = "tags";
public static final String DatasetIdentifier = "datasetIdentifier";
public static final String Currency = "currency";
public static final String Validation = "validation";
public static final String ReferenceTypes = "referenceTypes";
public static final String ExternalDatasets = "externalDatasets";
}
FieldType(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
private static final Map<String, FieldType> map = EnumUtils.getEnumValueMap(FieldType.class);
public static FieldType of(String i) {
return map.get(i);
}
public static boolean isReferenceType(FieldType fieldType){
return fieldType.equals(FieldType.REFERENCE_TYPES);
}
public static boolean isTextType(FieldType fieldType){
return fieldType.equals(FieldType.FREE_TEXT) || fieldType.equals(FieldType.CHECK_BOX) || fieldType.equals(FieldType.TEXT_AREA) ||
fieldType.equals(FieldType.RICH_TEXT_AREA) || fieldType.equals(FieldType.UPLOAD) || fieldType.equals(FieldType.BOOLEAN_DECISION) ||
fieldType.equals(FieldType.RADIO_BOX) || fieldType.equals(FieldType.CURRENCY);
}
public static boolean isTextListType(FieldType fieldType){
return fieldType.equals(FieldType.SELECT) || fieldType.equals(FieldType.TAGS) || fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_DMPS) ||
fieldType.equals(FieldType.INTERNAL_DMP_ENTRIES_DATASETS);
}
public static boolean isDateType(FieldType fieldType){
return fieldType.equals(FieldType.DATE_PICKER);
}
public static boolean isExternalIdentifierType(FieldType fieldType){
return fieldType.equals(FieldType.VALIDATION) || fieldType.equals(FieldType.DATASET_IDENTIFIER) ;
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public enum FieldValidationType implements DatabaseEnum<Short> {
None((short) 0),
Required((short) 1),
Url((short) 2);
private final Short value;
FieldValidationType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, FieldValidationType> map = EnumUtils.getEnumValueMap(FieldValidationType.class);
public static FieldValidationType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum IsActive implements DatabaseEnum<Short> {
Inactive((short) 0),
Active((short) 1);
private final Short value;
IsActive(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, IsActive> map = EnumUtils.getEnumValueMap(IsActive.class);
public static IsActive of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,27 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum LockTargetType implements DatabaseEnum<Short> {
Dmp((short) 0),
Decription((short) 1);
private final Short value;
LockTargetType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, LockTargetType> map = EnumUtils.getEnumValueMap(LockTargetType.class);
public static LockTargetType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,36 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.HashMap;
import java.util.Map;
public enum ProviderType implements DatabaseEnum<Integer> {
Google (1),
Facebook ( 2),
Twitter ( 3),
LinkedIn (4),
NativeLogin ( 5),
B2Access ( 6),
ORCID (7),
OpenAire ( 8),
Configurable ( 9),
Zenodo (10),
Keycloack ( 128);
private final Integer value;
ProviderType(Integer value) {
this.value = value;
}
@JsonValue
public Integer getValue() { return this.value; }
private static final Map<Integer, ProviderType> map = EnumUtils.getEnumValueMap(ProviderType.class);
public static ProviderType of(Integer i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum RecentActivityItemType implements DatabaseEnum<Short> {
Dmp((short) 0),
Description((short) 1);
private final Short value;
RecentActivityItemType(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, RecentActivityItemType> map = EnumUtils.getEnumValueMap(RecentActivityItemType.class);
public static RecentActivityItemType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum RecentActivityOrder implements DatabaseEnum<Short> {
UpdatedAt((short) 0),
Label((short) 1),
Status((short) 2);
private final Short value;
RecentActivityOrder(Short value) {
this.value = value;
}
@Override
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, RecentActivityOrder> map = EnumUtils.getEnumValueMap(RecentActivityOrder.class);
public static RecentActivityOrder of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,27 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum ReferenceFieldDataType implements DatabaseEnum<Short> {
Text((short) 0),
Date((short) 1);
private final Short value;
ReferenceFieldDataType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ReferenceFieldDataType> map = EnumUtils.getEnumValueMap(ReferenceFieldDataType.class);
public static ReferenceFieldDataType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,28 @@
package eu.eudat.commons.enums;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum ReferenceSourceType implements DatabaseEnum<Short> {
Internal((short) 0),
External((short) 1);
private final Short value;
ReferenceSourceType(Short value) {
this.value = value;
}
@Override
public Short getValue() {
return value;
}
private static final Map<Short, ReferenceSourceType> map = EnumUtils.getEnumValueMap(ReferenceSourceType.class);
public static ReferenceSourceType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import jakarta.xml.bind.annotation.XmlEnumValue;
import java.util.Map;
public enum ReferenceTypeExternalApiHTTPMethodType implements DatabaseEnum<Short> {
@XmlEnumValue(value = "0")
GET((short) 0),
@XmlEnumValue(value = "1")
POST((short) 1);
private final Short value;
ReferenceTypeExternalApiHTTPMethodType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ReferenceTypeExternalApiHTTPMethodType> map = EnumUtils.getEnumValueMap(ReferenceTypeExternalApiHTTPMethodType.class);
public static ReferenceTypeExternalApiHTTPMethodType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,36 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import jakarta.xml.bind.annotation.XmlEnumValue;
import jakarta.xml.bind.annotation.XmlValue;
import java.util.Map;
public enum ReferenceTypeSourceType implements DatabaseEnum<Short> {
@XmlEnumValue(value = "0")
API((short) 0),
@XmlEnumValue(value = "1")
STATIC((short) 1);
private final Short value;
public static class Names {
public static final String API = "api";
public static final String STATIC = "static";
}
ReferenceTypeSourceType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, ReferenceTypeSourceType> map = EnumUtils.getEnumValueMap(ReferenceTypeSourceType.class);
public static ReferenceTypeSourceType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum StorageFilePermission implements DatabaseEnum<Short> {
Read((short) 0),
Write((short) 1);
private final Short value;
StorageFilePermission(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, StorageFilePermission> map = EnumUtils.getEnumValueMap(StorageFilePermission.class);
public static StorageFilePermission of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum StorageType implements DatabaseEnum<Short> {
Temp((short) 0),
Main((short) 1),
Transformer((short)2);
private final Short value;
StorageType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, StorageType> map = EnumUtils.getEnumValueMap(StorageType.class);
public static StorageType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,31 @@
package eu.eudat.commons.enums;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum SupportiveMaterialFieldType implements DatabaseEnum<Short> {
Faq((short) 0),
About((short) 1),
Glossary((short) 2),
TermsOfService((short) 3),
UserGuide((short) 4);
private final Short value;
SupportiveMaterialFieldType(Short value) {
this.value = value;
}
@Override
public Short getValue() {
return value;
}
private static final Map<Short, SupportiveMaterialFieldType> map = EnumUtils.getEnumValueMap(SupportiveMaterialFieldType.class);
public static SupportiveMaterialFieldType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum UserDescriptionTemplateRole implements DatabaseEnum<Short> {
Owner((short) 0),
Member((short) 1);
private final Short value;
UserDescriptionTemplateRole(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, UserDescriptionTemplateRole> map = EnumUtils.getEnumValueMap(UserDescriptionTemplateRole.class);
public static UserDescriptionTemplateRole of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.enums;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum UserSettingsType implements DatabaseEnum<Short> {
Settings((short) 0),
Config((short) 1);
private final Short value;
UserSettingsType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, UserSettingsType> map = EnumUtils.getEnumValueMap(UserSettingsType.class);
public static UserSettingsType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.enums.notification;
import com.fasterxml.jackson.annotation.JsonValue;
import eu.eudat.commons.enums.EnumUtils;
import eu.eudat.data.converters.enums.DatabaseEnum;
import java.util.Map;
public enum NotificationContactType implements DatabaseEnum<Short> {
EMAIL((short) 0),
SLACK_BROADCAST((short) 1),
SMS((short) 2),
IN_APP((short) 3);
private final Short value;
NotificationContactType(Short value) {
this.value = value;
}
@JsonValue
public Short getValue() {
return value;
}
private static final Map<Short, NotificationContactType> map = EnumUtils.getEnumValueMap(NotificationContactType.class);
public static NotificationContactType of(Short i) {
return map.get(i);
}
}

View File

@ -0,0 +1,13 @@
package eu.eudat.commons.exceptions;
public class HugeResultSetException extends Exception {
private static final long serialVersionUID = -6961447213733280563L;
public HugeResultSetException(String message) {
super(message);
}
}

View File

@ -0,0 +1,126 @@
package eu.eudat.commons.fake;
import org.jetbrains.annotations.NotNull;
import org.springframework.util.Assert;
import org.springframework.web.context.request.RequestAttributes;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
public class FakeRequestAttributes implements RequestAttributes {
private final Map<String, Object> requestAttributeMap = new HashMap<>();
private final Map<String, Runnable> requestDestructionCallbacks = new LinkedHashMap<>(8);
private volatile boolean requestActive = true;
@Override
public Object getAttribute(@NotNull String name, int scope) {
if (scope == RequestAttributes.SCOPE_REQUEST) {
if (!isRequestActive()) {
throw new IllegalStateException("Cannot ask for request attribute - request is not active anymore!");
}
return this.requestAttributeMap.get(name);
} else {
throw new IllegalStateException("Only " + RequestAttributes.SCOPE_REQUEST + " allowed for " + FakeRequestAttributes.class.getSimpleName());
}
}
@Override
public void setAttribute(@NotNull String name, @NotNull Object value, int scope) {
if (scope == RequestAttributes.SCOPE_REQUEST) {
if (!isRequestActive()) {
throw new IllegalStateException("Cannot set request attribute - request is not active anymore!");
}
this.requestAttributeMap.put(name, value);
} else {
throw new IllegalStateException("Only " + RequestAttributes.SCOPE_REQUEST + " allowed for " + FakeRequestAttributes.class.getSimpleName());
}
}
@Override
public void removeAttribute(@NotNull String name, int scope) {
if (scope == RequestAttributes.SCOPE_REQUEST) {
if (isRequestActive()) {
removeRequestDestructionCallback(name);
this.requestAttributeMap.remove(name);
}
} else {
throw new IllegalStateException("Only " + RequestAttributes.SCOPE_REQUEST + " allowed for " + FakeRequestAttributes.class.getSimpleName());
}
}
@Override
public String @NotNull [] getAttributeNames(int scope) {
if (scope == RequestAttributes.SCOPE_REQUEST) {
if (!isRequestActive()) {
throw new IllegalStateException("Cannot ask for request attributes - request is not active anymore!");
}
return this.requestAttributeMap.keySet().toArray(new String[0]);
} else {
throw new IllegalStateException("Only " + RequestAttributes.SCOPE_REQUEST + " allowed for " + FakeRequestAttributes.class.getSimpleName());
}
//return new String[0];
}
@Override
public void registerDestructionCallback(@NotNull String name, @NotNull Runnable callback, int scope) {
if (scope == SCOPE_REQUEST) {
registerRequestDestructionCallback(name, callback);
} else {
throw new IllegalStateException("Only " + RequestAttributes.SCOPE_REQUEST + " allowed for " + FakeRequestAttributes.class.getSimpleName());
}
}
protected final void registerRequestDestructionCallback(String name, Runnable callback) {
Assert.notNull(name, "Name must not be null");
Assert.notNull(callback, "Callback must not be null");
synchronized (this.requestDestructionCallbacks) {
this.requestDestructionCallbacks.put(name, callback);
}
}
@Override
public Object resolveReference(@NotNull String key) {
// Not supported
return null;
}
@Override
public @NotNull String getSessionId() {
return "";
}
@Override
public @NotNull Object getSessionMutex() {
return new Object();
}
public void requestCompleted() {
executeRequestDestructionCallbacks();
for (String name : getAttributeNames(RequestAttributes.SCOPE_REQUEST)) {
this.removeAttribute(name, RequestAttributes.SCOPE_REQUEST);
}
this.requestActive = false;
}
private boolean isRequestActive() {
return this.requestActive;
}
private void removeRequestDestructionCallback(String name) {
Assert.notNull(name, "Name must not be null");
synchronized (this.requestDestructionCallbacks) {
this.requestDestructionCallbacks.remove(name);
}
}
private void executeRequestDestructionCallbacks() {
synchronized (this.requestDestructionCallbacks) {
for (Runnable runnable : this.requestDestructionCallbacks.values()) {
runnable.run();
}
this.requestDestructionCallbacks.clear();
}
}
}

View File

@ -0,0 +1,44 @@
package eu.eudat.commons.fake;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import java.io.Closeable;
public class FakeRequestScope implements Closeable {
private RequestAttributes initialRequestAttributes = null;
private FakeRequestAttributes currentRequestAttributes = null;
boolean isInUse = false;
public FakeRequestScope() {
this.reset();
}
public final void reset() {
this.close();
this.isInUse = true;
this.initialRequestAttributes = RequestContextHolder.getRequestAttributes();
this.currentRequestAttributes = new FakeRequestAttributes();
RequestContextHolder.setRequestAttributes(this.currentRequestAttributes);
}
@Override
public void close() {
if (!this.isInUse)
return;
this.isInUse = false;
if (initialRequestAttributes != null)
RequestContextHolder.setRequestAttributes(initialRequestAttributes);
else
RequestContextHolder.resetRequestAttributes();
if (currentRequestAttributes != null)
currentRequestAttributes.requestCompleted();
this.initialRequestAttributes = null;
this.currentRequestAttributes = null;
}
}

View File

@ -0,0 +1,58 @@
package eu.eudat.commons.lock;
import org.springframework.stereotype.Service;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock;
@Service
public class LockByKeyManager {
private static class LockWrapper {
private final ReentrantLock lock = new ReentrantLock();
private final AtomicInteger numberOfThreadsInQueue = new AtomicInteger(1);
private LockWrapper addThreadInQueue() {
numberOfThreadsInQueue.incrementAndGet();
return this;
}
private int removeThreadFromQueue() {
return numberOfThreadsInQueue.decrementAndGet();
}
}
private static ConcurrentHashMap<String, LockWrapper> locks = new ConcurrentHashMap<String, LockWrapper>();
public void lock(String key) {
LockWrapper lockWrapper = locks.compute(key, (k, v) -> v == null ? new LockWrapper() : v.addThreadInQueue());
lockWrapper.lock.lock();
}
public boolean tryLock(String key, long timeout, TimeUnit unit) throws InterruptedException {
LockWrapper lockWrapper = null;
try {
lockWrapper = locks.compute(key, (k, v) -> v == null ? new LockWrapper() : v.addThreadInQueue());
return lockWrapper.lock.tryLock(timeout, unit);
} catch (Exception ex){
if (lockWrapper != null && lockWrapper.removeThreadFromQueue() == 0) {
// NB : We pass in the specific value to remove to handle the case where another thread would queue right before the removal
locks.remove(key, lockWrapper);
}
throw ex;
}
}
public void unlock(String key) {
LockWrapper lockWrapper = locks.get(key);
lockWrapper.lock.unlock();
if (lockWrapper.removeThreadFromQueue() == 0) {
// NB : We pass in the specific value to remove to handle the case where another thread would queue right before the removal
locks.remove(key, lockWrapper);
}
}
}

View File

@ -0,0 +1,9 @@
package eu.eudat.commons.scope.tenant;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties(MultitenancyProperties.class)
public class MultitenancyConfiguration {
}

View File

@ -0,0 +1,16 @@
package eu.eudat.commons.scope.tenant;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "tenant.multitenancy")
public class MultitenancyProperties {
private boolean isMultitenant;
public boolean isMultitenant() {
return isMultitenant;
}
public void setIsMultitenant(boolean multitenant) {
isMultitenant = multitenant;
}
}

View File

@ -0,0 +1,91 @@
package eu.eudat.commons.scope.tenant;
import eu.eudat.data.tenant.TenantScopedBaseEntity;
import gr.cite.tools.logging.LoggerService;
import jakarta.persistence.EntityManager;
import org.hibernate.Session;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.RequestScope;
import javax.management.InvalidApplicationException;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
@Component
//@RequestScope
public class TenantScope {
public static final String TenantReplaceParameter = "::TenantCode::";
public static final String TenantCodesClaimName = "TenantCodes";
public static final String TenantClaimName = "x-tenant";
private final MultitenancyProperties multitenancy;
private static final LoggerService logger = new LoggerService(LoggerFactory.getLogger(TenantScope.class));
private final AtomicReference<UUID> tenant = new AtomicReference<>();
private final AtomicReference<String> tenantCode = new AtomicReference<>();
private final AtomicReference<UUID> initialTenant = new AtomicReference<>();
private final AtomicReference<String> initialTenantCode = new AtomicReference<>();
@Autowired
public TenantScope(MultitenancyProperties multitenancy) {
this.multitenancy = multitenancy;
}
public Boolean isMultitenant() {
return multitenancy.isMultitenant();
}
public Boolean isSet() {
if (!this.isMultitenant())
return Boolean.TRUE;
return this.tenant.get() != null;
}
public UUID getTenant() throws InvalidApplicationException {
if (!this.isMultitenant())
return null;
if (this.tenant.get() == null)
throw new InvalidApplicationException("tenant not set");
return this.tenant.get();
}
public String getTenantCode() throws InvalidApplicationException {
if (!this.isMultitenant())
return null;
if (this.tenant.get() == null)
throw new InvalidApplicationException("tenant not set");
return this.tenantCode.get();
}
public void setTempTenant(EntityManager entityManager, UUID tenant) {
this.tenant.set(tenant);
if (this.tenant.get() != null) {
entityManager
.unwrap(Session.class)
.enableFilter(TenantScopedBaseEntity.tenantFilter).setParameter(TenantScopedBaseEntity.tenantFilterTenantParam, this.tenant.get().toString());
}
}
public void removeTempTenant(EntityManager entityManager) {
this.tenant.set(this.initialTenant.get());
this.tenantCode.set(this.initialTenantCode.get());
if (this.initialTenant.get() != null) {
entityManager
.unwrap(Session.class)
.enableFilter(TenantScopedBaseEntity.tenantFilter).setParameter(TenantScopedBaseEntity.tenantFilterTenantParam, this.initialTenant.get().toString());
}
}
public void setTenant(UUID tenant, String tenantCode) {
if (this.isMultitenant()) {
this.tenant.set(tenant);
this.initialTenant.set(tenant);
this.tenantCode.set(tenantCode);
this.initialTenantCode.set(tenantCode);
}
}
}

View File

@ -0,0 +1,8 @@
package eu.eudat.commons.scope.tenant;
import java.util.UUID;
public interface TenantScoped {
void setTenantId(UUID tenantId);
UUID getTenantId();
}

View File

@ -0,0 +1,35 @@
package eu.eudat.commons.scope.user;
import gr.cite.tools.logging.LoggerService;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.RequestScope;
import javax.management.InvalidApplicationException;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
@Component
@RequestScope
public class UserScope {
private static final LoggerService logger = new LoggerService(LoggerFactory.getLogger(UserScope.class));
private final AtomicReference<UUID> userId = new AtomicReference<>();
public Boolean isSet() {
return this.userId.get() != null;
}
public UUID getUserId() throws InvalidApplicationException {
if (this.userId.get() == null) throw new InvalidApplicationException("user not set");
return this.userId.get();
}
public UUID getUserIdSafe() {
return this.userId.get();
}
public void setUserId(UUID userId) {
this.userId.set(userId);
}
}

View File

@ -0,0 +1,44 @@
package eu.eudat.commons.types.actionconfirmation;
import eu.eudat.commons.enums.DmpUserRole;
import jakarta.xml.bind.annotation.*;
import java.util.UUID;
@XmlRootElement(name = "dmp-invitation")
@XmlAccessorType(XmlAccessType.FIELD)
public class DmpInvitationEntity {
@XmlAttribute(name = "email")
private String email;
@XmlAttribute(name = "dmp")
private UUID dmpId;
@XmlAttribute(name = "dmp-role")
private DmpUserRole role;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public UUID getDmpId() {
return dmpId;
}
public void setDmpId(UUID dmpId) {
this.dmpId = dmpId;
}
public DmpUserRole getRole() {
return role;
}
public void setRole(DmpUserRole role) {
this.role = role;
}
}

View File

@ -0,0 +1,22 @@
package eu.eudat.commons.types.actionconfirmation;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "merge-account-confirmation")
@XmlAccessorType(XmlAccessType.FIELD)
public class MergeAccountConfirmationEntity {
@XmlAttribute(name = "email")
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

View File

@ -0,0 +1,24 @@
package eu.eudat.commons.types.actionconfirmation;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlRootElement;
import java.util.UUID;
@XmlRootElement(name = "remove-credential-confirmation")
@XmlAccessorType(XmlAccessType.FIELD)
public class RemoveCredentialRequestEntity {
@XmlAttribute(name = "credential-id")
private UUID credentialId;
public UUID getCredentialId() {
return credentialId;
}
public void setCredentialId(UUID credentialId) {
this.credentialId = credentialId;
}
}

View File

@ -0,0 +1,62 @@
package eu.eudat.commons.types.dashborad;
import eu.eudat.commons.enums.RecentActivityItemType;
import java.time.Instant;
import java.util.UUID;
public class RecentActivityItemEntity {
private RecentActivityItemType type;
private UUID id;
private Instant updatedAt;
private String label;
private Short statusValue;
public RecentActivityItemEntity(RecentActivityItemType type, UUID id, Instant updatedAt, String label, Short statusValue) {
this.type = type;
this.id = id;
this.updatedAt = updatedAt;
this.label = label;
this.statusValue = statusValue;
}
public RecentActivityItemType getType() {
return type;
}
public void setType(RecentActivityItemType type) {
this.type = type;
}
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public Instant getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Instant updatedAt) {
this.updatedAt = updatedAt;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public Short getStatusValue() {
return statusValue;
}
public void setStatusValue(Short statusValue) {
this.statusValue = statusValue;
}
}

View File

@ -0,0 +1,25 @@
package eu.eudat.commons.types.description;
public class ExternalIdentifierEntity {
private String identifier;
private String type;
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

View File

@ -0,0 +1,44 @@
package eu.eudat.commons.types.description;
import java.time.Instant;
import java.util.List;
public class FieldEntity {
private String textValue;
private List<String> textListValue;
private Instant dateValue;
private ExternalIdentifierEntity externalIdentifier;
public String getTextValue() {
return textValue;
}
public void setTextValue(String textValue) {
this.textValue = textValue;
}
public List<String> getTextListValue() {
return textListValue;
}
public void setTextListValue(List<String> textListValue) {
this.textListValue = textListValue;
}
public Instant getDateValue() {
return dateValue;
}
public void setDateValue(Instant dateValue) {
this.dateValue = dateValue;
}
public ExternalIdentifierEntity getExternalIdentifier() {
return externalIdentifier;
}
public void setExternalIdentifier(ExternalIdentifierEntity externalIdentifier) {
this.externalIdentifier = externalIdentifier;
}
}

View File

@ -0,0 +1,18 @@
package eu.eudat.commons.types.description;
import java.util.Map;
public class PropertyDefinitionEntity {
private Map<String, PropertyDefinitionFieldSetEntity> fieldSets;
public Map<String, PropertyDefinitionFieldSetEntity> getFieldSets() {
return fieldSets;
}
public void setFieldSets(Map<String, PropertyDefinitionFieldSetEntity> fieldSets) {
this.fieldSets = fieldSets;
}
}

View File

@ -0,0 +1,15 @@
package eu.eudat.commons.types.description;
import java.util.List;
public class PropertyDefinitionFieldSetEntity {
private List<PropertyDefinitionFieldSetItemEntity> items;
public List<PropertyDefinitionFieldSetItemEntity> getItems() {
return items;
}
public void setItems(List<PropertyDefinitionFieldSetItemEntity> items) {
this.items = items;
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.types.description;
import java.util.Map;
public class PropertyDefinitionFieldSetItemEntity {
private Map<String, FieldEntity> fields;
private String comment;
private int ordinal;
public Map<String, FieldEntity> getFields() {
return fields;
}
public void setFields(Map<String, FieldEntity> fields) {
this.fields = fields;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
}

View File

@ -0,0 +1,15 @@
package eu.eudat.commons.types.descriptionreference;
import java.util.UUID;
public class DescriptionReferenceDataEntity {
private String fieldId;
public String getFieldId() {
return fieldId;
}
public void setFieldId(String fieldId) {
this.fieldId = fieldId;
}
}

View File

@ -0,0 +1,51 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@XmlRootElement(name = "root")
@XmlAccessorType(XmlAccessType.FIELD)
public class DefinitionEntity {
@XmlElementWrapper(name = "pages")
@XmlElement(name = "page")
private List<PageEntity> pages;
public List<PageEntity> getPages() {
return pages;
}
public void setPages(List<PageEntity> pageEntities) {
this.pages = pageEntities;
}
public List<FieldEntity> getAllField(){
List<FieldEntity> fieldEntities = new ArrayList<>();
if (this.getPages() != null){
for (PageEntity sectionEntity: this.getPages()) {
fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
}
public List<FieldSetEntity> getAllFieldSets(){
List<FieldSetEntity> fieldSetsEntities = new ArrayList<>();
if (this.getPages() != null){
for (PageEntity sectionEntity: this.getPages()) {
fieldSetsEntities.addAll(sectionEntity.getAllFieldSets());
}
}
return fieldSetsEntities;
}
public List<FieldSetEntity> getFieldSetById(String id) {
return this.getAllFieldSets().stream().filter(x-> id.equals(x.getId())).toList();
}
public List<FieldEntity> getFieldById(String id) {
return this.getAllField().stream().filter(x-> id.equals(x.getId())).toList();
}
}

View File

@ -0,0 +1,107 @@
package eu.eudat.commons.types.descriptiontemplate;
import eu.eudat.commons.enums.FieldValidationType;
import eu.eudat.commons.types.descriptiontemplate.fielddata.*;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class FieldEntity {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="ordinal")
private int ordinal;
@XmlElementWrapper(name = "schematics")
@XmlElement(name = "schematic")
private List<String> schematics;
@XmlAttribute(name="numbering")
private String numbering;
@XmlAttribute(name="defaultValue")
private String defaultValue;
@XmlElementWrapper(name = "visibilityRules")
@XmlElement(name = "rule")
private List<RuleEntity> visibilityRules;
@XmlElements({
@XmlElement(name = LabelDataEntity.XmlElementName, type = LabelDataEntity.class),
@XmlElement(name = LabelAndMultiplicityDataEntity.XmlElementName, type = LabelAndMultiplicityDataEntity.class),
@XmlElement(name = ExternalDatasetDataEntity.XmlElementName, type = ExternalDatasetDataEntity.class),
@XmlElement(name = UploadDataEntity.XmlElementName, type = UploadDataEntity.class),
@XmlElement(name = RadioBoxDataEntity.XmlElementName, type = RadioBoxDataEntity.class),
@XmlElement(name = SelectDataEntity.XmlElementName, type = SelectDataEntity.class),
@XmlElement(name = ReferenceTypeDataEntity.XmlElementName, type = ReferenceTypeDataEntity.class)
})
private BaseFieldDataEntity data;
@XmlElementWrapper(name = "validations")
@XmlElement(name = "validation")
private List<FieldValidationType> validations;
@XmlAttribute(name="includeInExport")
private Boolean includeInExport;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public List<String> getSchematics() {
return schematics;
}
public void setSchematics(List<String> schematics) {
this.schematics = schematics;
}
public BaseFieldDataEntity getData() {
return data;
}
public void setData(BaseFieldDataEntity data) {
this.data = data;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public List<FieldValidationType> getValidations() {
return validations;
}
public void setValidations(List<FieldValidationType> validations) {
this.validations = validations;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public Boolean getIncludeInExport() {
return includeInExport;
}
public void setIncludeInExport(Boolean includeInExport) {
this.includeInExport = includeInExport;
}
public List<RuleEntity> getVisibilityRules() {
return visibilityRules;
}
public void setVisibilityRules(List<RuleEntity> visibilityRules) {
this.visibilityRules = visibilityRules;
}
}

View File

@ -0,0 +1,111 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class FieldSetEntity {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="ordinal")
private int ordinal;
@XmlElementWrapper(name = "fields")
@XmlElement(name = "field")
private List<FieldEntity> fields;
@XmlAttribute(name="numbering")
private String numbering;
@XmlAttribute(name="title")
private String title;
@XmlAttribute(name="description")
private String description;
@XmlAttribute(name="extendedDescription")
private String extendedDescription;
@XmlAttribute(name="additionalInformation")
private String additionalInformation;
@XmlElement(name="multiplicity")
private MultiplicityEntity multiplicity;
@XmlAttribute(name="hasCommentField")
private boolean hasCommentField;
public List<FieldEntity> getFields() {
return fields;
}
public void setFields(List<FieldEntity> fieldEntities) {
this.fields = fieldEntities;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getExtendedDescription() {
return extendedDescription;
}
public void setExtendedDescription(String extendedDescription) {
this.extendedDescription = extendedDescription;
}
public MultiplicityEntity getMultiplicity() {
return multiplicity;
}
public void setMultiplicity(MultiplicityEntity multiplicity) {
this.multiplicity = multiplicity;
}
public boolean getHasCommentField() {
return hasCommentField;
}
public void setHasCommentField(boolean hasCommentField) {
this.hasCommentField = hasCommentField;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
public List<FieldEntity> getAllField() {
return this.getFields() == null ? new ArrayList<>() : this.getFields();
}
public List<FieldEntity> getFieldById(String id) {
return this.getAllField().stream().filter(x-> id.equals(x.getId())).toList();
}
}

View File

@ -0,0 +1,50 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class MultiplicityEntity {
@XmlAttribute(name="min")
private int min;
@XmlAttribute(name="max")
private int max;
@XmlAttribute(name="placeholder")
private String placeholder;
@XmlAttribute(name="tableView")
private boolean tableView;
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
public int getMax() {
return max;
}
public void setMax(int max) {
this.max = max;
}
public String getPlaceholder() {
return placeholder;
}
public void setPlaceholder(String placeholder) {
this.placeholder = placeholder;
}
public boolean getTableView() {
return tableView;
}
public void setTableView(boolean tableView) {
this.tableView = tableView;
}
}

View File

@ -0,0 +1,74 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class PageEntity {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="ordinal")
private int ordinal;
@XmlAttribute(name="title")
private String title;
@XmlElementWrapper(name = "sections")
@XmlElement(name = "section")
private List<SectionEntity> sections;
public List<SectionEntity> getSections() {
return sections;
}
public void setSections(List<SectionEntity> sections) {
this.sections = sections;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<FieldEntity> getAllField(){
List<FieldEntity> fieldEntities = new ArrayList<>();
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
}
public List<FieldSetEntity> getAllFieldSets(){
List<FieldSetEntity> fieldSetsEntities = new ArrayList<>();
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
fieldSetsEntities.addAll(sectionEntity.getAllFieldSets());
}
}
return fieldSetsEntities;
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class RuleEntity {
@XmlAttribute(name="target")
private String target;
@XmlAttribute(name="value")
private String value;
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

View File

@ -0,0 +1,141 @@
package eu.eudat.commons.types.descriptiontemplate;
import jakarta.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class SectionEntity{
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="ordinal")
private int ordinal;
@XmlAttribute(name="defaultVisibility")
private boolean defaultVisibility;
@XmlAttribute(name="numbering")
private String numbering;
@XmlAttribute(name="title")
private String title;
@XmlAttribute(name="description")
private String description;
@XmlAttribute(name="extendedDescription")
private String extendedDescription;
@XmlElementWrapper(name = "sections")
@XmlElement(name = "section")
private List<SectionEntity> sections;
@XmlElementWrapper(name = "fieldSets")
@XmlElement(name = "fieldSet")
private List<FieldSetEntity> fieldSets;
@XmlAttribute(name="multiplicity")
private Boolean multiplicity;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public boolean isDefaultVisibility() {
return defaultVisibility;
}
public void setDefaultVisibility(boolean defaultVisibility) {
this.defaultVisibility = defaultVisibility;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<SectionEntity> getSections() {
return sections;
}
public void setSections(List<SectionEntity> sections) {
this.sections = sections;
}
public List<FieldSetEntity> getFieldSets() {
return fieldSets;
}
public void setFieldSets(List<FieldSetEntity> fieldSetEntities) {
this.fieldSets = fieldSetEntities;
}
public String getExtendedDescription() {
return extendedDescription;
}
public void setExtendedDescription(String extendedDescription) {
this.extendedDescription = extendedDescription;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public Boolean getMultiplicity() {
return multiplicity;
}
public void setMultiplicity(Boolean multiplicity) {
this.multiplicity = multiplicity;
}
public List<FieldEntity> getAllField(){
List<FieldEntity> fieldEntities = new ArrayList<>();
if (this.getFieldSets() != null){
for (FieldSetEntity fieldSetEntity: this.getFieldSets()) {
fieldEntities.addAll(fieldSetEntity.getAllField());
}
}
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
}
public List<FieldSetEntity> getAllFieldSets(){
List<FieldSetEntity> fieldSetEntities = new ArrayList<>();
if (this.getFieldSets() != null){
fieldSetEntities.addAll(this.getFieldSets());
}
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
fieldSetEntities.addAll(sectionEntity.getAllFieldSets());
}
}
return fieldSetEntities;
}
}

View File

@ -0,0 +1,32 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import eu.eudat.commons.enums.FieldType;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class BaseFieldDataEntity {
@XmlAttribute(name = "label")
private String label;
@XmlAttribute(name = "fieldType")
private FieldType fieldType;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public FieldType getFieldType() {
return fieldType;
}
public void setFieldType(FieldType fieldType) {
this.fieldType = fieldType;
}
}

View File

@ -0,0 +1,27 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import eu.eudat.commons.enums.FieldDataExternalDatasetType;
import eu.eudat.commons.enums.FieldType;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.util.HashMap;
import java.util.Map;
@XmlAccessorType(XmlAccessType.FIELD)
public class ExternalDatasetDataEntity extends LabelAndMultiplicityDataEntity {
public static final String XmlElementName = "externalDatasetsData";
@XmlAttribute(name="type")
private FieldDataExternalDatasetType type;
public FieldDataExternalDatasetType getType() {
return type;
}
public void setType(FieldDataExternalDatasetType type) {
this.type = type;
}
}

View File

@ -0,0 +1,21 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class LabelAndMultiplicityDataEntity extends BaseFieldDataEntity {
public static final String XmlElementName = "labelAndMultiplicityData";
@XmlAttribute(name = "multipleSelect")
private Boolean multipleSelect;
public Boolean getMultipleSelect() {
return multipleSelect;
}
public void setMultipleSelect(Boolean multipleSelect) {
this.multipleSelect = multipleSelect;
}
}

View File

@ -0,0 +1,10 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
@XmlAccessorType(XmlAccessType.FIELD)
public class LabelDataEntity extends BaseFieldDataEntity {
public static final String XmlElementName = "labelData";
}

View File

@ -0,0 +1,45 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class RadioBoxDataEntity extends BaseFieldDataEntity {
public static final String XmlElementName = "radioBoxData";
@XmlAccessorType(XmlAccessType.FIELD)
public static class RadioBoxDataOptionEntity {
@XmlAttribute(name="label")
private String label;
@XmlAttribute(name="value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@XmlElementWrapper(name = "options")
@XmlElement(name = "option")
private List<RadioBoxDataOptionEntity> options;
public List<RadioBoxDataOptionEntity> getOptions() {
return options;
}
public void setOptions(List<RadioBoxDataOptionEntity> options) {
this.options = options;
}
}

View File

@ -0,0 +1,33 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import java.util.UUID;
@XmlAccessorType(XmlAccessType.FIELD)
public class ReferenceTypeDataEntity extends BaseFieldDataEntity {
public static final String XmlElementName = "referenceTypeData";
@XmlAttribute(name = "multipleSelect")
private Boolean multipleSelect;
@XmlAttribute(name = "referenceTypeId")
private UUID referenceTypeId;
public Boolean getMultipleSelect() {
return multipleSelect;
}
public void setMultipleSelect(Boolean multipleSelect) {
this.multipleSelect = multipleSelect;
}
public UUID getReferenceTypeId() {
return referenceTypeId;
}
public void setReferenceTypeId(UUID referenceTypeId) {
this.referenceTypeId = referenceTypeId;
}
}

View File

@ -0,0 +1,44 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class SelectDataEntity extends LabelAndMultiplicityDataEntity {
public static final String XmlElementName = "selectData";
@XmlElementWrapper(name = "options")
@XmlElement(name = "options")
private List<OptionEntity> options;
public List<OptionEntity> getOptions() {
return options;
}
public void setOptions(List<OptionEntity> optionEntities) {
this.options = optionEntities;
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class OptionEntity {
@XmlAttribute(name="label")
private String label;
@XmlAttribute(name="value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}

View File

@ -0,0 +1,59 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class UploadDataEntity extends BaseFieldDataEntity {
public static final String XmlElementName = "uploadData";
@XmlAccessorType(XmlAccessType.FIELD)
public static class UploadDataOptionEntity {
@XmlAttribute(name="label")
private String label;
@XmlAttribute(name="value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
@XmlElementWrapper(name = "types")
@XmlElement(name = "type")
private List<UploadDataOptionEntity> types;
@XmlAttribute(name="maxFileSizeInMB")
private Integer maxFileSizeInMB;
public List<UploadDataOptionEntity> getTypes() {
return types;
}
public void setTypes(List<UploadDataOptionEntity> types) {
this.types = types;
}
public Integer getMaxFileSizeInMB() {
return maxFileSizeInMB;
}
public void setMaxFileSizeInMB(Integer maxFileSizeInMB) {
this.maxFileSizeInMB = maxFileSizeInMB;
}
}

View File

@ -0,0 +1,66 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import eu.eudat.commons.enums.DescriptionTemplateStatus;
import eu.eudat.model.persist.DescriptionTemplatePersist;
import eu.eudat.model.persist.NewVersionDescriptionTemplatePersist;
import eu.eudat.model.persist.descriptiontemplatedefinition.DefinitionPersist;
import eu.eudat.model.persist.descriptiontemplatedefinition.PagePersist;
import eu.eudat.model.persist.descriptiontemplatedefinition.SectionPersist;
import eu.eudat.service.fielddatahelper.FieldDataHelperServiceProvider;
import jakarta.xml.bind.annotation.*;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@XmlRootElement(name = "root")
@XmlAccessorType(XmlAccessType.FIELD)
public class DescriptionTemplateImportExport {
@XmlAttribute(name = "description")
private String description;
@XmlAttribute(name = "language")
private String language;
@XmlAttribute(name = "type")
private UUID type;
@XmlElementWrapper(name = "pages")
@XmlElement(name = "page")
private List<PageImportExport> pages;
public List<PageImportExport> getPages() {
return pages;
}
public void setPages(List<PageImportExport> pages) {
this.pages = pages;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public UUID getType() {
return type;
}
public void setType(UUID type) {
this.type = type;
}
}

View File

@ -0,0 +1,123 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import eu.eudat.commons.enums.FieldType;
import eu.eudat.commons.enums.FieldValidationType;
import eu.eudat.commons.types.descriptiontemplate.importexport.fielddata.*;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class FieldImportExport {
@XmlAttribute(name = "id")
private String id;
@XmlAttribute(name = "ordinal")
private int ordinal;
@XmlElement(name = "numbering")
private String numbering;
@XmlElementWrapper(name = "validations")
@XmlElement(name = "validation")
private List<FieldValidationType> validations;
@XmlElement(name = "defaultValue")
private String defaultValue;
@XmlElementWrapper(name = "visibilityRules")
@XmlElement(name = "visibilityRule")
private List<RuleImportExport> visibilityRules;
@XmlElement(name = "fieldType")
private FieldType fieldType;
@XmlElements({
@XmlElement(name = LabelDataImportExport.XmlElementName, type = LabelDataImportExport.class),
@XmlElement(name = LabelAndMultiplicityDataImportExport.XmlElementName, type = LabelAndMultiplicityDataImportExport.class),
@XmlElement(name = ExternalDatasetDataImportExport.XmlElementName, type = ExternalDatasetDataImportExport.class),
@XmlElement(name = UploadDataImportExport.XmlElementName, type = UploadDataImportExport.class),
@XmlElement(name = RadioBoxDataImportExport.XmlElementName, type = RadioBoxDataImportExport.class),
@XmlElement(name = SelectDataImportExport.XmlElementName, type = SelectDataImportExport.class),
@XmlElement(name = ReferenceTypeDataImportExport.XmlElementName, type = ReferenceTypeDataImportExport.class),
})
private BaseFieldDataImportExport data;
@XmlElementWrapper(name = "schematics")
@XmlElement(name = "schematic")
private List<String> schematics;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public FieldType getFieldType() {
return fieldType;
}
public void setFieldType(FieldType fieldType) {
this.fieldType = fieldType;
}
public BaseFieldDataImportExport getData() {
return this.data;
}
public void setData(BaseFieldDataImportExport data) {
this.data = data;
}
public List<FieldValidationType> getValidations() {
return validations;
}
public void setValidations(List<FieldValidationType> validations) {
this.validations = validations;
}
public List<String> getSchematics() {
return schematics;
}
public void setSchematics(List<String> schematics) {
this.schematics = schematics;
}
public List<RuleImportExport> getVisibilityRules() {
return visibilityRules;
}
public void setVisibilityRules(List<RuleImportExport> visibilityRules) {
this.visibilityRules = visibilityRules;
}
}

View File

@ -0,0 +1,112 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class FieldSetImportExport {
@XmlAttribute(name="id")
private String id;
@XmlAttribute(name="ordinal")
private int ordinal;
@XmlElementWrapper(name = "fields")
@XmlElement(name = "field")
private List<FieldImportExport> fields;
@XmlAttribute(name="numbering")
private String numbering;
@XmlAttribute(name="title")
private String title;
@XmlAttribute(name="description")
private String description;
@XmlAttribute(name="extendedDescription")
private String extendedDescription;
@XmlAttribute(name="additionalInformation")
private String additionalInformation;
@XmlElement(name="multiplicity")
private MultiplicityImportExport multiplicity;
@XmlAttribute(name="hasCommentField")
private Boolean hasCommentField;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public List<FieldImportExport> getFields() {
return fields;
}
public void setFields(List<FieldImportExport> fields) {
this.fields = fields;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public Boolean getHasCommentField() {
return hasCommentField;
}
public void setHasCommentField(Boolean hasCommentField) {
this.hasCommentField = hasCommentField;
}
public MultiplicityImportExport getMultiplicity() {
return multiplicity;
}
public void setMultiplicity(MultiplicityImportExport multiplicity) {
this.multiplicity = multiplicity;
}
public String getTitle() {
return title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getExtendedDescription() {
return extendedDescription;
}
public void setExtendedDescription(String extendedDescription) {
this.extendedDescription = extendedDescription;
}
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
public void setTitle(String title) {
this.title = title;
}
}

View File

@ -0,0 +1,51 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class MultiplicityImportExport {
@XmlAttribute(name="min")
private int min;
@XmlAttribute(name="max")
private int max;
@XmlAttribute(name="placeholder")
private String placeholder;
@XmlAttribute(name="tableView")
private boolean tableView;
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
public int getMax() {
return max;
}
public void setMax(int max) {
this.max = max;
}
public String getPlaceholder() {
return placeholder;
}
public void setPlaceholder(String placeholder) {
this.placeholder = placeholder;
}
public boolean getTableView() {
return tableView;
}
public void setTableView(boolean tableView) {
this.tableView = tableView;
}
}

View File

@ -0,0 +1,55 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import eu.eudat.model.persist.descriptiontemplatedefinition.PagePersist;
import eu.eudat.model.persist.descriptiontemplatedefinition.SectionPersist;
import eu.eudat.service.fielddatahelper.FieldDataHelperServiceProvider;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class PageImportExport {
@XmlAttribute(name = "id")
private String id;
@XmlAttribute(name = "ordinal")
private int ordinal;
@XmlAttribute(name = "title")
private String title;
@XmlElementWrapper(name = "sections")
@XmlElement(name = "section")
private List<SectionImportExport> sections;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<SectionImportExport> getSections() {
return sections;
}
public void setSections(List<SectionImportExport> sections) {
this.sections = sections;
}
}

View File

@ -0,0 +1,29 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import eu.eudat.model.persist.descriptiontemplatedefinition.RulePersist;
import jakarta.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class RuleImportExport {
@XmlAttribute(name="target")
private String target;
@XmlAttribute(name="value")
private String value;
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

View File

@ -0,0 +1,102 @@
package eu.eudat.commons.types.descriptiontemplate.importexport;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class SectionImportExport {
@XmlAttribute(name = "id")
private String id;
@XmlAttribute(name = "ordinal")
private int ordinal;
@XmlAttribute(name = "defaultVisibility")
private Boolean defaultVisibility;
@XmlElementWrapper(name = "fieldSets")
@XmlElement(name = "fieldSet")
private List<FieldSetImportExport> fieldSets;
@XmlElement(name = "numbering")
private String numbering;
@XmlElement(name = "description")
private String description;
@XmlElement(name = "title")
private String title;
@XmlElementWrapper(name = "sections")
@XmlElement(name = "section")
private List<SectionImportExport> sections;
@XmlAttribute(name = "multiplicity")
private Boolean multiplicity;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public Boolean getDefaultVisibility() {
return defaultVisibility;
}
public void setDefaultVisibility(Boolean defaultVisibility) {
this.defaultVisibility = defaultVisibility;
}
public List<FieldSetImportExport> getFieldSets() {
return fieldSets;
}
public void setFieldSets(List<FieldSetImportExport> fieldSets) {
this.fieldSets = fieldSets;
}
public String getNumbering() {
return numbering;
}
public void setNumbering(String numbering) {
this.numbering = numbering;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<SectionImportExport> getSections() {
return sections;
}
public void setSections(List<SectionImportExport> sections) {
this.sections = sections;
}
public Boolean getMultiplicity() {
return multiplicity;
}
public void setMultiplicity(Boolean multiplicity) {
this.multiplicity = multiplicity;
}
}

View File

@ -0,0 +1,30 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import eu.eudat.commons.enums.FieldType;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class BaseFieldDataImportExport {
@XmlAttribute(name = "label")
private String label;
@XmlAttribute(name = "fieldType")
private FieldType fieldType;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public FieldType getFieldType() {
return fieldType;
}
public void setFieldType(FieldType fieldType) {
this.fieldType = fieldType;
}
}

View File

@ -0,0 +1,21 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import eu.eudat.commons.enums.FieldDataExternalDatasetType;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class ExternalDatasetDataImportExport extends LabelAndMultiplicityDataImportExport {
public static final String XmlElementName = "externalDatasetsData";
@XmlAttribute(name = "type")
private FieldDataExternalDatasetType type;
public FieldDataExternalDatasetType getType() {
return type;
}
public void setType(FieldDataExternalDatasetType type) {
this.type = type;
}
}

View File

@ -0,0 +1,23 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
@XmlAccessorType(XmlAccessType.FIELD)
public class LabelAndMultiplicityDataImportExport extends BaseFieldDataImportExport {
public static final String XmlElementName = "labelAndMultiplicityData";
@XmlAttribute(name = "multipleSelect")
private Boolean multipleSelect;
public Boolean getMultipleSelect() {
return multipleSelect;
}
public void setMultipleSelect(Boolean multipleSelect) {
this.multipleSelect = multipleSelect;
}
}

View File

@ -0,0 +1,10 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
@XmlAccessorType(XmlAccessType.FIELD)
public class LabelDataImportExport extends BaseFieldDataImportExport {
public static final String XmlElementName = "labelData";
}

View File

@ -0,0 +1,47 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class RadioBoxDataImportExport extends BaseFieldDataImportExport {
public static final String XmlElementName = "radioBoxData";
@XmlElementWrapper(name = "options")
@XmlElement(name = "option")
private List<RadioBoxOption> options;
public List<RadioBoxOption> getOptions() {
return options;
}
public void setOptions(List<RadioBoxOption> options) {
this.options = options;
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class RadioBoxOption {
@XmlAttribute(name = "label")
private String label;
@XmlAttribute(name = "value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}

View File

@ -0,0 +1,34 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import java.util.UUID;
@XmlAccessorType(XmlAccessType.FIELD)
public class ReferenceTypeDataImportExport extends BaseFieldDataImportExport {
public static final String XmlElementName = "labelAndMultiplicityData";
@XmlAttribute(name = "multipleSelect")
private Boolean multipleSelect;
@XmlAttribute(name = "referenceTypeId")
private UUID referenceTypeId;
public Boolean getMultipleSelect() {
return multipleSelect;
}
public void setMultipleSelect(Boolean multipleSelect) {
this.multipleSelect = multipleSelect;
}
public UUID getReferenceTypeId() {
return referenceTypeId;
}
public void setReferenceTypeId(UUID referenceTypeId) {
this.referenceTypeId = referenceTypeId;
}
}

View File

@ -0,0 +1,45 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class SelectDataImportExport extends LabelAndMultiplicityDataImportExport {
public static final String XmlElementName = "selectData";
@XmlElementWrapper(name = "options")
@XmlElement(name = "options")
private List<OptionImportExport> options;
public List<OptionImportExport> getOptions() {
return options;
}
public void setOptions(List<OptionImportExport> options) {
this.options = options;
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class OptionImportExport {
@XmlAttribute(name = "label")
private String label;
@XmlAttribute(name = "value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}

View File

@ -0,0 +1,58 @@
package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata;
import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
public class UploadDataImportExport extends BaseFieldDataImportExport {
public static final String XmlElementName = "uploadData";
@XmlElementWrapper(name = "types")
@XmlElement(name = "type")
private List<UploadDataOption> types;
@XmlAttribute(name = "maxFileSizeInMB")
private Integer maxFileSizeInMB;
public List<UploadDataOption> getTypes() {
return types;
}
public void setTypes(List<UploadDataOption> types) {
this.types = types;
}
public Integer getMaxFileSizeInMB() {
return maxFileSizeInMB;
}
public void setMaxFileSizeInMB(Integer maxFileSizeInMB) {
this.maxFileSizeInMB = maxFileSizeInMB;
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class UploadDataOption {
@XmlAttribute(name = "label")
private String label;
@XmlAttribute(name = "value")
private String value;
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}

View File

@ -0,0 +1,27 @@
package eu.eudat.commons.types.dmp;
import java.util.UUID;
public class DmpBlueprintValueEntity {
private UUID fieldId;
private String value;
public UUID getFieldId() {
return fieldId;
}
public void setFieldId(UUID fieldId) {
this.fieldId = fieldId;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

View File

@ -0,0 +1,47 @@
package eu.eudat.commons.types.dmp;
import java.util.UUID;
public class DmpContactEntity {
private UUID userId;
private String firstName;
private String lastName;
private String email;
public UUID getUserId() {
return userId;
}
public void setUserId(UUID userId) {
this.userId = userId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

Some files were not shown because too many files have changed in this diff Show More