diff --git a/control-base/src/main/java/fi/nls/oskari/control/view/modifier/param/LayerSwipeParamHandler.java b/control-base/src/main/java/fi/nls/oskari/control/view/modifier/param/LayerSwipeParamHandler.java new file mode 100644 index 000000000..d0b9a5643 --- /dev/null +++ b/control-base/src/main/java/fi/nls/oskari/control/view/modifier/param/LayerSwipeParamHandler.java @@ -0,0 +1,37 @@ +package fi.nls.oskari.control.view.modifier.param; + +import fi.nls.oskari.annotation.OskariViewModifier; +import fi.nls.oskari.log.LogFactory; +import fi.nls.oskari.log.Logger; +import fi.nls.oskari.util.ConversionHelper; +import fi.nls.oskari.view.modifier.ModifierException; +import fi.nls.oskari.view.modifier.ModifierParams; +import fi.nls.oskari.view.modifier.ParamHandler; +import org.json.JSONException; +import org.json.JSONObject; + +@OskariViewModifier("swipe") +public class LayerSwipeParamHandler extends ParamHandler { + + @Override + public int getPriority() { + return 1; + } + private static final Logger log = LogFactory.getLogger(LayerSwipeParamHandler.class); + + public boolean handleParam(final ModifierParams params) throws ModifierException { + if(params.getParamValue() == null) { + return false; + } + + try { + final JSONObject state = getBundleState(params.getConfig(), BUNDLE_LAYERSWIPE); + boolean swipeActive = ConversionHelper.getBoolean(params.getParamValue(), false); + state.put("active", swipeActive); + return false; + } catch (JSONException je) { + throw new ModifierException("Could not set layerSwipe from URL param."); + } + } + +} diff --git a/service-control/src/main/java/fi/nls/oskari/view/modifier/ViewModifier.java b/service-control/src/main/java/fi/nls/oskari/view/modifier/ViewModifier.java index 4b3fdb286..3fa1e61ff 100755 --- a/service-control/src/main/java/fi/nls/oskari/view/modifier/ViewModifier.java +++ b/service-control/src/main/java/fi/nls/oskari/view/modifier/ViewModifier.java @@ -46,6 +46,8 @@ public abstract class ViewModifier { public static final String BUNDLE_METADATAFLYOUT = "metadataflyout"; public static final String BUNDLE_BACKEND_STATUS = "backendstatus"; + public static final String BUNDLE_LAYERSWIPE = "layerswipe"; + public static final String KEY_EAST = "east"; public static final String KEY_NORTH = "north"; public static final String KEY_ZOOM = "zoom";