Author: bleny Date: 2014-08-27 16:33:48 +0200 (Wed, 27 Aug 2014) New Revision: 2222 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2222 Log: Plusieurs simplification du code dans le formulaire de modification d'un contact mais ?\195?\167a ne r?\195?\169soud pas le probl?\195?\168me (refs #5653) Modified: branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateContactCommand.java branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java branches/wao-4.0.x/wao-web/src/main/webapp/WEB-INF/content/edit-contact-input.jsp Modified: branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java =================================================================== --- branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-08-19 15:43:17 UTC (rev 2221) +++ branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-08-27 14:33:48 UTC (rev 2222) @@ -788,9 +788,11 @@ protected void notifyMammalsObservationIfNecessary(UpdateContactCommand updateContactCommand) { - if (updateContactCommand.isMammalsInfosChanged()) { + // we send notifications if there is mammals Capture and + // we prevent re-send of multiple identical messages + Contact contact = updateContactCommand.getContact(); - Contact contact = updateContactCommand.getContact(); + if (contact.isMammalsCapture() && updateContactCommand.isMammalsInfosChanged()) { MammalsObservationEmail email = getEmailService().newMammalsObservationEmail(); email.setContact(contact); Modified: branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateContactCommand.java =================================================================== --- branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateContactCommand.java 2014-08-19 15:43:17 UTC (rev 2221) +++ branches/wao-4.0.x/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateContactCommand.java 2014-08-27 14:33:48 UTC (rev 2222) @@ -22,9 +22,9 @@ */ import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.DataReliability; -import org.apache.commons.lang3.ObjectUtils; import java.io.Serializable; import java.util.HashSet; @@ -50,8 +50,6 @@ protected Boolean oldValidationProgram; - protected String oldMammalsInfo; - protected String mainObserverId; protected Set<String> secondaryObserverIds = new HashSet<>(); @@ -60,6 +58,8 @@ protected String contactStateMotifId; + protected boolean mammalsInfosChanged; + public boolean isCreation() { return creation; } @@ -84,7 +84,6 @@ this.contact = contact; this.oldValidationCompany = contact.getValidationCompany(); this.oldValidationProgram = contact.getValidationProgram(); - this.oldMammalsInfo = contact.getMammalsInfo(); } public Boolean getValidationCompany() { @@ -115,6 +114,9 @@ } public void setMammalsInfo(String mammalsInfo) { + String oldMessage = Strings.nullToEmpty(contact.getMammalsInfo()); + String newMessage = Strings.nullToEmpty(mammalsInfo); + mammalsInfosChanged = ! oldMessage.equals(newMessage); contact.setMammalsInfo(mammalsInfo); } @@ -124,21 +126,6 @@ * @return {@code true} if mammal informations changed */ public boolean isMammalsInfosChanged() { - - boolean mammalsInfosChanged = false; - - // we send notifications if there is mammals Capture and - // we prevent re-send of multiple identical messages - if (contact.isMammalsCapture()) { - String oldMessage = null; - if (!isCreation()) { - oldMessage = oldMammalsInfo; - } - boolean messageChanged = ObjectUtils.notEqual(contact.getMammalsInfo(), oldMessage); - if (messageChanged) { - mammalsInfosChanged = true; - } - } return mammalsInfosChanged; } Modified: branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java =================================================================== --- branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-08-19 15:43:17 UTC (rev 2221) +++ branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-08-27 14:33:48 UTC (rev 2222) @@ -22,7 +22,6 @@ */ import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.Sets; import com.opensymphony.xwork2.Preparable; @@ -151,51 +150,30 @@ } public Map<String, String> getObservers() { - if (observers == null) { - prepare(); - } return observers; } public Map<ContactState, String> getContactStates() { - if (contactStates == null) { - prepare(); - } return contactStates; } public Map<String, String> getContactStateMotives() { - if (contactStateMotives == null) { - prepare(); - } return contactStateMotives; } public Map<ObservedDataControl, String> getObservedDataControls() { - if (observedDataControls == null) { - prepare(); - } return observedDataControls; } public Map<DataReliability, String> getDataReliabilities() { - if (dataReliabilities == null) { - prepare(); - } return dataReliabilities; } public Map<String, String> getTerrestrialLocations() { - if (terrestrialLocations == null) { - prepare(); - } return terrestrialLocations; } public Map<SamplingStrategy, String> getSamplingStrategies() { - if (samplingStrategies == null) { - prepare(); - } return samplingStrategies; } @@ -210,12 +188,6 @@ @Override public void prepare() { - Preconditions.checkState(optionalContactId.isPresent()); - - if (log.isInfoEnabled()) { - log.info("user " + getAuthenticatedWaoUser() + " want to edit contact " + optionalContactId.get()); - } - try { updateContactCommand = service.newUpdateContactCommand(getAuthenticatedWaoUser(), optionalContactId); } catch (UnknownContactIdException e) { Modified: branches/wao-4.0.x/wao-web/src/main/webapp/WEB-INF/content/edit-contact-input.jsp =================================================================== --- branches/wao-4.0.x/wao-web/src/main/webapp/WEB-INF/content/edit-contact-input.jsp 2014-08-19 15:43:17 UTC (rev 2221) +++ branches/wao-4.0.x/wao-web/src/main/webapp/WEB-INF/content/edit-contact-input.jsp 2014-08-27 14:33:48 UTC (rev 2222) @@ -314,7 +314,7 @@ disabled="%{!#editObservationReport}"/> <div id="mammalsInfo"> - <s:textarea name="updateContactCommand.contact.mammalsInfo" + <s:textarea name="updateContactCommand.mammalsInfo" label="%{getText('wao.ui.field.Contact.mammalsInfo')}" disabled="%{!#editObservationReport}"/> <div class="alert">