Author: tchemit Date: 2014-06-05 12:41:01 +0200 (Thu, 05 Jun 2014) New Revision: 1029 Url: http://forge.codelutin.com/projects/echobase/repository/revisions/1029 Log: fixes #5186 Export Coser : mettre un message si le site des indicateurs n'est pas accessible Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportCoser/Configure.java trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportCoser/configure.jsp Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportCoser/Configure.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportCoser/Configure.java 2014-06-05 08:22:14 UTC (rev 1028) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportCoser/Configure.java 2014-06-05 10:41:01 UTC (rev 1029) @@ -22,6 +22,7 @@ */ import com.google.common.collect.Maps; +import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.persistence.JdbcConfiguration; @@ -84,6 +85,11 @@ */ protected Map<String, String> zones; + /** + * If coser services are not reachable. + */ + protected boolean coserUnreachable; + public Configure() { super(ExportCoserConfiguration.class); } @@ -108,6 +114,10 @@ return communityIndicators; } + public boolean isCoserUnreachable() { + return coserUnreachable; + } + @Override protected ExportCoserConfiguration createModel() { ExportCoserConfiguration result = new ExportCoserConfiguration(); @@ -150,7 +160,16 @@ missions = userDbPersistenceService.loadSortAndDecorate(Mission.class); // Get facades from Coser - facades = coserApiService.getFacades(); + try { + facades = coserApiService.getFacades(); + } catch (EchoBaseTechnicalException e) { + // could not get + if (log.isErrorEnabled()) { + log.error(e); + } + coserUnreachable = true; + return; + } // Get Zones from Coser if (StringUtils.isNotEmpty(getModel().getFacade())) { Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2014-06-05 08:22:14 UTC (rev 1028) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2014-06-05 10:41:01 UTC (rev 1029) @@ -425,4 +425,5 @@ echobase.tooltip.disconnectWorkingDb=Change working database echobase.tooltip.logout=Logout echobase.tooltip.selectWorkingDb=Select a working database +echobase.warning.coser.not.reachable=Coser instance <strong>%s</strong> is not available, please contact his administrator. echobase.warning.no.importLog.selected=No selected import Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2014-06-05 08:22:14 UTC (rev 1028) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2014-06-05 10:41:01 UTC (rev 1029) @@ -426,4 +426,5 @@ echobase.tooltip.disconnectWorkingDb=Changer de base de travail echobase.tooltip.logout=Se déconnecter echobase.tooltip.selectWorkingDb=Sélectionner une base de travail +echobase.warning.coser.not.reachable=L'instance de Coser <strong>%s</strong> n'est pas disponible, veuillez contacter l'administrateur de ce projet. echobase.warning.no.importLog.selected=Aucun import sélectionné Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportCoser/configure.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportCoser/configure.jsp 2014-06-05 08:22:14 UTC (rev 1028) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportCoser/configure.jsp 2014-06-05 10:41:01 UTC (rev 1029) @@ -72,50 +72,59 @@ }); </script> -<s:form namespace="/exportCoser" method="POST"> - <fieldset> - <legend> - <s:text name="echobase.legend.exportCoser.configuration.files"/> - </legend> - <div class="cleanBoth help"> - <s:a href="%{getDocumentation(exportCoser, null)}" target="doc"> - <s:text name="echobase.action.show.exportCoser.documentation"/> - </s:a> - </div> - <br/> +<s:if test="coserUnreachable"> - <s:select id='missionField' key="model.missionId" requiredLabel="true" - label='%{getText("echobase.common.mission")}' - list="missions" headerKey="" headerValue=""/> + <s:text name="echobase.warning.coser.not.reachable"> + <s:param value="serviceContext.coserApiURL"/> + </s:text> - <div class="cleanBoth"></div> - <br/> +</s:if> +<s:else> + <s:form namespace="/exportCoser" method="POST"> + <fieldset> + <legend> + <s:text name="echobase.legend.exportCoser.configuration.files"/> + </legend> - <s:select id='facadeSelectBox' key="model.facade" requiredLabel="true" - label='%{getText("echobase.common.facade")}' - list="facades" headerKey="" headerValue=""/> + <div class="cleanBoth help"> + <s:a href="%{getDocumentation(exportCoser, null)}" target="doc"> + <s:text name="echobase.action.show.exportCoser.documentation"/> + </s:a> + </div> + <br/> - <div class="cleanBoth"></div> - <br/> + <s:select id='missionField' key="model.missionId" requiredLabel="true" + label='%{getText("echobase.common.mission")}' + list="missions" headerKey="" headerValue=""/> - <s:select id='zoneSelectBox' key="model.zone" requiredLabel="true" - label='%{getText("echobase.common.zone")}' - list="zones" headerKey="" headerValue=""/> + <div class="cleanBoth"></div> + <br/> - <div class="cleanBoth"></div> - <br/> - <s:checkbox name="model.publishable" label='%{getText("echobase.common.publishable")}'/> - <s:checkbox name="model.extractMap" label='%{getText("echobase.common.extractMaps")}'/> - <s:checkbox name="model.extractRawData" label='%{getText("echobase.common.extractRawData")}'/> - <div class="cleanBoth"></div> - <br/> - <s:textfield name="model.userName" label='%{getText("echobase.common.userName")}'/> - <div class="cleanBoth"></div> - <s:textarea name="model.comment" label='%{getText("echobase.common.comment")}' cols="80" rows="5"/> - <div class="cleanBoth"></div> - <s:checkbox id='extractPopulationIndicator' name="model.extractPopulationIndicator" label='%{getText("echobase.common.extractPopulationIndicator")}'/> - <div class="cleanBoth"></div> + <s:select id='facadeSelectBox' key="model.facade" requiredLabel="true" + label='%{getText("echobase.common.facade")}' + list="facades" headerKey="" headerValue=""/> + + <div class="cleanBoth"></div> + <br/> + + <s:select id='zoneSelectBox' key="model.zone" requiredLabel="true" + label='%{getText("echobase.common.zone")}' + list="zones" headerKey="" headerValue=""/> + + <div class="cleanBoth"></div> + <br/> + <s:checkbox name="model.publishable" label='%{getText("echobase.common.publishable")}'/> + <s:checkbox name="model.extractMap" label='%{getText("echobase.common.extractMaps")}'/> + <s:checkbox name="model.extractRawData" label='%{getText("echobase.common.extractRawData")}'/> + <div class="cleanBoth"></div> + <br/> + <s:textfield name="model.userName" label='%{getText("echobase.common.userName")}'/> + <div class="cleanBoth"></div> + <s:textarea name="model.comment" label='%{getText("echobase.common.comment")}' cols="80" rows="5"/> + <div class="cleanBoth"></div> + <s:checkbox id='extractPopulationIndicator' name="model.extractPopulationIndicator" label='%{getText("echobase.common.extractPopulationIndicator")}'/> + <div class="cleanBoth"></div> <span class="populationIndicator"> <s:select id='populationIndicator' key="model.populationIndicator" label='%{getText("echobase.common.populationIndicator")}' @@ -135,8 +144,8 @@ <br/> </span> - <s:checkbox id='extractCommunityIndicator' name="model.extractCommunityIndicator" label='%{getText("echobase.common.extractCommunityIndicator")}'/> - <div class="cleanBoth"></div> + <s:checkbox id='extractCommunityIndicator' name="model.extractCommunityIndicator" label='%{getText("echobase.common.extractCommunityIndicator")}'/> + <div class="cleanBoth"></div> <span class="communityIndicator"> <s:select id='communityIndicator' key="model.communityIndicator" label='%{getText("echobase.common.communityIndicator")}' @@ -156,7 +165,9 @@ <br/> </span> - </fieldset> - <br/> - <s:submit action="configure" value='%{getText("echobase.action.export")}'/> -</s:form> + </fieldset> + <br/> + <s:submit action="configure" value='%{getText("echobase.action.export")}'/> + </s:form> +</s:else> +