branch develop updated (c1fe8f0 -> 17f20f0)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository echobase. See http://git.codelutin.com/echobase.git from c1fe8f0 fixes #6271 + #6457 new 17f20f0 fixes #6271 + #6457 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 17f20f0a79bdb831f02d9a2bd7e4f6b860335a72 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 15 13:59:29 2015 +0100 fixes #6271 + #6457 Summary of changes: .../ui/actions/spatial/ComputeSpatialData.java | 2 +- .../ifremer/echobase/ui/actions/spatial/Show.java | 42 +++--- .../echobase/ui/actions/spatial/ShowVoyageMap.java | 162 ++++++++++++++++++++- .../src/main/resources/config/struts-spatial.xml | 13 +- .../resources/i18n/echobase-ui_en_GB.properties | 3 +- .../resources/i18n/echobase-ui_fr_FR.properties | 3 +- .../src/main/webapp/WEB-INF/jsp/spatial/show.jsp | 44 ++++-- .../webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp | 106 ++++++++++++++ 8 files changed, 331 insertions(+), 44 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit 17f20f0a79bdb831f02d9a2bd7e4f6b860335a72 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Jan 15 13:59:29 2015 +0100 fixes #6271 + #6457 --- .../ui/actions/spatial/ComputeSpatialData.java | 2 +- .../ifremer/echobase/ui/actions/spatial/Show.java | 42 +++--- .../echobase/ui/actions/spatial/ShowVoyageMap.java | 162 ++++++++++++++++++++- .../src/main/resources/config/struts-spatial.xml | 13 +- .../resources/i18n/echobase-ui_en_GB.properties | 3 +- .../resources/i18n/echobase-ui_fr_FR.properties | 3 +- .../src/main/webapp/WEB-INF/jsp/spatial/show.jsp | 44 ++++-- .../webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp | 106 ++++++++++++++ 8 files changed, 331 insertions(+), 44 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ComputeSpatialData.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ComputeSpatialData.java index 39a3134..c57d7e1 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ComputeSpatialData.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ComputeSpatialData.java @@ -44,7 +44,7 @@ public class ComputeSpatialData extends EchoBaseActionSupport { if (spatialDataService.isSpatialDataToComputeExist()) { - spatialDataService.updatePostgisData(); + spatialDataService.computespatialData(); } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/Show.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/Show.java index bb71d80..2b01163 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/Show.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/Show.java @@ -22,7 +22,9 @@ package fr.ifremer.echobase.ui.actions.spatial; */ import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext; +import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.persistence.JdbcConfiguration; +import fr.ifremer.echobase.services.service.UserDbPersistenceService; import fr.ifremer.echobase.services.service.spatial.GisService; import fr.ifremer.echobase.services.service.spatial.SpatialDataService; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; @@ -30,6 +32,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.inject.Inject; +import java.util.Map; /** * To configure and show spatial datas. @@ -52,6 +55,9 @@ public class Show extends EchoBaseActionSupport { @Inject protected transient EchoBaseUserPersistenceContext userPersistenceContext; + @Inject + private transient UserDbPersistenceService persistenceService; + /** * Is current db support spatial data? Means db is pg. */ @@ -68,18 +74,11 @@ public class Show extends EchoBaseActionSupport { protected boolean gisSupport; /** - * Is there some spatial data to compute + * Is there some spatial data to compute? */ protected boolean spatialDataToComputeExists; - /** - * Url to access to gis. - */ - protected String lizmapUrl; - - public String getLizmapUrl() { - return lizmapUrl; - } + protected Map<String, String> voyages; public boolean isSpatialStructureFound() { return spatialStructureFound; @@ -97,6 +96,10 @@ public class Show extends EchoBaseActionSupport { return gisSupport; } + public Map<String, String> getVoyages() { + return voyages; + } + @Override public String execute() throws Exception { @@ -107,7 +110,7 @@ public class Show extends EchoBaseActionSupport { if (log.isInfoEnabled()) { log.info("Db has spatial supports"); } - + spatialStructureFound = userPersistenceContext.isSpatialStructureFound(); if (spatialStructureFound) { @@ -119,7 +122,7 @@ public class Show extends EchoBaseActionSupport { spatialDataToComputeExists = spatialDataService.isSpatialDataToComputeExist(); if (log.isInfoEnabled()) { - log.info("Is there some spatial data to compute? "+ spatialDataToComputeExists); + log.info("Is there some spatial data to compute? " + spatialDataToComputeExists); } gisSupport = getEchoBaseApplicationContext().isGisSupport(); @@ -130,15 +133,8 @@ public class Show extends EchoBaseActionSupport { JdbcConfiguration dbConf = getEchoBaseSession().getWorkingDbConfiguration(); - // generate or update gis data - gisService.generateMaps(dbConf); - - // get gis data access url - lizmapUrl = gisService.getRepositoryUrl(dbConf); - - if (log.isInfoEnabled()) { - log.info("Gis url access: " + lizmapUrl); - } + // update lizmap configuration + gisService.registerWorkingDb(dbConf); } else { @@ -156,6 +152,12 @@ public class Show extends EchoBaseActionSupport { } } + if (gisSupport && spatialSupport && spatialStructureFound && !spatialDataToComputeExists) { + + // Show voyages + voyages = persistenceService.loadSortAndDecorate(Voyage.class); + } + return SUCCESS; } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowVoyageMap.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowVoyageMap.java index ddf5e61..bf85966 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowVoyageMap.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowVoyageMap.java @@ -1,10 +1,168 @@ package fr.ifremer.echobase.ui.actions.spatial; +import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.persistence.JdbcConfiguration; +import fr.ifremer.echobase.services.service.UserDbPersistenceService; +import fr.ifremer.echobase.services.service.spatial.GisService; +import fr.ifremer.echobase.services.service.spatial.SpatialDataService; +import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.inject.Inject; + /** * Created on 1/14/15. * * @author Tony Chemit - chemit@codelutin.com - * @since XXX + * @since 2.8 */ -public class ShowVoyageMap { +public class ShowVoyageMap extends EchoBaseActionSupport { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(ShowVoyageMap.class); + + @Inject + protected transient GisService gisService; + + @Inject + protected transient SpatialDataService spatialDataService; + + @Inject + protected transient EchoBaseUserPersistenceContext userPersistenceContext; + + @Inject + private transient UserDbPersistenceService persistenceService; + + /** + * Id of voyage to display. + */ + protected String voyageId; + + /** + * Is current db support spatial data? Means db is pg. + */ + protected boolean spatialSupport; + + /** + * Is current db has spatial structures filled ? + */ + protected boolean spatialStructureFound; + + /** + * Is application has gis support? Means lizmap is installed. + */ + protected boolean gisSupport; + + /** + * Is there some spatial data to compute? + */ + protected boolean spatialDataToComputeExists; + + /** + * Url to access to gis. + */ + protected String lizmapUrl; + + protected Voyage voyage; + + public String getVoyageId() { + return voyageId; + } + + public void setVoyageId(String voyageId) { + this.voyageId = voyageId; + } + + public String getLizmapUrl() { + return lizmapUrl; + } + + public boolean isSpatialStructureFound() { + return spatialStructureFound; + } + + public boolean isSpatialSupport() { + return spatialSupport; + } + + public boolean isSpatialDataToComputeExists() { + return spatialDataToComputeExists; + } + + public boolean isGisSupport() { + return gisSupport; + } + + public Voyage getVoyage() { + return voyage; + } + + @Override + public String execute() throws Exception { + + // Get Voyage to display + voyage = persistenceService.getVoyage(voyageId); + + spatialSupport = userPersistenceContext.isSpatialSupport(); + + if (spatialSupport) { + + if (log.isInfoEnabled()) { + log.info("Db has spatial supports"); + } + + spatialStructureFound = userPersistenceContext.isSpatialStructureFound(); + + if (spatialStructureFound) { + + if (log.isInfoEnabled()) { + log.info("Spatial structure found."); + } + + spatialDataToComputeExists = spatialDataService.isSpatialDataToComputeExist(); + + if (log.isInfoEnabled()) { + log.info("Is there some spatial data to compute? " + spatialDataToComputeExists); + } + + gisSupport = getEchoBaseApplicationContext().isGisSupport(); + + if (gisSupport) { + + JdbcConfiguration dbConf = getEchoBaseSession().getWorkingDbConfiguration(); + + // generate if required the maps configuration for this voyage + + gisService.generateMap(dbConf, voyage); + + // get gis data access url + lizmapUrl = gisService.getVoyageMapUrl(dbConf, voyage); + + if (log.isInfoEnabled()) { + log.info("Gis url access: " + lizmapUrl); + } + + } else { + + if (log.isInfoEnabled()) { + log.info("Application does not support gis features."); + } + + } + + } + } else { + + if (log.isInfoEnabled()) { + log.info("Db has no spatial support."); + } + } + + return SUCCESS; + + } } diff --git a/echobase-ui/src/main/resources/config/struts-spatial.xml b/echobase-ui/src/main/resources/config/struts-spatial.xml index 3c85db1..d4f2072 100644 --- a/echobase-ui/src/main/resources/config/struts-spatial.xml +++ b/echobase-ui/src/main/resources/config/struts-spatial.xml @@ -32,6 +32,13 @@ <result>/WEB-INF/jsp/spatial/show.jsp</result> </action> + <!-- Show spatial data page --> + <action name="showVoyageMap" + class="fr.ifremer.echobase.ui.actions.spatial.ShowVoyageMap"> + <interceptor-ref name="basicStackLogguedWithdb"/> + <result>/WEB-INF/jsp/spatial/showVoyageMap.jsp</result> + </action> + <!-- Add echobase spatial tables, functions and triggers to working db --> <action name="addSpatial" class="fr.ifremer.echobase.ui.actions.workingDb.AddSpatial"> @@ -41,9 +48,9 @@ </result> </action> - <!-- Refresh echobase spatial views --> - <action name="refreshSpatialViews" - class="fr.ifremer.echobase.ui.actions.spatial.RefreshSpatialViews"> + <!-- Compute missing spatial data and refresh views --> + <action name="computeSpatialData" + class="fr.ifremer.echobase.ui.actions.spatial.ComputeSpatialData"> <result type="redirectAction"> <param name="namespace">/spatial</param> <param name="actionName">show</param> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index ead8c9b..ac10a36 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -2,6 +2,7 @@ echobase.action.backToImportLogs=Back to import logs echobase.action.backToUserList=Back to users list echobase.action.cancel=Cancel echobase.action.clone=Clone +echobase.action.computeSpatialData=Compute spatial data echobase.action.configureImport=Import configuration echobase.action.connectToWorkingDb=Connect echobase.action.create=Create @@ -29,7 +30,6 @@ echobase.action.login=Connect echobase.action.logout=Disconnect echobase.action.newQuery=New query echobase.action.newWorkingDbContiguration=New working database configuration -echobase.action.reloadSpatialData=Reload spatial data echobase.action.reloadSqlQuery=Cancel changes echobase.action.reset=Cancel echobase.action.return=Back @@ -427,6 +427,7 @@ echobase.title.newLibreOfficeQuery=Translate a SQL query from Libre Office echobase.title.removeDataProgress=Remove import data echobase.title.removeDataResult=Result of remove import data echobase.title.show.spatial=Show spatial data +echobase.title.show.spatial.for.voyage=Spatial data for voyage %s echobase.title.users=Administrate users echobase.title.voyage.detail=Voyage detail echobase.title.welcome=Welcome to Echobase diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index 1bc5e2a..a63dd69 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -2,6 +2,7 @@ echobase.action.backToImportLogs=Retour à la liste des imports echobase.action.backToUserList=Retour à la liste des utilisateurs echobase.action.cancel=Annuler echobase.action.clone=Cloner +echobase.action.computeSpatialData=Calculer les données spatiales echobase.action.configureImport=Configurer l'import echobase.action.connectToWorkingDb=Se connecter echobase.action.create=Créer @@ -29,7 +30,6 @@ echobase.action.login=Connexion echobase.action.logout=Déconnexion echobase.action.newQuery=Nouvelle requête echobase.action.newWorkingDbContiguration=Nouvelle configuration de base de travail -echobase.action.reloadSpatialData=Recharger les données spatiales echobase.action.reloadSqlQuery=Annuler les modifications echobase.action.reset=Annuler echobase.action.return=Retour @@ -430,6 +430,7 @@ echobase.title.newLibreOfficeQuery=Traduire une requête SQL issue de Libre Offi echobase.title.removeDataProgress=Suppression d'un import en cours... echobase.title.removeDataResult=Résultat de la suppression d'un import echobase.title.show.spatial=Visualisation des données +echobase.title.show.spatial.for.voyage=Données spatiales de la campagne %s echobase.title.users=Administration des utilisateurs echobase.title.voyage.detail=Détail de la campagne echobase.title.welcome=Bienvenue dans EchoBase diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/show.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/show.jsp index 3e5bd0e..693014e 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/show.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/show.jsp @@ -41,32 +41,44 @@ <div class="toolbar"> <ul class="toolbar floatRight"> <li> - <s:submit action='refreshSpatialViews' key="echobase.action.reloadSpatialData"/> + <s:submit action='computeSpatialData' key="echobase.action.computeSpatialData"/> </li> </ul> </div> </s:form> </s:if> + <s:else> - <s:if test="gisSupport"> + <s:if test="gisSupport"> + + <fieldset> + <legend><s:text name="echobase.title.voyage.detail"/></legend> + <ul> + <s:iterator value="voyages" var="voyage"> + <li> + <s:a action="showVoyageMap"> + <s:param name="voyageId" value="%{key}"/> + <s:property value="value"/> + </s:a> + </li> + </s:iterator> + </ul> + </fieldset> - <p> - TODO Show voyage links to lizmap - </p> - <%-- Application has gis support --%> - <%--<iframe id="spatialViewContent" src="${lizmapUrl}"></iframe>--%> + </s:if> + <s:else> - </s:if> - <s:else> + <%-- Application has no gis support --%> + <p class="fontsize11"> + <s:text name="echobase.message.application.no.gis.support"/> + <s:a href="%{getDocumentation('install.html', 'Visualisation_des_donnes_spatialises')}" + target='#doc'> + <s:text name="echobase.message.gis.install"/> + </s:a> + </p> - <%-- Application has no gis support --%> - <p class="fontsize11"> - <s:text name="echobase.message.application.no.gis.support"/> - <s:a href="%{getDocumentation('install.html', 'Visualisation_des_donnes_spatialises')}" target='#doc'> - <s:text name="echobase.message.gis.install"/> - </s:a> - </p> + </s:else> </s:else> diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp index e69de29..4636027 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/spatial/showVoyageMap.jsp @@ -0,0 +1,106 @@ +<%-- + #%L + EchoBase :: UI + %% + Copyright (C) 2011 - 2013 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> +<title> + <s:text name="echobase.title.show.spatial.for.voyage"> + <s:param value="%{voyage.name}"/> + </s:text> +</title> + +<s:if test="spatialSupport"> + + <%--Db supports spatial features --%> + + <s:if test="spatialStructureFound"> + + <%-- db has spatial structures --%> + + <s:if test="spatialDataToComputeExists"> + + <%-- there is some postigs data to compute --%> + + <s:form namespace="/spatial"> + <div class="toolbar"> + <ul class="toolbar floatRight"> + <li> + <s:submit action='computeSpatialData' key="echobase.action.computeSpatialData"/> + </li> + </ul> + </div> + </s:form> + + </s:if> + <s:else> + + <s:if test="gisSupport"> + + <%-- Application has gis support and we can see maps! --%> + <iframe id="spatialViewContent" src="${lizmapUrl}"></iframe> + + </s:if> + <s:else> + + <%-- Application has no gis support --%> + <p class="fontsize11"> + <s:text name="echobase.message.application.no.gis.support"/> + <s:a href="%{getDocumentation('install.html', 'Visualisation_des_donnes_spatialises')}" + target='#doc'> + <s:text name="echobase.message.gis.install"/> + </s:a> + </p> + + </s:else> + + </s:else> + + </s:if> + <s:else> + + <%--db is not spatialized--%> + <p> + <s:text name="echobase.message.db.no.spatial.structure"/> + </p> + + <br/> + <s:form namespace="/spatial"> + <div class="toolbar"> + <ul class="toolbar floatRight"> + <li> + <s:submit action='addSpatial' key="echobase.action.workingDbconfiguration.addSpatial"/> + </li> + </ul> + </div> + </s:form> + + </s:else> + +</s:if> +<s:else> + + <%--Db has no spatial support --%> + <p> + <s:text name="echobase.message.db.no.spatial.support"/> + </p> + + +</s:else> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm