From 0b097630373e5fd9b76d45f9710d925fcf5b9811 Mon Sep 17 00:00:00 2001 From: Hans Sowa Date: Wed, 20 Sep 2023 15:13:09 +0200 Subject: [PATCH 1/6] Migrate to java 17, widfly 28 (jakarta), primeface 12, jsf 4 Wildfly 28/Jakarta 9 - Fix inject problem with @ManagedProperty - Fix searching for scientific name on livingplan manage page - Fix filter problem do to api changes - Migrate persistence.xml to version 3.0 - Refactor Date to LocalDate - Fix missing named queries (@MappedSuperclass is not possible without inherited by an entity) - Remove the resteasy configuration from manifest so the correct verison is used - Use newest resteasy-client and jakarta security enterprise api - Fix hibernate.dialect - Remove jaspitest configuration instead use default Elytron jaspi configuration - Fix DefaultStreamdContent and some load methods - Fixed LazyxxxModels load, getRowKey method - Fix uploadfile for faces - Set javvax.security.enterprise to provided - Use jakarta instead of javax - Fix returning not all findable livings - Fix tab Deriatives - Add design to tab green color - Fix issue with Standort get id for criterias Primefaces 12/Java Server Faces 4 - Use new default theme saga instead of omega - Use slide menu instead of omega based menu - Fix primefaces converter for LocalDate - Solve the problem with Resources jakarta.faces.resource Maven/Java 17 - Add maven wrapper - Use new versions of plugins maven-compiler-plugin:3.10.1 maven-war-plugin:3.4.0 maven-jar-plugin:3.2.2 maven-dependency-plugin:3.6.0 - Remove versions information etc. from plugins which are management in the pom project - Set Maven Compiler to java 17 --- README.md | 22 +- jacq-common/pom.xml | 39 +- .../model/rest/GeoNamesAdminCodes.java | 6 +- .../common/external/rest/GeoNamesService.java | 12 +- .../common/external/rest/ImageServer.java | 16 +- .../external/rest/ScientificNamesService.java | 10 +- .../converter/AcquisitionSourceConverter.java | 8 +- .../faces/converter/CultivarConverter.java | 8 +- .../faces/converter/LocationConverter.java | 8 +- .../converter/OrganisationConverter.java | 8 +- .../OutputOrganisationConverter.java | 8 +- .../faces/converter/PersonConverter.java | 10 +- .../converter/ScientificNameConverter.java | 8 +- .../common/manager/BaseDerivativeManager.java | 8 +- .../common/manager/BaseGatheringManager.java | 6 +- .../manager/BaseImageServerManager.java | 16 +- .../manager/BaseOrganisationManager.java | 20 +- .../common/manager/NameParserManager.java | 16 +- .../common/model/dataimport/ImportRecord.java | 35 +- .../model/jpa/FrmwrkAuthAssignment.java | 24 +- .../model/jpa/FrmwrkAuthAssignmentPK.java | 10 +- .../jacq/common/model/jpa/FrmwrkAuthItem.java | 36 +- .../jacq/common/model/jpa/FrmwrkConfig.java | 26 +- .../model/jpa/FrmwrkEmploymentType.java | 32 +- .../org/jacq/common/model/jpa/FrmwrkRole.java | 30 +- .../jacq/common/model/jpa/FrmwrkTemplate.java | 22 +- .../org/jacq/common/model/jpa/FrmwrkUser.java | 53 +- .../jacq/common/model/jpa/FrmwrkUserType.java | 32 +- .../jpa/FrmwrkaccessBotanicalObject.java | 28 +- .../model/jpa/FrmwrkaccessClassification.java | 28 +- .../model/jpa/FrmwrkaccessOrganisation.java | 32 +- .../common/model/jpa/RevClassification.java | 49 +- .../org/jacq/common/model/jpa/RevFlora.java | 26 +- .../jacq/common/model/jpa/ScientificName.java | 19 + .../jacq/common/model/jpa/SrvcUuidMinter.java | 34 +- .../common/model/jpa/SrvcUuidMinterType.java | 32 +- .../common/model/jpa/TblAccessionNumber.java | 24 +- .../common/model/jpa/TblAcquisitionDate.java | 30 +- .../common/model/jpa/TblAcquisitionEvent.java | 40 +- .../model/jpa/TblAcquisitionEventSource.java | 37 +- .../model/jpa/TblAcquisitionSource.java | 35 +- .../common/model/jpa/TblAcquisitionType.java | 30 +- .../jpa/TblAlternativeAccessionNumber.java | 30 +- .../common/model/jpa/TblBotanicalObject.java | 56 +- .../model/jpa/TblBotanicalObjectSex.java | 26 +- .../jacq/common/model/jpa/TblCertificate.java | 30 +- .../common/model/jpa/TblCertificateType.java | 32 +- .../common/model/jpa/TblClassification.java | 44 +- .../jpa/TblClassificationChorolStatus.java | 28 +- .../jacq/common/model/jpa/TblCultivar.java | 37 +- .../jacq/common/model/jpa/TblDerivative.java | 41 +- .../common/model/jpa/TblDerivativeType.java | 32 +- .../jacq/common/model/jpa/TblDiaspora.java | 28 +- .../common/model/jpa/TblDiasporaBank.java | 30 +- .../jacq/common/model/jpa/TblGeoNation.java | 20 +- .../jacq/common/model/jpa/TblGeoProvince.java | 20 +- .../jacq/common/model/jpa/TblHabitusType.java | 30 +- .../jacq/common/model/jpa/TblIdentStatus.java | 30 +- .../jacq/common/model/jpa/TblImageServer.java | 32 +- .../jacq/common/model/jpa/TblImportError.java | 26 +- .../common/model/jpa/TblImportProperties.java | 34 +- .../model/jpa/TblIndexSeminumContent.java | 45 +- .../model/jpa/TblIndexSeminumPerson.java | 34 +- .../model/jpa/TblIndexSeminumRevision.java | 43 +- .../common/model/jpa/TblIndexSeminumType.java | 32 +- .../jacq/common/model/jpa/TblInventory.java | 36 +- .../common/model/jpa/TblInventoryObject.java | 36 +- .../common/model/jpa/TblInventoryType.java | 36 +- .../jacq/common/model/jpa/TblLabelType.java | 30 +- .../jacq/common/model/jpa/TblLivingPlant.java | 57 +- .../jpa/TblLivingPlantTreeRecordFilePage.java | 41 +- .../jacq/common/model/jpa/TblLocation.java | 39 +- .../model/jpa/TblLocationCoordinates.java | 30 +- .../common/model/jpa/TblLocationGeonames.java | 28 +- .../jacq/common/model/jpa/TblNomEpithet.java | 33 +- .../org/jacq/common/model/jpa/TblNomName.java | 47 +- .../org/jacq/common/model/jpa/TblNomRank.java | 30 +- .../jacq/common/model/jpa/TblNomStatus.java | 30 +- .../common/model/jpa/TblNomSubstantive.java | 33 +- .../common/model/jpa/TblOrganisation.java | 38 +- .../org/jacq/common/model/jpa/TblPerson.java | 35 +- .../jacq/common/model/jpa/TblPhenology.java | 30 +- .../common/model/jpa/TblRelevancyType.java | 30 +- .../jpa/TblScientificNameInformation.java | 34 +- .../org/jacq/common/model/jpa/TblSeed.java | 26 +- .../jacq/common/model/jpa/TblSeedOrder.java | 60 +- .../model/jpa/TblSeedOrderDerivative.java | 26 +- .../jacq/common/model/jpa/TblSeparation.java | 43 +- .../common/model/jpa/TblSeparationType.java | 30 +- .../jacq/common/model/jpa/TblSequence.java | 20 +- .../org/jacq/common/model/jpa/TblSex.java | 30 +- .../jacq/common/model/jpa/TblSpecimen.java | 33 +- .../jacq/common/model/jpa/TblSpecimenOld.java | 34 +- .../common/model/jpa/TblTreeRecordFile.java | 30 +- .../model/jpa/TblTreeRecordFilePage.java | 38 +- .../jpa/TblUserClassificationSource.java | 30 +- .../jacq/common/model/jpa/TblVegetative.java | 46 +- .../model/jpa/ViewClassificationResult.java | 26 +- .../org/jacq/common/model/jpa/ViewPerson.java | 20 +- .../jacq/common/model/jpa/ViewProtolog.java | 22 +- .../common/model/jpa/ViewScientificName.java | 22 +- .../org/jacq/common/model/jpa/ViewTaxon.java | 22 +- .../jpa/custom/BotanicalObjectDerivative.java | 16 +- .../model/jpa/custom/CustomNamedQueries.java | 62 -- .../CustomNamedStoredProcedureQueries.java | 10 +- .../model/jpa/openup/TblCommonNamesCache.java | 24 +- .../jpa/openup/TblScientificNameCache.java | 24 +- .../common/model/jpa/openup/TblService.java | 30 +- .../model/jpa/openup/TblWebserviceCache.java | 30 +- .../jacq/common/model/names/CommonName.java | 4 +- .../model/names/taxamatch/Searchresult.java | 2 +- .../rest/AcquistionEventSourceResult.java | 11 +- .../rest/BotanicalObjectDownloadResult.java | 6 +- .../model/rest/BotanicalObjectResult.java | 6 +- .../model/rest/EmploymentTypeResult.java | 6 +- .../model/rest/ImportPropertiesResult.java | 6 +- .../rest/IndexSeminumDownloadResult.java | 6 +- .../common/model/rest/IndexSeminumResult.java | 6 +- .../common/model/rest/InventoryResult.java | 6 +- .../model/rest/InventoryTypeResult.java | 6 +- .../common/model/rest/LivingPlantResult.java | 13 +- .../common/model/rest/OrganisationResult.java | 6 +- .../model/rest/RevClassificationResponse.java | 10 +- .../jacq/common/model/rest/RoleResult.java | 6 +- .../common/model/rest/SeedOrderResult.java | 8 +- .../common/model/rest/SeparationResult.java | 12 +- .../model/rest/TreeRecordFilePageResult.java | 6 +- .../model/rest/TreeRecordFileResult.java | 6 +- .../jacq/common/model/rest/UserResult.java | 14 +- .../common/model/rest/UserTypeResult.java | 6 +- .../common/model/rest/VegetativeResult.java | 8 +- .../jacq/common/rest/AcquisitionService.java | 12 +- .../common/rest/AuthorizationService.java | 14 +- .../common/rest/ClassificationService.java | 14 +- .../jacq/common/rest/DerivativeService.java | 16 +- .../jacq/common/rest/GatheringService.java | 12 +- .../jacq/common/rest/IndexSeminumService.java | 14 +- .../jacq/common/rest/InventoryService.java | 12 +- .../jacq/common/rest/OrganisationService.java | 14 +- .../org/jacq/common/rest/PersonService.java | 12 +- .../org/jacq/common/rest/PortalService.java | 10 +- .../jacq/common/rest/SeedExchangeService.java | 14 +- .../common/rest/TreeRecordFileService.java | 14 +- .../org/jacq/common/rest/UserService.java | 14 +- .../org/jacq/common/rest/UuidService.java | 10 +- .../rest/dataimport/DataImportService.java | 12 +- .../rest/exception/JacqRestException.java | 4 +- .../filter/ContentTypeResponseFilter.java | 8 +- .../rest/filter/RequestDebugFilter.java | 6 +- .../common/rest/names/CommonNameService.java | 14 +- .../rest/names/ScientificNameService.java | 14 +- .../common/rest/output/SearchService.java | 12 +- .../provider/CustomDateParamConverter.java | 2 +- .../CustomDateParamConverterProvider.java | 6 +- .../jacq/common/rest/report/LabelService.java | 14 +- .../common/security/JacqCallerPrincipal.java | 2 +- .../org/jacq/common/util/ServicesUtil.java | 15 +- .../src/main/resources/META-INF/beans.xml | 5 + jacq-dataimport/pom.xml | 51 +- .../org/jacq/service/JacqServiceConfig.java | 14 +- .../manager/BromiMdbImportManager.java | 26 +- .../dataimport/manager/DataImportManager.java | 31 +- .../manager/DbViewImportManager.java | 12 +- .../dataimport/manager/GatheringManager.java | 12 +- .../security/BasicClientRequestFilter.java | 6 +- .../service/dataimport/util/ServicesUtil.java | 13 +- .../service/rest/dataimport/JacqService.java | 4 +- .../impl/DataImportServiceImpl.java | 2 +- .../dataimport/impl/GatheringServiceImpl.java | 2 +- .../main/resources/META-INF/persistence.xml | 21 +- .../src/main/webapp/WEB-INF/beans.xml | 8 +- jacq-input/pom.xml | 75 +- .../org/jacq/input/ApplicationManager.java | 10 +- .../java/org/jacq/input/JacqPortalConfig.java | 6 +- .../java/org/jacq/input/SessionManager.java | 12 +- .../controller/IndexSeminumController.java | 8 +- .../IndexSeminumEditController.java | 13 +- .../controller/InventoryEditController.java | 17 +- .../controller/LivingPlantController.java | 17 +- .../controller/LivingPlantEditController.java | 29 +- .../input/controller/LoginController.java | 35 +- .../OrganisationAccessController.java | 11 +- .../controller/OrganisationController.java | 8 +- .../OrganisationEditController.java | 18 +- ...rganisationHierarchicSelectController.java | 10 +- .../controller/SeedExchangeController.java | 8 +- .../SeedExchangeEditController.java | 19 +- .../input/controller/SessionController.java | 14 +- .../controller/TreeRecordFileController.java | 8 +- .../TreeRecordFileEditController.java | 17 +- .../jacq/input/controller/UserController.java | 8 +- .../input/controller/UserEditController.java | 17 +- .../controller/UserUpdateController.java | 13 +- .../controller/VegetativeEditController.java | 10 +- .../jacq/input/faces/UpdatePhaseListener.java | 8 +- .../security/BasicClientRequestFilter.java | 14 +- .../input/security/InputIdentityStore.java | 18 +- .../input/view/LazyDerivativeDataModel.java | 38 +- .../view/LazyDerivativeDownloadDataModel.java | 62 +- .../input/view/LazyIndexSeminumDataModel.java | 16 +- .../LazyIndexSeminumDownloadDataModel.java | 16 +- .../view/LazyOrganisationAccessDataModel.java | 16 +- .../input/view/LazyOrganisationDataModel.java | 42 +- .../view/LazyTreeRecordFileDataModel.java | 34 +- .../jacq/input/view/LazyUserDataModel.java | 35 +- jacq-input/src/main/sass/_icons.scss | 911 ++++++++++++---- jacq-input/src/main/sass/_landing.scss | 2 +- jacq-input/src/main/sass/_main.scss | 555 +++++----- jacq-input/src/main/sass/_theme.scss | 322 ++++-- jacq-input/src/main/webapp/WEB-INF/beans.xml | 11 +- .../src/main/webapp/WEB-INF/faces-config.xml | 23 +- .../src/main/webapp/WEB-INF/jboss-web.xml | 1 - .../webapp/WEB-INF/lib/omega-menu-1.1.2.jar | Bin 10197 -> 0 bytes .../WEB-INF/lib/omega-theme-5.1.0-jakarta.jar | Bin 0 -> 101567 bytes .../WEB-INF/primefaces-omega.taglib.xml | 60 -- .../templates/{omega => saga}/error.xhtml | 4 +- .../templates/{omega => saga}/sidebar.xhtml | 63 +- .../templates/{omega => saga}/template.xhtml | 14 +- .../templates/{omega => saga}/topbar.xhtml | 2 +- jacq-input/src/main/webapp/WEB-INF/web.xml | 20 +- .../main/webapp/pages/livingplant/edit.xhtml | 2 +- .../pages/livingplant/edit/derivatives.xhtml | 2 +- .../webapp/pages/livingplant/editsimple.xhtml | 2 +- .../pages/livingplant/indexseminum.xhtml | 2 +- .../pages/livingplant/inventories.xhtml | 2 +- .../pages/livingplant/inventoryedit.xhtml | 2 +- .../webapp/pages/livingplant/manage.xhtml | 2 +- .../pages/livingplant/revisioncreate.xhtml | 2 +- .../main/webapp/pages/organisation/edit.xhtml | 2 +- .../webapp/pages/organisation/manage.xhtml | 2 +- .../main/webapp/pages/seedexchange/edit.xhtml | 2 +- .../webapp/pages/seedexchange/manage.xhtml | 4 +- .../webapp/pages/treerecordfile/edit.xhtml | 2 +- .../webapp/pages/treerecordfile/manage.xhtml | 4 +- .../src/main/webapp/pages/user/edit.xhtml | 10 +- .../src/main/webapp/pages/user/manage.xhtml | 4 +- .../src/main/webapp/pages/user/update.xhtml | 2 +- .../src/main/webapp/resources/jacq/jacq.css | 20 +- .../resources/omega-layout/css/grid.css | 347 ------- .../resources/omega-layout/css/layout.css.map | 7 - .../resources/omega-layout/images/404.png | Bin 11003 -> 0 bytes .../resources/omega-layout/images/access.png | Bin 3756 -> 0 bytes .../omega-layout/images/avatar_1.png | Bin 1051 -> 0 bytes .../omega-layout/images/avatar_2.png | Bin 986 -> 0 bytes .../omega-layout/images/avatar_3.png | Bin 1044 -> 0 bytes .../omega-layout/images/avatar_4.png | Bin 1111 -> 0 bytes .../resources/omega-layout/images/error.png | Bin 4728 -> 0 bytes .../images/landing/section1_bg.jpg | Bin 144066 -> 0 bytes .../images/landing/section1_logo.png | Bin 5594 -> 0 bytes .../images/landing/section2_1.png | Bin 889 -> 0 bytes .../images/landing/section2_2.png | Bin 1008 -> 0 bytes .../images/landing/section2_3.png | Bin 1008 -> 0 bytes .../images/landing/section2_4.png | Bin 1829 -> 0 bytes .../images/landing/section2_5.png | Bin 883 -> 0 bytes .../images/landing/section2_6.png | Bin 1419 -> 0 bytes .../images/landing/section3_mobile.png | Bin 39455 -> 0 bytes .../omega-layout/images/login-logo.png | Bin 7433 -> 0 bytes .../omega-layout/images/logo-colored.png | Bin 5414 -> 0 bytes .../resources/omega-layout/images/logo.png | Bin 3287 -> 0 bytes .../omega-layout/images/preloader.gif | Bin 10756 -> 0 bytes .../resources/omega-layout/images/profile.png | Bin 3780 -> 0 bytes .../css/animate.css | 0 .../css/layout.css | 983 ++++++++---------- .../resources/saga-layout/css/layout.css.map | 7 + .../css/nanoscroller.css | 0 .../webapp/resources/saga-layout/js/jacq.js | 6 + .../js/layout.js | 324 ++++-- .../js/nanoscroller.js | 0 .../webapp/resources/saga-layout/js/prism.js | 10 + jacq-names/pom.xml | 12 +- .../names/manager/CommonNameManager.java | 24 +- .../names/manager/ScientificNameManager.java | 28 +- .../names/sources/dnpgoth/DnpGoThSource.java | 8 +- .../sources/dnpgoth/DnpGoThWebSearch.java | 16 +- .../names/sources/util/SourcesUtil.java | 12 +- .../names/sources/ylist/YListSource.java | 9 +- .../names/sources/ylist/YListWebSearch.java | 8 +- .../jacq/service/rest/names/JacqService.java | 4 +- .../names/impl/CommonNameServiceImpl.java | 6 +- .../names/impl/ScientificNameServiceImpl.java | 2 +- .../main/resources/META-INF/persistence.xml | 33 +- jacq-names/src/main/webapp/WEB-INF/beans.xml | 8 +- jacq-output/pom.xml | 46 +- .../java/org/jacq/output/SessionManager.java | 4 +- .../output/controller/FloraController.java | 11 +- .../output/controller/SearchController.java | 10 +- .../view/LazyBotanicalObjectDataModel.java | 33 +- .../src/main/webapp/WEB-INF/faces-config.xml | 10 +- jacq-output/src/main/webapp/WEB-INF/web.xml | 4 +- jacq-service-output/pom.xml | 11 +- .../output/manager/ApplicationManager.java | 4 +- .../output/manager/OrganisationManager.java | 6 +- .../service/output/manager/SearchManager.java | 10 +- .../output/rest/JacqServiceOutput.java | 4 +- .../output/rest/impl/SearchServiceImpl.java | 2 +- .../main/resources/META-INF/persistence.xml | 19 +- .../src/main/webapp/WEB-INF/beans.xml | 8 +- jacq-service-report/pom.xml | 52 +- .../service/report/ApplicationManager.java | 10 +- .../org/jacq/service/report/JacqConfig.java | 14 +- .../service/report/manager/LabelManager.java | 16 +- .../report/rest/JacqServiceReport.java | 4 +- .../report/rest/impl/LabelServiceImpl.java | 6 +- .../PassthroughClientRequestFilter.java | 10 +- .../report/security/ReportIdentityStore.java | 14 +- .../main/resources/META-INF/persistence.xml | 19 +- .../src/main/webapp/WEB-INF/beans.xml | 11 +- .../src/main/webapp/WEB-INF/jboss-web.xml | 1 - jacq-service/pom.xml | 19 +- .../org/jacq/service/ApplicationManager.java | 10 +- .../org/jacq/service/JacqServiceConfig.java | 12 +- .../java/org/jacq/service/TimerManager.java | 6 +- .../service/manager/AcquisitionManager.java | 8 +- .../service/manager/AuthorizationManager.java | 26 +- .../manager/ClassificationManager.java | 18 +- .../service/manager/DerivativeManager.java | 26 +- .../service/manager/GatheringManager.java | 10 +- .../service/manager/ImageServerManager.java | 6 +- .../service/manager/IndexSeminumManager.java | 20 +- .../service/manager/InventoryManager.java | 12 +- .../service/manager/LivingPlantManager.java | 12 +- .../service/manager/OrganisationManager.java | 22 +- .../jacq/service/manager/PersonManager.java | 8 +- .../jacq/service/manager/SecurityManager.java | 6 +- .../service/manager/SeedExchangeManager.java | 16 +- .../manager/TreeRecordFileManager.java | 20 +- .../org/jacq/service/manager/UserManager.java | 26 +- .../org/jacq/service/manager/UuidManager.java | 10 +- .../service/manager/VegetativeManager.java | 8 +- .../org/jacq/service/rest/JacqService.java | 4 +- .../rest/impl/AcquisitionServiceImpl.java | 2 +- .../rest/impl/AuthorizationServiceImpl.java | 2 +- .../rest/impl/ClassificationServiceImpl.java | 6 +- .../rest/impl/DerivativeServiceImpl.java | 6 +- .../rest/impl/GatheringServiceImpl.java | 2 +- .../rest/impl/IndexSeminumServiceImpl.java | 4 +- .../rest/impl/InventoryServiceImpl.java | 2 +- .../rest/impl/OrganisationServiceImpl.java | 2 +- .../service/rest/impl/PersonServiceImpl.java | 2 +- .../service/rest/impl/PortalServiceImpl.java | 2 +- .../rest/impl/SeedExchangeServiceImpl.java | 2 +- .../rest/impl/TreeRecordFileServiceImpl.java | 2 +- .../service/rest/impl/UserServiceImpl.java | 2 +- .../service/rest/impl/UuidServiceImpl.java | 2 +- .../security/ServiceCallerPrincipal.java | 2 +- .../security/ServiceIdentityStore.java | 14 +- .../main/resources/META-INF/persistence.xml | 21 +- .../src/main/webapp/WEB-INF/beans.xml | 8 +- .../src/main/webapp/WEB-INF/jboss-web.xml | 1 - jacq/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 62547 bytes jacq/.mvn/wrapper/maven-wrapper.properties | 18 + jacq/mvnw | 308 ++++++ jacq/mvnw.cmd | 205 ++++ jacq/pom.xml | 70 +- 354 files changed, 5402 insertions(+), 4337 deletions(-) create mode 100644 jacq-common/src/main/java/org/jacq/common/model/jpa/ScientificName.java delete mode 100644 jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedQueries.java create mode 100644 jacq-common/src/main/resources/META-INF/beans.xml delete mode 100644 jacq-input/src/main/webapp/WEB-INF/lib/omega-menu-1.1.2.jar create mode 100644 jacq-input/src/main/webapp/WEB-INF/lib/omega-theme-5.1.0-jakarta.jar delete mode 100644 jacq-input/src/main/webapp/WEB-INF/primefaces-omega.taglib.xml rename jacq-input/src/main/webapp/WEB-INF/templates/{omega => saga}/error.xhtml (87%) rename jacq-input/src/main/webapp/WEB-INF/templates/{omega => saga}/sidebar.xhtml (72%) rename jacq-input/src/main/webapp/WEB-INF/templates/{omega => saga}/template.xhtml (79%) rename jacq-input/src/main/webapp/WEB-INF/templates/{omega => saga}/topbar.xhtml (95%) delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/css/grid.css delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/css/layout.css.map delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/404.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/access.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/avatar_1.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/avatar_2.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/avatar_3.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/avatar_4.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/error.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section1_bg.jpg delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section1_logo.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_1.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_2.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_3.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_4.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_5.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section2_6.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/landing/section3_mobile.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/login-logo.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/logo-colored.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/logo.png delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/preloader.gif delete mode 100644 jacq-input/src/main/webapp/resources/omega-layout/images/profile.png rename jacq-input/src/main/webapp/resources/{omega-layout => saga-layout}/css/animate.css (100%) rename jacq-input/src/main/webapp/resources/{omega-layout => saga-layout}/css/layout.css (85%) create mode 100644 jacq-input/src/main/webapp/resources/saga-layout/css/layout.css.map rename jacq-input/src/main/webapp/resources/{omega-layout => saga-layout}/css/nanoscroller.css (100%) create mode 100644 jacq-input/src/main/webapp/resources/saga-layout/js/jacq.js rename jacq-input/src/main/webapp/resources/{omega-layout => saga-layout}/js/layout.js (53%) rename jacq-input/src/main/webapp/resources/{omega-layout => saga-layout}/js/nanoscroller.js (100%) create mode 100644 jacq-input/src/main/webapp/resources/saga-layout/js/prism.js create mode 100644 jacq/.mvn/wrapper/maven-wrapper.jar create mode 100644 jacq/.mvn/wrapper/maven-wrapper.properties create mode 100755 jacq/mvnw create mode 100644 jacq/mvnw.cmd diff --git a/README.md b/README.md index 779c1e2f..9b119bfa 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,25 @@ Development Setup -- Netbeans (8.0.2) +- openjdk 17 - WildFly Plugin / JavaEE Edition -- WildFly 8.2 +- WildFly 13.0.0 Maven project can be opened directly from netbeans. jacq-common contains JPA / JAX-RS classes / interfaces only. -jacq-service contains the actual implementation using manager classes. \ No newline at end of file +jacq-service contains the actual implementation using manager classes. + +# To build + +We are using the the maven wrapper. So, instead of call mvn please use mvnw. For furher information +have a look at https://maven.apache.org/wrapper/index.html + +This means you don't have to install maven manually. + + +# Wildfly 13.0.0 + +To avoid the error `ModuleNotFoundException` java.se with Java 17 you have to add in the standalone.sh following line. Add it at the beginning of the file. + +``` + +``` \ No newline at end of file diff --git a/jacq-common/pom.xml b/jacq-common/pom.xml index 7ed72e4f..32073da8 100644 --- a/jacq-common/pom.xml +++ b/jacq-common/pom.xml @@ -28,48 +28,33 @@ org.jboss.resteasy resteasy-client - 3.0.19.Final + 6.2.4.Final provided - javax - javaee-api - 7.0 + jakarta.platform + jakarta.jakartaee-api + 9.1.0 provided - org.glassfish.soteria - javax.security.enterprise - 1.0 + jakarta.security.enterprise + jakarta.security.enterprise-api + 3.0.0 + provided - 1.8 - 1.8 + 17 + 17 UTF-8 - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - org.jboss.resteasy.resteasy-jaxrs - - - - org.apache.maven.plugins maven-compiler-plugin - 2.3.2 ${project.build.sourceEncoding} @@ -77,10 +62,6 @@ org.apache.maven.plugins maven-resources-plugin - 2.4.3 - - ${project.build.sourceEncoding} - diff --git a/jacq-common/src/main/java/org/jacq/common/external/model/rest/GeoNamesAdminCodes.java b/jacq-common/src/main/java/org/jacq/common/external/model/rest/GeoNamesAdminCodes.java index ec0c22b6..3c981172 100644 --- a/jacq-common/src/main/java/org/jacq/common/external/model/rest/GeoNamesAdminCodes.java +++ b/jacq-common/src/main/java/org/jacq/common/external/model/rest/GeoNamesAdminCodes.java @@ -15,9 +15,9 @@ */ package org.jacq.common.external.model.rest; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/external/rest/GeoNamesService.java b/jacq-common/src/main/java/org/jacq/common/external/rest/GeoNamesService.java index 45723ba3..8baf70bc 100644 --- a/jacq-common/src/main/java/org/jacq/common/external/rest/GeoNamesService.java +++ b/jacq-common/src/main/java/org/jacq/common/external/rest/GeoNamesService.java @@ -15,12 +15,12 @@ */ package org.jacq.common.external.rest; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.external.model.rest.GeoNamesSearchResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/external/rest/ImageServer.java b/jacq-common/src/main/java/org/jacq/common/external/rest/ImageServer.java index cd04fe14..ca2a0cd0 100644 --- a/jacq-common/src/main/java/org/jacq/common/external/rest/ImageServer.java +++ b/jacq-common/src/main/java/org/jacq/common/external/rest/ImageServer.java @@ -15,14 +15,14 @@ */ package org.jacq.common.external.rest; -import javax.json.JsonObject; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.json.JsonObject; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; /** * JAX-RS based interface definition for image server diff --git a/jacq-common/src/main/java/org/jacq/common/external/rest/ScientificNamesService.java b/jacq-common/src/main/java/org/jacq/common/external/rest/ScientificNamesService.java index b2b2c2ef..db1599c7 100644 --- a/jacq-common/src/main/java/org/jacq/common/external/rest/ScientificNamesService.java +++ b/jacq-common/src/main/java/org/jacq/common/external/rest/ScientificNamesService.java @@ -15,11 +15,11 @@ */ package org.jacq.common.external.rest; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.names.JsonRpcRequest; import org.jacq.common.model.names.taxamatch.TaxamatchResponse; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/AcquisitionSourceConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/AcquisitionSourceConverter.java index 50719c81..b93fa404 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/AcquisitionSourceConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/AcquisitionSourceConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.AcquisitionSourceResult; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/CultivarConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/CultivarConverter.java index d9dd32b8..5f715cc7 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/CultivarConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/CultivarConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.CultivarResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/LocationConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/LocationConverter.java index 6c7ae006..ad88f4f7 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/LocationConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/LocationConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.LocationResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/OrganisationConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/OrganisationConverter.java index 3d0f37bc..efe2e8e4 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/OrganisationConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/OrganisationConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/OutputOrganisationConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/OutputOrganisationConverter.java index 2504242b..99d101b3 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/OutputOrganisationConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/OutputOrganisationConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/PersonConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/PersonConverter.java index 681aaa30..674a5120 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/PersonConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/PersonConverter.java @@ -15,11 +15,11 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.component.UIInput; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.component.UIInput; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.PersonResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/faces/converter/ScientificNameConverter.java b/jacq-common/src/main/java/org/jacq/common/faces/converter/ScientificNameConverter.java index 52193e87..1104df04 100644 --- a/jacq-common/src/main/java/org/jacq/common/faces/converter/ScientificNameConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/faces/converter/ScientificNameConverter.java @@ -15,10 +15,10 @@ */ package org.jacq.common.faces.converter; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.convert.Converter; -import javax.faces.convert.FacesConverter; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import jakarta.faces.convert.Converter; +import jakarta.faces.convert.FacesConverter; import org.jacq.common.model.rest.ScientificNameResult; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-common/src/main/java/org/jacq/common/manager/BaseDerivativeManager.java b/jacq-common/src/main/java/org/jacq/common/manager/BaseDerivativeManager.java index e14b5c9b..4e8f4c8a 100644 --- a/jacq-common/src/main/java/org/jacq/common/manager/BaseDerivativeManager.java +++ b/jacq-common/src/main/java/org/jacq/common/manager/BaseDerivativeManager.java @@ -20,10 +20,10 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.persistence.Column; -import javax.persistence.EntityManager; -import javax.persistence.Query; -import javax.transaction.Transactional; +import jakarta.persistence.Column; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; +import jakarta.transaction.Transactional; import org.apache.commons.lang3.StringUtils; import org.jacq.common.model.jpa.TblNomName; import org.jacq.common.model.jpa.TblOrganisation; diff --git a/jacq-common/src/main/java/org/jacq/common/manager/BaseGatheringManager.java b/jacq-common/src/main/java/org/jacq/common/manager/BaseGatheringManager.java index acccf01e..2e55fa00 100644 --- a/jacq-common/src/main/java/org/jacq/common/manager/BaseGatheringManager.java +++ b/jacq-common/src/main/java/org/jacq/common/manager/BaseGatheringManager.java @@ -19,9 +19,9 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; -import javax.transaction.Transactional; +import jakarta.persistence.EntityManager; +import jakarta.persistence.TypedQuery; +import jakarta.transaction.Transactional; import org.jacq.common.external.model.rest.GeoNamesEntryResult; import org.jacq.common.external.model.rest.GeoNamesSearchResult; import org.jacq.common.external.rest.GeoNamesService; diff --git a/jacq-common/src/main/java/org/jacq/common/manager/BaseImageServerManager.java b/jacq-common/src/main/java/org/jacq/common/manager/BaseImageServerManager.java index 04abebe0..d9c717af 100644 --- a/jacq-common/src/main/java/org/jacq/common/manager/BaseImageServerManager.java +++ b/jacq-common/src/main/java/org/jacq/common/manager/BaseImageServerManager.java @@ -20,14 +20,14 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.json.Json; -import javax.json.JsonArray; -import javax.json.JsonObject; -import javax.persistence.EntityManager; -import javax.persistence.Query; -import javax.persistence.TypedQuery; -import javax.transaction.Transactional; -import javax.ws.rs.core.Response; +import jakarta.json.Json; +import jakarta.json.JsonArray; +import jakarta.json.JsonObject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; +import jakarta.persistence.TypedQuery; +import jakarta.transaction.Transactional; +import jakarta.ws.rs.core.Response; import org.jacq.common.external.rest.ImageServer; import org.jacq.common.model.rest.ImageServerResource; import org.jacq.common.model.jpa.TblDerivative; diff --git a/jacq-common/src/main/java/org/jacq/common/manager/BaseOrganisationManager.java b/jacq-common/src/main/java/org/jacq/common/manager/BaseOrganisationManager.java index 9e72b72e..76f03b20 100644 --- a/jacq-common/src/main/java/org/jacq/common/manager/BaseOrganisationManager.java +++ b/jacq-common/src/main/java/org/jacq/common/manager/BaseOrganisationManager.java @@ -17,16 +17,16 @@ import java.util.ArrayList; import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Expression; -import javax.persistence.criteria.Join; -import javax.persistence.criteria.JoinType; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; -import javax.transaction.Transactional; +import jakarta.persistence.EntityManager; +import jakarta.persistence.TypedQuery; +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.CriteriaQuery; +import jakarta.persistence.criteria.Expression; +import jakarta.persistence.criteria.Join; +import jakarta.persistence.criteria.JoinType; +import jakarta.persistence.criteria.Predicate; +import jakarta.persistence.criteria.Root; +import jakarta.transaction.Transactional; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.model.jpa.FrmwrkUser; import org.jacq.common.model.jpa.TblOrganisation; diff --git a/jacq-common/src/main/java/org/jacq/common/manager/NameParserManager.java b/jacq-common/src/main/java/org/jacq/common/manager/NameParserManager.java index 0f412d8a..820b1412 100644 --- a/jacq-common/src/main/java/org/jacq/common/manager/NameParserManager.java +++ b/jacq-common/src/main/java/org/jacq/common/manager/NameParserManager.java @@ -15,22 +15,18 @@ */ package org.jacq.common.manager; -import java.io.BufferedInputStream; +import jakarta.inject.Named; import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StringReader; import java.net.Socket; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.ManagedBean; -import javax.annotation.PostConstruct; -import javax.json.Json; -import javax.json.JsonArray; -import javax.json.JsonObject; -import javax.json.JsonReader; +import jakarta.annotation.PostConstruct; +import jakarta.json.Json; +import jakarta.json.JsonObject; +import jakarta.json.JsonReader; import org.jacq.common.model.names.NameParserResponse; /** @@ -43,7 +39,7 @@ * * @author wkoller */ -@ManagedBean +@Named public class NameParserManager { private static final Logger LOGGER = Logger.getLogger(NameParserManager.class.getName()); diff --git a/jacq-common/src/main/java/org/jacq/common/model/dataimport/ImportRecord.java b/jacq-common/src/main/java/org/jacq/common/model/dataimport/ImportRecord.java index 586c4d61..e3622f57 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/dataimport/ImportRecord.java +++ b/jacq-common/src/main/java/org/jacq/common/model/dataimport/ImportRecord.java @@ -16,14 +16,14 @@ package org.jacq.common.model.dataimport; import java.io.Serializable; -import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.persistence.Transient; -import javax.xml.bind.annotation.XmlRootElement; +import java.time.LocalDate; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.persistence.Transient; +import jakarta.xml.bind.annotation.XmlRootElement; /** * Model for holding a single import record @@ -59,9 +59,8 @@ public class ImportRecord implements Serializable { protected String genericAnnotation; @Column(name = "gathering_number") protected String gatheringNumber; - @Temporal(TemporalType.DATE) @Column(name = "separation_date") - protected Date separationDate; + protected LocalDate separationDate; @Column(name = "separation_type") protected String separationType; @Column(name = "separation_annotation") @@ -89,7 +88,7 @@ public class ImportRecord implements Serializable { @Column(name = "price") protected Float price; @Column(name = "gathering_date") - protected Date gatheringDate; + protected LocalDate gatheringDate; @Column(name = "gathering_source") protected String gatheringSource; @Column(name = "altitude_min") @@ -107,7 +106,7 @@ public class ImportRecord implements Serializable { @Column(name = "habitat") protected String habitat; @Column(name = "acquisition_date") - protected Date acquisitionDate; + protected LocalDate acquisitionDate; @Column(name = "custom_acquisition_date") protected String customAcquisitionDate; @Column(name = "gathering_annotation") @@ -189,11 +188,11 @@ public void setGatheringNumber(String gatheringNumber) { this.gatheringNumber = gatheringNumber; } - public Date getSeparationDate() { + public LocalDate getSeparationDate() { return separationDate; } - public void setSeparationDate(Date separationDate) { + public void setSeparationDate(LocalDate separationDate) { this.separationDate = separationDate; } @@ -309,11 +308,11 @@ public void setPrice(Float price) { this.price = price; } - public Date getGatheringDate() { + public LocalDate getGatheringDate() { return gatheringDate; } - public void setGatheringDate(Date gatheringDate) { + public void setGatheringDate(LocalDate gatheringDate) { this.gatheringDate = gatheringDate; } @@ -381,11 +380,11 @@ public void setHabitat(String habitat) { this.habitat = habitat; } - public Date getAcquisitionDate() { + public LocalDate getAcquisitionDate() { return acquisitionDate; } - public void setAcquisitionDate(Date acquisitionDate) { + public void setAcquisitionDate(LocalDate acquisitionDate) { this.acquisitionDate = acquisitionDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignment.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignment.java index dab185b1..226a57fa 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignment.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignment.java @@ -16,18 +16,18 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Column; -import javax.persistence.EmbeddedId; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Column; +import jakarta.persistence.EmbeddedId; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignmentPK.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignmentPK.java index 3867f53c..5711578f 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignmentPK.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthAssignmentPK.java @@ -16,11 +16,11 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Embeddable; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Embeddable; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthItem.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthItem.java index bf2423ce..8692fb88 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthItem.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkAuthItem.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkConfig.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkConfig.java index f3f6fb0e..9e450c80 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkConfig.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkConfig.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkEmploymentType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkEmploymentType.java index de1bff0d..fed5b63c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkEmploymentType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkEmploymentType.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkRole.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkRole.java index ed21e2af..fcebe945 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkRole.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkRole.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkTemplate.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkTemplate.java index 1adb8f86..93440510 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkTemplate.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkTemplate.java @@ -16,17 +16,17 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUser.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUser.java index 579a0581..6bd2c99b 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUser.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUser.java @@ -16,30 +16,30 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -100,8 +100,7 @@ public class FrmwrkUser implements Serializable { @Column(name = "title_suffix") private String titleSuffix; @Column(name = "birthdate") - @Temporal(TemporalType.DATE) - private Date birthdate; + private LocalDate birthdate; @Basic(optional = false) @NotNull @Column(name = "force_password_change") @@ -220,11 +219,11 @@ public void setTitleSuffix(String titleSuffix) { this.titleSuffix = titleSuffix; } - public Date getBirthdate() { + public LocalDate getBirthdate() { return birthdate; } - public void setBirthdate(Date birthdate) { + public void setBirthdate(LocalDate birthdate) { this.birthdate = birthdate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUserType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUserType.java index 74082e25..1380b5a3 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUserType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkUserType.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessBotanicalObject.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessBotanicalObject.java index adf2dffe..2b436c08 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessBotanicalObject.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessBotanicalObject.java @@ -16,20 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessClassification.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessClassification.java index 6cdd662e..46516d2d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessClassification.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessClassification.java @@ -16,20 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessOrganisation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessOrganisation.java index e6d6ee4b..6c31acf1 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessOrganisation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/FrmwrkaccessOrganisation.java @@ -16,20 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -41,7 +41,9 @@ @NamedQueries({ @NamedQuery(name = "FrmwrkaccessOrganisation.findAll", query = "SELECT f FROM FrmwrkaccessOrganisation f") , @NamedQuery(name = "FrmwrkaccessOrganisation.findById", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.id = :id") - , @NamedQuery(name = "FrmwrkaccessOrganisation.findByAllowDeny", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.allowDeny = :allowDeny")}) + , @NamedQuery(name = "FrmwrkaccessOrganisation.findByAllowDeny", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.allowDeny = :allowDeny") + , @NamedQuery(name = "FrmwrkaccessOrganisation.findByUserAndOrganisation", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.userId = :userId AND f.organisationId = :organisationId") + , @NamedQuery(name = "FrmwrkaccessOrganisation.findByOrganisationIdandUserId", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.organisationId = :organisationId and f.userId = :userId")}) public class FrmwrkaccessOrganisation implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/RevClassification.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/RevClassification.java index 87d11bc3..b0543ba8 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/RevClassification.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/RevClassification.java @@ -16,25 +16,26 @@ package org.jacq.common.model.jpa; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -58,7 +59,10 @@ , @NamedQuery(name = "RevClassification.findByTimestamp", query = "SELECT r FROM RevClassification r WHERE r.timestamp = :timestamp") , @NamedQuery(name = "RevClassification.findByParentScientificNameId", query = "SELECT r FROM RevClassification r WHERE r.parentScientificNameId = :parentScientificNameId") , @NamedQuery(name = "RevClassification.findByNumber", query = "SELECT r FROM RevClassification r WHERE r.number = :number") - , @NamedQuery(name = "RevClassification.findByOrder", query = "SELECT r FROM RevClassification r WHERE r.order = :order")}) + , @NamedQuery(name = "RevClassification.findByOrder", query = "SELECT r FROM RevClassification r WHERE r.order = :order") + , @NamedQuery(name = "RevClassification.findByUuidMinterIdAndParent", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId = :accScientificNameId ORDER BY r.order ASC, r.scientificName ASC") + , @NamedQuery(name = "RevClassification.findByUuidMinterIdAndTopLevel", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId IS NULL ORDER BY r.order ASC, r.scientificName ASC") + , @NamedQuery(name = "RevClassification.findByUuidMinterIdAndTopLevelAndProvinceId", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId IS NULL AND r.provinceIds LIKE :provinceId ORDER BY r.order ASC, r.scientificName ASC")}) public class RevClassification implements Serializable { private static final long serialVersionUID = 1L; @@ -78,8 +82,7 @@ public class RevClassification implements Serializable { @Column(name = "acc_scientific_name_id") private Long accScientificNameId; @Column(name = "ref_date") - @Temporal(TemporalType.DATE) - private Date refDate; + private LocalDate refDate; @Basic(optional = false) @NotNull @Column(name = "preferred_taxonomy") @@ -185,11 +188,11 @@ public void setAccScientificNameId(Long accScientificNameId) { this.accScientificNameId = accScientificNameId; } - public Date getRefDate() { + public LocalDate getRefDate() { return refDate; } - public void setRefDate(Date refDate) { + public void setRefDate(LocalDate refDate) { this.refDate = refDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/RevFlora.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/RevFlora.java index 2142f601..e1364e14 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/RevFlora.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/RevFlora.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ScientificName.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ScientificName.java new file mode 100644 index 00000000..633728ff --- /dev/null +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ScientificName.java @@ -0,0 +1,19 @@ +package org.jacq.common.model.jpa; + +public class ScientificName { + private final Long nameId; + private final String scientificName; + + public ScientificName(Long nameId, String scientificName) { + this.nameId = nameId; + this.scientificName = scientificName; + } + + public Long getNameId() { + return nameId; + } + + public String getScientificName() { + return scientificName; + } +} diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinter.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinter.java index 28a5e9ab..c758cbde 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinter.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinter.java @@ -17,23 +17,23 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinterType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinterType.java index d0bfa8ea..28c51362 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinterType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/SrvcUuidMinterType.java @@ -18,22 +18,22 @@ import java.io.Serializable; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAccessionNumber.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAccessionNumber.java index e91f404a..2adb44df 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAccessionNumber.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAccessionNumber.java @@ -16,18 +16,18 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionDate.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionDate.java index c7003280..91d860b3 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionDate.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionDate.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEvent.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEvent.java index c33d7af7..90f39f90 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEvent.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEvent.java @@ -17,26 +17,26 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEventSource.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEventSource.java index 70f772c6..231f3ec6 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEventSource.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionEventSource.java @@ -16,22 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.xml.bind.annotation.XmlRootElement; +import java.time.LocalDate; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -53,8 +51,7 @@ public class TblAcquisitionEventSource implements Serializable { @Column(name = "acquisition_event_source_id") private Long acquisitionEventSourceId; @Column(name = "source_date") - @Temporal(TemporalType.DATE) - private Date sourceDate; + private LocalDate sourceDate; @JoinColumn(name = "acquisition_event_id", referencedColumnName = "id") @ManyToOne(optional = false, fetch = FetchType.LAZY) private TblAcquisitionEvent acquisitionEventId; @@ -77,11 +74,11 @@ public void setAcquisitionEventSourceId(Long acquisitionEventSourceId) { this.acquisitionEventSourceId = acquisitionEventSourceId; } - public Date getSourceDate() { + public LocalDate getSourceDate() { return sourceDate; } - public void setSourceDate(Date sourceDate) { + public void setSourceDate(LocalDate sourceDate) { this.sourceDate = sourceDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionSource.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionSource.java index 4b89b0fc..c86fd92d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionSource.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionSource.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -44,7 +44,8 @@ @NamedQueries({ @NamedQuery(name = "TblAcquisitionSource.findAll", query = "SELECT t FROM TblAcquisitionSource t") , @NamedQuery(name = "TblAcquisitionSource.findByAcquisitionSourceId", query = "SELECT t FROM TblAcquisitionSource t WHERE t.acquisitionSourceId = :acquisitionSourceId") - , @NamedQuery(name = "TblAcquisitionSource.findByName", query = "SELECT t FROM TblAcquisitionSource t WHERE t.name = :name")}) + , @NamedQuery(name = "TblAcquisitionSource.findByName", query = "SELECT t FROM TblAcquisitionSource t WHERE t.name = :name") + , @NamedQuery(name = "TblAcquisitionSource.findLikeName", query = "SELECT t FROM TblAcquisitionSource t WHERE t.name LIKE :name")}) public class TblAcquisitionSource implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionType.java index 5c8d51a6..e2993fe0 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAcquisitionType.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAlternativeAccessionNumber.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAlternativeAccessionNumber.java index 8a65fac3..db0e6fcc 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAlternativeAccessionNumber.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblAlternativeAccessionNumber.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObject.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObject.java index 043e8098..928ab0e5 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObject.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObject.java @@ -16,32 +16,33 @@ package org.jacq.common.model.jpa; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -74,8 +75,7 @@ public class TblBotanicalObject implements Serializable { @Column(name = "scientific_name_id") private long scientificNameId; @Column(name = "determination_date") - @Temporal(TemporalType.DATE) - private Date determinationDate; + private LocalDate determinationDate; @Lob @Size(max = 65535) @Column(name = "habitat") @@ -169,11 +169,11 @@ public void setScientificNameId(long scientificNameId) { this.scientificNameId = scientificNameId; } - public Date getDeterminationDate() { + public LocalDate getDeterminationDate() { return determinationDate; } - public void setDeterminationDate(Date determinationDate) { + public void setDeterminationDate(LocalDate determinationDate) { this.determinationDate = determinationDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObjectSex.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObjectSex.java index b00900c0..cd586ec1 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObjectSex.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblBotanicalObjectSex.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificate.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificate.java index c6a3ae8a..dddd7255 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificate.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificate.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificateType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificateType.java index 90557488..81e7d2a4 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificateType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCertificateType.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassification.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassification.java index df447b90..d3efe948 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassification.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassification.java @@ -16,22 +16,23 @@ package org.jacq.common.model.jpa; import java.io.Serializable; +import java.time.LocalDate; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -54,7 +55,11 @@ , @NamedQuery(name = "TblClassification.findByTimestamp", query = "SELECT t FROM TblClassification t WHERE t.timestamp = :timestamp") , @NamedQuery(name = "TblClassification.findByParentScientificNameId", query = "SELECT t FROM TblClassification t WHERE t.parentScientificNameId = :parentScientificNameId") , @NamedQuery(name = "TblClassification.findByNumber", query = "SELECT t FROM TblClassification t WHERE t.number = :number") - , @NamedQuery(name = "TblClassification.findByOrder", query = "SELECT t FROM TblClassification t WHERE t.order = :order")}) + , @NamedQuery(name = "TblClassification.findByOrder", query = "SELECT t FROM TblClassification t WHERE t.order = :order") + , @NamedQuery(name = "TblClassification.findBySourceAndAcceptedAndScientificNameId", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.scientificNameId = :scientificNameId") + , @NamedQuery(name = "TblClassification.findTopLevelBySource", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.parentScientificNameId IS NULL") + , @NamedQuery(name = "TblClassification.findBySourceAndParent", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.parentScientificNameId = :parentScientificNameId") + , @NamedQuery(name = "TblClassification.findAllAvailable", query = "SELECT t FROM TblClassification t WHERE t.parentScientificNameId IS NULL GROUP BY t.source, t.sourceId")}) public class TblClassification implements Serializable { private static final long serialVersionUID = 1L; @@ -70,8 +75,7 @@ public class TblClassification implements Serializable { @Column(name = "acc_scientific_name_id") private Long accScientificNameId; @Column(name = "ref_date") - @Temporal(TemporalType.DATE) - private Date refDate; + private LocalDate refDate; @Basic(optional = false) @NotNull @Column(name = "preferred_taxonomy") @@ -133,11 +137,11 @@ public void setAccScientificNameId(Long accScientificNameId) { this.accScientificNameId = accScientificNameId; } - public Date getRefDate() { + public LocalDate getRefDate() { return refDate; } - public void setRefDate(Date refDate) { + public void setRefDate(LocalDate refDate) { this.refDate = refDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassificationChorolStatus.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassificationChorolStatus.java index 46fbe5e6..620501a7 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassificationChorolStatus.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblClassificationChorolStatus.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /* * Custom imports */ -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCultivar.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCultivar.java index 59cc3af3..ddbb7b74 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCultivar.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblCultivar.java @@ -17,23 +17,23 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -45,7 +45,8 @@ @NamedQueries({ @NamedQuery(name = "TblCultivar.findAll", query = "SELECT t FROM TblCultivar t") , @NamedQuery(name = "TblCultivar.findByCultivarId", query = "SELECT t FROM TblCultivar t WHERE t.cultivarId = :cultivarId") - , @NamedQuery(name = "TblCultivar.findByCultivar", query = "SELECT t FROM TblCultivar t WHERE t.cultivar = :cultivar")}) + , @NamedQuery(name = "TblCultivar.findByCultivar", query = "SELECT t FROM TblCultivar t WHERE t.cultivar = :cultivar") + , @NamedQuery(name = "TblCultivar.findByScientificNameId", query = "SELECT t FROM TblCultivar t INNER JOIN t.scientificNameId s WHERE s.scientificNameId = :scientificNameId")}) public class TblCultivar implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivative.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivative.java index bc5f6664..ca2b8194 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivative.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivative.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -47,7 +47,10 @@ @NamedQuery(name = "TblDerivative.findAll", query = "SELECT t FROM TblDerivative t") , @NamedQuery(name = "TblDerivative.findByDerivativeId", query = "SELECT t FROM TblDerivative t WHERE t.derivativeId = :derivativeId") , @NamedQuery(name = "TblDerivative.findByCount", query = "SELECT t FROM TblDerivative t WHERE t.count = :count") - , @NamedQuery(name = "TblDerivative.findByPrice", query = "SELECT t FROM TblDerivative t WHERE t.price = :price")}) + , @NamedQuery(name = "TblDerivative.findByPrice", query = "SELECT t FROM TblDerivative t WHERE t.price = :price") + , @NamedQuery(name = "TblDerivative.findByOrganisationListAndIndexSeminum", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.indexSeminum = true and d.organisationId in :organisationList") + , @NamedQuery(name = "TblDerivative.findByLivingPlantList", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.id in :tblLivingPlantList") + , @NamedQuery(name = "TblDerivative.findByNotInTblLivingPlantListAndOrangisation", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.id not in (:tblLivingPlantList) and d.organisationId = (:organisationId)")}) public class TblDerivative implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivativeType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivativeType.java index 18dfc5a6..fe0f1a65 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivativeType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDerivativeType.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiaspora.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiaspora.java index 81b80cef..77db6d0b 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiaspora.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiaspora.java @@ -16,20 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiasporaBank.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiasporaBank.java index 36bacc9a..9120485c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiasporaBank.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblDiasporaBank.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoNation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoNation.java index 554d59c0..8524c114 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoNation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoNation.java @@ -16,16 +16,16 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoProvince.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoProvince.java index 7e7acb73..bb0a189a 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoProvince.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblGeoProvince.java @@ -16,16 +16,16 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblHabitusType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblHabitusType.java index 0a0a6631..4bab532e 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblHabitusType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblHabitusType.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIdentStatus.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIdentStatus.java index 74ae81c0..3856d6b1 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIdentStatus.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIdentStatus.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImageServer.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImageServer.java index 39776d56..afc232d4 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImageServer.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImageServer.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportError.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportError.java index ea440a7f..07fb3e45 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportError.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportError.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportProperties.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportProperties.java index aec063e5..3957c6a7 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportProperties.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblImportProperties.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -45,7 +45,9 @@ , @NamedQuery(name = "TblImportProperties.findByIDPflanze", query = "SELECT t FROM TblImportProperties t WHERE t.iDPflanze = :iDPflanze") , @NamedQuery(name = "TblImportProperties.findBySpeciesName", query = "SELECT t FROM TblImportProperties t WHERE t.speciesName = :speciesName") , @NamedQuery(name = "TblImportProperties.findBySourceName", query = "SELECT t FROM TblImportProperties t WHERE t.sourceName = :sourceName") - , @NamedQuery(name = "TblImportProperties.findByOriginalBotanicalObjectId", query = "SELECT t FROM TblImportProperties t WHERE t.originalBotanicalObjectId = :originalBotanicalObjectId")}) + , @NamedQuery(name = "TblImportProperties.findByOriginalBotanicalObjectId", query = "SELECT t FROM TblImportProperties t WHERE t.originalBotanicalObjectId = :originalBotanicalObjectId") + , @NamedQuery(name = "TblImportProperties.findByOriginalBotanicalObjectIdAndSourceName", query = "SELECT t FROM TblImportProperties t WHERE t.originalBotanicalObjectId = :originalBotanicalObjectId AND t.sourceName = :sourceName") + , @NamedQuery(name = "TblCultivar.findByCultivarAndScientificNameId", query = "SELECT t FROM TblCultivar t INNER JOIN t.scientificNameId sni WHERE t.cultivar = :cultivar AND sni.scientificNameId = :scientificNameId")}) public class TblImportProperties implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumContent.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumContent.java index e91d52a9..a4b53e77 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumContent.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumContent.java @@ -18,27 +18,27 @@ import java.io.Serializable; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -58,7 +58,8 @@ @NamedQuery(name = "TblIndexSeminumContent.findByLatitude", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.latitude = :latitude"), @NamedQuery(name = "TblIndexSeminumContent.findByLongitude", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.longitude = :longitude"), @NamedQuery(name = "TblIndexSeminumContent.findByAcquisitionDate", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.acquisitionDate = :acquisitionDate"), - @NamedQuery(name = "TblIndexSeminumContent.findByTimestamp", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.timestamp = :timestamp")}) + @NamedQuery(name = "TblIndexSeminumContent.findByTimestamp", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.timestamp = :timestamp"), + @NamedQuery(name = "TblIndexSeminumContent.findByIndexSeminumRevisionId", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.indexSeminumRevisionId = :indexSeminumRevisionId")}) public class TblIndexSeminumContent implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumPerson.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumPerson.java index a0c89990..b058b920 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumPerson.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumPerson.java @@ -17,23 +17,23 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumRevision.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumRevision.java index 2b46450f..f4ccbc5d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumRevision.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumRevision.java @@ -18,26 +18,26 @@ import java.io.Serializable; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -50,7 +50,8 @@ @NamedQuery(name = "TblIndexSeminumRevision.findAll", query = "SELECT t FROM TblIndexSeminumRevision t") , @NamedQuery(name = "TblIndexSeminumRevision.findByIndexSeminumRevisionId", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.indexSeminumRevisionId = :indexSeminumRevisionId") , @NamedQuery(name = "TblIndexSeminumRevision.findByName", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.name = :name") - , @NamedQuery(name = "TblIndexSeminumRevision.findByTimestamp", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.timestamp = :timestamp")}) + , @NamedQuery(name = "TblIndexSeminumRevision.findByTimestamp", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.timestamp = :timestamp") + , @NamedQuery(name = "TblIndexSeminumRevision.findByUserId", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.userId = :userId")}) public class TblIndexSeminumRevision implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumType.java index a6bbcf45..d4fc216d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblIndexSeminumType.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventory.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventory.java index cd48e5ae..0ee3f1b7 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventory.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventory.java @@ -18,24 +18,24 @@ import java.io.Serializable; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryObject.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryObject.java index c4ee37f5..462afefe 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryObject.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryObject.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryType.java index 9366930b..c3205546 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblInventoryType.java @@ -18,24 +18,24 @@ import java.io.Serializable; import java.util.Date; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLabelType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLabelType.java index 055115e7..da7a198d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLabelType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLabelType.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlant.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlant.java index ae6e507b..bd871c78 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlant.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlant.java @@ -16,30 +16,30 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -64,7 +64,9 @@ , @NamedQuery(name = "TblLivingPlant.findByReviewed", query = "SELECT t FROM TblLivingPlant t WHERE t.reviewed = :reviewed") , @NamedQuery(name = "TblLivingPlant.findByHasImage", query = "SELECT t FROM TblLivingPlant t WHERE t.hasImage = :hasImage") , @NamedQuery(name = "TblLivingPlant.findByHasPublicImage", query = "SELECT t FROM TblLivingPlant t WHERE t.hasPublicImage = :hasPublicImage") - , @NamedQuery(name = "TblLivingPlant.findBySeminumCount", query = "SELECT t FROM TblLivingPlant t WHERE t.seminumCount = :seminumCount")}) + , @NamedQuery(name = "TblLivingPlant.findBySeminumCount", query = "SELECT t FROM TblLivingPlant t WHERE t.seminumCount = :seminumCount") + , @NamedQuery(name = "TblLivingPlant.resetImageStatus", query = "UPDATE TblLivingPlant t SET t.hasImage = FALSE, t.hasPublicImage = FALSE WHERE t.tblDerivative IN ( SELECT td FROM TblDerivative td WHERE td.organisationId IN (:organisations) )") + , @NamedQuery(name = "TblLivingPlant.findByAccessionNumberList", query = "SELECT t FROM TblLivingPlant t WHERE t.accessionNumber in (:accessionNumberList)")}) public class TblLivingPlant implements Serializable { private static final long serialVersionUID = 1L; @@ -105,8 +107,7 @@ public class TblLivingPlant implements Serializable { @Column(name = "culture_notes") private String cultureNotes; @Column(name = "cultivation_date") - @Temporal(TemporalType.DATE) - private Date cultivationDate; + private LocalDate cultivationDate; @Column(name = "label_synonym_scientific_name_id") private Long labelSynonymScientificNameId; @Lob @@ -252,11 +253,11 @@ public void setCultureNotes(String cultureNotes) { this.cultureNotes = cultureNotes; } - public Date getCultivationDate() { + public LocalDate getCultivationDate() { return cultivationDate; } - public void setCultivationDate(Date cultivationDate) { + public void setCultivationDate(LocalDate cultivationDate) { this.cultivationDate = cultivationDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlantTreeRecordFilePage.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlantTreeRecordFilePage.java index dcc97001..67a515f0 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlantTreeRecordFilePage.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLivingPlantTreeRecordFilePage.java @@ -16,23 +16,23 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import java.time.LocalDate; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -59,8 +59,7 @@ public class TblLivingPlantTreeRecordFilePage implements Serializable { @Column(name = "corrections_done") private boolean correctionsDone; @Column(name = "corrections_date") - @Temporal(TemporalType.DATE) - private Date correctionsDate; + private LocalDate correctionsDate; @JoinColumn(name = "living_plant_id", referencedColumnName = "id") @ManyToOne(optional = false, fetch = FetchType.LAZY) private TblLivingPlant livingPlantId; @@ -96,11 +95,11 @@ public void setCorrectionsDone(boolean correctionsDone) { this.correctionsDone = correctionsDone; } - public Date getCorrectionsDate() { + public LocalDate getCorrectionsDate() { return correctionsDate; } - public void setCorrectionsDate(Date correctionsDate) { + public void setCorrectionsDate(LocalDate correctionsDate) { this.correctionsDate = correctionsDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocation.java index 9df82b0c..f650aa9a 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocation.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -45,7 +45,8 @@ @XmlRootElement @NamedQueries({ @NamedQuery(name = "TblLocation.findAll", query = "SELECT t FROM TblLocation t") - , @NamedQuery(name = "TblLocation.findById", query = "SELECT t FROM TblLocation t WHERE t.id = :id")}) + , @NamedQuery(name = "TblLocation.findById", query = "SELECT t FROM TblLocation t WHERE t.id = :id") + , @NamedQuery(name = "TblLocation.findByLocation", query = "SELECT t FROM TblLocation t WHERE t.location = :location")}) public class TblLocation implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationCoordinates.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationCoordinates.java index 6838383c..431bf29b 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationCoordinates.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationCoordinates.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationGeonames.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationGeonames.java index a7c66ed7..ae1f56fa 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationGeonames.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblLocationGeonames.java @@ -16,20 +16,20 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomEpithet.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomEpithet.java index db925f5d..b70989d1 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomEpithet.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomEpithet.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -43,7 +43,8 @@ @NamedQueries({ @NamedQuery(name = "TblNomEpithet.findAll", query = "SELECT t FROM TblNomEpithet t") , @NamedQuery(name = "TblNomEpithet.findByEpithetId", query = "SELECT t FROM TblNomEpithet t WHERE t.epithetId = :epithetId") - , @NamedQuery(name = "TblNomEpithet.findByEpithet", query = "SELECT t FROM TblNomEpithet t WHERE t.epithet = :epithet")}) + , @NamedQuery(name = "TblNomEpithet.findByEpithet", query = "SELECT t FROM TblNomEpithet t WHERE t.epithet = :epithet") + , @NamedQuery(name = "TblNomEpithet.findLikeEpithet", query = "SELECT t FROM TblNomEpithet t WHERE t.epithet LIKE :epithet")}) public class TblNomEpithet implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomName.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomName.java index 8610c3cb..c57ff70a 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomName.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomName.java @@ -17,24 +17,24 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -45,7 +45,12 @@ @XmlRootElement @NamedQueries({ @NamedQuery(name = "TblNomName.findAll", query = "SELECT t FROM TblNomName t") - , @NamedQuery(name = "TblNomName.findByNameId", query = "SELECT t FROM TblNomName t WHERE t.nameId = :nameId")}) + , @NamedQuery(name = "TblNomName.findByNameId", query = "SELECT t FROM TblNomName t WHERE t.nameId = :nameId") + , @NamedQuery(name = "TblNomName.findBySubstantive", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IS NULL AND t.secondEpithetId IS NULL") + , @NamedQuery(name = "TblNomName.findBySubstantiveAndFirstEpithet", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IN (:firstEpithetIds) AND t.secondEpithetId IS NULL") + , @NamedQuery(name = "TblNomName.findBySubstantiveAndFirstEpithetAndSecondEpithet", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IN (:firstEpithetIds) AND t.secondEpithetId IN (:secondEpithetIds)") + , @NamedQuery(name = "TblNomName.findBySubstantiveAndRank", query = "SELECT t FROM TblNomName t INNER JOIN t.substantiveId s INNER JOIN t.rankId r WHERE s.substantiveId = :substantiveId AND r.rankId = :rankId") + , @NamedQuery(name = "TblNomName.findNameIdAndScientificName", query = "SELECT new org.jacq.common.model.jpa.ScientificName(t.nameId, v.scientificName) FROM TblNomName t JOIN t.viewScientificName v WHERE t.nameId = :scientificNameId")}) public class TblNomName implements Serializable { private static final long serialVersionUID = 1L; @@ -69,10 +74,10 @@ public class TblNomName implements Serializable { @ManyToMany private List tblPersonList; @JoinColumn(name = "first_epithet_id", referencedColumnName = "epithet_id") - @ManyToOne(optional = false) + @ManyToOne() private TblNomEpithet firstEpithetId; @JoinColumn(name = "second_epithet_id", referencedColumnName = "epithet_id") - @ManyToOne(optional = false) + @ManyToOne() private TblNomEpithet secondEpithetId; @JoinColumn(name = "substantive_id", referencedColumnName = "substantive_id") @ManyToOne(optional = false) diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomRank.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomRank.java index c1eacd86..8ebae79b 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomRank.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomRank.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomStatus.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomStatus.java index b9ac6c1e..ebbdda04 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomStatus.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomStatus.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomSubstantive.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomSubstantive.java index 4b75fd11..2176859e 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomSubstantive.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblNomSubstantive.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -43,7 +43,8 @@ @NamedQueries({ @NamedQuery(name = "TblNomSubstantive.findAll", query = "SELECT t FROM TblNomSubstantive t") , @NamedQuery(name = "TblNomSubstantive.findBySubstantiveId", query = "SELECT t FROM TblNomSubstantive t WHERE t.substantiveId = :substantiveId") - , @NamedQuery(name = "TblNomSubstantive.findBySubstantive", query = "SELECT t FROM TblNomSubstantive t WHERE t.substantive = :substantive")}) + , @NamedQuery(name = "TblNomSubstantive.findBySubstantive", query = "SELECT t FROM TblNomSubstantive t WHERE t.substantive = :substantive") + , @NamedQuery(name = "TblNomSubstantive.findLikeSubstantive", query = "SELECT t FROM TblNomSubstantive t WHERE t.substantive LIKE :substantive")}) public class TblNomSubstantive implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblOrganisation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblOrganisation.java index 63fe4218..08e7d222 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblOrganisation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblOrganisation.java @@ -17,25 +17,25 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPerson.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPerson.java index 70b67477..44380660 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPerson.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPerson.java @@ -17,22 +17,22 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -44,7 +44,8 @@ @NamedQueries({ @NamedQuery(name = "TblPerson.findAll", query = "SELECT t FROM TblPerson t") , @NamedQuery(name = "TblPerson.findById", query = "SELECT t FROM TblPerson t WHERE t.id = :id") - , @NamedQuery(name = "TblPerson.findByName", query = "SELECT t FROM TblPerson t WHERE t.name = :name")}) + , @NamedQuery(name = "TblPerson.findByName", query = "SELECT t FROM TblPerson t WHERE t.name = :name") + , @NamedQuery(name = "TblPerson.findByLikeName", query = "SELECT t FROM TblPerson t WHERE t.name like :name")}) public class TblPerson implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPhenology.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPhenology.java index 8a8a67e5..f93b8ddd 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPhenology.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblPhenology.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblRelevancyType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblRelevancyType.java index 25929692..9ca5b9c9 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblRelevancyType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblRelevancyType.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblScientificNameInformation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblScientificNameInformation.java index 54f396f8..4f1c2c36 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblScientificNameInformation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblScientificNameInformation.java @@ -17,23 +17,23 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeed.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeed.java index a7e7756c..e96454e4 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeed.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeed.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrder.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrder.java index 29b20608..d7cbeae8 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrder.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrder.java @@ -16,31 +16,31 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.Lob; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * @@ -53,7 +53,8 @@ @NamedQuery(name = "TblSeedOrder.findAll", query = "SELECT t FROM TblSeedOrder t") , @NamedQuery(name = "TblSeedOrder.findBySeedOrderId", query = "SELECT t FROM TblSeedOrder t WHERE t.seedOrderId = :seedOrderId") , @NamedQuery(name = "TblSeedOrder.findByOrderDate", query = "SELECT t FROM TblSeedOrder t WHERE t.orderDate = :orderDate") - , @NamedQuery(name = "TblSeedOrder.findByComplete", query = "SELECT t FROM TblSeedOrder t WHERE t.complete = :complete")}) + , @NamedQuery(name = "TblSeedOrder.findByComplete", query = "SELECT t FROM TblSeedOrder t WHERE t.complete = :complete") + , @NamedQuery(name = "TblSeedOrder.findBySenderUserId", query = "SELECT t FROM TblSeedOrder t WHERE t.senderUserId = :senderUserId")}) public class TblSeedOrder implements Serializable { private static final long serialVersionUID = 1L; @@ -65,8 +66,7 @@ public class TblSeedOrder implements Serializable { @Basic(optional = false) @NotNull @Column(name = "order_date") - @Temporal(TemporalType.DATE) - private Date orderDate; + private LocalDate orderDate; @Lob @Size(max = 65535) @Column(name = "annotation") @@ -94,7 +94,7 @@ public TblSeedOrder(Long seedOrderId) { this.seedOrderId = seedOrderId; } - public TblSeedOrder(Long seedOrderId, Date orderDate, boolean complete) { + public TblSeedOrder(Long seedOrderId, LocalDate orderDate, boolean complete) { this.seedOrderId = seedOrderId; this.orderDate = orderDate; this.complete = complete; @@ -108,11 +108,11 @@ public void setSeedOrderId(Long seedOrderId) { this.seedOrderId = seedOrderId; } - public Date getOrderDate() { + public LocalDate getOrderDate() { return orderDate; } - public void setOrderDate(Date orderDate) { + public void setOrderDate(LocalDate orderDate) { this.orderDate = orderDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrderDerivative.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrderDerivative.java index baa7d357..83517108 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrderDerivative.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeedOrderDerivative.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparation.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparation.java index 305a4201..c9457919 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparation.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparation.java @@ -16,24 +16,24 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import java.time.LocalDate; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -55,8 +55,7 @@ public class TblSeparation implements Serializable { @Column(name = "separation_id") private Long separationId; @Column(name = "date") - @Temporal(TemporalType.DATE) - private Date date; + private LocalDate date; @Lob @Size(max = 65535) @Column(name = "annotation") @@ -83,11 +82,11 @@ public void setSeparationId(Long separationId) { this.separationId = separationId; } - public Date getDate() { + public LocalDate getDate() { return date; } - public void setDate(Date date) { + public void setDate(LocalDate date) { this.date = date; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparationType.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparationType.java index a8d13470..cbc2428e 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparationType.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSeparationType.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSequence.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSequence.java index c7007771..57b8e494 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSequence.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSequence.java @@ -16,16 +16,16 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSex.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSex.java index 3cb1762c..46a502ff 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSex.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSex.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.ManyToMany; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimen.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimen.java index 719ef0f8..e310c783 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimen.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimen.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -42,7 +42,8 @@ @NamedQueries({ @NamedQuery(name = "TblSpecimen.findAll", query = "SELECT t FROM TblSpecimen t") , @NamedQuery(name = "TblSpecimen.findBySpecimenId", query = "SELECT t FROM TblSpecimen t WHERE t.specimenId = :specimenId") - , @NamedQuery(name = "TblSpecimen.findByHerbarNumber", query = "SELECT t FROM TblSpecimen t WHERE t.herbarNumber = :herbarNumber")}) + , @NamedQuery(name = "TblSpecimen.findByHerbarNumber", query = "SELECT t FROM TblSpecimen t WHERE t.herbarNumber = :herbarNumber") + , @NamedQuery(name = "TblSpecimen.findByBotanicalObjectId", query = "SELECT t FROM TblSpecimen t WHERE t.specimenId in (SELECT td.derivativeId FROM TblDerivative td WHERE td.botanicalObjectId = (:botanicalObjectId))")}) public class TblSpecimen implements Serializable { private static final long serialVersionUID = 1L; diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimenOld.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimenOld.java index f2c41d1a..073fee1c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimenOld.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblSpecimenOld.java @@ -17,23 +17,23 @@ import java.io.Serializable; import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFile.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFile.java index 2c7666e5..a555ccb4 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFile.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFile.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFilePage.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFilePage.java index 7d589232..d28a1ebe 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFilePage.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblTreeRecordFilePage.java @@ -17,25 +17,25 @@ import java.io.Serializable; import java.util.List; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblUserClassificationSource.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblUserClassificationSource.java index 5022f2bb..bfd1d44c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblUserClassificationSource.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblUserClassificationSource.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblVegetative.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblVegetative.java index 2f0be1b1..38d6f144 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/TblVegetative.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/TblVegetative.java @@ -16,24 +16,24 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import java.util.Date; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import java.time.LocalDate; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * @@ -49,7 +49,8 @@ , @NamedQuery(name = "TblVegetative.findByCultivationDate", query = "SELECT t FROM TblVegetative t WHERE t.cultivationDate = :cultivationDate") , @NamedQuery(name = "TblVegetative.findByIndexSeminum", query = "SELECT t FROM TblVegetative t WHERE t.indexSeminum = :indexSeminum") , @NamedQuery(name = "TblVegetative.findByPlaceNumber", query = "SELECT t FROM TblVegetative t WHERE t.placeNumber = :placeNumber") - , @NamedQuery(name = "TblVegetative.findBySeparated", query = "SELECT t FROM TblVegetative t WHERE t.separated = :separated")}) + , @NamedQuery(name = "TblVegetative.findBySeparated", query = "SELECT t FROM TblVegetative t WHERE t.separated = :separated") + , @NamedQuery(name = "TblVegetative.findByBotanicalObjectId", query = "SELECT v FROM TblVegetative v WHERE v.vegetativeId IN (SELECT td.derivativeId FROM TblDerivative td WHERE td.botanicalObjectId = :botanicalObjectId)")}) public class TblVegetative implements Serializable { private static final long serialVersionUID = 1L; @@ -63,8 +64,7 @@ public class TblVegetative implements Serializable { @Column(name = "accession_number") private long accessionNumber; @Column(name = "cultivation_date") - @Temporal(TemporalType.DATE) - private Date cultivationDate; + private LocalDate cultivationDate; @Basic(optional = false) @NotNull @Column(name = "index_seminum") @@ -117,11 +117,11 @@ public void setAccessionNumber(long accessionNumber) { this.accessionNumber = accessionNumber; } - public Date getCultivationDate() { + public LocalDate getCultivationDate() { return cultivationDate; } - public void setCultivationDate(Date cultivationDate) { + public void setCultivationDate(LocalDate cultivationDate) { this.cultivationDate = cultivationDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewClassificationResult.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewClassificationResult.java index 72b300c2..d1f657a2 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewClassificationResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewClassificationResult.java @@ -16,19 +16,19 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.rest.ClassificationSourceType; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewPerson.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewPerson.java index 4f09591d..55756d37 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewPerson.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewPerson.java @@ -16,16 +16,16 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewProtolog.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewProtolog.java index 5f34deac..61824267 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewProtolog.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewProtolog.java @@ -16,17 +16,17 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewScientificName.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewScientificName.java index 22451e25..97644c88 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewScientificName.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewScientificName.java @@ -16,17 +16,17 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewTaxon.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewTaxon.java index b30e7245..ad3f0ffc 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewTaxon.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/ViewTaxon.java @@ -16,17 +16,17 @@ package org.jacq.common.model.jpa; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/BotanicalObjectDerivative.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/BotanicalObjectDerivative.java index df338503..514dc942 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/BotanicalObjectDerivative.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/BotanicalObjectDerivative.java @@ -16,14 +16,14 @@ package org.jacq.common.model.jpa.custom; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * Union object for displaying and search botanical object derivatives diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedQueries.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedQueries.java deleted file mode 100644 index a116765f..00000000 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedQueries.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2017 wkoller. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jacq.common.model.jpa.custom; - -import javax.persistence.MappedSuperclass; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; - -/** - * - * @author wkoller - */ -@MappedSuperclass -@NamedQueries({ - @NamedQuery(name = "RevClassification.findByUuidMinterIdAndParent", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId = :accScientificNameId ORDER BY r.order ASC, r.scientificName ASC") - , @NamedQuery(name = "RevClassification.findByUuidMinterIdAndTopLevel", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId IS NULL ORDER BY r.order ASC, r.scientificName ASC") - , @NamedQuery(name = "RevClassification.findByUuidMinterIdAndTopLevelAndProvinceId", query = "SELECT r FROM RevClassification r WHERE r.uuidMinterId = :uuidMinterId AND r.accScientificNameId IS NULL AND r.provinceIds LIKE :provinceId ORDER BY r.order ASC, r.scientificName ASC") - , @NamedQuery(name = "TblDerivative.findByOrganisationListAndIndexSeminum", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.indexSeminum = true and d.organisationId in :organisationList") - , @NamedQuery(name = "TblDerivative.findByLivingPlantList", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.id in :tblLivingPlantList") - , @NamedQuery(name = "TblDerivative.findByNotInTblLivingPlantListAndOrangisation", query = "SELECT d FROM TblDerivative d INNER JOIN d.tblLivingPlant l WHERE l.id not in (:tblLivingPlantList) and d.organisationId = (:organisationId)") - , @NamedQuery(name = "TblClassification.findTopLevelBySource", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.parentScientificNameId IS NULL") - , @NamedQuery(name = "TblClassification.findBySourceAndParent", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.parentScientificNameId = :parentScientificNameId") - , @NamedQuery(name = "TblClassification.findBySourceAndAcceptedAndScientificNameId", query = "SELECT t FROM TblClassification t WHERE t.source = :source AND t.sourceId = :sourceId AND t.scientificNameId = :scientificNameId") - , @NamedQuery(name = "TblLivingPlant.resetImageStatus", query = "UPDATE TblLivingPlant t SET t.hasImage = FALSE, t.hasPublicImage = FALSE WHERE t.tblDerivative IN ( SELECT td FROM TblDerivative td WHERE td.organisationId IN (:organisations) )") - , @NamedQuery(name = "TblLivingPlant.findByAccessionNumberList", query = "SELECT t FROM TblLivingPlant t WHERE t.accessionNumber in (:accessionNumberList)") - , @NamedQuery(name = "TblImportProperties.findByOriginalBotanicalObjectIdAndSourceName", query = "SELECT t FROM TblImportProperties t WHERE t.originalBotanicalObjectId = :originalBotanicalObjectId AND t.sourceName = :sourceName") - , @NamedQuery(name = "TblCultivar.findByCultivarAndScientificNameId", query = "SELECT t FROM TblCultivar t INNER JOIN t.scientificNameId sni WHERE t.cultivar = :cultivar AND sni.scientificNameId = :scientificNameId") - , @NamedQuery(name = "TblNomName.findBySubstantive", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IS NULL AND t.secondEpithetId IS NULL") - , @NamedQuery(name = "TblNomName.findBySubstantiveAndFirstEpithet", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IN (:firstEpithetIds) AND t.secondEpithetId IS NULL") - , @NamedQuery(name = "TblNomName.findBySubstantiveAndFirstEpithetAndSecondEpithet", query = "SELECT t FROM TblNomName t WHERE t.substantiveId IN (:substantiveIds) AND t.firstEpithetId IN (:firstEpithetIds) AND t.secondEpithetId IN (:secondEpithetIds)") - , @NamedQuery(name = "TblNomSubstantive.findLikeSubstantive", query = "SELECT t FROM TblNomSubstantive t WHERE t.substantive LIKE :substantive") - , @NamedQuery(name = "TblNomEpithet.findLikeEpithet", query = "SELECT t FROM TblNomEpithet t WHERE t.epithet LIKE :epithet") - , @NamedQuery(name = "TblIndexSeminumContent.findByIndexSeminumRevisionId", query = "SELECT t FROM TblIndexSeminumContent t WHERE t.indexSeminumRevisionId = :indexSeminumRevisionId") - , @NamedQuery(name = "TblCultivar.findByScientificNameId", query = "SELECT t FROM TblCultivar t INNER JOIN t.scientificNameId s WHERE s.scientificNameId = :scientificNameId") - , @NamedQuery(name = "TblLocation.findByLocation", query = "SELECT t FROM TblLocation t WHERE t.location = :location") - , @NamedQuery(name = "TblClassification.findAllAvailable", query = "SELECT t FROM TblClassification t WHERE t.parentScientificNameId IS NULL GROUP BY t.source, t.sourceId") - , @NamedQuery(name = "TblVegetative.findByBotanicalObjectId", query = "SELECT v FROM TblVegetative v WHERE v.vegetativeId IN (SELECT td FROM TblDerivative td WHERE td.botanicalObjectId = :botanicalObjectId)") - , @NamedQuery(name = "TblAcquisitionSource.findLikeName", query = "SELECT t FROM TblAcquisitionSource t WHERE t.name LIKE :name") - , @NamedQuery(name = "TblSpecimen.findByBotanicalObjectId", query = "SELECT t FROM TblSpecimen t WHERE t.specimenId in (SELECT td FROM TblDerivative td WHERE td.botanicalObjectId = (:botanicalObjectId))") - , @NamedQuery(name = "FrmwrkaccessOrganisation.findByOrganisationIdandUserId", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.organisationId = :organisationId and f.userId = :userId") - , @NamedQuery(name = "FrmwrkaccessOrganisation.findByUserAndOrganisation", query = "SELECT f FROM FrmwrkaccessOrganisation f WHERE f.userId = :userId AND f.organisationId = :organisationId") - , @NamedQuery(name = "TblNomName.findBySubstantiveAndRank", query = "SELECT t FROM TblNomName t INNER JOIN t.substantiveId s INNER JOIN t.rankId r WHERE s.substantiveId = :substantiveId AND r.rankId = :rankId") - , @NamedQuery(name = "TblPerson.findByLikeName", query = "SELECT t FROM TblPerson t WHERE t.name like :name") - , @NamedQuery(name = "TblIndexSeminumRevision.findByUserId", query = "SELECT t FROM TblIndexSeminumRevision t WHERE t.userId = :userId") - , @NamedQuery(name = "TblSeedOrder.findBySenderUserId", query = "SELECT t FROM TblSeedOrder t WHERE t.senderUserId = :senderUserId") -}) -public class CustomNamedQueries { - -} diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedStoredProcedureQueries.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedStoredProcedureQueries.java index bef78a28..ba50666d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedStoredProcedureQueries.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/custom/CustomNamedStoredProcedureQueries.java @@ -15,11 +15,11 @@ */ package org.jacq.common.model.jpa.custom; -import javax.persistence.MappedSuperclass; -import javax.persistence.NamedStoredProcedureQueries; -import javax.persistence.NamedStoredProcedureQuery; -import javax.persistence.ParameterMode; -import javax.persistence.StoredProcedureParameter; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.NamedStoredProcedureQueries; +import jakarta.persistence.NamedStoredProcedureQuery; +import jakarta.persistence.ParameterMode; +import jakarta.persistence.StoredProcedureParameter; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblCommonNamesCache.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblCommonNamesCache.java index e05085bc..20ae16dc 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblCommonNamesCache.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblCommonNamesCache.java @@ -16,18 +16,18 @@ package org.jacq.common.model.jpa.openup; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblScientificNameCache.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblScientificNameCache.java index 6c3a1078..2a3712ff 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblScientificNameCache.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblScientificNameCache.java @@ -16,18 +16,18 @@ package org.jacq.common.model.jpa.openup; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblService.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblService.java index e84d1529..01ab0714 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblService.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblService.java @@ -17,21 +17,21 @@ import java.io.Serializable; import java.util.Collection; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.persistence.Basic; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblWebserviceCache.java b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblWebserviceCache.java index 9f0a0905..1fb9a15c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblWebserviceCache.java +++ b/jacq-common/src/main/java/org/jacq/common/model/jpa/openup/TblWebserviceCache.java @@ -16,21 +16,21 @@ package org.jacq.common.model.jpa.openup; import java.io.Serializable; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Lob; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import jakarta.xml.bind.annotation.XmlRootElement; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/model/names/CommonName.java b/jacq-common/src/main/java/org/jacq/common/model/names/CommonName.java index f7af694d..c42dab26 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/names/CommonName.java +++ b/jacq-common/src/main/java/org/jacq/common/model/names/CommonName.java @@ -19,8 +19,8 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import javax.persistence.Transient; -import javax.validation.Valid; +import jakarta.persistence.Transient; +import jakarta.validation.Valid; import org.apache.commons.lang3.StringUtils; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/names/taxamatch/Searchresult.java b/jacq-common/src/main/java/org/jacq/common/model/names/taxamatch/Searchresult.java index f52d11ed..7fd424e0 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/names/taxamatch/Searchresult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/names/taxamatch/Searchresult.java @@ -2,7 +2,7 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class Searchresult { diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/AcquistionEventSourceResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/AcquistionEventSourceResult.java index 95def3bd..4f86cddf 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/AcquistionEventSourceResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/AcquistionEventSourceResult.java @@ -15,10 +15,11 @@ */ package org.jacq.common.model.rest; +import org.jacq.common.model.jpa.TblAcquisitionEventSource; + +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import org.jacq.common.model.jpa.TblAcquisitionEventSource; /** * @@ -27,7 +28,7 @@ public class AcquistionEventSourceResult { private Long acquisitionEventSourceId; - private Date sourceDate; + private LocalDate sourceDate; private AcquisitionSourceResult acquisitionEventSource; public AcquistionEventSourceResult() { @@ -50,11 +51,11 @@ public void setAcquisitionEventSourceId(Long acquisitionEventSourceId) { this.acquisitionEventSourceId = acquisitionEventSourceId; } - public Date getSourceDate() { + public LocalDate getSourceDate() { return sourceDate; } - public void setSourceDate(Date sourceDate) { + public void setSourceDate(LocalDate sourceDate) { this.sourceDate = sourceDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectDownloadResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectDownloadResult.java index a45436c7..89009c43 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectDownloadResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectDownloadResult.java @@ -16,9 +16,9 @@ package org.jacq.common.model.rest; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblDerivative; import org.apache.commons.lang3.StringUtils; import org.jacq.common.model.jpa.TblClassification; diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectResult.java index 46fa4c7b..61ff5fff 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/BotanicalObjectResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblBotanicalObject; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/EmploymentTypeResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/EmploymentTypeResult.java index b328612b..b28f8248 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/EmploymentTypeResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/EmploymentTypeResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.FrmwrkEmploymentType; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/ImportPropertiesResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/ImportPropertiesResult.java index 86f51698..31698c1c 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/ImportPropertiesResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/ImportPropertiesResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblImportProperties; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumDownloadResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumDownloadResult.java index d6f7b580..f694c1bf 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumDownloadResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumDownloadResult.java @@ -15,9 +15,9 @@ */ package org.jacq.common.model.rest; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblIndexSeminumContent; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumResult.java index 1d275075..b95caf29 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/IndexSeminumResult.java @@ -18,9 +18,9 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblIndexSeminumRevision; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryResult.java index 05e17079..609b197b 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblInventory; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryTypeResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryTypeResult.java index dbd06443..afb4e6b4 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryTypeResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/InventoryTypeResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblInventoryType; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/LivingPlantResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/LivingPlantResult.java index 67e699ce..c0f91b56 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/LivingPlantResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/LivingPlantResult.java @@ -16,6 +16,7 @@ package org.jacq.common.model.rest; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -70,14 +71,14 @@ public class LivingPlantResult extends BotanicalObjectDerivative { protected Date recordingDate; protected Date incomingDate; - protected Date cultivationDate; + protected LocalDate cultivationDate; protected String generalAnnotation; protected PhenologyResult phenology; protected List acquistionEventSources; protected boolean redetermine; - protected Date determinationDate; + protected LocalDate determinationDate; protected IdentStatusResult identStatus; protected PersonResult determinedBy; protected boolean phytoControl; @@ -475,11 +476,11 @@ public void setIncomingDate(Date incomingDate) { this.incomingDate = incomingDate; } - public Date getCultivationDate() { + public LocalDate getCultivationDate() { return cultivationDate; } - public void setCultivationDate(Date cultivationDate) { + public void setCultivationDate(LocalDate cultivationDate) { this.cultivationDate = cultivationDate; } @@ -499,11 +500,11 @@ public void setPhenology(PhenologyResult phenology) { this.phenology = phenology; } - public Date getDeterminationDate() { + public LocalDate getDeterminationDate() { return determinationDate; } - public void setDeterminationDate(Date determinationDate) { + public void setDeterminationDate(LocalDate determinationDate) { this.determinationDate = determinationDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/OrganisationResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/OrganisationResult.java index 65501820..caebe63d 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/OrganisationResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/OrganisationResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblOrganisation; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/RevClassificationResponse.java b/jacq-common/src/main/java/org/jacq/common/model/rest/RevClassificationResponse.java index c5d59874..6b378f88 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/RevClassificationResponse.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/RevClassificationResponse.java @@ -17,11 +17,11 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlTransient; import org.jacq.common.model.jpa.RevClassification; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/RoleResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/RoleResult.java index 98d8adb8..4fe87461 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/RoleResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/RoleResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.FrmwrkRole; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/SeedOrderResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/SeedOrderResult.java index fca0f43b..5087fd6e 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/SeedOrderResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/SeedOrderResult.java @@ -15,8 +15,8 @@ */ package org.jacq.common.model.rest; +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; import org.jacq.common.model.jpa.TblDerivative; import org.jacq.common.model.jpa.TblSeedOrder; @@ -29,7 +29,7 @@ public class SeedOrderResult { protected Long seedOrderId; - protected Date orderDate; + protected LocalDate orderDate; protected String annotation; protected boolean complete; @@ -62,11 +62,11 @@ public void setSeedOrderId(Long seedOrderId) { this.seedOrderId = seedOrderId; } - public Date getOrderDate() { + public LocalDate getOrderDate() { return orderDate; } - public void setOrderDate(Date orderDate) { + public void setOrderDate(LocalDate orderDate) { this.orderDate = orderDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/SeparationResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/SeparationResult.java index 4c0b0c81..b1a78ad0 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/SeparationResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/SeparationResult.java @@ -15,10 +15,11 @@ */ package org.jacq.common.model.rest; +import org.jacq.common.model.jpa.TblSeparation; + +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import org.jacq.common.model.jpa.TblSeparation; /** * @see TblSeparation @@ -28,7 +29,8 @@ public class SeparationResult { protected Long separationId; - protected Date date; + + protected LocalDate date; protected String annotation; protected SeparationTypeResult separationType; @@ -54,11 +56,11 @@ public void setSeparationId(Long separationId) { this.separationId = separationId; } - public Date getDate() { + public LocalDate getDate() { return date; } - public void setDate(Date date) { + public void setDate(LocalDate date) { this.date = date; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFilePageResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFilePageResult.java index 6231adde..0c2b3271 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFilePageResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFilePageResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblTreeRecordFilePage; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFileResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFileResult.java index 53607782..8a998829 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFileResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/TreeRecordFileResult.java @@ -18,9 +18,9 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.TblTreeRecordFile; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/UserResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/UserResult.java index d4f1eaf8..1f055814 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/UserResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/UserResult.java @@ -15,12 +15,12 @@ */ package org.jacq.common.model.rest; +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.FrmwrkUser; /** @@ -39,7 +39,7 @@ public class UserResult { protected String firstname; protected String lastname; protected String titleSuffix; - protected Date birthdate; + protected LocalDate birthdate; protected Long userTypeId; protected String userType; protected Long employmentTypeId; @@ -160,11 +160,11 @@ public void setTitleSuffix(String titleSuffix) { this.titleSuffix = titleSuffix; } - public Date getBirthdate() { + public LocalDate getBirthdate() { return birthdate; } - public void setBirthdate(Date birthdate) { + public void setBirthdate(LocalDate birthdate) { this.birthdate = birthdate; } diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/UserTypeResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/UserTypeResult.java index c8a88039..26a36d91 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/UserTypeResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/UserTypeResult.java @@ -17,9 +17,9 @@ import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import org.jacq.common.model.jpa.FrmwrkUserType; /** diff --git a/jacq-common/src/main/java/org/jacq/common/model/rest/VegetativeResult.java b/jacq-common/src/main/java/org/jacq/common/model/rest/VegetativeResult.java index df7998b6..2a4680d5 100644 --- a/jacq-common/src/main/java/org/jacq/common/model/rest/VegetativeResult.java +++ b/jacq-common/src/main/java/org/jacq/common/model/rest/VegetativeResult.java @@ -15,8 +15,8 @@ */ package org.jacq.common.model.rest; +import java.time.LocalDate; import java.util.ArrayList; -import java.util.Date; import java.util.List; import org.jacq.common.model.jpa.TblVegetative; import org.jacq.common.model.jpa.custom.BotanicalObjectDerivative; @@ -29,7 +29,7 @@ public class VegetativeResult extends BotanicalObjectDerivative { protected Long vegetativeId; - protected Date cultivationDate; + protected LocalDate cultivationDate; protected String annotation; protected PhenologyResult phenology; protected OrganisationResult organisation; @@ -86,11 +86,11 @@ public void setVegetativeId(Long vegetativeId) { this.vegetativeId = vegetativeId; } - public Date getCultivationDate() { + public LocalDate getCultivationDate() { return cultivationDate; } - public void setCultivationDate(Date cultivationDate) { + public void setCultivationDate(LocalDate cultivationDate) { this.cultivationDate = cultivationDate; } diff --git a/jacq-common/src/main/java/org/jacq/common/rest/AcquisitionService.java b/jacq-common/src/main/java/org/jacq/common/rest/AcquisitionService.java index 6fbf6081..ce287e4c 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/AcquisitionService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/AcquisitionService.java @@ -16,12 +16,12 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.AcquisitionSourceResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/AuthorizationService.java b/jacq-common/src/main/java/org/jacq/common/rest/AuthorizationService.java index 5c9fee80..6dcc2cb2 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/AuthorizationService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/AuthorizationService.java @@ -17,13 +17,13 @@ import java.util.Date; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.AccessOrganisationResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/ClassificationService.java b/jacq-common/src/main/java/org/jacq/common/rest/ClassificationService.java index 2d40c393..39cfa525 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/ClassificationService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/ClassificationService.java @@ -17,13 +17,13 @@ import java.util.List; import java.util.UUID; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.ClassificationSourceType; import org.jacq.common.model.jpa.RevClassification; import org.jacq.common.model.jpa.ViewClassificationResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/DerivativeService.java b/jacq-common/src/main/java/org/jacq/common/rest/DerivativeService.java index c724da72..cd4c7f8d 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/DerivativeService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/DerivativeService.java @@ -16,14 +16,14 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import org.jacq.common.model.jpa.custom.BotanicalObjectDerivative; import org.jacq.common.model.rest.BotanicalObjectDownloadResult; import org.jacq.common.model.rest.CertificateTypeResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/GatheringService.java b/jacq-common/src/main/java/org/jacq/common/rest/GatheringService.java index 0fbb795b..51ffca07 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/GatheringService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/GatheringService.java @@ -16,12 +16,12 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.LocationResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/IndexSeminumService.java b/jacq-common/src/main/java/org/jacq/common/rest/IndexSeminumService.java index 425bfc5e..5d968277 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/IndexSeminumService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/IndexSeminumService.java @@ -16,13 +16,13 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.IndexSeminumDownloadResult; import org.jacq.common.model.rest.IndexSeminumResult; import org.jacq.common.model.rest.IndexSeminumTypeResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/InventoryService.java b/jacq-common/src/main/java/org/jacq/common/rest/InventoryService.java index 02df1fe2..397d2fc1 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/InventoryService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/InventoryService.java @@ -16,12 +16,12 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.InventoryResult; import org.jacq.common.model.rest.InventoryTypeResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/OrganisationService.java b/jacq-common/src/main/java/org/jacq/common/rest/OrganisationService.java index 26dfe26c..8ff9e2a9 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/OrganisationService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/OrganisationService.java @@ -16,13 +16,13 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.OrganisationResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/PersonService.java b/jacq-common/src/main/java/org/jacq/common/rest/PersonService.java index f18de9b5..dd06da39 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/PersonService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/PersonService.java @@ -16,12 +16,12 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.PersonResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/PortalService.java b/jacq-common/src/main/java/org/jacq/common/rest/PortalService.java index c4560cbb..566e8db6 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/PortalService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/PortalService.java @@ -16,11 +16,11 @@ package org.jacq.common.rest; import java.util.HashMap; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; /** * Any portal wide ("application scoped") services are in here diff --git a/jacq-common/src/main/java/org/jacq/common/rest/SeedExchangeService.java b/jacq-common/src/main/java/org/jacq/common/rest/SeedExchangeService.java index 058afe6b..c64b57a9 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/SeedExchangeService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/SeedExchangeService.java @@ -16,13 +16,13 @@ package org.jacq.common.rest; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.SeedOrderResult; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/TreeRecordFileService.java b/jacq-common/src/main/java/org/jacq/common/rest/TreeRecordFileService.java index affe805c..322a0aa0 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/TreeRecordFileService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/TreeRecordFileService.java @@ -17,13 +17,13 @@ import java.util.List; import java.util.Date; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.TreeRecordFilePageResult; import org.jacq.common.model.rest.TreeRecordFileResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/UserService.java b/jacq-common/src/main/java/org/jacq/common/rest/UserService.java index b7532699..03937821 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/UserService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/UserService.java @@ -17,13 +17,13 @@ import java.util.Date; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.EmploymentTypeResult; import org.jacq.common.model.rest.RoleResult; import org.jacq.common.model.rest.UserResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/UuidService.java b/jacq-common/src/main/java/org/jacq/common/rest/UuidService.java index 0fe5c804..f9f4e684 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/UuidService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/UuidService.java @@ -1,10 +1,10 @@ package org.jacq.common.rest; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; /** * UUID Service interface for handling unique identifiers across the jacq system diff --git a/jacq-common/src/main/java/org/jacq/common/rest/dataimport/DataImportService.java b/jacq-common/src/main/java/org/jacq/common/rest/dataimport/DataImportService.java index d521a52e..2d53ffeb 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/dataimport/DataImportService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/dataimport/DataImportService.java @@ -15,12 +15,12 @@ */ package org.jacq.common.rest.dataimport; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.dataimport.ImportFile; /** diff --git a/jacq-common/src/main/java/org/jacq/common/rest/exception/JacqRestException.java b/jacq-common/src/main/java/org/jacq/common/rest/exception/JacqRestException.java index e9c7b9d1..fe6dc4fb 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/exception/JacqRestException.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/exception/JacqRestException.java @@ -5,8 +5,8 @@ */ package org.jacq.common.rest.exception; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Response; /** * Main exception class to be used by REST service This is necessary because we can automatically fetch those exceptions diff --git a/jacq-common/src/main/java/org/jacq/common/rest/filter/ContentTypeResponseFilter.java b/jacq-common/src/main/java/org/jacq/common/rest/filter/ContentTypeResponseFilter.java index 11fbd4c2..9fab4fd8 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/filter/ContentTypeResponseFilter.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/filter/ContentTypeResponseFilter.java @@ -18,10 +18,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientResponseContext; -import javax.ws.rs.client.ClientResponseFilter; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.client.ClientRequestContext; +import jakarta.ws.rs.client.ClientResponseContext; +import jakarta.ws.rs.client.ClientResponseFilter; +import jakarta.ws.rs.core.MediaType; /** * diff --git a/jacq-common/src/main/java/org/jacq/common/rest/filter/RequestDebugFilter.java b/jacq-common/src/main/java/org/jacq/common/rest/filter/RequestDebugFilter.java index cc2d4632..689ec649 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/filter/RequestDebugFilter.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/filter/RequestDebugFilter.java @@ -19,9 +19,9 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientRequestFilter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.client.ClientRequestContext; +import jakarta.ws.rs.client.ClientRequestFilter; +import jakarta.ws.rs.ext.Provider; /** * Helper filter for debugging request sent through jax-rs diff --git a/jacq-common/src/main/java/org/jacq/common/rest/names/CommonNameService.java b/jacq-common/src/main/java/org/jacq/common/rest/names/CommonNameService.java index 0dfadf6a..55cde43b 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/names/CommonNameService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/names/CommonNameService.java @@ -15,13 +15,13 @@ */ package org.jacq.common.rest.names; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; /** * Common Names service interface diff --git a/jacq-common/src/main/java/org/jacq/common/rest/names/ScientificNameService.java b/jacq-common/src/main/java/org/jacq/common/rest/names/ScientificNameService.java index adc6c6ef..3f58f6e9 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/names/ScientificNameService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/names/ScientificNameService.java @@ -16,13 +16,13 @@ package org.jacq.common.rest.names; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.rest.CultivarResult; import org.jacq.common.model.rest.HabitusTypeResult; import org.jacq.common.model.rest.ScientificNameInformationResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/output/SearchService.java b/jacq-common/src/main/java/org/jacq/common/rest/output/SearchService.java index 123c1cf6..9046441a 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/output/SearchService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/output/SearchService.java @@ -16,12 +16,12 @@ package org.jacq.common.rest.output; import java.util.List; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import org.jacq.common.model.jpa.custom.BotanicalObjectDerivative; import org.jacq.common.model.rest.OrderDirection; import org.jacq.common.model.rest.OrganisationResult; diff --git a/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverter.java b/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverter.java index 9be6851a..6af425ac 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverter.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverter.java @@ -20,7 +20,7 @@ import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; -import javax.ws.rs.ext.ParamConverter; +import jakarta.ws.rs.ext.ParamConverter; /** * Custom converter for Date.class - required due to incompatibility between Date Constructor and toString diff --git a/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverterProvider.java b/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverterProvider.java index 9eb029ab..a1b4a3d1 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverterProvider.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/provider/CustomDateParamConverterProvider.java @@ -18,9 +18,9 @@ import java.lang.annotation.Annotation; import java.lang.reflect.Type; import java.util.Date; -import javax.ws.rs.ext.ParamConverter; -import javax.ws.rs.ext.ParamConverterProvider; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.ext.ParamConverter; +import jakarta.ws.rs.ext.ParamConverterProvider; +import jakarta.ws.rs.ext.Provider; /** * Provider for custom data param converter diff --git a/jacq-common/src/main/java/org/jacq/common/rest/report/LabelService.java b/jacq-common/src/main/java/org/jacq/common/rest/report/LabelService.java index 2d3aea3c..58563627 100644 --- a/jacq-common/src/main/java/org/jacq/common/rest/report/LabelService.java +++ b/jacq-common/src/main/java/org/jacq/common/rest/report/LabelService.java @@ -1,12 +1,12 @@ package org.jacq.common.rest.report; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; /** * Service for generating labels diff --git a/jacq-common/src/main/java/org/jacq/common/security/JacqCallerPrincipal.java b/jacq-common/src/main/java/org/jacq/common/security/JacqCallerPrincipal.java index 9cdff476..36c3c5f7 100644 --- a/jacq-common/src/main/java/org/jacq/common/security/JacqCallerPrincipal.java +++ b/jacq-common/src/main/java/org/jacq/common/security/JacqCallerPrincipal.java @@ -15,7 +15,7 @@ */ package org.jacq.common.security; -import javax.security.enterprise.CallerPrincipal; +import jakarta.security.enterprise.CallerPrincipal; import org.apache.commons.codec.binary.Base64; import org.jacq.common.model.rest.UserResult; diff --git a/jacq-common/src/main/java/org/jacq/common/util/ServicesUtil.java b/jacq-common/src/main/java/org/jacq/common/util/ServicesUtil.java index dee79879..08eae63c 100644 --- a/jacq-common/src/main/java/org/jacq/common/util/ServicesUtil.java +++ b/jacq-common/src/main/java/org/jacq/common/util/ServicesUtil.java @@ -15,6 +15,8 @@ */ package org.jacq.common.util; +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; @@ -22,7 +24,7 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javax.ws.rs.client.ClientRequestFilter; +import jakarta.ws.rs.client.ClientRequestFilter; import org.jacq.common.external.rest.GeoNamesService; import org.jacq.common.external.rest.ImageServer; import org.jacq.common.rest.AcquisitionService; @@ -133,13 +135,13 @@ public static SeedExchangeService getSeedExchangeService() { } public static String getWorkLabelURL(String type, Long derivativeId) { - try { + try (ResteasyClient resteasyClient = (ResteasyClient) ClientBuilder.newClient()) { Map templateParams = new HashMap<>(); templateParams.put("type", type); templateParams.put("derivative_id", derivativeId); Method workLabelMethod = LabelService.class.getMethod("getWork", String.class, Long.class); - ResteasyClient resteasyClient = new ResteasyClientBuilder().connectionPoolSize(20).build(); + ResteasyWebTarget resteasyWebTarget = resteasyClient.target(JACQ_SERVICE_REPORT_URL).path(LabelService.class).path(workLabelMethod).resolveTemplates(templateParams); return resteasyWebTarget.getUri().toString(); @@ -175,8 +177,9 @@ protected static T getProxy(Class serviceInterfaceClass, String serviceUR * @param serviceURI * @return */ - protected static T getProxy(Class serviceInterfaceClass, String serviceURI, boolean noClientRequestFilters) { - ResteasyClient resteasyClient = new ResteasyClientBuilder().connectionPoolSize(20).build(); + protected static T getProxy(Class serviceInterfaceClass, String serviceURI, + boolean noClientRequestFilters) { + Client resteasyClient = ClientBuilder.newBuilder().build(); resteasyClient.register(new CustomDateParamConverterProvider()); if (!noClientRequestFilters) { @@ -185,7 +188,7 @@ protected static T getProxy(Class serviceInterfaceClass, String serviceUR } } - ResteasyWebTarget resteasyWebTarget = resteasyClient.target(serviceURI); + ResteasyWebTarget resteasyWebTarget = (ResteasyWebTarget) resteasyClient.target(serviceURI); return (T) resteasyWebTarget.proxy(serviceInterfaceClass); } } diff --git a/jacq-common/src/main/resources/META-INF/beans.xml b/jacq-common/src/main/resources/META-INF/beans.xml new file mode 100644 index 00000000..6c9b0739 --- /dev/null +++ b/jacq-common/src/main/resources/META-INF/beans.xml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/jacq-dataimport/pom.xml b/jacq-dataimport/pom.xml index c587d250..40c95154 100644 --- a/jacq-dataimport/pom.xml +++ b/jacq-dataimport/pom.xml @@ -31,7 +31,7 @@ org.jboss.resteasy resteasy-client - 3.0.10.Final + 6.2.4.Final provided @@ -40,9 +40,15 @@ 2.1.3 - javax - javaee-web-api - 7.0 + jakarta.platform + jakarta.jakartaee-api + 9.1.0 + provided + + + jakarta.platform + jakarta.jakartaee-web-api + 9.1.0 provided @@ -53,47 +59,14 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 - 1.8 - 1.8 - - ${endorsed.dir} - + 17 + 17 org.apache.maven.plugins maven-war-plugin - 2.3 - - false - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.6 - - - validate - - copy - - - ${endorsed.dir} - true - - - javax - javaee-endorsed-api - 7.0 - jar - - - - - diff --git a/jacq-dataimport/src/main/java/org/jacq/service/JacqServiceConfig.java b/jacq-dataimport/src/main/java/org/jacq/service/JacqServiceConfig.java index 0e713b67..81bf0f28 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/JacqServiceConfig.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/JacqServiceConfig.java @@ -5,14 +5,14 @@ */ package org.jacq.service; +import jakarta.inject.Named; import java.util.HashMap; import java.util.List; -import javax.annotation.ManagedBean; -import javax.annotation.PostConstruct; -import javax.ejb.Singleton; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.TypedQuery; +import jakarta.annotation.PostConstruct; +import jakarta.ejb.Singleton; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.persistence.TypedQuery; import org.jacq.common.manager.JacqConfig; import org.jacq.common.model.jpa.FrmwrkConfig; @@ -21,7 +21,7 @@ * * @author wkoller */ -@ManagedBean +@Named @Singleton public class JacqServiceConfig extends JacqConfig { diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/BromiMdbImportManager.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/BromiMdbImportManager.java index f56d5651..cc51e8a4 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/BromiMdbImportManager.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/BromiMdbImportManager.java @@ -19,26 +19,29 @@ import com.healthmarketscience.jackcess.DatabaseBuilder; import com.healthmarketscience.jackcess.Row; import com.healthmarketscience.jackcess.Table; +import jakarta.inject.Inject; +import jakarta.inject.Named; +import org.apache.commons.lang3.StringUtils; +import org.jacq.common.model.dataimport.ImportFile; +import org.jacq.common.model.dataimport.ImportRecord; +import org.jacq.common.rest.dataimport.DataImportService; + import java.io.File; import java.io.IOException; import java.text.DateFormat; import java.text.ParseException; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.Date; import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.ManagedBean; -import javax.inject.Inject; -import org.apache.commons.lang3.StringUtils; -import org.jacq.common.model.dataimport.ImportFile; -import org.jacq.common.model.dataimport.ImportRecord; -import org.jacq.common.rest.dataimport.DataImportService; /** * * @author wkoller */ -@ManagedBean +@Named public class BromiMdbImportManager { private static final Logger LOGGER = Logger.getLogger(BromiMdbImportManager.class.getName()); @@ -163,7 +166,9 @@ public void importBromiMdb() throws IOException, ParseException { // try to parse the date as "normal" date try { - importRecord.setSeparationDate(DateFormat.getDateInstance(DateFormat.SHORT).parse(pflanzenAbgang)); + importRecord.setSeparationDate(DateFormat.getDateInstance(DateFormat.SHORT).parse(pflanzenAbgang).toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate()); importRecord.setSeparationType("dead (eliminated)"); } catch (ParseException pe) { // separate date information @@ -238,7 +243,8 @@ else if (pflanzenAbgangParts.length > 2) { if (month >= 0) { try { - Date separationDate = new Date(Integer.valueOf(pflanzenAbgangParts[1]) + 100, month, 1); + int year = Integer.valueOf(pflanzenAbgangParts[1]) + 1900; + LocalDate separationDate = LocalDate.of(year, month + 1, 1); importRecord.setSeparationDate(separationDate); importRecord.setSeparationType("dead (eliminated)"); } catch (Exception e) { @@ -255,7 +261,7 @@ else if (pflanzenAbgangParts.length > 2) { // Augarten entries have their own separation (static) if (glashaus.equals(glashausLookup.get("AG"))) { - importRecord.setSeparationDate(DateFormat.getDateInstance(DateFormat.SHORT).parse("17.12.2012")); + importRecord.setSeparationDate(LocalDate.of(2012, 12, 17)); importRecord.setSeparationType("separated"); importRecord.setSeparationAnnotation("Augarten"); } diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DataImportManager.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DataImportManager.java index 3490eff2..20b24de7 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DataImportManager.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DataImportManager.java @@ -15,11 +15,13 @@ */ package org.jacq.service.dataimport.manager; +import jakarta.inject.Named; import java.io.IOException; import java.io.StringReader; import java.nio.charset.Charset; import java.text.ParseException; -import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Date; import java.util.Base64; @@ -29,12 +31,11 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.ManagedBean; -import javax.annotation.PostConstruct; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.TypedQuery; -import javax.transaction.Transactional; +import jakarta.annotation.PostConstruct; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.persistence.TypedQuery; +import jakarta.transaction.Transactional; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVRecord; import org.apache.commons.lang3.StringUtils; @@ -77,7 +78,7 @@ * * @author wkoller */ -@ManagedBean +@Named @Transactional public class DataImportManager { @@ -100,7 +101,7 @@ public enum ImportStatus { protected GatheringService gatheringService; - protected SimpleDateFormat separationDateFormat = new SimpleDateFormat("YYYY-mm-dd"); + protected DateTimeFormatter separationDateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd"); protected Pattern coordinatePattern = Pattern.compile("([N|S|W|E])(\\d+)°(\\d+)'(\\d+)\""); @@ -143,7 +144,7 @@ public void dataImport(ImportFile importFile) throws IOException, ParseException importRecord.setLivingPlantNumber(record.get(i++)); importRecord.setOriginalId(Long.valueOf(record.get(i++))); importRecord.setGatheringNumber(record.get(i++)); - importRecord.setSeparationDate(separationDateFormat.parse(record.get(i++))); + importRecord.setSeparationDate(LocalDate.parse(record.get(i++), separationDateFormat)); importRecord.setSeparationType(record.get(i++)); importRecord.setLabelAnnotation(record.get(i++)); importRecord.setAlternativeLivingPlantNumber(record.get(i++)); @@ -158,7 +159,7 @@ public void dataImport(ImportFile importFile) throws IOException, ParseException importRecord.setCultivar(record.get(i++)); importRecord.setCommonNames(record.get(i++)); importRecord.setPrice(Float.valueOf(record.get(i++))); - importRecord.setGatheringDate(separationDateFormat.parse(record.get(i++))); + importRecord.setGatheringDate(LocalDate.parse(record.get(i++), separationDateFormat)); importRecord.setGatheringSource(record.get(i++)); importRecord.setAltitudeMin(Long.valueOf(record.get(i++))); importRecord.setAltitudeMax(Long.valueOf(record.get(i++))); @@ -167,7 +168,7 @@ public void dataImport(ImportFile importFile) throws IOException, ParseException importRecord.setGatheringLocation(record.get(i++)); importRecord.setDefaultScientificNameId(Long.valueOf(record.get(i++))); importRecord.setHabitat(record.get(i++)); - importRecord.setAcquisitionDate(separationDateFormat.parse(record.get(i++))); + importRecord.setAcquisitionDate(LocalDate.parse(record.get(i++), separationDateFormat)); importRecord.setCustomAcquisitionDate(record.get(i++)); importRecord.setGatheringAnnotation(record.get(i++)); importRecord.setLatitude(record.get(i++)); @@ -302,9 +303,9 @@ protected ImportStatus importRecord(ImportRecord importRecord) { tblAcquisitionDate.setCustom(importRecord.getCustomAcquisitionDate()); } if (importRecord.getAcquisitionDate() != null) { - tblAcquisitionDate.setYear(String.valueOf(importRecord.getAcquisitionDate().getYear() + 1900)); - tblAcquisitionDate.setMonth(String.valueOf(importRecord.getAcquisitionDate().getMonth() + 1)); - tblAcquisitionDate.setDay(String.valueOf(importRecord.getAcquisitionDate().getDate())); + tblAcquisitionDate.setYear(String.valueOf(importRecord.getAcquisitionDate().getYear())); + tblAcquisitionDate.setMonth(String.valueOf(importRecord.getAcquisitionDate().getMonthValue())); + tblAcquisitionDate.setDay(String.valueOf(importRecord.getAcquisitionDate().getDayOfMonth())); } else { tblAcquisitionDate.setYear(null); tblAcquisitionDate.setMonth(null); diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DbViewImportManager.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DbViewImportManager.java index bf62ada6..beb50bbc 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DbViewImportManager.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/DbViewImportManager.java @@ -15,14 +15,14 @@ */ package org.jacq.service.dataimport.manager; +import jakarta.inject.Named; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.ManagedBean; -import javax.inject.Inject; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.Query; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.persistence.Query; import org.jacq.common.model.dataimport.ImportRecord; /** @@ -31,7 +31,7 @@ * * @author wkoller */ -@ManagedBean +@Named public class DbViewImportManager { private static final Logger LOGGER = Logger.getLogger(DbViewImportManager.class.getName()); diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/GatheringManager.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/GatheringManager.java index 3d34ed49..aec55208 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/GatheringManager.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/manager/GatheringManager.java @@ -15,11 +15,11 @@ */ package org.jacq.service.dataimport.manager; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.inject.Inject; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Inject; +import jakarta.inject.Named; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; import org.jacq.common.manager.BaseGatheringManager; import org.jacq.common.util.ServicesUtil; import org.jacq.service.JacqServiceConfig; @@ -28,7 +28,7 @@ * * @author fhafner */ -@ManagedBean +@Named public class GatheringManager extends BaseGatheringManager { @PersistenceContext diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/security/BasicClientRequestFilter.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/security/BasicClientRequestFilter.java index 033e5331..860c0cbb 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/security/BasicClientRequestFilter.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/security/BasicClientRequestFilter.java @@ -18,9 +18,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientRequestFilter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.client.ClientRequestContext; +import jakarta.ws.rs.client.ClientRequestFilter; +import jakarta.ws.rs.ext.Provider; import org.apache.commons.codec.binary.Base64; /** diff --git a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/util/ServicesUtil.java b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/util/ServicesUtil.java index a218ea04..19fd621d 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/dataimport/util/ServicesUtil.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/dataimport/util/ServicesUtil.java @@ -15,13 +15,13 @@ */ package org.jacq.service.dataimport.util; -import org.jacq.common.rest.OrganisationService; -import org.jacq.common.rest.filter.ContentTypeResponseFilter; +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; import org.jacq.common.external.rest.ScientificNamesService; import org.jacq.common.rest.GatheringService; +import org.jacq.common.rest.OrganisationService; +import org.jacq.common.rest.filter.ContentTypeResponseFilter; import org.jacq.service.dataimport.security.BasicClientRequestFilter; -import org.jboss.resteasy.client.jaxrs.ResteasyClient; -import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget; /** @@ -47,10 +47,11 @@ public static GatheringService getGatheringService() { } protected static T getProxy(Class serviceInterfaceClass, String serviceURI) { - ResteasyClient resteasyClient = new ResteasyClientBuilder().connectionPoolSize(20).build(); + Client resteasyClient = ClientBuilder.newBuilder().build(); resteasyClient.register(new ContentTypeResponseFilter()); resteasyClient.register(new BasicClientRequestFilter("dataimport", "dataimport")); - ResteasyWebTarget resteasyWebTarget = resteasyClient.target(serviceURI); + + ResteasyWebTarget resteasyWebTarget = (ResteasyWebTarget) resteasyClient.target(serviceURI); return (T) resteasyWebTarget.proxy(serviceInterfaceClass); } } diff --git a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/JacqService.java b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/JacqService.java index 6f119039..340a550d 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/JacqService.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/JacqService.java @@ -1,7 +1,7 @@ package org.jacq.service.rest.names; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; @ApplicationPath("/rest") public class JacqService extends Application { diff --git a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/DataImportServiceImpl.java b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/DataImportServiceImpl.java index 0703b66e..1dfb5379 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/DataImportServiceImpl.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/DataImportServiceImpl.java @@ -17,7 +17,7 @@ import java.util.logging.Level; import java.util.logging.Logger; -import javax.inject.Inject; +import jakarta.inject.Inject; import org.jacq.common.model.dataimport.ImportFile; import org.jacq.common.rest.dataimport.DataImportService; import org.jacq.service.dataimport.manager.BromiMdbImportManager; diff --git a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/GatheringServiceImpl.java b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/GatheringServiceImpl.java index 325852f6..3cba0de7 100644 --- a/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/GatheringServiceImpl.java +++ b/jacq-dataimport/src/main/java/org/jacq/service/rest/dataimport/impl/GatheringServiceImpl.java @@ -16,7 +16,7 @@ package org.jacq.service.rest.dataimport.impl; import java.util.List; -import javax.inject.Inject; +import jakarta.inject.Inject; import org.jacq.common.model.rest.LocationResult; import org.jacq.common.rest.GatheringService; import org.jacq.service.dataimport.manager.GatheringManager; diff --git a/jacq-dataimport/src/main/resources/META-INF/persistence.xml b/jacq-dataimport/src/main/resources/META-INF/persistence.xml index 586814c8..201ce8d9 100644 --- a/jacq-dataimport/src/main/resources/META-INF/persistence.xml +++ b/jacq-dataimport/src/main/resources/META-INF/persistence.xml @@ -1,5 +1,8 @@ - + java:/jacqDS @@ -8,14 +11,14 @@ false - - - - - - - - + + + + + + + + diff --git a/jacq-dataimport/src/main/webapp/WEB-INF/beans.xml b/jacq-dataimport/src/main/webapp/WEB-INF/beans.xml index ccf1976a..6c9b0739 100644 --- a/jacq-dataimport/src/main/webapp/WEB-INF/beans.xml +++ b/jacq-dataimport/src/main/webapp/WEB-INF/beans.xml @@ -1,5 +1,5 @@ - - - + \ No newline at end of file diff --git a/jacq-input/pom.xml b/jacq-input/pom.xml index c55bba20..7e1b2ce0 100644 --- a/jacq-input/pom.xml +++ b/jacq-input/pom.xml @@ -26,22 +26,30 @@ org.primefaces primefaces - 6.2 + 12.0.0 + jakarta + + + org.omnifaces + omnifaces + 4.3 org.primefaces.extensions primefaces-extensions - 6.2.3 + 12.0.9 + jakarta - org.omnifaces - omnifaces - 2.6.8 + org.webjars + font-awesome + 4.7.0 - org.glassfish.soteria - javax.security.enterprise - 1.0 + jakarta.security.enterprise + jakarta.security.enterprise-api + 3.0.0 + provided org.seleniumhq.selenium @@ -56,20 +64,20 @@ test - javax - javaee-api - 7.0 + jakarta.platform + jakarta.jakartaee-api + 9.1.0 provided org.apache.poi poi - 3.16 + 5.2.3 org.apache.poi poi-ooxml - 3.16 + 5.2.3 @@ -79,47 +87,14 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 - 1.8 - 1.8 - - ${endorsed.dir} - + 17 + 17 org.apache.maven.plugins maven-war-plugin - 2.3 - - false - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.6 - - - validate - - copy - - - ${endorsed.dir} - true - - - javax - javaee-endorsed-api - 7.0 - jar - - - - - nl.geodienstencentrum.maven @@ -128,14 +103,14 @@ - update-stylesheets + generate-resources update-stylesheets - src/main/webapp/resources/omega-layout/css + src/main/webapp/resources/saga-layout/css diff --git a/jacq-input/src/main/java/org/jacq/input/ApplicationManager.java b/jacq-input/src/main/java/org/jacq/input/ApplicationManager.java index a366ad01..e31e3eb9 100644 --- a/jacq-input/src/main/java/org/jacq/input/ApplicationManager.java +++ b/jacq-input/src/main/java/org/jacq/input/ApplicationManager.java @@ -18,11 +18,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import javax.annotation.ManagedBean; -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.context.Initialized; -import javax.enterprise.event.Observes; -import javax.inject.Inject; +import jakarta.annotation.ManagedBean; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.context.Initialized; +import jakarta.enterprise.event.Observes; +import jakarta.inject.Inject; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.rest.OrganisationService; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-input/src/main/java/org/jacq/input/JacqPortalConfig.java b/jacq-input/src/main/java/org/jacq/input/JacqPortalConfig.java index 3a33bf40..d8241ffb 100644 --- a/jacq-input/src/main/java/org/jacq/input/JacqPortalConfig.java +++ b/jacq-input/src/main/java/org/jacq/input/JacqPortalConfig.java @@ -15,9 +15,9 @@ */ package org.jacq.input; -import javax.annotation.ManagedBean; -import javax.annotation.PostConstruct; -import javax.ejb.Singleton; +import jakarta.annotation.ManagedBean; +import jakarta.annotation.PostConstruct; +import jakarta.ejb.Singleton; import org.jacq.common.manager.JacqConfig; import org.jacq.common.rest.PortalService; import org.jacq.common.util.ServicesUtil; diff --git a/jacq-input/src/main/java/org/jacq/input/SessionManager.java b/jacq-input/src/main/java/org/jacq/input/SessionManager.java index da831923..0e3a73e9 100644 --- a/jacq-input/src/main/java/org/jacq/input/SessionManager.java +++ b/jacq-input/src/main/java/org/jacq/input/SessionManager.java @@ -17,12 +17,12 @@ import java.io.Serializable; import java.util.Locale; -import javax.annotation.ManagedBean; -import javax.annotation.PostConstruct; -import javax.enterprise.context.SessionScoped; -import javax.faces.context.FacesContext; -import javax.inject.Named; -import javax.servlet.http.HttpSession; +import jakarta.annotation.ManagedBean; +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.SessionScoped; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Named; +import jakarta.servlet.http.HttpSession; import org.jacq.common.model.rest.UserResult; import org.jacq.input.view.DerivativeSearchModel; diff --git a/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumController.java b/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumController.java index 03bb764e..f90fa586 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumController.java @@ -15,10 +15,10 @@ */ package org.jacq.input.controller; +import jakarta.inject.Named; import java.io.Serializable; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.faces.view.ViewScoped; import org.jacq.common.util.ServicesUtil; import org.jacq.input.view.LazyIndexSeminumDataModel; import org.jacq.input.view.LazyIndexSeminumDownloadDataModel; @@ -27,7 +27,7 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped public class IndexSeminumController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumEditController.java index 9ff7af3f..1e53a9d9 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/IndexSeminumEditController.java @@ -15,10 +15,11 @@ */ package org.jacq.input.controller; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; import org.jacq.common.model.rest.IndexSeminumResult; import org.jacq.common.rest.IndexSeminumService; import org.jacq.common.util.ServicesUtil; @@ -27,9 +28,9 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class IndexSeminumEditController { +public class IndexSeminumEditController implements Serializable { @Inject protected SessionController sessionController; diff --git a/jacq-input/src/main/java/org/jacq/input/controller/InventoryEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/InventoryEditController.java index 4ae05ee4..a8155c60 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/InventoryEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/InventoryEditController.java @@ -15,30 +15,31 @@ */ package org.jacq.input.controller; +import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Base64; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; import org.jacq.common.model.rest.InventoryResult; import org.jacq.common.model.rest.InventoryTypeResult; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.rest.InventoryService; import org.jacq.common.rest.OrganisationService; import org.jacq.common.util.ServicesUtil; -import org.primefaces.model.UploadedFile; +import org.primefaces.model.file.UploadedFile; /** * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class InventoryEditController { +public class InventoryEditController implements Serializable { @Inject protected SessionController sessionController; @@ -75,7 +76,7 @@ public void init() { public String edit() { try { - this.inventory.setFileContent(new String(Base64.getEncoder().encode(this.file.getContents()), "ASCII")); + this.inventory.setFileContent(new String(Base64.getEncoder().encode(this.file.getContent()), "ASCII")); this.inventory.setSeparated(separated); this.inventory = this.inventoryService.save(this.inventory); diff --git a/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantController.java b/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantController.java index e8470c22..179028c2 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantController.java @@ -8,13 +8,12 @@ import org.jacq.input.SessionManager; import java.io.Serializable; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.application.FacesMessage; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ManagedProperty; -import javax.faces.bean.ViewScoped; -import javax.faces.context.FacesContext; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.faces.application.FacesMessage; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Inject; import org.jacq.common.model.rest.CultivarResult; import org.jacq.common.model.rest.LocationResult; import org.jacq.common.model.rest.OrganisationResult; @@ -34,7 +33,7 @@ * * @author wkoller */ -@ManagedBean +@Named @ViewScoped public class LivingPlantController implements Serializable, OrganisationSelectListener { @@ -60,7 +59,7 @@ public class LivingPlantController implements Serializable, OrganisationSelectLi protected Boolean downloadRender; - @ManagedProperty(value = "#{organisationHierarchicSelectController}") + @Inject protected OrganisationHierarchicSelectController organisationHierarchicSelectController; @PostConstruct diff --git a/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantEditController.java index a101b8c4..0d834c3b 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/LivingPlantEditController.java @@ -19,16 +19,15 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.application.FacesMessage; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ManagedProperty; -import javax.faces.bean.ViewScoped; -import javax.faces.component.UIInput; -import javax.faces.context.FacesContext; -import javax.faces.model.SelectItem; -import javax.inject.Inject; -import javax.ws.rs.core.Response; +import jakarta.annotation.PostConstruct; +import jakarta.faces.application.FacesMessage; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.faces.component.UIInput; +import jakarta.faces.context.FacesContext; +import jakarta.faces.model.SelectItem; +import jakarta.inject.Inject; +import jakarta.ws.rs.core.Response; import org.apache.commons.lang3.StringUtils; import org.jacq.common.model.rest.AcquisitionSourceResult; import org.jacq.common.model.rest.AcquistionEventSourceResult; @@ -74,7 +73,7 @@ * * @author wkoller */ -@ManagedBean +@Named @ViewScoped public class LivingPlantEditController implements OrganisationSelectListener, Serializable { @@ -164,7 +163,7 @@ public class LivingPlantEditController implements OrganisationSelectListener, Se protected CultivarResult cultivarResult; - @ManagedProperty(value = "#{organisationHierarchicSelectController}") + @Inject() protected OrganisationHierarchicSelectController organisationHierarchicSelectController; @PostConstruct @@ -513,7 +512,11 @@ public StreamedContent getWorkLabel() { Response response = this.labelService.getWork(this.livingPlantResult.getType(), this.livingPlantResult.getDerivativeId()); byte[] binaryStream = response.readEntity(byte[].class); - return new DefaultStreamedContent(this.labelService.getWork(this.livingPlantResult.getType(), this.livingPlantResult.getDerivativeId()).readEntity(InputStream.class), LabelService.APPLICATION_PDF, "work_label.pdf"); + return DefaultStreamedContent.builder() + .name("work_label.pdf") + .contentType(LabelService.APPLICATION_PDF) + .stream(() -> this.labelService.getWork(this.livingPlantResult.getType(), this.livingPlantResult.getDerivativeId()).readEntity(InputStream.class)) + .build(); } /** diff --git a/jacq-input/src/main/java/org/jacq/input/controller/LoginController.java b/jacq-input/src/main/java/org/jacq/input/controller/LoginController.java index c1d52c73..0011e829 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/LoginController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/LoginController.java @@ -15,25 +15,26 @@ */ package org.jacq.input.controller; +import static jakarta.faces.application.FacesMessage.SEVERITY_ERROR; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.RequestScoped; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Inject; +import jakarta.inject.Named; +import jakarta.security.enterprise.AuthenticationStatus; +import jakarta.security.enterprise.SecurityContext; +import jakarta.security.enterprise.authentication.mechanism.http.AuthenticationParameters; +import jakarta.security.enterprise.credential.Credential; +import jakarta.security.enterprise.credential.UsernamePasswordCredential; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.util.ResourceBundle; -import javax.annotation.PostConstruct; -import org.jacq.input.SessionManager; -import javax.faces.application.FacesMessage; -import static javax.faces.application.FacesMessage.SEVERITY_ERROR; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.RequestScoped; -import javax.faces.context.FacesContext; -import javax.inject.Inject; -import javax.security.enterprise.AuthenticationStatus; -import javax.security.enterprise.SecurityContext; -import javax.security.enterprise.authentication.mechanism.http.AuthenticationParameters; -import javax.security.enterprise.credential.Credential; -import javax.security.enterprise.credential.UsernamePasswordCredential; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.jacq.common.manager.JacqConfig; import org.jacq.input.ApplicationManager; +import org.jacq.input.SessionManager; /** * Controller for handling logins of users @@ -41,7 +42,7 @@ * @author wkoller */ @RequestScoped -@ManagedBean +@Named public class LoginController { @Inject diff --git a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationAccessController.java b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationAccessController.java index 0bd07d4f..c15a8c4b 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationAccessController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationAccessController.java @@ -15,9 +15,10 @@ */ package org.jacq.input.controller; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; import org.jacq.common.model.rest.AccessOrganisationResult; import org.jacq.common.rest.AuthorizationService; import org.jacq.common.util.ServicesUtil; @@ -27,9 +28,9 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class OrganisationAccessController { +public class OrganisationAccessController implements Serializable { protected LazyOrganisationAccessDataModel dataModel; diff --git a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationController.java b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationController.java index 19358b3a..6451a38e 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationController.java @@ -8,9 +8,9 @@ import org.jacq.input.view.LazyOrganisationDataModel; import java.io.Serializable; import java.util.Date; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; import org.jacq.common.util.ServicesUtil; /** @@ -18,7 +18,7 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped public class OrganisationController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationEditController.java index 7361f671..dc1c062e 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationEditController.java @@ -15,13 +15,13 @@ */ package org.jacq.input.controller; +import java.io.Serializable; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ManagedProperty; -import javax.faces.bean.ViewScoped; -import javax.faces.context.FacesContext; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Inject; import org.jacq.common.model.rest.RoleResult; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.model.rest.UserResult; @@ -37,9 +37,9 @@ * * @author wkoller */ -@ManagedBean +@Named @ViewScoped -public class OrganisationEditController implements OrganisationSelectListener { +public class OrganisationEditController implements Serializable, OrganisationSelectListener { @Inject protected SessionController sessionController; @@ -64,7 +64,7 @@ public class OrganisationEditController implements OrganisationSelectListener { protected List roles; - @ManagedProperty(value = "#{organisationHierarchicSelectController}") + @Inject protected OrganisationHierarchicSelectController organisationHierarchicSelectController; @PostConstruct diff --git a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationHierarchicSelectController.java b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationHierarchicSelectController.java index 49beae94..81b372dc 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/OrganisationHierarchicSelectController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/OrganisationHierarchicSelectController.java @@ -18,10 +18,10 @@ import java.io.Serializable; import java.util.HashMap; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.input.ApplicationManager; import org.jacq.input.listener.OrganisationSelectListener; @@ -32,7 +32,7 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped public class OrganisationHierarchicSelectController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeController.java b/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeController.java index 4df52e01..69d8de72 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeController.java @@ -7,9 +7,9 @@ import java.io.Serializable; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; import org.jacq.common.model.rest.SeedOrderResult; import org.jacq.common.rest.SeedExchangeService; import org.jacq.common.util.ServicesUtil; @@ -19,7 +19,7 @@ * @author wkoller */ @ViewScoped -@ManagedBean +@Named public class SeedExchangeController implements Serializable { protected SeedExchangeService seedExchangeService; diff --git a/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeEditController.java index 33cd4cf9..1839222f 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/SeedExchangeEditController.java @@ -8,11 +8,10 @@ import java.io.InputStream; import java.io.Serializable; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ManagedProperty; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; import org.jacq.common.model.jpa.custom.BotanicalObjectDerivative; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.model.rest.SeedOrderResult; @@ -30,7 +29,7 @@ * @author wkoller */ @ViewScoped -@ManagedBean +@Named public class SeedExchangeEditController implements Serializable { protected Long seedOrderId; @@ -47,7 +46,7 @@ public class SeedExchangeEditController implements Serializable { */ protected LabelService labelService; - @ManagedProperty(value = "#{livingPlantController}") + @Inject protected LivingPlantController livingPlantController; @PostConstruct @@ -87,7 +86,11 @@ public void save() { * @return */ public StreamedContent getSeedOrder() { - return new DefaultStreamedContent(this.labelService.getSeedOrder(this.seedOrderResult.getSeedOrderId()).readEntity(InputStream.class), LabelService.APPLICATION_PDF, "seed_exchange_order.pdf"); + return DefaultStreamedContent.builder() + .name("seed_exchange_order.pdf") + .contentType(LabelService.APPLICATION_PDF) + .stream(() -> this.labelService.getSeedOrder(this.seedOrderResult.getSeedOrderId()).readEntity(InputStream.class)) + .build(); } public Long getSeedOrderId() { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/SessionController.java b/jacq-input/src/main/java/org/jacq/input/controller/SessionController.java index 2be68ea6..3b4cca10 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/SessionController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/SessionController.java @@ -17,13 +17,13 @@ import java.io.Serializable; import java.util.ResourceBundle; -import javax.annotation.PostConstruct; -import javax.faces.application.FacesMessage; +import jakarta.annotation.PostConstruct; +import jakarta.faces.application.FacesMessage; import org.jacq.input.SessionManager; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.SessionScoped; -import javax.faces.context.FacesContext; -import javax.inject.Inject; +import jakarta.inject.Named; +import jakarta.enterprise.context.SessionScoped; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Inject; import org.jacq.common.manager.JacqConfig; import org.jacq.input.ApplicationManager; @@ -32,7 +32,7 @@ * * @author wkoller */ -@ManagedBean +@Named @SessionScoped public class SessionController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileController.java b/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileController.java index 2a7e21be..619129a2 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileController.java @@ -6,9 +6,9 @@ package org.jacq.input.controller; import java.io.Serializable; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; import org.jacq.common.util.ServicesUtil; import org.jacq.input.view.LazyTreeRecordFileDataModel; @@ -17,7 +17,7 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped public class TreeRecordFileController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileEditController.java index b80cb55f..b321371e 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/TreeRecordFileEditController.java @@ -15,26 +15,27 @@ */ package org.jacq.input.controller; +import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Base64; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; import org.jacq.common.model.rest.TreeRecordFileResult; import org.jacq.common.rest.TreeRecordFileService; import org.jacq.common.util.ServicesUtil; -import org.primefaces.model.UploadedFile; +import org.primefaces.model.file.UploadedFile; /** * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class TreeRecordFileEditController { +public class TreeRecordFileEditController implements Serializable { @Inject protected SessionController sessionController; @@ -72,7 +73,7 @@ public TreeRecordFileResult getTreeRecordFile() { public String edit() { try { - this.treeRecordFile.setFileContent(new String(Base64.getEncoder().encode(this.file.getContents()), "ASCII")); + this.treeRecordFile.setFileContent(new String(Base64.getEncoder().encode(this.file.getContent()), "ASCII")); this.treeRecordFile = this.treeRecordFileService.save(this.treeRecordFile); } catch (UnsupportedEncodingException ex) { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/UserController.java b/jacq-input/src/main/java/org/jacq/input/controller/UserController.java index cf1a90df..3e27ab2a 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/UserController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/UserController.java @@ -16,9 +16,9 @@ package org.jacq.input.controller; import java.io.Serializable; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; import org.jacq.common.util.ServicesUtil; import org.jacq.input.view.LazyUserDataModel; @@ -27,7 +27,7 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped public class UserController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/controller/UserEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/UserEditController.java index 460e323b..a5ebff98 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/UserEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/UserEditController.java @@ -15,13 +15,14 @@ */ package org.jacq.input.controller; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.faces.model.SelectItem; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.faces.model.SelectItem; +import jakarta.inject.Inject; import org.jacq.common.model.rest.EmploymentTypeResult; import org.jacq.common.model.rest.RoleResult; import org.jacq.common.model.rest.OrganisationResult; @@ -35,9 +36,9 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class UserEditController { +public class UserEditController implements Serializable { @Inject protected SessionController sessionController; @@ -77,7 +78,7 @@ public void init() { List roleResults = this.userService.findAllRole(); this.roles = new ArrayList<>(); for (RoleResult role : roleResults) { - this.roles.add(new SelectItem(role.getRoleId(), role.getName())); + this.roles.add(new SelectItem(role.getRoleId().toString(), role.getName())); } this.selectedRoleIds = new ArrayList<>(); diff --git a/jacq-input/src/main/java/org/jacq/input/controller/UserUpdateController.java b/jacq-input/src/main/java/org/jacq/input/controller/UserUpdateController.java index 3c0f4a0a..d5c057d9 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/UserUpdateController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/UserUpdateController.java @@ -15,10 +15,11 @@ */ package org.jacq.input.controller; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.inject.Inject; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; import org.jacq.common.model.rest.UserResult; import org.jacq.common.rest.UserService; import org.jacq.common.util.ServicesUtil; @@ -27,9 +28,9 @@ * * @author fhafner */ -@ManagedBean +@Named @ViewScoped -public class UserUpdateController { +public class UserUpdateController implements Serializable { @Inject protected SessionController sessionController; diff --git a/jacq-input/src/main/java/org/jacq/input/controller/VegetativeEditController.java b/jacq-input/src/main/java/org/jacq/input/controller/VegetativeEditController.java index a1b9f4dd..0d03791a 100644 --- a/jacq-input/src/main/java/org/jacq/input/controller/VegetativeEditController.java +++ b/jacq-input/src/main/java/org/jacq/input/controller/VegetativeEditController.java @@ -17,10 +17,10 @@ import java.io.Serializable; import java.util.List; -import javax.annotation.PostConstruct; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.ViewScoped; -import javax.ws.rs.core.Response; +import jakarta.annotation.PostConstruct; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.ws.rs.core.Response; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.model.rest.PhenologyResult; import org.jacq.common.model.rest.SeparationResult; @@ -33,7 +33,7 @@ * * @author wkoller */ -@ManagedBean +@Named @ViewScoped public class VegetativeEditController implements Serializable { diff --git a/jacq-input/src/main/java/org/jacq/input/faces/UpdatePhaseListener.java b/jacq-input/src/main/java/org/jacq/input/faces/UpdatePhaseListener.java index 0d1232f6..30da4fec 100644 --- a/jacq-input/src/main/java/org/jacq/input/faces/UpdatePhaseListener.java +++ b/jacq-input/src/main/java/org/jacq/input/faces/UpdatePhaseListener.java @@ -5,10 +5,10 @@ */ package org.jacq.input.faces; -import javax.faces.context.FacesContext; -import javax.faces.event.PhaseEvent; -import javax.faces.event.PhaseId; -import javax.faces.event.PhaseListener; +import jakarta.faces.context.FacesContext; +import jakarta.faces.event.PhaseEvent; +import jakarta.faces.event.PhaseId; +import jakarta.faces.event.PhaseListener; /** * diff --git a/jacq-input/src/main/java/org/jacq/input/security/BasicClientRequestFilter.java b/jacq-input/src/main/java/org/jacq/input/security/BasicClientRequestFilter.java index 32a6add2..5b6199f7 100644 --- a/jacq-input/src/main/java/org/jacq/input/security/BasicClientRequestFilter.java +++ b/jacq-input/src/main/java/org/jacq/input/security/BasicClientRequestFilter.java @@ -18,13 +18,13 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.enterprise.context.spi.CreationalContext; -import javax.enterprise.inject.spi.Bean; -import javax.enterprise.inject.spi.BeanManager; -import javax.enterprise.inject.spi.CDI; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientRequestFilter; -import javax.ws.rs.ext.Provider; +import jakarta.enterprise.context.spi.CreationalContext; +import jakarta.enterprise.inject.spi.Bean; +import jakarta.enterprise.inject.spi.BeanManager; +import jakarta.enterprise.inject.spi.CDI; +import jakarta.ws.rs.client.ClientRequestContext; +import jakarta.ws.rs.client.ClientRequestFilter; +import jakarta.ws.rs.ext.Provider; import org.jacq.input.SessionManager; /** diff --git a/jacq-input/src/main/java/org/jacq/input/security/InputIdentityStore.java b/jacq-input/src/main/java/org/jacq/input/security/InputIdentityStore.java index c02be20a..eee9379d 100644 --- a/jacq-input/src/main/java/org/jacq/input/security/InputIdentityStore.java +++ b/jacq-input/src/main/java/org/jacq/input/security/InputIdentityStore.java @@ -17,15 +17,15 @@ import org.jacq.common.security.JacqCallerPrincipal; import java.util.HashSet; -import javax.annotation.PostConstruct; -import javax.annotation.security.DeclareRoles; -import javax.enterprise.context.ApplicationScoped; -import javax.inject.Inject; -import javax.security.enterprise.authentication.mechanism.http.CustomFormAuthenticationMechanismDefinition; -import javax.security.enterprise.authentication.mechanism.http.LoginToContinue; -import javax.security.enterprise.credential.UsernamePasswordCredential; -import javax.security.enterprise.identitystore.CredentialValidationResult; -import javax.security.enterprise.identitystore.IdentityStore; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.security.DeclareRoles; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import jakarta.security.enterprise.authentication.mechanism.http.CustomFormAuthenticationMechanismDefinition; +import jakarta.security.enterprise.authentication.mechanism.http.LoginToContinue; +import jakarta.security.enterprise.credential.UsernamePasswordCredential; +import jakarta.security.enterprise.identitystore.CredentialValidationResult; +import jakarta.security.enterprise.identitystore.IdentityStore; import org.apache.commons.codec.binary.Base64; import org.jacq.common.model.rest.RoleResult; import org.jacq.common.model.rest.UserResult; diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDataModel.java index 77cbadd3..09c72d04 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDataModel.java @@ -18,12 +18,16 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; +import java.util.Optional; import org.apache.commons.lang3.StringUtils; import org.jacq.common.model.jpa.custom.BotanicalObjectDerivative; import org.jacq.common.model.rest.OrderDirection; import org.jacq.common.rest.DerivativeService; import org.jacq.input.controller.LivingPlantController; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; +import org.primefaces.model.SortMeta; import org.primefaces.model.SortOrder; /** @@ -77,15 +81,22 @@ public BotanicalObjectDerivative getRowData(String rowKey) { } @Override - public Object getRowKey(BotanicalObjectDerivative derivativeResult) { - return derivativeResult.getDerivativeId(); + public String getRowKey(BotanicalObjectDerivative derivativeResult) { + return derivativeResult.getDerivativeId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + @Override + public List load(int first, int pageSize, Map sortFields, + Map filters) { + Optional> sortField = sortFields.entrySet().stream().findFirst(); + Optional sortMeta = sortField.map(Entry::getValue); // try to parse the id filter - this.derivativeSearchModel.setId((filters.get(FILTER_ID) == null) ? null : Long.valueOf(String.valueOf(filters.get(FILTER_ID)))); + this.derivativeSearchModel.setId((filters.get(FILTER_ID) == null) ? null : Long.valueOf(String.valueOf(filters.get(FILTER_ID).getFilterValue()))); if (this.derivativeSearchModel.getSeparated() == 1) { this.derivativeSearchModel.setSeparatedFilter(true); @@ -119,7 +130,8 @@ public List load(int first, int pageSize, String sort } // quote type filter and set to null if empty - this.derivativeSearchModel.setType(String.valueOf(filters.get(FILTER_TYPE))); + this.derivativeSearchModel.setType(String.valueOf(Optional.ofNullable(filters.get(FILTER_TYPE)).map( + FilterMeta::getField).orElse(null))); if (StringUtils.isEmpty(this.derivativeSearchModel.getType()) || FILTER_TYPE_EMPTY.equalsIgnoreCase(this.derivativeSearchModel.getType()) || LivingPlantController.TYPE_ALL.equalsIgnoreCase(this.derivativeSearchModel.getType())) { @@ -133,7 +145,21 @@ public List load(int first, int pageSize, String sort List results = new ArrayList<>(); if (rowCount > 0) { - results = this.derivativeService.find(this.derivativeSearchModel.getType(), this.derivativeSearchModel.getId(), this.derivativeSearchModel.getPlaceNumber(), this.derivativeSearchModel.getAccessionNumber(), this.derivativeSearchModel.getSeparatedFilter(), this.derivativeSearchModel.getScientificNameId(), this.derivativeSearchModel.getOrganisationId(), this.derivativeSearchModel.getHierarchic(), this.derivativeSearchModel.getIndexSeminumFilter(), this.derivativeSearchModel.getGatheringLocationName(), (this.derivativeSearchModel.getExhibition() != null) ? this.derivativeSearchModel.getExhibition() : null, (this.derivativeSearchModel.getWorking() != null) ? this.derivativeSearchModel.getWorking() : null, (this.derivativeSearchModel.getSelectedCultivar() != null) ? this.derivativeSearchModel.getSelectedCultivar().getCultivar() : null, this.derivativeSearchModel.getClassification(), sortField, (sortOrder.equals(SortOrder.DESCENDING)) ? OrderDirection.DESC : OrderDirection.ASC, first, pageSize); + results = this.derivativeService.find(this.derivativeSearchModel.getType(), + this.derivativeSearchModel.getId(), this.derivativeSearchModel.getPlaceNumber(), + this.derivativeSearchModel.getAccessionNumber(), + this.derivativeSearchModel.getSeparatedFilter(), + this.derivativeSearchModel.getScientificNameId(), + this.derivativeSearchModel.getOrganisationId(), + this.derivativeSearchModel.getHierarchic(), + this.derivativeSearchModel.getIndexSeminumFilter(), + this.derivativeSearchModel.getGatheringLocationName(), + (this.derivativeSearchModel.getExhibition() != null) ? this.derivativeSearchModel.getExhibition() : null, + (this.derivativeSearchModel.getWorking() != null) ? this.derivativeSearchModel.getWorking() : null, + (this.derivativeSearchModel.getSelectedCultivar() != null) ? this.derivativeSearchModel.getSelectedCultivar().getCultivar() : null, + this.derivativeSearchModel.getClassification(), + sortMeta.map(SortMeta::getField).orElse(null), + sortMeta.map(SortMeta::getOrder).orElse(SortOrder.ASCENDING).equals(SortOrder.DESCENDING) ? OrderDirection.DESC : OrderDirection.ASC, first, pageSize); } return results; diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDownloadDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDownloadDataModel.java index 2eb0d447..29160899 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDownloadDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyDerivativeDownloadDataModel.java @@ -18,10 +18,14 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Map.Entry; +import java.util.Optional; import org.jacq.common.model.rest.BotanicalObjectDownloadResult; import org.jacq.common.model.rest.OrderDirection; import org.jacq.common.rest.DerivativeService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; +import org.primefaces.model.SortMeta; import org.primefaces.model.SortOrder; /** @@ -68,20 +72,68 @@ public BotanicalObjectDownloadResult getRowData(String rowKey) { } @Override - public Object getRowKey(BotanicalObjectDownloadResult botanicalObjectDownloadResult) { - return botanicalObjectDownloadResult.getBotanicalObjectId(); + public String getRowKey(BotanicalObjectDownloadResult botanicalObjectDownloadResult) { + return botanicalObjectDownloadResult.getBotanicalObjectId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { + Optional> sortField = sortFields.entrySet().stream().findFirst(); + Optional sortMeta = sortField.map(Entry::getValue); // get count first - int rowCount = this.derivativeService.count(this.lazyDerivativeDataModel.getDerivativeSearchModel().getType(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getPlaceNumber(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getAccessionNumber(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getSeparatedFilter(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getScientificNameId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getOrganisationId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getHierarchic(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getIndexSeminumFilter(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getGatheringLocationName(), (this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() : null, (this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() : null, (this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar().getCultivar() : null, this.lazyDerivativeDataModel.getDerivativeSearchModel().getClassification()); + int rowCount = this.derivativeService.count( + this.lazyDerivativeDataModel.getDerivativeSearchModel().getType(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getPlaceNumber(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getAccessionNumber(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getSeparatedFilter(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getScientificNameId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getOrganisationId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getHierarchic(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getIndexSeminumFilter(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getGatheringLocationName(), + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() != null) + ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() : null, + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() != null) + ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() : null, + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar() != null) + ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar() + .getCultivar() : null, + this.lazyDerivativeDataModel.getDerivativeSearchModel().getClassification()); this.setRowCount(rowCount); List results = new ArrayList<>(); if (rowCount > 0) { - results = this.derivativeService.downloadFind(this.lazyDerivativeDataModel.getDerivativeSearchModel().getType(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getPlaceNumber(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getAccessionNumber(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getSeparatedFilter(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getScientificNameId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getOrganisationId(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getHierarchic(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getIndexSeminumFilter(), this.lazyDerivativeDataModel.getDerivativeSearchModel().getGatheringLocationName(), (this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() : null, (this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() : null, (this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar() != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar().getCultivar() : null, this.lazyDerivativeDataModel.getDerivativeSearchModel().getClassification(), sortField, (sortOrder.equals(SortOrder.DESCENDING)) ? OrderDirection.DESC : OrderDirection.ASC, first, pageSize); + results = this.derivativeService.downloadFind( + this.lazyDerivativeDataModel.getDerivativeSearchModel().getType(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getPlaceNumber(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getAccessionNumber(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getSeparatedFilter(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getScientificNameId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getOrganisationId(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getHierarchic(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getIndexSeminumFilter(), + this.lazyDerivativeDataModel.getDerivativeSearchModel().getGatheringLocationName(), + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() != null) + ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getExhibition() + : null, + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() != null) + ? this.lazyDerivativeDataModel.getDerivativeSearchModel().getWorking() : null, + (this.lazyDerivativeDataModel.getDerivativeSearchModel().getSelectedCultivar() + != null) ? this.lazyDerivativeDataModel.getDerivativeSearchModel() + .getSelectedCultivar().getCultivar() : null, + this.lazyDerivativeDataModel.getDerivativeSearchModel().getClassification(), + sortMeta.map(SortMeta::getField).orElse(null), + sortMeta.map(SortMeta::getOrder).orElse(SortOrder.ASCENDING).equals(SortOrder.DESCENDING) ? OrderDirection.DESC : OrderDirection.ASC, first, pageSize); } return results; diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDataModel.java index f8d13931..0538f83f 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDataModel.java @@ -20,8 +20,9 @@ import java.util.Map; import org.jacq.common.model.rest.IndexSeminumResult; import org.jacq.common.rest.IndexSeminumService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * @@ -63,12 +64,19 @@ public IndexSeminumResult getRowData(String rowKey) { } @Override - public Object getRowKey(IndexSeminumResult indexSeminumResult) { - return indexSeminumResult.getIndexSeminumRevisionId(); + public String getRowKey(IndexSeminumResult indexSeminumResult) { + return indexSeminumResult.getIndexSeminumRevisionId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { // get count first int rowCount = this.indexSeminumService.searchCount(); diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDownloadDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDownloadDataModel.java index e4e7814e..70fc3f46 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDownloadDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyIndexSeminumDownloadDataModel.java @@ -20,8 +20,9 @@ import java.util.Map; import org.jacq.common.model.rest.IndexSeminumDownloadResult; import org.jacq.common.rest.IndexSeminumService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * @@ -67,12 +68,19 @@ public IndexSeminumDownloadResult getRowData(String rowKey) { } @Override - public Object getRowKey(IndexSeminumDownloadResult indexSeminumDownloadResult) { - return indexSeminumDownloadResult.getIndexSeminumContentId(); + public String getRowKey(IndexSeminumDownloadResult indexSeminumDownloadResult) { + return indexSeminumDownloadResult.getIndexSeminumContentId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { // get count first int rowCount = this.indexSeminumService.searchCountContent(indexSeminumRevisionId); diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationAccessDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationAccessDataModel.java index f1162101..2c81a1b3 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationAccessDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationAccessDataModel.java @@ -21,8 +21,9 @@ import java.util.Map; import org.jacq.common.model.rest.AccessOrganisationResult; import org.jacq.common.rest.AuthorizationService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * @@ -75,12 +76,19 @@ public AccessOrganisationResult getRowData(String rowKey) { } @Override - public Object getRowKey(AccessOrganisationResult accessOrganisationResult) { - return accessOrganisationResult.getId(); + public String getRowKey(AccessOrganisationResult accessOrganisationResult) { + return accessOrganisationResult.getId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { // get count first int rowCount = this.authorizationService.searchCount(this.Id, this.username, this.birthdate, this.userType, this.employmentType, this.organisationDescription, this.accessOrganisationId, this.allowDeny, this.userId, this.organisationId); diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationDataModel.java index aaf11cc1..ae40d0d4 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyOrganisationDataModel.java @@ -20,8 +20,9 @@ import java.util.Map; import org.jacq.common.model.rest.OrganisationResult; import org.jacq.common.rest.OrganisationService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * Lazy loading data model for botanical object searches @@ -66,19 +67,26 @@ public OrganisationResult getRowData(String rowKey) { } @Override - public Object getRowKey(OrganisationResult organisationResult) { - return organisationResult.getOrganisationId(); + public String getRowKey(OrganisationResult organisationResult) { + return organisationResult.getOrganisationId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { //Check if Greenhouse is true or False, All = null Boolean greenhouse = null; if (filters.get("greenhouse") != null) { - if (String.valueOf(filters.get("greenhouse")).equals("false")) { + if (String.valueOf(filters.get("greenhouse").getFilterValue()).equals("false")) { greenhouse = false; - } else if (String.valueOf(filters.get("greenhouse")).equals("true")) { + } else if (String.valueOf(filters.get("greenhouse").getFilterValue()).equals("true")) { greenhouse = true; } else { greenhouse = null; @@ -86,12 +94,30 @@ public List load(int first, int pageSize, String sortField, } // get count first - int rowCount = this.organisationService.searchCount((filters.get("organisationId") != null) ? Long.parseLong(filters.get("organisationId").toString()) : null, filters.get("description") != null ? filters.get("description").toString() : null, filters.get("department") != null ? filters.get("department").toString() : null, greenhouse, filters.get("ipenCode") != null ? filters.get("ipenCode").toString() : null, filters.get("parentOrganisationDescription") != null ? filters.get("parentOrganisationDescription").toString() : null, filters.get("gardener") != null ? filters.get("gardener").toString() : null); + int rowCount = this.organisationService.searchCount( + (filters.get("organisationId") != null) ? Long.parseLong( + filters.get("organisationId").getFilterValue().toString()) : null, + filters.get("description") != null ? filters.get("description").getFilterValue().toString() : null, + filters.get("department") != null ? filters.get("department").getFilterValue().toString() : null, + greenhouse, filters.get("ipenCode") != null ? filters.get("ipenCode").getFilterValue().toString() : null, + filters.get("parentOrganisationDescription") != null ? filters.get( + "parentOrganisationDescription").getFilterValue().toString() : null, + filters.get("gardener") != null ? filters.get("gardener").getFilterValue().toString() : null); this.setRowCount(rowCount); List results = new ArrayList<>(); if (rowCount > 0) { - results = this.organisationService.search(filters.get("organisationId") != null ? Long.parseLong(filters.get("organisationId").toString()) : null, filters.get("description") != null ? filters.get("description").toString() : null, filters.get("department") != null ? filters.get("department").toString() : null, greenhouse, filters.get("ipenCode") != null ? filters.get("ipenCode").toString() : null, filters.get("parentOrganisationDescription") != null ? filters.get("parentOrganisationDescription").toString() : null, filters.get("gardener") != null ? filters.get("gardener").toString() : null, first, pageSize + results = this.organisationService.search( + filters.get("organisationId") != null ? Long.parseLong( + filters.get("organisationId").toString()) : null, + filters.get("description") != null ? filters.get("description").getFilterValue().toString() : null, + filters.get("department") != null ? filters.get("department").getFilterValue().toString() : null, + greenhouse, + filters.get("ipenCode") != null ? filters.get("ipenCode").getFilterValue().toString() : null, + filters.get("parentOrganisationDescription") != null ? filters.get( + "parentOrganisationDescription").getFilterValue().toString() : null, + filters.get("gardener") != null ? filters.get("gardener").getFilterValue().toString() : null, first, + pageSize ); } diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyTreeRecordFileDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyTreeRecordFileDataModel.java index 692d9d63..3d418d66 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyTreeRecordFileDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyTreeRecordFileDataModel.java @@ -16,14 +16,13 @@ package org.jacq.input.view; import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.List; import java.util.Map; import org.jacq.common.model.rest.TreeRecordFileResult; import org.jacq.common.rest.TreeRecordFileService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * Lazy loading data model for botanical object searches @@ -66,20 +65,39 @@ public TreeRecordFileResult getRowData(String rowKey) { } @Override - public Object getRowKey(TreeRecordFileResult treeRecordFileResult) { - return treeRecordFileResult.getTreeRecordFileId(); + public String getRowKey(TreeRecordFileResult treeRecordFileResult) { + return treeRecordFileResult.getTreeRecordFileId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, + Map sortFields, + Map filters) { // get count first - int rowCount = this.treeRecordFileService.searchCount(filters.get("treeRecordFileId") != null ? Long.parseLong(filters.get("treeRecordFileId").toString()) : null, filters.get("year") != null ? Long.parseLong(filters.get("year").toString()) : null, filters.get("name") != null ? filters.get("name").toString() : null, filters.get("documentNumber") != null ? filters.get("documentNumber").toString() : null); + int rowCount = this.treeRecordFileService.searchCount( + filters.get("treeRecordFileId") != null ? Long.parseLong( + filters.get("treeRecordFileId").getFilterValue().toString()) : null, + filters.get("year") != null ? Long.parseLong(filters.get("year").getFilterValue().toString()) : null, + filters.get("name") != null ? filters.get("name").getFilterValue().toString() : null, + filters.get("documentNumber") != null ? filters.get("documentNumber").getFilterValue().toString() + : null); this.setRowCount(rowCount); List results = new ArrayList<>(); if (rowCount > 0) { - results = this.treeRecordFileService.search(filters.get("treeRecordFileId") != null ? Long.parseLong(filters.get("treeRecordFileId").toString()) : null, filters.get("year") != null ? Long.parseLong(filters.get("year").toString()) : null, filters.get("name") != null ? filters.get("name").toString() : null, filters.get("documentNumber") != null ? filters.get("documentNumber").toString() : null, first, pageSize); + results = this.treeRecordFileService.search( + filters.get("treeRecordFileId") != null ? Long.parseLong( + filters.get("treeRecordFileId").getFilterValue().toString()) : null, + filters.get("year") != null ? Long.parseLong(filters.get("year").getFilterValue().toString()) : null, + filters.get("name") != null ? filters.get("name").getFilterValue().toString() : null, + filters.get("documentNumber") != null ? filters.get("documentNumber").getFilterValue().toString() + : null, first, pageSize); } return results; diff --git a/jacq-input/src/main/java/org/jacq/input/view/LazyUserDataModel.java b/jacq-input/src/main/java/org/jacq/input/view/LazyUserDataModel.java index 6cc53024..4e77c735 100644 --- a/jacq-input/src/main/java/org/jacq/input/view/LazyUserDataModel.java +++ b/jacq-input/src/main/java/org/jacq/input/view/LazyUserDataModel.java @@ -21,8 +21,9 @@ import java.util.Map; import org.jacq.common.model.rest.UserResult; import org.jacq.common.rest.UserService; +import org.primefaces.model.FilterMeta; import org.primefaces.model.LazyDataModel; -import org.primefaces.model.SortOrder; +import org.primefaces.model.SortMeta; /** * @@ -64,19 +65,41 @@ public UserResult getRowData(String rowKey) { } @Override - public Object getRowKey(UserResult userResult) { - return userResult.getId(); + public String getRowKey(UserResult userResult) { + return userResult.getId().toString(); } @Override - public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { + public int count(Map filters) { + return this.getRowCount(); + } + + @Override + public List load(int first, int pageSize, Map sortFields, + Map filters) { + // get count first - int rowCount = this.userService.searchCount((filters.get("id") != null) ? Long.parseLong(filters.get("id").toString()) : null, filters.get("username") != null ? filters.get("username").toString() : null, filters.get("birthdate") != null ? (Date) filters.get("birthdate") : null, filters.get("userType") != null ? filters.get("userType").toString() : null, filters.get("employmentType") != null ? filters.get("employmentType").toString() : null, filters.get("organisationDescription") != null ? filters.get("organisationDescription").toString() : null); + int rowCount = this.userService.searchCount( + (filters.get("id") != null) ? Long.parseLong(filters.get("id").getFilterValue().toString()) : null, + filters.get("username") != null ? filters.get("username").getFilterValue().toString() : null, + filters.get("birthdate") != null ? (Date) filters.get("birthdate").getFilterValue() : null, + filters.get("userType") != null ? filters.get("userType").getFilterValue().toString() : null, + filters.get("employmentType") != null ? filters.get("employmentType").getFilterValue().toString() : null, + filters.get("organisationDescription") != null ? filters.get("organisationDescription") + .getFilterValue() + .toString() : null); this.setRowCount(rowCount); List results = new ArrayList<>(); if (rowCount > 0) { - results = this.userService.search((filters.get("id") != null) ? Long.parseLong(filters.get("id").toString()) : null, filters.get("username") != null ? filters.get("username").toString() : null, filters.get("birthdate") != null ? (Date) filters.get("birthdate") : null, filters.get("userType") != null ? filters.get("userType").toString() : null, filters.get("employmentType") != null ? filters.get("employmentType").toString() : null, filters.get("organisationDescription") != null ? filters.get("organisationDescription").toString() : null, first, pageSize); + results = this.userService.search( + (filters.get("id") != null) ? Long.parseLong(filters.get("id").getFilterValue().toString()) : null, + filters.get("username") != null ? filters.get("username").getFilterValue().toString() : null, + filters.get("birthdate") != null ? (Date) filters.get("birthdate").getFilterValue() : null, + filters.get("userType") != null ? filters.get("userType").getFilterValue().toString() : null, + filters.get("employmentType") != null ? filters.get("employmentType").getFilterValue().toString() + : null, filters.get("organisationDescription") != null ? filters.get( + "organisationDescription").getFilterValue().toString() : null, first, pageSize); } return results; diff --git a/jacq-input/src/main/sass/_icons.scss b/jacq-input/src/main/sass/_icons.scss index 7ec96ed6..0f2797a4 100644 --- a/jacq-input/src/main/sass/_icons.scss +++ b/jacq-input/src/main/sass/_icons.scss @@ -1,197 +1,726 @@ // Icon Override Mixin @mixin icon-override($icon) { - background-image: none !important; - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-indent: 0px !important; - text-align: center; - - &:before { - content: $icon; - } + background-image: none !important; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-indent: 0px !important; + text-align: center; + + &:before { + content: $icon; + } } /* UI ICONS */ +body { + /* positioning */ + .ui-icon-blank { + background-position: 16px 16px; + } + + .ui-icon-carat-1-n { + @include icon-override("\f106"); + } + + .ui-icon-carat-1-ne { + background-position: -16px 0; + } + + .ui-icon-carat-1-e { + @include icon-override("\f105"); + } + + .ui-icon-carat-1-se { + background-position: -48px 0; + } + + .ui-icon-carat-1-s { + @include icon-override("\f107"); + } + + .ui-icon-carat-1-sw { + background-position: -80px 0; + } + + .ui-icon-carat-1-w { + @include icon-override("\f104"); + } + + .ui-icon-carat-1-nw { + background-position: -112px 0; + } + + .ui-icon-carat-2-n-s { + @include icon-override("\f0dc"); + } + + .ui-icon-carat-2-e-w { + background-position: -144px 0; + } + + .ui-icon-triangle-1-n { + @include icon-override("\f0de"); + } + + .ui-icon-triangle-1-ne { + background-position: -16px -16px; + } + + .ui-icon-triangle-1-e { + @include icon-override("\f0da"); + } + + .ui-icon-triangle-1-se { + background-position: -48px -16px; + } + + .ui-icon-triangle-1-s { + @include icon-override("\f0dd"); + } + + .ui-icon-triangle-1-sw { + background-position: -80px -16px; + } + + .ui-icon-triangle-1-w { + @include icon-override("\f0d9"); + } + + .ui-icon-triangle-1-nw { + background-position: -112px -16px; + } + + .ui-icon-triangle-2-n-s { + @include icon-override("\f0dc"); + } + + .ui-icon-triangle-2-e-w { + background-position: -144px -16px; + } + + .ui-icon-arrow-1-n { + @include icon-override("\f062"); + } + + .ui-icon-arrow-1-ne { + background-position: -16px -32px; + } + + .ui-icon-arrow-1-e { + @include icon-override("\f061"); + } + + .ui-icon-arrow-1-se { + background-position: -48px -32px; + } + + .ui-icon-arrow-1-s { + @include icon-override("\f063"); + } + + .ui-icon-arrow-1-sw { + background-position: -80px -32px; + } + + .ui-icon-arrow-1-w { + @include icon-override("\f177"); + } + + .ui-icon-arrow-1-nw { + background-position: -112px -32px; + } + + .ui-icon-arrow-2-n-s { + @include icon-override("\f07d"); + } + + .ui-icon-arrow-2-ne-sw { + background-position: -144px -32px; + } + + .ui-icon-arrow-2-e-w { + @include icon-override("\f07e"); + } + + .ui-icon-arrow-2-se-nw { + background-position: -176px -32px; + } + + .ui-icon-arrowstop-1-n { + background-position: -192px -32px; + } + + .ui-icon-arrowstop-1-e { + background-position: -208px -32px; + } + + .ui-icon-arrowstop-1-s { + background-position: -224px -32px; + } + + .ui-icon-arrowstop-1-w { + background-position: -240px -32px; + } + + .ui-icon-arrowthick-1-n { + @include icon-override("\f176"); + } + + .ui-icon-arrowthick-1-ne { + background-position: -16px -48px; + } + + .ui-icon-arrowthick-1-e { + @include icon-override("\f178"); + } + + .ui-icon-arrowthick-1-se { + background-position: -48px -48px; + } + + .ui-icon-arrowthick-1-s { + @include icon-override("\f175"); + } + + .ui-icon-arrowthick-1-sw { + background-position: -80px -48px; + } + + .ui-icon-arrowthick-1-w { + @include icon-override("\f177"); + } + + .ui-icon-arrowthick-1-nw { + background-position: -112px -48px; + } + + .ui-icon-arrowthick-2-n-s { + background-position: -128px -48px; + } + + .ui-icon-arrowthick-2-ne-sw { + background-position: -144px -48px; + } + + .ui-icon-arrowthick-2-e-w { + background-position: -160px -48px; + } + + .ui-icon-arrowthick-2-se-nw { + background-position: -176px -48px; + } + + .ui-icon-arrowthickstop-1-n { + background-position: -192px -48px; + } + + .ui-icon-arrowthickstop-1-e { + background-position: -208px -48px; + } + + .ui-icon-arrowthickstop-1-s { + background-position: -224px -48px; + } + + .ui-icon-arrowthickstop-1-w { + background-position: -240px -48px; + } + + .ui-icon-arrowreturnthick-1-w { + background-position: 0 -64px; + } + + .ui-icon-arrowreturnthick-1-n { + background-position: -16px -64px; + } + + .ui-icon-arrowreturnthick-1-e { + background-position: -32px -64px; + } + + .ui-icon-arrowreturnthick-1-s { + background-position: -48px -64px; + } + + .ui-icon-arrowreturn-1-w { + background-position: -64px -64px; + } + + .ui-icon-arrowreturn-1-n { + background-position: -80px -64px; + } + + .ui-icon-arrowreturn-1-e { + background-position: -96px -64px; + } + + .ui-icon-arrowreturn-1-s { + background-position: -112px -64px; + } + + .ui-icon-arrowrefresh-1-w { + background-position: -128px -64px; + } + + .ui-icon-arrowrefresh-1-n { + background-position: -144px -64px; + } + + .ui-icon-arrowrefresh-1-e { + background-position: -160px -64px; + } + + .ui-icon-arrowrefresh-1-s { + background-position: -176px -64px; + } + + .ui-icon-arrow-4 { + @include icon-override("\f047"); + } + + .ui-icon-arrow-4-diag { + @include icon-override("\f0b2"); + } + + .ui-icon-extlink { + @include icon-override("\f08e"); + } + + .ui-icon-newwin { + @include icon-override("\f24d"); + } + + .ui-icon-refresh { + @include icon-override("\f021"); + } + + .ui-icon-shuffle { + @include icon-override("\f074"); + } + + .ui-icon-transfer-e-w { + @include icon-override("\f18d"); + } + + .ui-icon-transferthick-e-w { + background-position: -112px -80px; + } + + .ui-icon-folder-collapsed { + @include icon-override("\f07b"); + } + + .ui-icon-folder-open { + @include icon-override("\f115"); + } + + .ui-icon-document { + @include icon-override("\f016"); + } + + .ui-icon-document-b { + background-position: -48px -96px; + } + + .ui-icon-note { + @include icon-override("\f24a"); + } + + .ui-icon-mail-closed { + background-position: -80px -96px; + } + + .ui-icon-mail-open { + @include icon-override("\f003"); + } + + .ui-icon-suitcase { + @include icon-override("\f0f2"); + } + + .ui-icon-comment { + @include icon-override("\f0e5"); + } + + .ui-icon-person { + @include icon-override("\f007"); + } + + .ui-icon-print { + @include icon-override("\f02f"); + } + + .ui-icon-trash { + @include icon-override("\f1f8"); + } + + .ui-icon-locked { + @include icon-override("\f023"); + } + + .ui-icon-unlocked { + @include icon-override("\f09c"); + } + + .ui-icon-bookmark { + @include icon-override("\f02e"); + } + + .ui-icon-tag { + @include icon-override("\f02b"); + } + + .ui-icon-home { + @include icon-override("\f015"); + } + + .ui-icon-flag { + @include icon-override("\f024"); + } + + .ui-icon-calendar { + @include icon-override("\f073"); + } + + .ui-icon-cart { + @include icon-override("\f07a"); + } + + .ui-icon-pencil { + @include icon-override("\f040"); + } + + .ui-icon-clock { + @include icon-override("\f017"); + } + + .ui-icon-disk { + @include icon-override("\f0c7"); + } + + .ui-icon-calculator { + @include icon-override("\f1ec"); + } + + .ui-icon-zoomin { + @include icon-override("\f00e"); + } + + .ui-icon-zoomout { + @include icon-override("\f010"); + } + + .ui-icon-search { + @include icon-override("\f002"); + } + + .ui-icon-wrench { + @include icon-override("\f0ad"); + } + + .ui-icon-gear { + @include icon-override("\f013"); + } + + .ui-icon-heart { + @include icon-override("\f004"); + } + + .ui-icon-star { + @include icon-override("\f005"); + } + + .ui-icon-link { + @include icon-override("\f0c1"); + } + + .ui-icon-cancel { + @include icon-override("\f05e"); + } + + .ui-icon-plus { + @include icon-override("\f067"); + } + + .ui-icon-plusthick { + @include icon-override("\f067"); + } + + .ui-icon-minus { + @include icon-override("\f068"); + } + + .ui-icon-minusthick { + @include icon-override("\f068"); + } + + .ui-icon-close { + @include icon-override("\f00d"); + } + + .ui-icon-closethick { + @include icon-override("\f00d"); + } + + .ui-icon-key { + @include icon-override("\f084"); + } + + .ui-icon-lightbulb { + @include icon-override("\f0eb"); + } + + .ui-icon-scissors { + @include icon-override("\f0c4"); + } + + .ui-icon-clipboard { + @include icon-override("\f0ea"); + } + + .ui-icon-copy { + @include icon-override("\f0c5"); + } + + .ui-icon-contact { + @include icon-override("\f0c0"); + } + + .ui-icon-image { + @include icon-override("\f1c5"); + } + + .ui-icon-video { + @include icon-override("\f1c8"); + } + + .ui-icon-music { + @include icon-override("\f001"); + } + + .ui-icon-script { + background-position: -240px -128px; + } + + .ui-icon-alert { + @include icon-override("\f071"); + } + + .ui-icon-info { + @include icon-override("\f05a"); + } + + .ui-icon-notice { + @include icon-override("\f12a"); + } + + .ui-icon-help { + @include icon-override("\f059"); + } + + .ui-icon-check { + @include icon-override("\f00c"); + } + + .ui-icon-bullet { + @include icon-override("\f111"); + } + + .ui-icon-radio-on { + @include icon-override("\f111"); + } + + .ui-icon-radio-off { + @include icon-override("\f10c"); + } + + .ui-icon-pin-w { + background-position: -128px -144px; + } + + .ui-icon-pin-s { + @include icon-override("\f08d"); + } + + .ui-icon-play { + @include icon-override("\f04b"); + } + + .ui-icon-pause { + @include icon-override("\f04c"); + } + + .ui-icon-seek-next { + @include icon-override("\f051"); + } + + .ui-icon-seek-prev { + @include icon-override("\f048"); + } + + .ui-icon-seek-end { + @include icon-override("\f051"); + } + + .ui-icon-seek-start { + background-position: -80px -160px; + } + + /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ + .ui-icon-seek-first { + @include icon-override("\f048"); + } + + .ui-icon-stop { + @include icon-override("\f04d"); + } + + .ui-icon-eject { + @include icon-override("\f052"); + } + + .ui-icon-volume-off { + @include icon-override("\f026"); + } + + .ui-icon-volume-on { + @include icon-override("\f028"); + } + + .ui-icon-power { + @include icon-override("\f011"); + } + + .ui-icon-signal-diag { + background-position: -16px -176px; + } + + .ui-icon-signal { + @include icon-override("\f012"); + } + + .ui-icon-battery-0 { + @include icon-override("\f244"); + } + + .ui-icon-battery-1 { + @include icon-override("\f243"); + } + + .ui-icon-battery-2 { + @include icon-override("\f242"); + } + + .ui-icon-battery-3 { + @include icon-override("\f240"); + } + + .ui-icon-circle-plus { + @include icon-override("\f055"); + } + + .ui-icon-circle-minus { + @include icon-override("\f056"); + } + + .ui-icon-circle-close { + @include icon-override("\f057"); + } + + .ui-icon-circle-triangle-e { + @include icon-override("\f138"); + } + + .ui-icon-circle-triangle-s { + @include icon-override("\f13a"); + } + + .ui-icon-circle-triangle-w { + @include icon-override("\f137"); + } + + .ui-icon-circle-triangle-n { + @include icon-override("\f139"); + } + + .ui-icon-circle-arrow-e { + background-position: -112px -192px; + } + + .ui-icon-circle-arrow-s { + background-position: -128px -192px; + } + + .ui-icon-circle-arrow-w { + background-position: -144px -192px; + } + + .ui-icon-circle-arrow-n { + background-position: -160px -192px; + } + + .ui-icon-circle-zoomin { + background-position: -176px -192px; + } + + .ui-icon-circle-zoomout { + background-position: -192px -192px; + } + + .ui-icon-circle-check { + background-position: -208px -192px; + } + + .ui-icon-circlesmall-plus { + background-position: 0 -208px; + } + + .ui-icon-circlesmall-minus { + background-position: -16px -208px; + } + + .ui-icon-circlesmall-close { + background-position: -32px -208px; + } + + .ui-icon-squaresmall-plus { + background-position: -48px -208px; + } + + .ui-icon-squaresmall-minus { + background-position: -64px -208px; + } + + .ui-icon-squaresmall-close { + background-position: -80px -208px; + } + + .ui-icon-grip-dotted-vertical { + background-position: 0 -224px; + } + + .ui-icon-grip-dotted-horizontal { + background-position: -16px -224px; + } + + .ui-icon-grip-solid-vertical { + background-position: -32px -224px; + } + + .ui-icon-grip-solid-horizontal { + background-position: -48px -224px; + } + + .ui-icon-gripsmall-diagonal-se { + background-position: -64px -224px; + } + + .ui-icon-grip-diagonal-se { + background-position: -80px -224px; + } -/* positioning */ -.ui-icon-blank { background-position: 16px 16px; } -.ui-icon-carat-1-n { @include icon-override("\f106"); } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { @include icon-override("\f105"); } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { @include icon-override("\f107"); } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { @include icon-override("\f104"); } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { @include icon-override("\f0dc"); } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { @include icon-override("\f0de"); } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { @include icon-override("\f0da"); } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { @include icon-override("\f0dd"); } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { @include icon-override("\f0d9"); } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { @include icon-override("\f0dc"); } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { @include icon-override("\f062"); } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { @include icon-override("\f061"); } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { @include icon-override("\f063"); } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { @include icon-override("\f177"); } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { @include icon-override("\f07d"); } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { @include icon-override("\f07e"); } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { @include icon-override("\f176"); } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { @include icon-override("\f178"); } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { @include icon-override("\f175"); } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { @include icon-override("\f177"); } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { @include icon-override("\f047"); } -.ui-icon-arrow-4-diag { @include icon-override("\f0b2"); } -.ui-icon-extlink { @include icon-override("\f08e"); } -.ui-icon-newwin { @include icon-override("\f24d"); } -.ui-icon-refresh { @include icon-override("\f021"); } -.ui-icon-shuffle { @include icon-override("\f074"); } -.ui-icon-transfer-e-w { @include icon-override("\f18d"); } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { @include icon-override("\f07b"); } -.ui-icon-folder-open { @include icon-override("\f115"); } -.ui-icon-document { @include icon-override("\f016"); } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { @include icon-override("\f24a"); } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { @include icon-override("\f003"); } -.ui-icon-suitcase { @include icon-override("\f0f2"); } -.ui-icon-comment { @include icon-override("\f0e5"); } -.ui-icon-person { @include icon-override("\f007"); } -.ui-icon-print { @include icon-override("\f02f"); } -.ui-icon-trash { @include icon-override("\f1f8"); } -.ui-icon-locked { @include icon-override("\f023"); } -.ui-icon-unlocked { @include icon-override("\f09c"); } -.ui-icon-bookmark { @include icon-override("\f02e"); } -.ui-icon-tag { @include icon-override("\f02b"); } -.ui-icon-home { @include icon-override("\f015"); } -.ui-icon-flag { @include icon-override("\f024"); } -.ui-icon-calendar { @include icon-override("\f073"); } -.ui-icon-cart { @include icon-override("\f07a"); } -.ui-icon-pencil { @include icon-override("\f040"); } -.ui-icon-clock { @include icon-override("\f017"); } -.ui-icon-disk { @include icon-override("\f0c7"); } -.ui-icon-calculator { @include icon-override("\f1ec"); } -.ui-icon-zoomin { @include icon-override("\f00e"); } -.ui-icon-zoomout { @include icon-override("\f010");} -.ui-icon-search { @include icon-override("\f002");} -.ui-icon-wrench { @include icon-override("\f0ad");} -.ui-icon-gear { @include icon-override("\f013");} -.ui-icon-heart { @include icon-override("\f004");} -.ui-icon-star { @include icon-override("\f005");} -.ui-icon-link { @include icon-override("\f0c1");} -.ui-icon-cancel { @include icon-override("\f05e");} -.ui-icon-plus { @include icon-override("\f067");} -.ui-icon-plusthick { @include icon-override("\f067"); } -.ui-icon-minus { @include icon-override("\f068");} -.ui-icon-minusthick { @include icon-override("\f068"); } -.ui-icon-close { @include icon-override("\f00d");} -.ui-icon-closethick { @include icon-override("\f00d"); } -.ui-icon-key { @include icon-override("\f084");} -.ui-icon-lightbulb { @include icon-override("\f0eb");} -.ui-icon-scissors { @include icon-override("\f0c4");} -.ui-icon-clipboard { @include icon-override("\f0ea");} -.ui-icon-copy { @include icon-override("\f0c5");} -.ui-icon-contact { @include icon-override("\f0c0");} -.ui-icon-image { @include icon-override("\f1c5");} -.ui-icon-video { @include icon-override("\f1c8");} -.ui-icon-music { @include icon-override("\f001");} -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { @include icon-override("\f071");} -.ui-icon-info { @include icon-override("\f05a");} -.ui-icon-notice { @include icon-override("\f12a");} -.ui-icon-help { @include icon-override("\f059");} -.ui-icon-check { @include icon-override("\f00c");} -.ui-icon-bullet { @include icon-override("\f111");} -.ui-icon-radio-on { @include icon-override("\f111");} -.ui-icon-radio-off { @include icon-override("\f10c");} -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { @include icon-override("\f08d");} -.ui-icon-play { @include icon-override("\f04b");} -.ui-icon-pause { @include icon-override("\f04c");} -.ui-icon-seek-next { @include icon-override("\f051");} -.ui-icon-seek-prev { @include icon-override("\f048");} -.ui-icon-seek-end { @include icon-override("\f051");} -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { @include icon-override("\f048");} -.ui-icon-stop { @include icon-override("\f04d");} -.ui-icon-eject { @include icon-override("\f052");} -.ui-icon-volume-off { @include icon-override("\f026");} -.ui-icon-volume-on { @include icon-override("\f028");} -.ui-icon-power { @include icon-override("\f011");} -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { @include icon-override("\f012");} -.ui-icon-battery-0 { @include icon-override("\f244");} -.ui-icon-battery-1 { @include icon-override("\f243");} -.ui-icon-battery-2 { @include icon-override("\f242");} -.ui-icon-battery-3 { @include icon-override("\f240");} -.ui-icon-circle-plus { @include icon-override("\f055");} -.ui-icon-circle-minus { @include icon-override("\f056");} -.ui-icon-circle-close { @include icon-override("\f057");} -.ui-icon-circle-triangle-e { @include icon-override("\f138"); } -.ui-icon-circle-triangle-s { @include icon-override("\f13a"); } -.ui-icon-circle-triangle-w { @include icon-override("\f137"); } -.ui-icon-circle-triangle-n { @include icon-override("\f139"); } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } \ No newline at end of file +} \ No newline at end of file diff --git a/jacq-input/src/main/sass/_landing.scss b/jacq-input/src/main/sass/_landing.scss index 75774844..b025f634 100644 --- a/jacq-input/src/main/sass/_landing.scss +++ b/jacq-input/src/main/sass/_landing.scss @@ -72,7 +72,7 @@ padding-top: 80px; height: 623px; background: { - image: url("\#{resource['omega-layout:images/landing/section1_bg.jpg']}"); + image: url("\#{resource['saga-layout:images/landing/section1_bg.jpg']}"); position: top left; repeat: no-repeat; size: cover; diff --git a/jacq-input/src/main/sass/_main.scss b/jacq-input/src/main/sass/_main.scss index afe9c509..efdf98dd 100644 --- a/jacq-input/src/main/sass/_main.scss +++ b/jacq-input/src/main/sass/_main.scss @@ -11,345 +11,394 @@ html { background-color: #edf0f5; } -.wrapper { - padding: 0; - - .topbar { - @include transition(left .3s); - position: fixed; - right: 0; - left: 250px; - height: 50px; - background-color: $topbarBackground; - padding: .7em 1.5em 0em 1.5em; - box-sizing: border-box; - color: #ffffff; - z-index: 101; - - .topbar-title { - display: inline-block; - font-size: 20px; - margin: 5px 0 0 15px; - vertical-align: top; - } +body { + .wrapper { + padding: 0; - #topbar-icons { - float: right; - display: block; - -moz-animation-duration: .5s; - -webkit-animation-duration: .5s; - animation-duration: .5s; + .topbar { + @include transition(left .3s); + position: fixed; + right: 0; + left: 250px; + height: 50px; + background-color: $topbarBackground; + padding: .7em 1.5em 0em 1.5em; + box-sizing: border-box; + color: #ffffff; + z-index: 101; - a { - position: relative; - color: $topbarItemColor; - margin-left: 20px; + .topbar-title { display: inline-block; - text-decoration: none; - @include transition(color .3s); + font-size: 20px; + margin: 5px 0 0 15px; + vertical-align: top; + } - &:hover { - color: $topbarItemHoverColor; - } + #topbar-icons { + float: right; + display: block; + -moz-animation-duration: .5s; + -webkit-animation-duration: .5s; + animation-duration: .5s; - span { - &.topbar-icon { - font-size: 28px; - } + a { + position: relative; + color: $topbarItemColor; + margin-left: 20px; + display: inline-block; + text-decoration: none; + @include transition(color .3s); - &.topbar-item-text { - font-size: 20px; - display: none; + &:hover { + color: $topbarItemHoverColor; } - &.topbar-badge { - position: absolute; - font-size: 10px; - right: -5px; - top: -5px; - color: #ffffff; - padding: 2px 4px; - background-color: $topbarItemBadgeColor; - @include border-radius(50%); - } - } - } + span { + &.topbar-icon { + font-size: 28px; + } - .topbar-search { - padding: 0; - position: relative; - display: inline-block; - top: -4px; + &.topbar-item-text { + font-size: 20px; + display: none; + } - input { - display: inline-block; - border: 0 none; - font-size: $fontSize; - background: transparent; - border-bottom: 2px solid #ffffff; - outline: 0 none; - color: #ffffff; - width: 100px; - padding: 1px 20px 1px 1px; - margin: 0px; - @include border-radius(2px); - - &::-webkit-input-placeholder { color:#ffffff; opacity: .7; @include transition(opacity .3s);} - &:-moz-placeholder { color:#ffffff; opacity: .7; @include transition(opacity .3s);} - &::-moz-placeholder { color:#ffffff; opacity: .7; @include transition(opacity .3s);} - &:-ms-input-placeholder { color:#ffffff; opacity: .7; @include transition(opacity .3s);} + &.topbar-badge { + position: absolute; + font-size: 10px; + right: -5px; + top: -5px; + color: #ffffff; + padding: 2px 4px; + background-color: $topbarItemBadgeColor; + @include border-radius(50%); + } + } } - .topbar-search-icon { - font-size: 18px; - position: absolute; - top: -1px; - right: 0px; - } + .topbar-search { + padding: 0; + position: relative; + display: inline-block; + top: -4px; - &:hover { input { - border-bottom-color: $topbarItemHoverColor; - &::-webkit-input-placeholder { opacity: 1 } - &:-moz-placeholder {opacity: 1} - &::-moz-placeholder {opacity: 1} - &:-ms-input-placeholder {opacity: 1} + display: inline-block; + border: 0 none; + font-size: $fontSize; + background: transparent; + border-bottom: 2px solid #ffffff; + outline: 0 none; + color: #ffffff; + width: 100px; + padding: 1px 20px 1px 1px; + margin: 0px; + @include border-radius(2px); + + &::-webkit-input-placeholder { + color: #ffffff; + opacity: .7; + @include transition(opacity .3s); + } + + &:-moz-placeholder { + color: #ffffff; + opacity: .7; + @include transition(opacity .3s); + } + + &::-moz-placeholder { + color: #ffffff; + opacity: .7; + @include transition(opacity .3s); + } + + &:-ms-input-placeholder { + color: #ffffff; + opacity: .7; + @include transition(opacity .3s); + } } .topbar-search-icon { - color: $topbarItemHoverColor; + font-size: 18px; + position: absolute; + top: -1px; + right: 0px; } - } - } - } - - #omega-menu-button { - display: inline-block; - font-size: 28px; - float: left; - text-decoration: none; - color: #ffffff; - @include transition(color .3s); - - &:hover { - color: $topbarItemHoverColor; - } - } - #options-menu-button { - display: none; - font-size: 28px; - float: right; - text-decoration: none; - color: #ffffff; - @include transition(color .3s); + &:hover { + input { + border-bottom-color: $topbarItemHoverColor; - &:hover { - color: $topbarItemHoverColor; - } - } - } + &::-webkit-input-placeholder { + opacity: 1 + } - .sidebar { - position: fixed; - width: 250px; - height: 100%; - z-index: 102; - @include transition(margin-left .3s); - @include background-gradient-top2bottom($sidebarBackground, $sidebarBackground); + &:-moz-placeholder { + opacity: 1 + } - .logo { - text-align: center; - height: 50px; - box-sizing: border-box; - padding-top: .7em; - } + &::-moz-placeholder { + opacity: 1 + } - .profile { - display: block; - text-decoration: none; - text-align: center; - padding: 20px 0; + &:-ms-input-placeholder { + opacity: 1 + } + } - img { - display: block; - width: 56px; - margin: 0 auto; + .topbar-search-icon { + color: $topbarItemHoverColor; + } + } + } } - > a { + #saga-menu-button { display: inline-block; - margin-bottom: 10px; - color: #ffffff; + font-size: 28px; + float: left; text-decoration: none; + color: #ffffff; @include transition(color .3s); - .username { - display: inline-block; - margin-top: 8px; - - &:before { - content: ""; - display: block; - } - } - - i { - display: inline-block; - font-size: 16px; - } - &:hover { - color: $menuitemHoverColor; + color: $topbarItemHoverColor; } } - > ul { - margin-bottom: -20px; + #options-menu-button { display: none; - background-color: $menuitemActiveBgColor; - text-align: left; - - li { - a { - border: 0 none; - } + font-size: 28px; + float: right; + text-decoration: none; + color: #ffffff; + @include transition(color .3s); - &:last-child { - > a { - border: 0 none; - } - } + &:hover { + color: $topbarItemHoverColor; } } } - .sidebar-scroll-content { - display: block; + .sidebar { + position: fixed; + width: 250px; height: 100%; - position: relative; - - .menu-container { - padding-bottom: 80px; + z-index: 102; + @include transition(margin-left .3s); + @include background-gradient-top2bottom($sidebarBackground, $sidebarBackground); + + .logo { + text-align: center; + height: 50px; + box-sizing: border-box; + padding-top: .7em; } - } - ul { - list-style-type: none; - margin: 0; - padding: 0; - box-sizing: border-box; + .profile { + display: block; + text-decoration: none; + text-align: center; + padding: 20px 0; + + img { + display: block; + width: 56px; + margin: 0 auto; + } - li { > a { - position: relative; - color: $menuitemColor; + display: inline-block; + margin-bottom: 10px; + color: #ffffff; text-decoration: none; - font-size: $fontSize; - padding: 15px; - display: block; - box-sizing: border-box; - border-top: 1px solid $menuitemBorderColor; - @include transition(padding-left .3s); + @include transition(color .3s); - span { - margin-left: .3em; - } + .username { + display: inline-block; + margin-top: 8px; - .menu-badge { - position: absolute; - right: 15px; - top: 14px; - color: #ffffff; - padding: 2px 6px; - background-color: $menuitemBadgeBgColor; - @include border-radius(50%); + &:before { + content: ""; + display: block; + } } - .fa:last-child { - float: right; + i { + display: inline-block; font-size: 16px; } &:hover { - padding-left: 20px; color: $menuitemHoverColor; - - .menu-badge { - color: #ffffff; - } } } - &.active-menuitem { - > a { - border-bottom: 0 none; - background-color: $menuitemActiveBgColor; - color: $menuitemActiveColor; + > ul { + margin-bottom: -20px; + display: none; + background-color: $menuitemActiveBgColor; + text-align: left; + li { + a { + border: 0 none; + } - .fa:last-child { - @include icon-override("\f106"); - font-size: 16px; + &:last-child { + > a { + border: 0 none; + } } } + } + } - > ul { - background-color: $menuitemActiveBgColor; - } + .sidebar-scroll-content { + display: block; + height: 100%; + position: relative; + + .menu-container { + padding-bottom: 80px; } + } - > ul { - display: none; - padding-left: 20px; + .ui-menu { + background: inherit; + list-style-type: none; + margin: 0; + padding: 0; + box-sizing: border-box; + border-top: 1px solid $menuitemBorderColor; + border-bottom: 1px solid $menuitemBorderColor; - li { - a { - padding: 10px 15px; - font-size: $submenuFontSize; - border-top: 0 none; + .ui-menu-list { + .ui-menu-child { + background-color: inherit; + } + + .ui-menuitem { + .ui-menuitem-link { + position: relative; + color: $menuitemColor; + text-decoration: none; + font-size: $fontSize; + padding: 15px; + display: block; + box-sizing: border-box; + border-top: 1px solid $menuitemBorderColor; + @include transition(padding-left .3s); + + span { + color: $menuitemColor; + margin-left: .3em; + } + + .menu-badge { + position: absolute; + right: 15px; + top: 14px; + color: #ffffff; + padding: 2px 6px; + background-color: $menuitemBadgeBgColor; + @include border-radius(50%); + } + + .fa:last-child { + float: right; + font-size: 16px; + } + + &:hover { + padding-left: 20px; + color: $menuitemHoverColor; + background-color: inherit; + + .menu-badge { + color:   #ffffff; + } + } } - &:last-child { + &.active-menuitem { > a { border-bottom: 0 none; + background-color: $menuitemActiveBgColor; + color: $menuitemActiveColor; + + + .fa:last-child { + @include icon-override("\f106"); + font-size: 16px; + } + } + + > ul { + background-color: $menuitemActiveBgColor; + } + } + + > ul { + display: none; + + li { + a { + padding: 10px 15px; + font-size: $submenuFontSize; + border-top: 0 none; + } + + &:last-child { + > a { + border-bottom: 0 none; + } + } + } + } + + &:last-child { + > a { + border-bottom: 1px solid $menuitemBorderColor; } } } } - &:last-child { - > a { - border-bottom: 1px solid $menuitemBorderColor; - } + &.ui-slidemenu .ui-slidemenu-backward { + background: inherit; + color: #ffffff; } } } - } - .main { - @include transition(margin-left .3s); - margin-left: 250px; - padding: 50px 16px 16px 16px; - } + .main { + @include transition(margin-left .3s); + margin-left: 250px; + padding: 50px 16px 16px 16px; + } - .footer { - margin-left: 250px; - height: 40px; - background-color: #ffffff; - padding: .7em 1.5em 0em 1.5em; + .footer { + margin-left: 250px; + height: 40px; + background-color: #ffffff; + padding: .7em 1.5em 0em 1.5em; - img { - vertical-align: middle; - } + img { + vertical-align: middle; + } - .footer-text { - vertical-align: middle; + .footer-text { + vertical-align: middle; + } } - } + } } + /* Responsive */ @media (min-width: 1025px) { .wrapper { diff --git a/jacq-input/src/main/sass/_theme.scss b/jacq-input/src/main/sass/_theme.scss index 707d5543..62963585 100644 --- a/jacq-input/src/main/sass/_theme.scss +++ b/jacq-input/src/main/sass/_theme.scss @@ -1,23 +1,74 @@ /* Theme */ -.ui-widget, +body .ui-widget, .ui-widget .ui-widget { font-size: $fontSize; text-decoration: none; } +.ui-timer { + background-color: #ffffff; + color: #000000; +} + +body .ui-inputfield { + padding: 4px; +} + +body .ui-button { + margin-right: 1.4px; + &.ui-button-text-only { + .ui-button-text { + padding: .3em 1em; + } + } + &.ui-button-icon-only { + .ui-button-text { + padding: .3em; + } + } +} + +body { + .ui-chkbox { + .ui-chkbox-box { + width: 16px; + height: 16px; + + &.ui-state-active, &.ui-state-active.ui-state-hover { + border: 1px solid rgb(105,109,49); + background: rgb(120,124,54); + color: #fff; + } + } + } +} + +body { + .ui-selectbooleanbutton, .ui-selectonebutton, .ui-selectmanybutton { + .ui-button { + &.ui-state-active, &.ui-state-active:not(.ui-state-disabled):hover { + border: 1px solid rgb(105, 109, 49); + background: rgb(120, 124, 54); + color: #fff; + } + } + } +} + + .ui-spinner { .ui-spinner-up { .ui-icon { margin-top: -4px; } } - + .ui-spinner-down { .ui-icon { margin-top: -10px; } } - + .ui-spinner-input { font-size: $fontSize; } @@ -29,7 +80,7 @@ padding-left: 0; } } - + .ui-selectonemenu-label { font-size: $fontSize; } @@ -49,13 +100,13 @@ .ui-selectcheckboxmenu-label { padding: 4px 26px 4px 5px; } - + .ui-selectcheckboxmenu-trigger { .ui-icon { margin-top: 2px; } } - + &.ui-selectcheckboxmenu-multiple { .ui-selectcheckboxmenu-multiple-container { &.ui-inputfield { @@ -109,31 +160,31 @@ .ui-icon-arrow-1-n { @include icon-override("\f106"); } - + .ui-icon-arrowstop-1-n { @include icon-override("\f102"); } - + .ui-icon-arrow-1-s { @include icon-override("\f107"); } - + .ui-icon-arrowstop-1-s { @include icon-override("\f103"); } - + .ui-icon-arrow-1-e { @include icon-override("\f105"); } - + .ui-icon-arrowstop-1-e { @include icon-override("\f101"); } - + .ui-icon-arrow-1-w { @include icon-override("\f104"); } - + .ui-icon-arrowstop-1-w { @include icon-override("\f100"); } @@ -146,15 +197,15 @@ .ui-icon-arrow-1-e { @include icon-override("\f107"); } - + .ui-icon-arrowstop-1-e { @include icon-override("\f103"); } - + .ui-icon-arrow-1-w { @include icon-override("\f106"); } - + .ui-icon-arrowstop-1-w { @include icon-override("\f102"); } @@ -169,26 +220,26 @@ font-size: 16px; color: #fff; } - + .ui-icon-arrowstop-1-n { @include icon-override("\f102"); font-size: 16px; color: #fff; } - + .ui-icon-arrow-1-s { @include icon-override("\f107"); font-size: 16px; color: #fff; } - + .ui-icon-arrowstop-1-s { @include icon-override("\f103"); font-size: 16px; color: #fff; } } - + &.ui-grid-responsive { .ui-grid-row { .ui-orderlist-controls { @@ -204,25 +255,25 @@ box-sizing: border-box; height: 23px; width: 24px; - + span { display: none; } - + &:before { position: relative; top: 1px; } } - + .ui-paginator-next { @include icon-override("\f04b"); } - + .ui-paginator-last { @include icon-override("\f051"); } - + .ui-paginator-prev { @include icon-override("\f04b"); -webkit-transform: rotate(180deg); @@ -231,15 +282,15 @@ -o-transform: rotate(180deg); transform: rotate(180deg); } - + .ui-paginator-first { @include icon-override("\f048"); } - + .ui-paginator-pages { padding: 0; vertical-align: top; - + .ui-paginator-page { height: 17px; } @@ -271,7 +322,7 @@ padding-left: 5px; } } - + .ui-datepicker-prev { .ui-icon { @include icon-override("\f053"); @@ -307,7 +358,7 @@ @include icon-override("\f111"); visibility: hidden; } - + .ui-icon-bullet, .ui-icon-blank { font-size: 10px; margin-top: 2px; @@ -318,39 +369,39 @@ .ui-tree { .ui-tree-toggler { vertical-align: middle; - + &.ui-icon-triangle-1-s { margin-top: -5px; } } - + &.ui-tree-horizontal { .ui-tree-toggler { vertical-align: middle; } } - + .ui-treenode-label { margin-top: 0px; vertical-align: middle; } - + .ui-chkbox { vertical-align: middle; margin-right: 2px; } - + .ui-treenode-icon { vertical-align: middle; position: relative; top: 1px; } -} +} .ui-treetable { .ui-treetable-toggler { margin-top: 1px; - + &.ui-icon-triangle-1-s { margin-top: 1px; } @@ -449,28 +500,28 @@ background: none; color: #fff; padding: 4px; - + &.ui-growl-image-info { @include icon-override("\f05a"); font-size: 36px; } - + &.ui-growl-image-error { @include icon-override("\f056"); font-size: 36px; } - + &.ui-growl-image-warn { @include icon-override("\f071"); font-size: 36px; } - + &.ui-growl-image-fatal { @include icon-override("\f056"); font-size: 36px; } } - + .ui-growl-icon-close { @include icon-override("\f00d"); font-size: $fontSize; @@ -484,7 +535,7 @@ &.ui-carousel-next-button { @include icon-override("\f054"); } - + &.ui-carousel-prev-button { @include icon-override("\f053"); } @@ -508,7 +559,7 @@ top: 1px; } } - + .ui-menuitem-link { text-decoration: none; } @@ -520,13 +571,13 @@ margin-top: 1px; } } - + &.ui-megamenu { .ui-menuitem-icon { margin-top: 1px; } } - + .ui-menuitem-link { width: 96%; } @@ -542,7 +593,7 @@ .ui-menuitem-icon { margin-top: 1px; } - + li.ui-state-active { .ui-menuitem-icon { color: #ffffff; @@ -569,42 +620,127 @@ } } -.ui-datatable { - .ui-row-toggler { - &.ui-icon-circle-triangle-e { - @include icon-override("\f054"); +body { + .ui-datatable { + + .ui-widget-header { + color: #222; + font-weight: bold } - &.ui-icon-circle-triangle-s { - @include icon-override("\f078"); + + .ui-datatable-tablewrapper { + width: 100% } - } - - .ui-radiobutton { - .ui-icon-bullet, .ui-icon-blank { - color: #186ba0; + + .ui-row-toggler { + &.ui-icon-circle-triangle-e { + @include icon-override("\f054"); + } + + &.ui-icon-circle-triangle-s { + @include icon-override("\f078"); + } } - } - - .ui-chkbox { - .ui-chkbox-box { - color: #186ba0; + + .ui-radiobutton { + .ui-icon-bullet, .ui-icon-blank { + color: #186ba0; + } } - } - - .ui-datatable-data { - tr.ui-state-hover { - border-bottom: #d5d5d5; + + .ui-chkbox { + .ui-chkbox-box { + color: #186ba0; + } } + + .ui-paginator { + padding: 2px; + + .ui-paginator-current { + margin: 0; + } + + .ui-paginator-prev { + transform: none; + } + + .ui-paginator-pages { + vertical-align: inherit; + .ui-paginator-page { + &.ui-state-active { + background: rgb(120,124,54); + color: #fff; + border-color: rgb(105,109,49); + } + } + } + + .ui-paginator-pages .ui-paginator-page, .ui-paginator-first, .ui-paginator-prev, .ui-paginator-next, .ui-paginator-last { + line-height: inherit; + height: inherit; + vertical-align: middle; + } + } + + thead { + th { + padding: 4px 10px; + background: #ffffff; + } + } + + .ui-datatable-data { + .ui-datatable-odd { + background-color: #fafafb + } + + > tr { + > td { + padding: 4px 10px; + } + } + + tr.ui-state-hover { + border-bottom: #d5d5d5; + } + } + + .ui-datatable-footer { + background: #ffffff; + text-align: center; + padding: 4px 10px + } + } } -.ui-tabs { +body .ui-tabs { + &.ui-tabs-top { + > .ui-tabs-nav { + li { + &.ui-tabs-header { + &.ui-state-active { + border-color: rgb(120, 124, 54); + } + } + } + } + } .ui-tabs-nav { li { + &.ui-tabs-header { + &.ui-state-active { + a { + color: rgb(120, 124, 54); + + } + } + } .ui-icon { margin-top: 0.6em; } - + > a:focus { outline: 0 none; } @@ -630,14 +766,14 @@ } } -.ui-fluid { +.ui-fluid { .ui-selectonebutton, .ui-selectmanybutton { &.ui-buttonset.ui-buttonset-3 { .ui-button { width: 33.33%; } } - + &.ui-buttonset.ui-buttonset-6 { .ui-button { width: 16.66%; @@ -659,7 +795,7 @@ border-bottom: 1px solid #d6d6d6; } } - + &.ui-buttonset-6, &.ui-buttonset-3 { .ui-button { width: 100%; @@ -687,17 +823,17 @@ a { .ui-lightbox { .ui-lightbox-nav-left { letter-spacing: 11px; - + span { margin: 5px 0; padding-left: 7px; padding-top: 3px; } } - + .ui-lightbox-nav-right { letter-spacing: 11px; - + span { margin: 5px 0; padding-left: 7px; @@ -714,11 +850,11 @@ a { &.green-button { background-color: $greenButton; border-color: $greenButtonBorder; - + &.ui-state-hover { background-color: $greenButtonHover; } - + &.ui-state-active { background-color: $greenButtonActive; } @@ -732,11 +868,11 @@ a { &.yellow-button { background-color: $yellowButton; border-color: $yellowButtonBorder; - + &.ui-state-hover { background-color: $yellowButtonHover; } - + &.ui-state-active { background-color: $yellowButtonActive; } @@ -750,11 +886,11 @@ a { &.red-button { background-color: $redButton; border-color: $redButtonBorder; - + &.ui-state-hover { background-color: $redButtonHover; } - + &.ui-state-active { background-color: $redButtonActive; } @@ -768,16 +904,16 @@ a { &.aqua-button { background-color: $aquaButton; border-color: $aquaButtonBorder; - + &.ui-state-hover { background-color: $aquaButtonHover; } - + &.ui-state-active { background-color: $aquaButtonActive; } } - } + } } /*Navy Button*/ @@ -786,11 +922,11 @@ a { &.navy-button { background-color: $navyButton; border-color: $navyButtonBorder; - + &.ui-state-hover { background-color: $navyButtonHover; } - + &.ui-state-active { background-color: $navyButtonActive; } @@ -804,11 +940,11 @@ a { &.black-button { background-color: $blackButton; border-color: $blackButtonBorder; - + &.ui-state-hover { background-color: $blackButtonHover; } - + &.ui-state-active { background-color: $blackButtonActive; } @@ -822,17 +958,17 @@ a { &.gray-button { background-color: $greyButton; border-color: $greyButtonBorder; - + &.ui-button { span.ui-button-text { color: $greyButtonText; } } - + &.ui-state-hover { background-color: $greyButtonHover; } - + &.ui-state-active { background-color: $greyButtonActive; } @@ -841,7 +977,7 @@ a { } .ui-fluid { - .ui-wizard-navbar { + .ui-wizard-navbar { .ui-button { width: auto; } diff --git a/jacq-input/src/main/webapp/WEB-INF/beans.xml b/jacq-input/src/main/webapp/WEB-INF/beans.xml index ba9b1015..12baef60 100644 --- a/jacq-input/src/main/webapp/WEB-INF/beans.xml +++ b/jacq-input/src/main/webapp/WEB-INF/beans.xml @@ -1,6 +1,5 @@ - - - + + \ No newline at end of file diff --git a/jacq-input/src/main/webapp/WEB-INF/faces-config.xml b/jacq-input/src/main/webapp/WEB-INF/faces-config.xml index 2d7f5068..585f737b 100644 --- a/jacq-input/src/main/webapp/WEB-INF/faces-config.xml +++ b/jacq-input/src/main/webapp/WEB-INF/faces-config.xml @@ -1,8 +1,10 @@ - + en @@ -30,19 +32,6 @@ - - org.primefaces.component.OmegaMenu - org.primefaces.omega.component.menu.OmegaMenu - - - - - org.primefaces.component - org.primefaces.component.OmegaMenuRenderer - org.primefaces.omega.component.menu.OmegaMenuRenderer - - - org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory diff --git a/jacq-input/src/main/webapp/WEB-INF/jboss-web.xml b/jacq-input/src/main/webapp/WEB-INF/jboss-web.xml index 8095cb59..dbecf0cd 100644 --- a/jacq-input/src/main/webapp/WEB-INF/jboss-web.xml +++ b/jacq-input/src/main/webapp/WEB-INF/jboss-web.xml @@ -1,4 +1,3 @@ - jaspitest \ No newline at end of file diff --git a/jacq-input/src/main/webapp/WEB-INF/lib/omega-menu-1.1.2.jar b/jacq-input/src/main/webapp/WEB-INF/lib/omega-menu-1.1.2.jar deleted file mode 100644 index c33c579c0b20c5e6be2561b5f668e2e6fef09b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10197 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 K8q|MF|NjFf)kGKo diff --git a/jacq-input/src/main/webapp/WEB-INF/lib/omega-theme-5.1.0-jakarta.jar b/jacq-input/src/main/webapp/WEB-INF/lib/omega-theme-5.1.0-jakarta.jar new file mode 100644 index 0000000000000000000000000000000000000000..3b2fde28cc21e65a85a63987428e6f92e7d55bb4 GIT binary patch literal 101567 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 z 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

