Author: bleny Date: 2014-09-05 15:24:14 +0200 (Fri, 05 Sep 2014) New Revision: 2237 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2237 Log: Suppression du champs nbObservants de la table Contact et suppression et du champs color des motifs de refus (fixes #4481) Removed: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactImpl.java trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java trunk/wao-persistence/src/main/resources/db/migration/V4_1__clean_database.sql trunk/wao-persistence/src/main/resources/motifs.csv trunk/wao-persistence/src/main/xmi/wao-model.zargo trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactStateMotivesImportModel.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactImpl.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactImpl.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -67,46 +67,34 @@ return getSampleRow().getObsProgram(); } - /** Value is still used but it's no longer written, it's now computed - * from the size of observers. */ - protected void updateNbObservers() { - setNbObservants(getAllObservers().size()); - } - @Override public void addSecondaryObservers(WaoUser secondaryObservers) { super.addSecondaryObservers(secondaryObservers); - updateNbObservers(); } @Override public void addAllSecondaryObservers(Set<WaoUser> secondaryObservers) { super.addAllSecondaryObservers(secondaryObservers); - updateNbObservers(); } @Override public void setSecondaryObservers(Set<WaoUser> secondaryObservers) { super.setSecondaryObservers(secondaryObservers); - updateNbObservers(); } @Override public void removeSecondaryObservers(WaoUser secondaryObservers) { super.removeSecondaryObservers(secondaryObservers); - updateNbObservers(); } @Override public void clearSecondaryObservers() { super.clearSecondaryObservers(); - updateNbObservers(); } @Override public void setMainObserver(WaoUser mainObserver) { super.setMainObserver(mainObserver); - updateNbObservers(); } @Override Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -326,7 +326,9 @@ Map<String, Long> countContactsByCompany = countByCompany(hqlAndParametersBuilder); - hqlAndParametersBuilder.addWhereClause("c." + Contact.PROPERTY_NB_OBSERVANTS + " >= c.sampleRow." + SampleRow.PROPERTY_NB_OBSERVANTS); + hqlAndParametersBuilder.addWhereClause( + "(c." + Contact.PROPERTY_MAIN_OBSERVER + " is null and size(c." + Contact.PROPERTY_SECONDARY_OBSERVERS + ") >= c.sampleRow." + SampleRow.PROPERTY_NB_OBSERVANTS + ")" + + " or (c." + Contact.PROPERTY_MAIN_OBSERVER + " is not null and 1 + size(c." + Contact.PROPERTY_SECONDARY_OBSERVERS + ") >= c.sampleRow." + SampleRow.PROPERTY_NB_OBSERVANTS + ")"); Map<String, Long> countContactsWithComplianceByCompany = countByCompany(hqlAndParametersBuilder); @@ -354,7 +356,7 @@ String hql = hqlAndParametersBuilder.getHql(); - hql = "select c.sampleRow.company.topiaId, c.state, count(c.topiaId) " + hql + " group by c.sampleRow.company.topiaId, c.state"; + hql = "select c.sampleRow.company.topiaId, c.contactState, count(c.topiaId) " + hql + " group by c.sampleRow.company.topiaId, c.contactState"; List<Object[]> rows = findAll(hql, hqlAndParametersBuilder.getHqlParameters()); @@ -363,7 +365,7 @@ for (Object[] row : rows) { String companyId = (String) row[0]; - int contactStateOrdinal = (int) row[1]; + ContactState contactState = (ContactState) row[1]; Long count = (Long) row[2]; Map<ContactState, Long> companyStatistics = contactStatesStatistics.get(companyId); @@ -375,7 +377,6 @@ contactStatesStatistics.put(companyId, companyStatistics); } - ContactState contactState = ContactState.valueOf(contactStateOrdinal); companyStatistics.put(contactState, count); } Modified: trunk/wao-persistence/src/main/resources/db/migration/V4_1__clean_database.sql =================================================================== --- trunk/wao-persistence/src/main/resources/db/migration/V4_1__clean_database.sql 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-persistence/src/main/resources/db/migration/V4_1__clean_database.sql 2014-09-05 13:24:14 UTC (rev 2237) @@ -47,11 +47,13 @@ DROP TABLE fleet; ALTER TABLE boat DROP COLUMN boatgroup; DROP TABLE boatgroup; +ALTER TABLE contactstatemotif DROP COLUMN color; -- Suppression de quelques dénormalisations ALTER TABLE contact DROP COLUMN tidenbdays; ALTER TABLE contact DROP COLUMN obsprogramordinal; +ALTER TABLE contact DROP COLUMN nbobservants; -- Suppresion de tout ce qui concerne les indicateurs Modified: trunk/wao-persistence/src/main/resources/motifs.csv =================================================================== --- trunk/wao-persistence/src/main/resources/motifs.csv 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-persistence/src/main/resources/motifs.csv 2014-09-05 13:24:14 UTC (rev 2237) @@ -1,6 +1,5 @@ -MOTIF_CODE;MOTIF_NOM;MOTIF_COULEUR -REFUS_ADMINISTRATIF;Administratif;00FFFF -REFUS_PROGRAMME;Rejet du programme;FF0000 -REFUS_PROFESSION;Blocage de la profession;0000FF -REFUS_AUTRE;Autre;DDDDDD - +MOTIF_CODE;MOTIF_NOM +REFUS_ADMINISTRATIF;Administratif +REFUS_PROGRAMME;Rejet du programme +REFUS_PROFESSION;Blocage de la profession +REFUS_AUTRE;Autre Modified: trunk/wao-persistence/src/main/xmi/wao-model.zargo =================================================================== (Binary files differ) Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -398,10 +398,6 @@ } catch (UnwantedContactContactStateMotifException e) { String message = l(l, "wao.import.contact.failure.unwantedContactStateMotif", lineNumber); throw new ImportErrorException(message); - } catch (MissingContactNbObservantsException e) { - String state = WaoUtils.l(l, e.getContact().getContactState()); - String message = l(l, "wao.import.contact.failure.missingObserver", lineNumber, state); - throw new ImportErrorException(message); } catch (MissingContactObservationEndDateException e) { String state = WaoUtils.l(l, e.getContact().getContactState()); String message = l(l, "wao.import.contact.failure.missingObservationEndDate", lineNumber, state); @@ -536,7 +532,6 @@ MissingContactCommentException, MissingContactObservationBeginDateException, MissingContactObservationEndDateException, - MissingContactNbObservantsException, MissingContactStateMotifException, UnwantedContactContactStateMotifException, MissingContactObservedDataControlException, @@ -686,9 +681,6 @@ if (observationEndDate == null) { throw new MissingContactObservationEndDateException(contact); } - if (contact.getNbObservants() == 0) { - throw new MissingContactNbObservantsException(contact); - } if (contact.getObsProgram().isObsVente() && contact.getTerrestrialLocation() == null) { throw new MissingContactTerrestrialLocationException(contact); } Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -1,40 +0,0 @@ -package fr.ifremer.wao.services.service; - -/* - * #%L - * Wao :: Services - * %% - * 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% - */ - -import fr.ifremer.wao.entity.Contact; - -/** - * Created on 4/4/14. - * - * @author Tony Chemit <chemit@codelutin.com> - * @since 4.0 - */ -public class MissingContactNbObservantsException extends ContactValidationException { - - private static final long serialVersionUID = 1L; - - public MissingContactNbObservantsException(Contact contact) { - super(contact); - } - -} Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/ReferentialService.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -442,7 +442,6 @@ } else { existingMotif.setName(motif.getName()); existingMotif.setContactState(motif.getContactState()); - existingMotif.setColor(motif.getColor()); dao.update(existingMotif); } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactStateMotivesImportModel.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactStateMotivesImportModel.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactStateMotivesImportModel.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -29,10 +29,7 @@ import org.nuiton.csv.ImportModel; import org.nuiton.csv.ImportableColumn; import org.nuiton.csv.ModelBuilder; -import org.nuiton.csv.ValueParser; -import org.nuiton.i18n.I18n; -import java.text.ParseException; import java.util.List; import java.util.Locale; @@ -69,17 +66,6 @@ "MOTIF_CODE", ContactStateMotif.PROPERTY_CODE); modelBuilder.newMandatoryColumn( "MOTIF_NOM", ContactStateMotif.PROPERTY_NAME); - modelBuilder.newMandatoryColumn( - "MOTIF_COULEUR", ContactStateMotif.PROPERTY_COLOR, new ValueParser<String>() { - @Override - public String parse(String value) throws ParseException { - if (value.length() != 6) { - //FIXME Not correct i18n key - throw new IllegalArgumentException(I18n.l(locale, "wao.import.contact.failure.wrongColor", value)); - } - return value.trim(); - } - }); } @Override Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -55,7 +55,6 @@ import fr.ifremer.wao.services.service.MissingContactDataReliabilityException; import fr.ifremer.wao.services.service.MissingContactMainObserverException; import fr.ifremer.wao.services.service.MissingContactMammalsInfoException; -import fr.ifremer.wao.services.service.MissingContactNbObservantsException; import fr.ifremer.wao.services.service.MissingContactObservationBeginDateException; import fr.ifremer.wao.services.service.MissingContactObservationEndDateException; import fr.ifremer.wao.services.service.MissingContactObservedDataControlException; @@ -250,10 +249,6 @@ } catch (UnwantedContactContactStateMotifException e) { addFieldError("updateContactCommand.contact.contactStateMotif", t("wao.ui.form.Contact.error.unwantedContactStateMotif")); - } catch (MissingContactNbObservantsException e) { - String state = WaoUtils.l(getLocale(), e.getContact().getContactState()); - addFieldError("updateContactCommand.contact.nbObservants", t("wao.ui.form.Contact.error.missingObserver", state)); - } catch (MissingContactObservationEndDateException e) { String state = WaoUtils.l(getLocale(), e.getContact().getContactState()); addFieldError("updateContactCommand.contact.observationEndDate", t("wao.ui.form.Contact.error.missingObservationEndDate", state)); Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java 2014-09-05 10:19:33 UTC (rev 2236) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java 2014-09-05 13:24:14 UTC (rev 2237) @@ -46,7 +46,6 @@ import fr.ifremer.wao.services.service.MissingContactDataReliabilityException; import fr.ifremer.wao.services.service.MissingContactMainObserverException; import fr.ifremer.wao.services.service.MissingContactMammalsInfoException; -import fr.ifremer.wao.services.service.MissingContactNbObservantsException; import fr.ifremer.wao.services.service.MissingContactObservationBeginDateException; import fr.ifremer.wao.services.service.MissingContactObservationEndDateException; import fr.ifremer.wao.services.service.MissingContactObservedDataControlException; @@ -173,10 +172,6 @@ } catch (UnwantedContactContactStateMotifException e) { errorMessage = t("wao.ui.form.Contact.error.unwantedContactStateMotif"); - } catch (MissingContactNbObservantsException e) { - String state = WaoUtils.l(getLocale(), e.getContact().getContactState()); - errorMessage = t("wao.ui.form.Contact.error.missingObserver", state); - } catch (MissingContactObservationEndDateException e) { String state = WaoUtils.l(getLocale(), e.getContact().getContactState()); errorMessage = t("wao.ui.form.Contact.error.missingObservationEndDate", state);