Author: bleny Date: 2011-04-07 14:18:08 +0000 (Thu, 07 Apr 2011) New Revision: 1159 Log: fix filling possibles values Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/BoatFilterValuesImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -1,8 +1,22 @@ package fr.ifremer.wao.bean; +import fr.ifremer.wao.entity.Boat; +import fr.ifremer.wao.entity.ElligibleBoat; + +import java.util.List; + /** * @author sletellier <letellier at codelutin.com> */ public class BoatFilterValuesImpl extends BoatFilterValues { + @Override + public void fillBoats(List<Boat> boats) { + for (Boat boat : boats) { + List<ElligibleBoat> elligibleBoats = boat.getElligibleBoat(); + for (ElligibleBoat elligibleBoat : elligibleBoats) { + fillSampleRow(elligibleBoat.getSampleRow()); + } + } + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -1,6 +1,9 @@ package fr.ifremer.wao.bean; +import fr.ifremer.wao.entity.Boat; +import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.ContactStateMotif; +import fr.ifremer.wao.entity.SampleRow; import java.util.ArrayList; import java.util.Collection; @@ -45,4 +48,13 @@ public List<ContactStateMotif> getContactStateMotifsAsList() { return getAsList(getContactStateMotifs()); } + + @Override + public void fillContacts(List<Contact> contacts) { + for (Contact contact : contacts) { + addObservers(contact.getMainObserver()); + addAllObservers(contact.getSecondaryObservers()); + fillSampleRow(contact.getSampleRow()); + } + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -379,31 +379,36 @@ return new ArrayList<E>(collection); } - @Override - public void fill(List<SampleRow> sampleRows) { - for (SampleRow sampleRow : sampleRows) { - ObsProgram obsProgram = sampleRow.getObsProgram(); - if (ObsProgram.OBSDEB.equals(obsProgram)) { - addAllObservers(sampleRow.getObservers()); - addObservationUnits(sampleRow.getObservationUnit()); - } else { - // for both ObsMer and ObsVente - addFacadeNames(sampleRow.getFacade()); - addSectorsNames(sampleRow.getSectors()); - addPrograms(sampleRow.getProgramName()); - Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code(); - if (dcf5Codes != null) { - for (DCF5Code dcf5Code : dcf5Codes) { - addFishingGearDCFCodes(dcf5Code.getFishingGearDCF()); - addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF()); - addCompanies(sampleRow.getCompany()); - } + + protected void fillSampleRow(SampleRow sampleRow) { + ObsProgram obsProgram = sampleRow.getObsProgram(); + if (ObsProgram.OBSDEB.equals(obsProgram)) { + addAllObservers(sampleRow.getObservers()); + addObservationUnits(sampleRow.getObservationUnit()); + } else { + // for both ObsMer and ObsVente + addFacadeNames(sampleRow.getFacade()); + addSectorsNames(sampleRow.getSectors()); + addPrograms(sampleRow.getProgramName()); + Collection<DCF5Code> dcf5Codes = sampleRow.getDCF5Code(); + if (dcf5Codes != null) { + for (DCF5Code dcf5Code : dcf5Codes) { + addFishingGearDCFCodes(dcf5Code.getFishingGearDCF()); + addTargetSpeciesDCFCodes(dcf5Code.getTargetSpeciesDCF()); + addCompanies(sampleRow.getCompany()); } - if (ObsProgram.OBSVENTE.equals(obsProgram)) { - addTerrestrialDistricts(sampleRow.getTerrestrialLocation()); - } } + if (ObsProgram.OBSVENTE.equals(obsProgram)) { + addTerrestrialDistricts(sampleRow.getTerrestrialLocation()); + } } - addAllSampleRows(sampleRows); + addSampleRows(sampleRow); } + + @Override + public void fillSampleRows(List<SampleRow> sampleRows) { + for (SampleRow sampleRow : sampleRows) { + fillSampleRow(sampleRow); + } + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -42,8 +42,6 @@ import fr.ifremer.wao.bean.CompanyBoatInfosImpl; import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.bean.SamplingFilterValues; -import fr.ifremer.wao.bean.SamplingFilterValuesImpl; import fr.ifremer.wao.entity.ActivityCalendar; import fr.ifremer.wao.entity.ActivityCalendarDAO; import fr.ifremer.wao.entity.ActivityMonth; @@ -362,8 +360,8 @@ applyShipOwnerFilter(shipOwnerName). addDistinct(). setSelect(WaoQueryHelper.format("CONCAT(CONCAT($1,' '), $2)", - shipOwnerProperty.firstName(), - shipOwnerProperty.lastName()) + shipOwnerProperty.firstName(), + shipOwnerProperty.lastName()) ); List<String> shipOwnerNames = transaction.findByQuery(query); @@ -722,17 +720,11 @@ } else { // extract data - Map<Integer, Boat> integerBoatMap = executeGetBoatsByFilter(transaction, filter); + Map<Integer, Boat> indexedBoats = executeGetBoatsByFilter(transaction, filter); + List<Boat> boats = new ArrayList<Boat>(indexedBoats.values()); - logger.info("Starting extracting rows : " + new Date()); - // Extract sampleRows - List<SampleRow> rows = extractSampleRows(integerBoatMap.values()); - - logger.info("End of extracting rows : " + new Date()); - // collect values - - result.fill(rows); + result.fillBoats(boats); } filter.setStartIndex(startIndex); @@ -741,17 +733,6 @@ return result; } - protected List<SampleRow> extractSampleRows(Collection<Boat> boats) { - List<SampleRow> result = new ArrayList<SampleRow>(); - for (Boat boat : boats) { - List<ElligibleBoat> elligibleBoats = boat.getElligibleBoat(); - for (ElligibleBoat elligibleBoat : elligibleBoats) { - result.add(elligibleBoat.getSampleRow()); - } - } - return result; - } - @Override protected BoatFilter executeNewBoatFilter(TopiaContext transaction, ConnectedUser connectedUser) throws Exception { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -1536,21 +1536,14 @@ Integer endIndex = filter.getEndIndex(); filter.setStartIndex(null); filter.setEndIndex(null); - Map<String, Contact> contacts = executeGetContacts(transaction, filter); + Map<String, Contact> indexedContacts = executeGetContacts(transaction, filter); filter.setStartIndex(startIndex); filter.setEndIndex(endIndex); ContactFilterValues result = new ContactFilterValuesImpl(); - List<SampleRow> rows = extractSampleRows(contacts.values()); - result.fill(rows); - return result; - } + List<Contact> contacts = new ArrayList<Contact>(indexedContacts.values()); + result.fillContacts(contacts); - protected List<SampleRow> extractSampleRows(Collection<Contact> contacts) { - List<SampleRow> result = new ArrayList<SampleRow>(); - for (Contact contact : contacts) { - result.add(contact.getSampleRow()); - } return result; } } 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-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -1411,7 +1411,7 @@ // collect values SamplingFilterValues result = new SamplingFilterValuesImpl(); - result.fill(sampleRows); + result.fillSampleRows(sampleRows); return result; } Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-04-07 14:03:27 UTC (rev 1158) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-04-07 14:18:08 UTC (rev 1159) @@ -141,20 +141,8 @@ void onActivate(EventContext ec) { sampleRowContextId = ec.get(String.class, 0); -// if (ec.getCount() > 1) { -// boatSelectedImmatriculation = ec.get(Integer.class, 1); -// } -// boatSelectedImmatriculation = ec.get(Integer.class, 1); } -// Object[] onPassivate() { -// return new Object[] { sampleRowContextId, boatSelectedImmatriculation }; -// } - -// String onPassivate() { -// return sampleRowContextId; -// } - StreamResponse onActionFromExportShowBoats() { return new ExportStreamResponse("wao-navires") {