TK9?6l 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 literal 0 HcmV?d00001 diff --git a/jacq-input/src/main/webapp/WEB-INF/primefaces-omega.taglib.xml b/jacq-input/src/main/webapp/WEB-INF/primefaces-omega.taglib.xml deleted file mode 100644 index 9004bcb5..00000000 --- a/jacq-input/src/main/webapp/WEB-INF/primefaces-omega.taglib.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - http://primefaces.org/omega - - - - menu - - org.primefaces.component.OmegaMenu - org.primefaces.component.OmegaMenuRenderer - - - - id - false - java.lang.String - - - - rendered - false - java.lang.Boolean - - - - binding - false - javax.faces.component.UIComponent - - - - widgetVar - false - java.lang.String - - - - model - false - org.primefaces.model.menu.MenuModel - - - - style - false - java.lang.String - - - - styleClass - false - java.lang.String - - - - \ No newline at end of file diff --git a/jacq-input/src/main/webapp/WEB-INF/templates/omega/error.xhtml b/jacq-input/src/main/webapp/WEB-INF/templates/saga/error.xhtml similarity index 87% rename from jacq-input/src/main/webapp/WEB-INF/templates/omega/error.xhtml rename to jacq-input/src/main/webapp/WEB-INF/templates/saga/error.xhtml index fef22685..aab2a729 100644 --- a/jacq-input/src/main/webapp/WEB-INF/templates/omega/error.xhtml +++ b/jacq-input/src/main/webapp/WEB-INF/templates/saga/error.xhtml @@ -17,7 +17,7 @@

- +

@@ -26,7 +26,7 @@
- + \ No newline at end of file diff --git a/jacq-input/src/main/webapp/WEB-INF/templates/omega/sidebar.xhtml b/jacq-input/src/main/webapp/WEB-INF/templates/saga/sidebar.xhtml similarity index 72% rename from jacq-input/src/main/webapp/WEB-INF/templates/omega/sidebar.xhtml rename to jacq-input/src/main/webapp/WEB-INF/templates/saga/sidebar.xhtml index c0355bb2..91050efb 100644 --- a/jacq-input/src/main/webapp/WEB-INF/templates/omega/sidebar.xhtml +++ b/jacq-input/src/main/webapp/WEB-INF/templates/saga/sidebar.xhtml @@ -3,8 +3,7 @@ xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" - xmlns:p="http://primefaces.org/ui" - xmlns:po="http://primefaces.org/omega"> + xmlns:p="http://primefaces.org/ui">