Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/action/WMSAction.java @ 585:2e690cb2247c
Show information about MapServer path and layer name after publishing calculated shapefiles as wms. Use MapServer settings configured in conf.xml to feed OpenLayers client.
gnv/trunk@736 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 05 Mar 2010 09:33:30 +0000 |
parents | cbd397712ecf |
children | ccd47d9887ec |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/WMSAction.java Thu Mar 04 14:27:26 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/WMSAction.java Fri Mar 05 09:33:30 2010 +0000 @@ -8,16 +8,26 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.w3c.dom.Document; + import de.intevation.gnv.action.sessionmodel.SessionModel; import de.intevation.gnv.action.sessionmodel.SessionModelFactory; import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient; import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; +import de.intevation.gnv.util.XMLUtils; /** * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) */ public class WMSAction extends DescribeUIAction { + + public static final String XPATH_MAPSERVER_PATH = + "/art:meta/art:mapserver/art:server/text()"; + + public static final String XPATH_MAPSERVER_MAPFILE = + "/art:meta/art:mapserver/art:map/text()"; + /** * the logger, used to log exceptions and additonaly information */ @@ -47,7 +57,14 @@ ArtifactObject artifactfactory = sm.getSelectedArtifactFactory(); // do wms publishing - String url = adc.publishWMS(artifactfactory, artifact); + Document meta = adc.publishWMS(artifactfactory, artifact); + String mapserverPath = XMLUtils.getStringXPath( + meta, XPATH_MAPSERVER_PATH); + String mapfilePath = XMLUtils.getStringXPath( + meta, XPATH_MAPSERVER_MAPFILE); + + request.setAttribute("mapserver", mapserverPath); + request.setAttribute("mapfile", mapfilePath); request.setAttribute("layer", artifact.getId()); return super.execute(mapping, form, request, response);