Author: bleny Date: 2011-05-03 13:49:59 +0000 (Tue, 03 May 2011) New Revision: 1250 Log: fix bug on import of observers Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-05-02 16:33:40 UTC (rev 1249) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2011-05-03 13:49:59 UTC (rev 1250) @@ -463,14 +463,4 @@ public void setSamplingStrategy(SamplingStrategy samplingStrategy) { setSamplingStrategyOrdinal(samplingStrategy.ordinal()); } - - @Override - public void setCompany(Company company) { - super.setCompany(company); - // clear observers because if the sample row is moved to another company, - // we can't imagine that the observers will remains the same - if (getObsProgram() == ObsProgram.OBSDEB) { - clearObservers(); - } - } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-02 16:33:40 UTC (rev 1249) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-03 13:49:59 UTC (rev 1250) @@ -362,6 +362,11 @@ " is already used in program " + oldRow.getObsProgram()); } + if ( ! connectedUser.isAdmin()) { + // only admin can change company + row.setCompany(oldRow.getCompany()); + } + // it's the modification of a row, we must compute the // difference between before and after add this to the // sample row historic @@ -371,16 +376,11 @@ // update the row by copying the new data in the old entity // taking care to not remove any sample row log entries - BinderModelBuilder<SampleRow, SampleRow> sampleRowBinderModelBuilder = BinderModelBuilder.newEmptyBuilder(SampleRow.class); // add properties common to all programs sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMMENT); - if (connectedUser.isAdmin()) { - // only admin can change company - sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMPANY); - } // plus per-program properties if (ObsProgram.OBSDEB.equals(row.getObsProgram())) {