This is an automated email from the git hooks/post-receive script. New commit to branch feature/5973 in repository wao. See http://git.codelutin.com/wao.git commit 69befc97b92f3e6d1b5ff64c91f3c1d407aee303 Author: Brendan Le Ny <bleny@codelutin.com> Date: Tue Dec 2 16:56:23 2014 +0100 Introduction de la notion de laboratoire et d'organisation dans le modèle, on lie l'utilisateur à l'organisation et la ligne du plan à l'organisation (refs #2262) --- .../fr/ifremer/wao/entity/ContactTopiaDao.java | 4 +- ...{WaoUserTopiaDao.java => OrganisationImpl.java} | 16 +----- .../java/fr/ifremer/wao/entity/SampleRowImpl.java | 20 +++++++ .../fr/ifremer/wao/entity/SampleRowLogImpl.java | 4 +- .../fr/ifremer/wao/entity/SampleRowTopiaDao.java | 2 +- .../java/fr/ifremer/wao/entity/WaoUserImpl.java | 10 ++++ .../fr/ifremer/wao/entity/WaoUserTopiaDao.java | 2 +- .../V4_3__add_species,_add_laboratories.sql | 58 +++++++++++++++++++++ .../resources/db/migration/V4_3__add_species.sql | 15 ------ wao-persistence/src/main/xmi/wao-model.zargo | Bin 60055 -> 61426 bytes .../service/administration/WaoUsersService.java | 4 +- ...bsMerObsVenteSamplingPlanImportExportModel.java | 2 +- 12 files changed, 98 insertions(+), 39 deletions(-) diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java index 51098e8..a4902ca 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java @@ -202,7 +202,7 @@ public class ContactTopiaDao extends AbstractContactTopiaDao<Contact> { public Contact findMostRecentContactOrNull(ObsProgram obsProgram, String boatId, String companyId) { TopiaQueryBuilderAddCriteriaOrRunQueryStep<Contact> query = newQueryBuilder(); query.addTopiaIdEquals(Contact.PROPERTY_BOAT, boatId); - query.addTopiaIdEquals(Contact.PROPERTY_SAMPLE_ROW + "." + SampleRow.PROPERTY_COMPANY, companyId); + query.addTopiaIdEquals(Contact.PROPERTY_SAMPLE_ROW + "." + SampleRow.PROPERTY_ORGANISATION, companyId); query.addEquals(Contact.PROPERTY_SAMPLE_ROW + "." + SampleRow.PROPERTY_OBS_PROGRAM, obsProgram); query.setOrderByArguments(Contact.PROPERTY_CREATION_DATE + " desc"); return query.findFirstOrNull(); @@ -435,7 +435,7 @@ public class ContactTopiaDao extends AbstractContactTopiaDao<Contact> { HqlAndParametersBuilder<Contact> query = toContactHqlAndParametersBuilder(filter); query.addAllFetches( - Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_COMPANY, + Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_ORGANISATION, Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_FISHING_ZONE, Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_PROFESSION, Contact.PROPERTY_SAMPLE_ROW + '.' + SampleRow.PROPERTY_DCF5_CODE + '.' + Dcf5Code.PROPERTY_FISHING_GEAR_DCF, diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/OrganisationImpl.java similarity index 56% copy from wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java copy to wao-persistence/src/main/java/fr/ifremer/wao/entity/OrganisationImpl.java index 7892fac..bc18a2d 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/OrganisationImpl.java @@ -21,20 +21,6 @@ package fr.ifremer.wao.entity; * #L% */ -import com.google.common.base.Optional; - -public class WaoUserTopiaDao extends AbstractWaoUserTopiaDao<WaoUser> { - - public Optional<WaoUser> tryFindByEmailAndFetchCollections(String email) { - Optional<WaoUser> waoUserOptional - = forLoginEquals(email) - . addFetch(WaoUser.PROPERTY_COMPANY) - . addFetch(WaoUser.PROPERTY_CAN_READ_BOATS) - . addFetch(WaoUser.PROPERTY_USER_PROFILE) - . addFetch(WaoUser.PROPERTY_ALLEGRO_WALLET) - . tryFindUnique() - ; - return waoUserOptional; - } +public abstract class OrganisationImpl extends OrganisationAbstract { } diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java index 3514b20..e5d10c9 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java @@ -226,4 +226,24 @@ public class SampleRowImpl extends SampleRowAbstract { } return expired; } + + @Override + public void setCompany(Company company) { + setOrganisation(company); + } + + @Override + public Company getCompany() { + return (Company) getOrganisation(); + } + + @Override + public Laboratory getLaboratory() { + return (Laboratory) getOrganisation(); + } + + @Override + public void setLaboratory(Laboratory laboratory) { + setOrganisation(laboratory); + } } diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java index a710526..3253b65 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java @@ -189,8 +189,8 @@ public class SampleRowLogImpl extends SampleRowLogAbstract { } protected void compareCompanies() { - Company oldCompany = oldRow == null ? null : oldRow.getCompany(); - Company newCompany = newRow.getCompany(); + Organisation oldCompany = oldRow == null ? null : oldRow.getOrganisation(); + Organisation newCompany = newRow.getOrganisation(); if (oldCompany != null) { String msg = "La ligne n'est plus associée à la société " + oldCompany.getName(); if (newCompany != null && !newCompany.equals(oldCompany)) { diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java index dafcfc7..8506a89 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java @@ -100,7 +100,7 @@ public class SampleRowTopiaDao extends AbstractSampleRowTopiaDao<SampleRow> { } if (CollectionUtils.isNotEmpty(filter.getCompanyIds())) { - query.addTopiaIdIn(SampleRow.PROPERTY_COMPANY, filter.getCompanyIds()); + query.addTopiaIdIn(SampleRow.PROPERTY_ORGANISATION, filter.getCompanyIds()); } if (CollectionUtils.isNotEmpty(filter.getSamplingStrategies())) { diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java index 2a6f326..51a95a5 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java @@ -94,6 +94,16 @@ public class WaoUserImpl extends WaoUserAbstract { } @Override + public Company getCompany() { + return (Company) getOrganisation(); + } + + @Override + public void setCompany(Company company) { + setOrganisation(company); + } + + @Override public String toString() { return Objects.toStringHelper(this) .add(PROPERTY_LOGIN, login) diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java index 7892fac..9e90a10 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUserTopiaDao.java @@ -28,7 +28,7 @@ public class WaoUserTopiaDao extends AbstractWaoUserTopiaDao<WaoUser> { public Optional<WaoUser> tryFindByEmailAndFetchCollections(String email) { Optional<WaoUser> waoUserOptional = forLoginEquals(email) - . addFetch(WaoUser.PROPERTY_COMPANY) + . addFetch(WaoUser.PROPERTY_ORGANISATION) . addFetch(WaoUser.PROPERTY_CAN_READ_BOATS) . addFetch(WaoUser.PROPERTY_USER_PROFILE) . addFetch(WaoUser.PROPERTY_ALLEGRO_WALLET) diff --git a/wao-persistence/src/main/resources/db/migration/V4_3__add_species,_add_laboratories.sql b/wao-persistence/src/main/resources/db/migration/V4_3__add_species,_add_laboratories.sql new file mode 100644 index 0000000..459d5f8 --- /dev/null +++ b/wao-persistence/src/main/resources/db/migration/V4_3__add_species,_add_laboratories.sql @@ -0,0 +1,58 @@ +--- +-- #%L +-- Wao :: Persistence +-- %% +-- Copyright (C) 2009 - 2014 Ifremer +-- %% +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU Affero General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU Affero General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- #L% +--- + +create table species ( + + topiaId character varying(255) not null, + topiaVersion bigint not null, + topiaCreateDate timestamp without time zone, + aphiaId text, + permanentCode text, + scientificName text, + vernacularName text, + + constraint species_pkey primary key (topiaId), + constraint species_aphiaId_unique unique (aphiaId), + constraint species_permanentCode_unique unique (permanentCode), + constraint species_scientificName_unique unique (scientificName) +); + +create table laboratory ( + + topiaId character varying(255) not null, + topiaVersion bigint not null, + topiaCreateDate timestamp without time zone, + name text, + company character varying(255) not null, + + constraint laboratory_pkey primary key (topiaId), + constraint laboratory_name_unique unique (name), + constraint laboratory_company_fkey foreign key (company) + references Company(topiaId) match simple + on update no action on delete no action +); + +-- sample row can now be associated to something else than a company +alter table SampleRow drop constraint fk4256f3d0f28824af; +alter table SampleRow rename column company to organisation; + +alter table WaoUser drop constraint fk42d03050f28824af; +alter table WaoUser rename column company to organisation; diff --git a/wao-persistence/src/main/resources/db/migration/V4_3__add_species.sql b/wao-persistence/src/main/resources/db/migration/V4_3__add_species.sql deleted file mode 100644 index 1bd8388..0000000 --- a/wao-persistence/src/main/resources/db/migration/V4_3__add_species.sql +++ /dev/null @@ -1,15 +0,0 @@ -create table species ( - - topiaId character varying(255) not null, - topiaVersion bigint not null, - topiaCreateDate timestamp without time zone, - aphiaId text, - permanentCode text, - scientificName text, - vernacularName text, - - constraint species_pkey primary key (topiaId), - constraint species_aphiaId_unique unique (aphiaId), - constraint species_permanentCode_unique unique (permanentCode), - constraint species_scientificName_unique unique (scientificName) -) diff --git a/wao-persistence/src/main/xmi/wao-model.zargo b/wao-persistence/src/main/xmi/wao-model.zargo index 1178506..80e3039 100644 Binary files a/wao-persistence/src/main/xmi/wao-model.zargo and b/wao-persistence/src/main/xmi/wao-model.zargo differ diff --git a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java index 6e8bd35..faf17fe 100644 --- a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java +++ b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java @@ -62,7 +62,7 @@ public class WaoUsersService extends WaoServiceSupport { TopiaQueryBuilderAddCriteriaOrRunQueryStep<WaoUser> query = dao.newQueryBuilder(); if (optionalCompanyId.isPresent()) { - query.addTopiaIdEquals(WaoUser.PROPERTY_COMPANY, optionalCompanyId.get()); + query.addTopiaIdEquals(WaoUser.PROPERTY_ORGANISATION, optionalCompanyId.get()); } query.setOrderByArguments(WaoUser.PROPERTY_LOGIN); @@ -80,7 +80,7 @@ public class WaoUsersService extends WaoServiceSupport { TopiaQueryBuilderAddCriteriaOrRunQueryStep<WaoUser> query = dao.newQueryBuilder(); if (optionalCompanyId.isPresent()) { - query.addTopiaIdEquals(WaoUser.PROPERTY_COMPANY, optionalCompanyId.get()); + query.addTopiaIdEquals(WaoUser.PROPERTY_ORGANISATION, optionalCompanyId.get()); } query.addEquals(WaoUser.PROPERTY_ACTIVE, true); diff --git a/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerObsVenteSamplingPlanImportExportModel.java b/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerObsVenteSamplingPlanImportExportModel.java index 01554bf..824223f 100644 --- a/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerObsVenteSamplingPlanImportExportModel.java +++ b/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerObsVenteSamplingPlanImportExportModel.java @@ -194,7 +194,7 @@ public class ObsMerObsVenteSamplingPlanImportExportModel implements ImportExport modelBuilder = new ModelBuilder<>(); modelBuilder.newColumnForImportExport("PLAN_CODE", SampleRow.PROPERTY_CODE, new SampleRowCodeParserFormatter(locale, obsProgram)); - modelBuilder.newColumnForImportExport("SOCIETE_NOM", SampleRow.PROPERTY_COMPANY, new CompanyParserFormatter(locale, companies)); + modelBuilder.newColumnForImportExport("SOCIETE_NOM", SampleRow.PROPERTY_ORGANISATION, new CompanyParserFormatter(locale, companies)); modelBuilder.newColumnForExport("PECHE_FACADE", "facade"); modelBuilder.newIgnoredColumn("PECHE_FACADE"); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.