Author: bleny Date: 2012-03-12 16:20:40 +0100 (Mon, 12 Mar 2012) New Revision: 1556 Url: http://forge.codelutin.com/repositories/revision/wao/1556 Log: Evolution #664 Passer la synth?\195?\168se sur un filtrage au niveau contacts : NPE sur certaines dates Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2012-03-12 11:39:12 UTC (rev 1555) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactDAOImpl.java 2012-03-12 15:20:40 UTC (rev 1556) @@ -344,10 +344,6 @@ SortedMap<Date, Integer> actualObservationsMyMonths = new TreeMap<Date,Integer>(); - for (Date month : monthsPeriod.getMonths()) { - actualObservationsMyMonths.put(month, 0); - } - TopiaQuery query = toTopiaQuery(filter); query.addEquals(query.getMainAlias() + "." + Contact.PROPERTY_STATE, ContactState.OBSERVATION_DONE.ordinal()) .addEquals(query.getMainAlias() + "." + Contact.PROPERTY_VALIDATION_COMPANY, true) @@ -359,6 +355,10 @@ Integer count = actualObservationsMyMonths.get(month); + if (count == null) { + count = 0; + } + count += 1; actualObservationsMyMonths.put(month, count); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-03-12 11:39:12 UTC (rev 1555) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowDAOImpl.java 2012-03-12 15:20:40 UTC (rev 1556) @@ -212,10 +212,6 @@ SortedMap<Date, Integer> expectedObservationsByMonths = new TreeMap<Date,Integer>(); - for (Date month : monthsPeriod.getMonths()) { - expectedObservationsByMonths.put(month, 0); - } - WaoQueryHelper.SampleRowProperty sampleRowProperty = WaoQueryHelper.newSampleRowProperty(); WaoQueryHelper.SampleMonthProperty sampleMonthProperty = WaoQueryHelper.newSampleMonthProperty(); String sampleMonthDateProperty = sampleMonthProperty.periodDate(); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2012-03-12 11:39:12 UTC (rev 1555) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2012-03-12 15:20:40 UTC (rev 1556) @@ -318,15 +318,16 @@ Date date = entry.getKey(); // both variables will contains planned and realized at the same date - int numberOfRealized = entry.getValue(); - int numberOfPlanned = res.getLeft().get(date); + Integer numberOfPlanned = res.getLeft().get(date); + Integer numberOfRealized = entry.getValue(); - totalNumberOfPlanned += numberOfPlanned; - totalNumberOfRealized += numberOfRealized; + totalNumberOfPlanned += numberOfPlanned == null ? 0 : numberOfPlanned; + totalNumberOfRealized += numberOfRealized == null ? 0 : numberOfRealized; if (log.isDebugEnabled()) { log.debug(String.format( - "number of planed %s (%s), number of realized %s (%s)", + "at month %s:number of planed %s (%s), number of realized %s (%s)", + date, numberOfPlanned, totalNumberOfPlanned, numberOfRealized, totalNumberOfRealized)); }