r29 - in trunk/cash-business/src/main: java/org/chorem/cash/business java/org/chorem/cash/impl xmi
Author: fdesbois Date: 2009-09-02 21:42:34 +0200 (Wed, 02 Sep 2009) New Revision: 29 Modified: trunk/cash-business/src/main/java/org/chorem/cash/business/EntryHelper.java trunk/cash-business/src/main/java/org/chorem/cash/impl/ServiceEntryImpl.java trunk/cash-business/src/main/xmi/cash.zargo Log: [FIX] http://chorem.org/issues/show/41 Add composite between Categ and Entry for delete Modified: trunk/cash-business/src/main/java/org/chorem/cash/business/EntryHelper.java =================================================================== --- trunk/cash-business/src/main/java/org/chorem/cash/business/EntryHelper.java 2009-08-31 16:38:06 UTC (rev 28) +++ trunk/cash-business/src/main/java/org/chorem/cash/business/EntryHelper.java 2009-09-02 19:42:34 UTC (rev 29) @@ -184,7 +184,7 @@ public static void addEntryForMonth(EntryEntity entity, Date currentDate, Map<String, List<Entry>> results, String pattern) throws ConvertException { /*if (log.isDebugEnabled() && entity.getEntryFrequencyEntity() != null) { log.debug("PERIODIC ENTRY : beginDate = " + entity.getEntryDate() + " _ current = " + currentDate); - }*/ + }*/ Entry result = EntryHelper.getEntry(entity, currentDate); String month = DateUtils.formatDate(currentDate, pattern); List<Entry> current = results.get(month); Modified: trunk/cash-business/src/main/java/org/chorem/cash/impl/ServiceEntryImpl.java =================================================================== --- trunk/cash-business/src/main/java/org/chorem/cash/impl/ServiceEntryImpl.java 2009-08-31 16:38:06 UTC (rev 28) +++ trunk/cash-business/src/main/java/org/chorem/cash/impl/ServiceEntryImpl.java 2009-09-02 19:42:34 UTC (rev 29) @@ -237,8 +237,13 @@ List<EntryEntity> entries = dao.findAllBetweenDates(period.getFromDate(), period.getThruDate()); + int nbBadEntries = 0; for (EntryEntity entity : entries) { - EntryHelper.addEntryForMonth(entity, entity.getEntryDate(), results, period.getPattern()); + if (entity.getCategoryEntity() != null) { // Temporary FIX for Unbound entries with category + EntryHelper.addEntryForMonth(entity, entity.getEntryDate(), results, period.getPattern()); + } else { + nbBadEntries++; + } } List<EntryEntity> periodicEntries = dao.findUnlimitedPeriodicEntries(); @@ -275,42 +280,47 @@ results = helper.execute(results); }*/ + if (periodicEntry.getCategoryEntity() != null) { // Temporary FIX for Unbound entries with category - Calendar calendar = new GregorianCalendar(); - calendar.setTime(periodicEntry.getEntryDate()); - // Si entryDate est contenu dans la periode, l'entree sera deja dans la liste des entries - calendar.add(Calendar.MONTH, frequency.getInterval()); + Calendar calendar = new GregorianCalendar(); + calendar.setTime(periodicEntry.getEntryDate()); + // Si entryDate est contenu dans la periode, l'entree sera deja dans la liste des entries + calendar.add(Calendar.MONTH, frequency.getInterval()); - Periodicity periodicity = Periodicity.valueOf(frequency.getPeriodicity()); + Periodicity periodicity = Periodicity.valueOf(frequency.getPeriodicity()); - if (frequency.getUnlimited()) { - while (period.beforeEnd(calendar)) { - if (period.afterBegin(calendar)) { - EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + if (frequency.getUnlimited()) { + while (period.beforeEnd(calendar)) { + if (period.afterBegin(calendar)) { + EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + } + calendar.add(Calendar.MONTH, frequency.getInterval()); } - calendar.add(Calendar.MONTH, frequency.getInterval()); - } - } else if (frequency.getNbTimes() > 0) { - int count = 0; - while (period.beforeEnd(calendar) && count < frequency.getNbTimes()) { - calendar.add(Calendar.MONTH, frequency.getInterval()); - if (period.afterBegin(calendar)) { - EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + } else if (frequency.getNbTimes() > 0) { + int count = 0; + while (period.beforeEnd(calendar) && count < frequency.getNbTimes()) { + calendar.add(Calendar.MONTH, frequency.getInterval()); + if (period.afterBegin(calendar)) { + EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + } + count++; } - count++; - } - } else if (frequency.getUntilDate() != null) { - Date untilDate = frequency.getUntilDate(); - while (period.beforeEnd(calendar) && (calendar.getTime().before(untilDate) || untilDate.equals(calendar.getTime()))) { - calendar.add(Calendar.MONTH, frequency.getInterval()); - if (period.afterBegin(calendar)) { - EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + } else if (frequency.getUntilDate() != null) { + Date untilDate = frequency.getUntilDate(); + while (period.beforeEnd(calendar) && (calendar.getTime().before(untilDate) || untilDate.equals(calendar.getTime()))) { + calendar.add(Calendar.MONTH, frequency.getInterval()); + if (period.afterBegin(calendar)) { + EntryHelper.addEntryForMonth(periodicEntry, calendar.getTime(), results, period.getPattern()); + } } } + } else { + nbBadEntries++; } } if (log.isDebugEnabled()) { + log.debug("Bad entries : " + nbBadEntries); log.debug("NbEntries find : " + entries.size()); log.debug("NbPeriodicEntries find : " + periodicEntries.size()); log.debug("Results added : " + results.size() + " _ keys = " + results.keySet()); Modified: trunk/cash-business/src/main/xmi/cash.zargo =================================================================== (Binary files differ)
participants (1)
-
fdesbois@users.chorem.org