Author: bleny Date: 2011-03-29 13:36:48 +0000 (Tue, 29 Mar 2011) New Revision: 1113 Log: add logs and test for obsdeb sampling plan Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2011-03-29 09:42:22 UTC (rev 1112) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterImpl.java 2011-03-29 13:36:48 UTC (rev 1113) @@ -27,6 +27,8 @@ import fr.ifremer.wao.entity.SampleRow; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.nuiton.util.beans.BeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -103,4 +105,11 @@ } return sampleRow; } + + @Override + public String toString() { + ToStringBuilder toStringBuilder = new ToStringBuilder(this); + String toString = toStringBuilder.reflectionToString(this); + return toString; + } } 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-29 09:42:22 UTC (rev 1112) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-03-29 13:36:48 UTC (rev 1113) @@ -583,11 +583,16 @@ if (ObsProgram.OBSDEB.equals(filter.getObsProgram())) { // force load for (SampleRow row : rows) { - row.getObservationUnit().getPort(); + row.getObservationUnit(); row.sizeElligibleBoat(); } } + if (log.isDebugEnabled()) { + log.debug("Querying sample-rows with filter " + filter.toString() + + " returns " + rows.size() + " lines."); + } + return rows; } @@ -989,6 +994,7 @@ SampleRowLog sampleRowLog = executeGetNewSampleRowLog(sampleRow, connectedUser); executeCreateUpdateSampleRow(transaction, sampleRow, new ArrayList<Boat>(), sampleRowLog); + result.incNbImported(); } catch (Exception e) { errorArgs.add(-1); errorArgs.add(sampleRow == null ? "" : sampleRow.getCode()); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-03-29 09:42:22 UTC (rev 1112) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-03-29 13:36:48 UTC (rev 1113) @@ -36,10 +36,13 @@ import fr.ifremer.wao.entity.UserProfileImpl; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.entity.WaoUserImpl; +import fr.ifremer.wao.io.ImportResults; import org.apache.commons.lang.StringUtils; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.nuiton.util.DateUtil; +import org.nuiton.util.PeriodDates; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -78,18 +81,26 @@ public void adminCanImportSamplingPlan() throws WaoBusinessException { adminCanImportTerrestrialDistrict(); InputStream input = getClass().getResourceAsStream("/import/samplingPlan-obsdeb.csv"); - manager.getServiceSampling().importSamplingPlanCsv(input, asAdministrator()); + ImportResults importResults = manager.getServiceSampling().importSamplingPlanCsv(input, asAdministrator()); + Assert.assertEquals(2, importResults.getNbRowsImported()); + Assert.assertEquals(0, importResults.getNbRowsRefused()); } /** * As an admin, i should be able to read sampling plan */ @Test - @Ignore("not yet implemented") public void adminCanReadSamplingPlan() throws WaoBusinessException { - adminCanImportTerrestrialDistrict(); - SamplingFilter samplingFilter = manager.getServiceSampling().newSamplingFilter(asAdministrator()); - List<SampleRow> sampleRows = manager.getServiceSampling().getSampleRowsByFilter(samplingFilter); + + // given a sampling plan + adminCanImportSamplingPlan(); + + // as an administrator, i can get the sampling plan + ServiceSampling serviceSampling = manager.getServiceSampling(); + + SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(asAdministrator()); + List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(samplingFilter); + if (log.isDebugEnabled()) { log.debug(sampleRows.toString()); } @@ -100,7 +111,31 @@ sampleRow.getObservationUnit().getObservationUnitCode(); sampleRow.getDay(); sampleRow.getGroupName(); + + // all the rows have a code Assert.assertTrue(StringUtils.isNotEmpty(sampleRow.getCode())); } } + + @Test + @Ignore("not yet implemented") + public void usersCanFilterSamplingPlan() throws WaoBusinessException { + + // given a sampling plan + adminCanImportSamplingPlan(); + + ServiceSampling serviceSampling = manager.getServiceSampling(); + + // i can filter the sampling plan + SamplingFilter samplingFilter = serviceSampling.newSamplingFilter(asAdministrator()); + samplingFilter = serviceSampling.newSamplingFilter(asAdministrator()); + samplingFilter.setPeriod(new PeriodDates(DateUtil.createDate(20, 2, 2010), + DateUtil.createDate(27, 2, 2010))); + + // service should have returned the line with date 25/02/2010 + List<SampleRow> sampleRows = serviceSampling.getSampleRowsByFilter(samplingFilter); + Assert.assertEquals(1, sampleRows.size()); + Assert.assertEquals("2011_889", sampleRows.get(0).getCode()); + } + }