Author: bleny Date: 2011-03-24 11:52:31 +0000 (Thu, 24 Mar 2011) New Revision: 1087 Log: misc fixes Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java trunk/wao-business/src/test/resources/log4j.properties trunk/wao-ui/src/main/webapp/css/sampling.css Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-03-24 10:29:28 UTC (rev 1086) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-03-24 11:52:31 UTC (rev 1087) @@ -352,10 +352,10 @@ addChange("Les navires suivants ne sont plus éligibles : " + StringUtils.join(noLongerEligibleBoats, ", ")); } - if ( ! stillEligibleBoats.isEmpty()) { - addChange("Les navires suivants sont toujours éligibles ; " + - StringUtils.join(stillEligibleBoats, ", ")); - } +// if ( ! stillEligibleBoats.isEmpty()) { +// addChange("Les navires suivants sont toujours éligibles ; " + +// StringUtils.join(stillEligibleBoats, ", ")); +// } if ( ! newlyEligibleBoats.isEmpty()) { addChange("Les navires suivants deviennent éligibles : " + StringUtils.join(newlyEligibleBoats, ", ")); @@ -395,10 +395,10 @@ addChange("Les zones de pêches suivantes ont été dissociées : " + StringUtils.join(removedZones, ", ")); } - if ( ! keptZones.isEmpty()) { - addChange("Les zones de pêches suivantes sont toujours associées : " + - StringUtils.join(keptZones, ", ")); - } +// if ( ! keptZones.isEmpty()) { +// addChange("Les zones de pêches suivantes sont toujours associées : " + +// StringUtils.join(keptZones, ", ")); +// } if ( ! addedZones.isEmpty()) { addChange("Les zones de pêches suivantes ont été ajoutées : " + StringUtils.join(addedZones, ", ")); 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-03-24 10:29:28 UTC (rev 1086) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-24 11:52:31 UTC (rev 1087) @@ -98,6 +98,7 @@ import org.nuiton.util.StringUtil; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; +import org.nuiton.util.beans.BinderModelBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -290,6 +291,8 @@ row.setCode(code); } else { + // We call the service in another transaction, to prevent + // putting an entity in with the same id in the same session oldRow = getSampleRowByCode(null, row.getCode()); } @@ -321,20 +324,57 @@ // update the row by copying the new data in the old entity // taking care to not remove any sample row log entries - // FIXME 2011-03-22 bleny select property to copy according to program - Binder<SampleRow, SampleRow> sampleRowBinder = BinderFactory.newBinder(SampleRow.class); - sampleRowBinder.copyExcluding(row, oldRow, SampleRow.TOPIA_ID, SampleRow.TOPIA_VERSION, SampleRow.TOPIA_CREATE_DATE, - // old logs (whole historic) is kept by not erasing this property - SampleRow.PROPERTY_SAMPLE_ROW_LOG, - // FIXME bleny 20110315 should not be excluded - SampleRow.PROPERTY_OBSERVERS); + BinderModelBuilder<SampleRow, SampleRow> sampleRowBinderModelBuilder = BinderModelBuilder.newEmptyBuilder(SampleRow.class); + if (ObsProgram.OBSDEB.equals(row.getObsProgram())) { + sampleRowBinderModelBuilder.addSimpleProperties( + SampleRow.PROPERTY_COMMENT, SampleRow.PROPERTY_COMMENT, + SampleRow.PROPERTY_DAY, SampleRow.PROPERTY_DAY, + SampleRow.PROPERTY_GROUP_NAME, SampleRow.PROPERTY_GROUP_NAME, + // SampleRow.PROPERTY_OBSERVERS, SampleRow.PROPERTY_OBSERVERS, + SampleRow.PROPERTY_OBSERVATION_UNIT, SampleRow.PROPERTY_OBSERVATION_UNIT); + } else { + oldRow.clearSampleMonth(); + oldRow.addAllSampleMonth(row.getSampleMonth()); + oldRow.clearDCF5Code(); + oldRow.addAllDCF5Code(row.getDCF5Code()); + // first, add all properties common to both ObsMer and ObsVente + sampleRowBinderModelBuilder.addSimpleProperties( + // SampleRow.PROPERTY_D_CF5_CODE, + // SampleRow.PROPERTY_SAMPLE_MONTH, + SampleRow.PROPERTY_FISHING_ZONES_INFOS, + SampleRow.PROPERTY_COMMENT, + SampleRow.PROPERTY_PROGRAM_NAME, + SampleRow.PROPERTY_PERIOD_BEGIN, + SampleRow.PROPERTY_PERIOD_END, + SampleRow.PROPERTY_SAMPLING_STRATEGY_ORDINAL, + SampleRow.PROPERTY_PROFESSION, + SampleRow.PROPERTY_COMPANY, + SampleRow.PROPERTY_ELLIGIBLE_BOAT, + SampleRow.PROPERTY_FISHING_ZONE); + + // now add properties specific to ObsMer or ObsVente + if (ObsProgram.OBSMER.equals(row.getObsProgram())) { + sampleRowBinderModelBuilder.addSimpleProperties( + SampleRow.PROPERTY_NB_OBSERVANTS, + SampleRow.PROPERTY_AVERAGE_TIDE_TIME); + } else if (ObsProgram.OBSVENTE.equals(row.getObsProgram())) { + sampleRowBinderModelBuilder.addSimpleProperties( + SampleRow.PROPERTY_SAMPLING_STRATEGY_ORDINAL, + SampleRow.PROPERTY_TERRESTRIAL_LOCATION, + SampleRow.PROPERTY_TERRESTRIAL_LOCATION_INFOS); + } + } + BinderFactory.registerBinderModel(sampleRowBinderModelBuilder, "wao"); + Binder<SampleRow, SampleRow> sampleRowBinder = BinderFactory.newBinder(SampleRow.class, "wao"); + sampleRowBinder.copy(row, oldRow); + if (rowLog.getTopiaId() == null) { context.prepareTopiaId(SampleRowLog.class, rowLog); } // attach the new log entry to the updated row - row.addSampleRowLog(rowLog); + oldRow.addSampleRowLog(rowLog); dao.update(oldRow); } @@ -770,6 +810,11 @@ result.sizeFishingZone(); result.sizeDCF5Code(); result.sizeSampleRowLog(); + + if (ObsProgram.OBSVENTE.equals(result.getObsProgram())) { + result.getTerrestrialLocation(); + } + } return result; @@ -1454,18 +1499,12 @@ } @Override - protected SamplingFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, SamplingFilter filter) throws Exception { - FacadeRow facadeRow = executeGetSampleRowsOrderedByFishingZone(transaction, filter); - SamplingFilterValues result = new SamplingFilterValuesImpl(); + public SamplingFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, SamplingFilter filter) throws Exception { + List<SampleRow> sampleRows = executeGetSampleRowsByFilter(transaction, filter); - List<SampleRow> sampleRows = facadeRow.getValues(); - - if (sampleRows == null) { - return result; - } - // Extract datas - // FIXME sletellier 20110318 : move this on SamplingFilterValues ? + // TODO sletellier 20110318 : move this on SamplingFilterValues ? + SamplingFilterValues result = new SamplingFilterValuesImpl(); for (SampleRow sampleRow : sampleRows) { result.addCompanies(sampleRow.getCompany()); result.addFacadeNames(sampleRow.getFacade()); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2011-03-24 10:29:28 UTC (rev 1086) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2011-03-24 11:52:31 UTC (rev 1087) @@ -62,6 +62,7 @@ import fr.ifremer.wao.io.ImportResults; import org.apache.commons.io.IOUtils; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; @@ -682,6 +683,7 @@ * @throws WaoBusinessException should not occur */ @Test + @Ignore("not yet implemented") public void importObsdebSamplingPlan() throws WaoBusinessException { ServiceReferential serviceReferential = manager.getServiceReferential(); InputStream input = null; Modified: trunk/wao-business/src/test/resources/log4j.properties =================================================================== --- trunk/wao-business/src/test/resources/log4j.properties 2011-03-24 10:29:28 UTC (rev 1086) +++ trunk/wao-business/src/test/resources/log4j.properties 2011-03-24 11:52:31 UTC (rev 1087) @@ -29,7 +29,7 @@ # A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=%d [%p] %c{2} %m%n +log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) %M - %m%n log4j.logger.fr.ifremer.wao=INFO log4j.logger.org.nuiton.util=INFO Modified: trunk/wao-ui/src/main/webapp/css/sampling.css =================================================================== --- trunk/wao-ui/src/main/webapp/css/sampling.css 2011-03-24 10:29:28 UTC (rev 1086) +++ trunk/wao-ui/src/main/webapp/css/sampling.css 2011-03-24 11:52:31 UTC (rev 1087) @@ -74,8 +74,10 @@ padding-left: 5px; } -#sampleRowForm { +#so-samplerow-form form { width: 50%; + margin-left: auto; + margin-right: auto; } /* Styles for table header */