Skip to content

Commit

Permalink
mstahv#218 - add cql filter option to wms layer
Browse files Browse the repository at this point in the history
  • Loading branch information
dve committed Jul 19, 2021
1 parent 4814c36 commit 88446e8
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 14 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@
<dependency>
<groupId>org.peimari</groupId>
<artifactId>g-leaflet</artifactId>
<version>1.0.15</version>
<version>1.0.17-SNAPSHOT</version>
<!-- Only needed during widgetset compilation, so provided scope would
be great for this, but with it is left out from widgetset compilation by
vaadin plugin -->
Expand Down
16 changes: 13 additions & 3 deletions src/main/java/org/vaadin/addon/leaflet/LWmsLayer.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.vaadin.addon.leaflet;

import org.vaadin.addon.leaflet.shared.LeafletWmsLayerState;
import org.vaadin.addon.leaflet.shared.Crs;
import org.vaadin.addon.leaflet.shared.LeafletWmsLayerState;

public class LWmsLayer extends LTileLayer {

Expand Down Expand Up @@ -67,10 +67,20 @@ public void setCrs(Crs lc) {
}

public void setViewparams(String viewparams) {
getState().viewparams = viewparams;
getState().viewparams = viewparams;
}

public String getViewparams() {
return getState().viewparams;
}

public void setCQLFilter(String cqlFilter)
{
getState().cqlFilter = cqlFilter;
}

public String getCQLFilter()
{
return getState().cqlFilter;
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package org.vaadin.addon.leaflet.client;

import org.peimari.gleaflet.client.*;
import org.peimari.gleaflet.client.Crs;
import org.peimari.gleaflet.client.GridLayerOptions;
import org.peimari.gleaflet.client.WmsLayer;
import org.peimari.gleaflet.client.WmsLayerOptions;
import org.vaadin.addon.leaflet.shared.LeafletWmsLayerState;

import com.vaadin.shared.ui.Connect;

@Connect(org.vaadin.addon.leaflet.LWmsLayer.class)
Expand Down Expand Up @@ -37,9 +41,13 @@ protected WmsLayerOptions createOptions() {
if (s.viewparams != null) {
o.setViewparams(s.viewparams);
}
if (s.cqlFilter != null)
{
o.setCQLFilter(s.cqlFilter);
}
return o;
}

@Override
protected WmsLayer createGridLayer(GridLayerOptions o) {
return WmsLayer.create(getState().url, (WmsLayerOptions ) o);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ public class LeafletWmsLayerState extends LeafletTileLayerState {
public String version;
public String crsName;
public String viewparams;
public String cqlFilter;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@
import java.util.ArrayList;
import java.util.Arrays;

import org.vaadin.addon.leaflet.*;
import org.vaadin.addon.leaflet.LLayerGroup;
import org.vaadin.addon.leaflet.LMap;
import org.vaadin.addon.leaflet.LTileLayer;
import org.vaadin.addon.leaflet.LWmsLayer;
import org.vaadin.addon.leaflet.LeafletLoadEvent;
import org.vaadin.addon.leaflet.LeafletLoadListener;
import org.vaadin.addon.leaflet.LeafletLoadingEvent;
import org.vaadin.addon.leaflet.LeafletLoadingListener;
import org.vaadin.addon.leaflet.shared.Control;
import org.vaadin.addonhelpers.AbstractTest;

import com.vaadin.ui.*;
import com.vaadin.ui.Component;
import com.vaadin.ui.Notification;
import com.vaadin.ui.Notification.Type;
import org.vaadin.addonhelpers.AbstractTest;

public class LayersTest extends AbstractTest {

Expand Down Expand Up @@ -73,9 +81,9 @@ public Component getTestComponent() {
layerWmsAbiesAlbaGermany.setOpacity(.6);
layerWmsAbiesAlbaGermany.setFormat("image/png");
layerWmsAbiesAlbaGermany.setActive(true);
// BOUNDS should be set to current view port, because of server side cluster at some scale level - but this is just for try viewparams
// BOUNDS should be set to current view port, because of server side cluster at some scale level - but this is just for try viewparams
layerWmsAbiesAlbaGermany.setViewparams("TAXONMEANINGID:274;BOUNDS:POLYGON(( 9.44617309618379 54.84370034122247\\,9.44617309618379 50.86696466779405\\,18.301153563701007 50.86696466779405\\,18.301153563701007 54.84370034122247\\,9.44617309618379 54.84370034122247))");

layerWmsAbiesAlbaGermany.addLoadListener(new LeafletLoadListener()
{
@Override
Expand All @@ -84,7 +92,7 @@ public void onLoad(LeafletLoadEvent event)
Notification.show("onLoad", Type.TRAY_NOTIFICATION);
}
});

layerWmsAbiesAlbaGermany.addLoadingListener(new LeafletLoadingListener()
{
@Override
Expand All @@ -93,11 +101,23 @@ public void onLoading(LeafletLoadingEvent event)
Notification.show("onLoanding", Type.TRAY_NOTIFICATION);
}
});


LWmsLayer layerWmsAbiesAlbaGermanyMV = new LWmsLayer();
layerWmsAbiesAlbaGermanyMV.setUrl(
"https://wms.test.infinitenature.org/geoserver/werbeo/wms?");
layerWmsAbiesAlbaGermanyMV.setLayers("mv-occ");
layerWmsAbiesAlbaGermanyMV.setTransparent(true);
layerWmsAbiesAlbaGermanyMV.setOpacity(.6);
layerWmsAbiesAlbaGermanyMV.setFormat("image/png");
layerWmsAbiesAlbaGermanyMV.setActive(true);
layerWmsAbiesAlbaGermanyMV.setStyles("polygon");
layerWmsAbiesAlbaGermanyMV.setCQLFilter("taxon=54870");

leafletMap.addOverlay(groupAreas,"Populated Areas & Water");
leafletMap.addOverlay(layerWmsStreets, "Streets");
leafletMap.addOverlay(layerWmsAbiesAlbaGermany, "Distribution of Abies Alba in Germany");

leafletMap.addOverlay(layerWmsAbiesAlbaGermanyMV,
"Distribution of Abies Alba in Mecklenburg-Vorpommern");
return leafletMap;
}
}

0 comments on commit 88446e8

Please sign in to comment.