[Suiviobsmer-commits] r940 - in trunk: wao-business/src/main/java/fr/ifremer/wao/io/csv wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao wao-business/src/test/java/fr/ifremer/wao/entity wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
Author: bleny Date: 2011-01-24 15:10:30 +0000 (Mon, 24 Jan 2011) New Revision: 940 Log: import/export for SamplingPlan Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv/WaoCsvHeader.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java trunk/wao-ui/src/main/webapp/SamplingPlan.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv/WaoCsvHeader.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv/WaoCsvHeader.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv/WaoCsvHeader.java 2011-01-24 15:10:30 UTC (rev 940) @@ -198,7 +198,9 @@ PLAN_DUREE_MOY(15, "Durée moyenne d'une marée (jours)"), /** SampleRow comment **/ PLAN_COMMENT(17, "Commentaire"), - PLAN_STRATEGIE(18, "Stratégie d'échantillonage"); + PLAN_STRATEGIE(18, "Stratégie d'échantillonage"), + PLAN_LIEU_CODE(19, "Code quartier maritime"), + PLAN_LIEU_NOM(20, "Nom quartier maritime"); private int contactHeader; @@ -263,7 +265,7 @@ public static int getTotalHeaders() { // PLAN_COMMENT is the last column - return PLAN_COMMENT.forSamplingCsv() + 1; + return PLAN_LIEU_NOM.forSamplingCsv() + 1; } public static SAMPLING getLastHeaderBeforeMonths() { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-01-24 15:10:30 UTC (rev 940) @@ -349,4 +349,14 @@ return result; } + + @Override + protected TerrestrialLocation executeGetTerrestrialDistrict(TopiaContext transaction, String districtCode) throws Exception { + TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction); + Map<String, Object> properties = new HashMap<String, Object>(); + properties.put(TerrestrialLocation.PROPERTY_LOCATION_TYPE_ORDINAL, null); + properties.put(TerrestrialLocation.PROPERTY_DISTRICT_CODE, districtCode); + TerrestrialLocation result = dao.findByProperties(properties); + 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-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-01-24 15:10:30 UTC (rev 940) @@ -61,6 +61,7 @@ import fr.ifremer.wao.entity.SampleRowLogDAO; import fr.ifremer.wao.entity.SampleRowLogImpl; import fr.ifremer.wao.entity.TargetSpeciesDCF; +import fr.ifremer.wao.entity.TerrestrialLocation; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.io.ImportResultsImpl; @@ -870,6 +871,13 @@ export.record(SAMPLING.PLAN_DUREE_MOY, numberFormat.format(row.getAverageTideTime())); export.record(SAMPLING.PLAN_COMMENT, String.valueOf(row.getComment())); export.record(SAMPLING.PLAN_STRATEGIE, row.getSamplingStrategy().name()); + if (row.getTerrestrialLocation() != null) { + if (row.getTerrestrialLocation().getDistrictCode() != null) { + export.record(SAMPLING.PLAN_LIEU_CODE, row.getTerrestrialLocation().getDistrictCode()); + String districtName = row.getTerrestrialLocation().getDistrictName(); + export.record(SAMPLING.PLAN_LIEU_NOM, districtName == null ? "Autre" : districtName); + } + } export.recordMonths(row); @@ -889,10 +897,9 @@ } @Override - public ImportResults executeImportSamplingPlanCsv(TopiaContext transaction, - List<Object> errorArgs, InputStream input) - throws WaoBusinessException, IOException, - TopiaException, ParseException { + public ImportResults executeImportSamplingPlanCsv(TopiaContext transaction, List<Object> errorArgs, + InputStream input, ObsProgram obsProgram) throws WaoBusinessException, IOException, + TopiaException, ParseException { ImportResults result = new ImportResultsImpl(); int currRow = 0; @@ -941,6 +948,7 @@ result.incNbRefused(); //nbRefused++; } else { row = dao.create(SampleRow.PROPERTY_CODE, code); + row.setObsProgram(obsProgram); String companyName = ImportHelper.read(reader, SAMPLING.SOCIETE_NOM); @@ -1106,6 +1114,19 @@ sampleRow.setPeriodEnd(period.getThruDate()); sampleRow.setComment(comment); + String districtCode = ImportHelper.read(reader, SAMPLING.PLAN_LIEU_CODE); + ServiceReferential serviceReferential = context.getServiceFactory().getServiceReferential(); + if (StringUtils.isBlank(districtCode)) { + String districtName = ImportHelper.read(reader, SAMPLING.PLAN_LIEU_NOM); + if (districtName != null && districtName.equals("Autre")) { + TerrestrialLocation district = serviceReferential.getTerrestrialDistrict(null); + sampleRow.setTerrestrialLocation(district); + } + } else { + TerrestrialLocation district = serviceReferential.getTerrestrialDistrict(districtCode); + sampleRow.setTerrestrialLocation(district); + } + String codeDCF5 = ImportHelper.read(reader, SAMPLING.METIER_CODE_DCF5); codeDCF5 = codeDCF5.trim(); // a trick, nullSampleRow is just intantiated to user the parsing Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-01-24 15:10:30 UTC (rev 940) @@ -150,6 +150,7 @@ wao.error.serviceReferential.getFishingZones= wao.error.serviceReferential.getProfessions= wao.error.serviceReferential.getSectors= +wao.error.serviceReferential.getTerrestrialDistrict= wao.error.serviceReferential.importDCFcodes= wao.error.serviceReferential.importFishingZoneCsv= wao.error.serviceReferential.importTerrestrialLocations= Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-01-24 15:10:30 UTC (rev 940) @@ -161,6 +161,7 @@ wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00EAche wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche +wao.error.serviceReferential.getTerrestrialDistrict= wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00E9er le r\u00E9f\u00E9rentiel des codes DCF wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails. wao.error.serviceReferential.importTerrestrialLocations= Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-01-24 15:10:30 UTC (rev 940) @@ -22,6 +22,7 @@ package fr.ifremer.wao; import fr.ifremer.wao.bean.ContactState; +import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Boat; import fr.ifremer.wao.entity.BoatDAO; @@ -551,7 +552,7 @@ input = getClass().getResourceAsStream("/import/echantillonnage.csv"); ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-01-24 15:10:30 UTC (rev 940) @@ -118,7 +118,7 @@ ServiceSampling serviceSampling = manager.getServiceSampling(); input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); @@ -211,7 +211,7 @@ ServiceSampling serviceSampling = manager.getServiceSampling(); input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-01-24 15:10:30 UTC (rev 940) @@ -237,7 +237,7 @@ ServiceSampling serviceSampling = manager.getServiceSampling(); input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); // Get two SampleRows : 2009_3 & 2010_4 SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); 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-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2011-01-24 15:10:30 UTC (rev 940) @@ -414,7 +414,7 @@ transaction.closeContext(); InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); /** EXEC METHOD **/ SamplingFilter filter = new SamplingFilterImpl(); @@ -497,7 +497,7 @@ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); @@ -571,7 +571,7 @@ /** EXEC METHOD **/ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - ImportResults result = serviceSampling.importSamplingPlanCsv(input); + ImportResults result = serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); // total imported assertEquals(12, result.getNbRowsImported()); @@ -638,7 +638,7 @@ transaction.closeContext(); InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); /** EXEC METHOD **/ List<String> programs = serviceSampling.getPrograms(null); @@ -665,7 +665,7 @@ ServiceSampling serviceSampling = manager.getServiceSampling(); InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); transaction.closeContext(); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-01-24 15:10:30 UTC (rev 940) @@ -30,6 +30,7 @@ import fr.ifremer.wao.bean.ContactAverageReactivity; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.ContactStateStatistics; +import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.SamplingFilterImpl; import fr.ifremer.wao.entity.Boat; @@ -142,7 +143,7 @@ input = getClass().getResourceAsStream("/import/echantillonnage.csv"); ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); @@ -232,7 +233,7 @@ input = getClass().getResourceAsStream("/import/echantillonnage.csv"); ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); @@ -514,7 +515,7 @@ input = getClass().getResourceAsStream("/import/echantillonnage.csv"); ServiceSampling serviceSampling = manager.getServiceSampling(); - serviceSampling.importSamplingPlanCsv(input); + serviceSampling.importSamplingPlanCsv(input, ObsProgram.OBSMER); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-01-24 15:10:30 UTC (rev 940) @@ -206,7 +206,8 @@ @Override public ImportResults execute(InputStream input) throws WaoException, WaoBusinessException { - ImportResults results = serviceSampling.importSamplingPlanCsv(input); + ImportResults results = serviceSampling.importSamplingPlanCsv(input, + currentUser.getProfile().getObsProgram()); return results; } }; Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml =================================================================== --- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2011-01-22 18:35:15 UTC (rev 939) +++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2011-01-24 15:10:30 UTC (rev 940) @@ -293,10 +293,10 @@ <t:unless t:test="user.guest"> <t:if t:test="rowNotFinished"> <a t:type="pagelink" t:page="boats" t:context="row.topiaId"> - <img src="${asset:context:}/img/boat.png" alt="Navire" title="Voir les navires éligibles pour cette ligne"/> + <img src="${asset:context:}/img/boat.png" alt="${message:wao.ui.entity.Boats}" /> </a> <p:else> - <img src="${asset:context:}/img/boat-unavailable-22px.png" alt="Navire impossible" title="Accès aux navires impossible, ligne terminée"/> + <img src="${asset:context:}/img/boat-unavailable-22px.png" alt="Navire impossible" /> </p:else> </t:if> </t:unless> @@ -308,12 +308,12 @@ <img src="${asset:context:}/img/edit.png" alt="Modifier" title="Modifier la ligne"/> </a> <t:unless t:test="row.hasSampleMonthRealTideTime()"> - <a t:type="actionlink" t:id="deleteSampleRow" t:context="rowIndex" title="Supprimer la ligne d'échantillon" - t:mixins="nuiton/confirm" t:message="format:sampleRow-delete-confirmMessage=row.code"> - <img src="${asset:context:}/img/delete2.png" alt="Supprimer" title="Supprimer la ligne"/> + <a t:type="actionlink" t:id="deleteSampleRow" t:context="rowIndex" title="${message:wao.ui.action.deleteSampleRow}" + t:mixins="nuiton/confirm" t:message="${format:wao.ui.action.deleteSampleRow.confirm=row.code}"> + <img src="${asset:context:}/img/delete2.png" alt="${message:wao.ui.action.deleteSampleRow}" /> </a> <p:else> - <img src="${asset:context:}/img/delete-unavailable-22px.png" alt="Supprimer indisponible" title="Suppression de la ligne indisponible"/> + <img src="${asset:context:}/img/delete-unavailable-22px.png" alt="${message:wao.ui.unavailableOperation}" /> </p:else> </t:unless> </t:if>
participants (1)
-
bleny@users.labs.libre-entreprise.org