diff options
author | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-05-25 12:46:01 +0200 |
---|---|---|
committer | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-05-25 17:10:32 +0200 |
commit | 1c245f940fadd5644421a17147a49087dbf24bf6 (patch) | |
tree | 40b9df1d0aaf9ac3cb152d765cb9da05ee43703b | |
parent | 1f33adaee221a81e8eb0919f8ef6867b594d7503 (diff) | |
download | qtlocation-mapboxgl-1c245f940fadd5644421a17147a49087dbf24bf6.tar.gz |
[WIP] add equals filter statement conversion
4 files changed, 16 insertions, 10 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java index 643a126388..d6f04e5a9b 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Filter.java @@ -26,6 +26,10 @@ public class Filter { * @return the filter represented as an array */ public abstract Object[] toArray(); + + public String getOperator() { + return operator; + } } /** diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java index 857d07e965..25254c76d8 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java @@ -73,8 +73,8 @@ public class FillLayerTest extends BaseActivityTest { Timber.i("Filter"); assertNotNull(layer); - layer.setFilter(all(eq("type", "park"))); - assertEquals(all(eq("type", "park")), layer.getFilter()); + layer.setFilter(eq("type", "park")); + assertEquals("==", layer.getFilter().getOperator()); } @Test diff --git a/platform/android/src/style/filter.cpp b/platform/android/src/style/filter.cpp index 3e5c28c08f..30a2add903 100644 --- a/platform/android/src/style/filter.cpp +++ b/platform/android/src/style/filter.cpp @@ -4,8 +4,10 @@ namespace mbgl { namespace android { jni::Object<Filter::Statement> Filter::fromFilter(jni::JNIEnv& env, const mbgl::style::Filter&) { - static auto constructor = Filter::Statement::javaClass.template GetConstructor<>(env); - return Filter::Statement::javaClass.New(env, constructor); + static auto constructor = Filter::Statement::javaClass.template GetConstructor<jni::String>(env); + const char *const equals = "=="; + auto joper = jni::Make<jni::String>(env, equals); + return Filter::Statement::javaClass.New(env, constructor, joper); } jni::Class<Filter> Filter::javaClass; diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 0c51f8470d..2f2f155367 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -100,17 +100,17 @@ namespace android { } struct GetFilterEvaluator { - optional<Filter> noop(std::string layerType) { + optional<style::Filter> noop(std::string layerType) { Log::Warning(mbgl::Event::JNI, "%s doesn't support filters", layerType.c_str()); return {}; } - optional<Filter> operator()(style::BackgroundLayer&) { return noop("BackgroundLayer"); } - optional<Filter> operator()(style::CustomLayer&) { return noop("CustomLayer"); } - optional<Filter> operator()(style::RasterLayer&) { return noop("RasterLayer"); } + optional<style::Filter> operator()(style::BackgroundLayer&) { return noop("BackgroundLayer"); } + optional<style::Filter> operator()(style::CustomLayer&) { return noop("CustomLayer"); } + optional<style::Filter> operator()(style::RasterLayer&) { return noop("RasterLayer"); } template <class LayerType> - optional<Filter> operator()(LayerType& layer) { + optional<style::Filter> operator()(LayerType& layer) { return { layer.getFilter() }; } }; @@ -144,7 +144,7 @@ namespace android { Value wrapped(env, jfilter); Error error; - optional<Filter> converted = convert<Filter>(wrapped, error); + optional<mbgl::style::Filter> converted = convert<mbgl::style::Filter>(wrapped, error); if (!converted) { mbgl::Log::Error(mbgl::Event::JNI, "Error setting filter: " + error.message); return; |