From a6e688914c167b1d4d53b0e486c2b1019b38b905 Mon Sep 17 00:00:00 2001 From: Steph Date: Sun, 15 Oct 2023 21:02:20 -0400 Subject: [PATCH 1/6] add hasDynamicSearch to QueryResponseBean --- .../formplayer/beans/menus/QueryResponseBean.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java index c31292e8e..60f06aebd 100644 --- a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java +++ b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java @@ -23,6 +23,7 @@ public class QueryResponseBean extends MenuBean { private DisplayElement[] displays; private final String type = "query"; private String description; + private Boolean hasDynamicSearch; QueryResponseBean() { } @@ -43,6 +44,14 @@ private void setDisplays(DisplayElement[] displays) { this.displays = displays; } + public boolean hasDynamicSearch() { + return hasDynamicSearch; + } + + public void setDynamicSearch(boolean dynamicSearch) { + hasDynamicSearch = dynamicSearch; + } + public QueryResponseBean(QueryScreen queryScreen) { OrderedHashtable queryPromptMap = queryScreen.getUserInputDisplays(); Hashtable currentAnswers = queryScreen.getCurrentAnswers(); @@ -86,6 +95,7 @@ public QueryResponseBean(QueryScreen queryScreen) { setTitle(queryScreen.getScreenTitle()); setDescription(queryScreen.getDescriptionText()); setQueryKey(querySession.getCommand()); + setDynamicSearch(queryScreen.getDynamicSearch()); } @Override From 2f9411c81eeee33955b70052d0242ddb127d0d0b Mon Sep 17 00:00:00 2001 From: Steph Date: Thu, 26 Oct 2023 16:29:18 -0400 Subject: [PATCH 2/6] change getDynamicSearch to hasDynamicSearch for consistency --- .../org/commcare/formplayer/beans/menus/QueryResponseBean.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java index 60f06aebd..6e761fa8a 100644 --- a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java +++ b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java @@ -95,7 +95,7 @@ public QueryResponseBean(QueryScreen queryScreen) { setTitle(queryScreen.getScreenTitle()); setDescription(queryScreen.getDescriptionText()); setQueryKey(querySession.getCommand()); - setDynamicSearch(queryScreen.getDynamicSearch()); + setDynamicSearch(queryScreen.hasDynamicSearch()); } @Override From 60e8834b117ab6ac40376877685bfe63e206ffde Mon Sep 17 00:00:00 2001 From: Steph Date: Tue, 7 Nov 2023 17:14:47 -0500 Subject: [PATCH 3/6] correctly connect dynamic search to pass to HQ --- .../formplayer/beans/menus/BaseResponseBean.java | 9 +++++++++ .../formplayer/beans/menus/QueryResponseBean.java | 10 +--------- .../org/commcare/formplayer/session/MenuSession.java | 2 ++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/commcare/formplayer/beans/menus/BaseResponseBean.java b/src/main/java/org/commcare/formplayer/beans/menus/BaseResponseBean.java index a802de584..dce0a3eab 100644 --- a/src/main/java/org/commcare/formplayer/beans/menus/BaseResponseBean.java +++ b/src/main/java/org/commcare/formplayer/beans/menus/BaseResponseBean.java @@ -23,6 +23,7 @@ public class BaseResponseBean extends LocationRelevantResponseBean { private String[] selections; private HashMap translations; private String smartLinkRedirect; + private boolean dynamicSearch; public BaseResponseBean() { } @@ -54,6 +55,14 @@ public void setSmartLinkRedirect(String smartLinkRedirect) { this.smartLinkRedirect = smartLinkRedirect; } + public boolean getDynamicSearch() { + return dynamicSearch; + } + + public void setDynamicSearch(boolean dynamicSearch) { + this.dynamicSearch = dynamicSearch; + } + public NotificationMessage getNotification() { return notification; } diff --git a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java index 6e761fa8a..a6c409523 100644 --- a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java +++ b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java @@ -44,14 +44,6 @@ private void setDisplays(DisplayElement[] displays) { this.displays = displays; } - public boolean hasDynamicSearch() { - return hasDynamicSearch; - } - - public void setDynamicSearch(boolean dynamicSearch) { - hasDynamicSearch = dynamicSearch; - } - public QueryResponseBean(QueryScreen queryScreen) { OrderedHashtable queryPromptMap = queryScreen.getUserInputDisplays(); Hashtable currentAnswers = queryScreen.getCurrentAnswers(); @@ -95,7 +87,7 @@ public QueryResponseBean(QueryScreen queryScreen) { setTitle(queryScreen.getScreenTitle()); setDescription(queryScreen.getDescriptionText()); setQueryKey(querySession.getCommand()); - setDynamicSearch(queryScreen.hasDynamicSearch()); + setDynamicSearch(queryScreen.getDynamicSearch()); } @Override diff --git a/src/main/java/org/commcare/formplayer/session/MenuSession.java b/src/main/java/org/commcare/formplayer/session/MenuSession.java index aad229bf1..31070668c 100644 --- a/src/main/java/org/commcare/formplayer/session/MenuSession.java +++ b/src/main/java/org/commcare/formplayer/session/MenuSession.java @@ -85,6 +85,8 @@ public class MenuSession implements HereFunctionHandlerListener { private String smartLinkRedirect; + private boolean dynamicSearch; + public MenuSession(SerializableMenuSession session, FormplayerConfigEngine engine, CommCareSession commCareSession, RestoreFactory restoreFactory, FormplayerRemoteInstanceFetcher instanceFetcher) throws Exception { From 7a0aa1386702800e2f5d167b55e059fdf6fc047c Mon Sep 17 00:00:00 2001 From: Shubham Goyal Date: Wed, 8 Nov 2023 12:40:25 -0500 Subject: [PATCH 4/6] verify dynamic search --- .../formplayer/tests/CaseClaimTests.java | 18 ++++++++++++++++++ .../resources/archives/caseclaim/suite.xml | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/commcare/formplayer/tests/CaseClaimTests.java b/src/test/java/org/commcare/formplayer/tests/CaseClaimTests.java index 5ac77a224..a950434e6 100644 --- a/src/test/java/org/commcare/formplayer/tests/CaseClaimTests.java +++ b/src/test/java/org/commcare/formplayer/tests/CaseClaimTests.java @@ -83,6 +83,23 @@ public void testCaseSearchCacheExists() { assertTrue(cache instanceof CaffeineCache); } + @Test + public void testDynamicSearch() throws Exception { + configureQueryMock(); + // Run query with an app with dynamic_search true and verify + QueryData queryData = new QueryData(); + queryData.setForceManualSearch("search_command.m1", true); + QueryResponseBean queryResponseBean = runQuery(queryData); + assertTrue(queryResponseBean.getDynamicSearch()); + + // Run query with an app with dynamic_search false and verify + queryResponseBean = sessionNavigateWithQuery(new String[]{"1"}, + "case_claim_eof_navigation", + null, + QueryResponseBean.class); + assertFalse(queryResponseBean.getDynamicSearch()); + } + @Test public void testEmptySearch() throws Exception { configureQueryMock(); @@ -191,6 +208,7 @@ public void testQueryScreen() throws Exception { // forceManualAction true when default Search on should result in query screen QueryResponseBean queryResponseBean = runQuery(queryData); assert queryResponseBean.getDisplays().length == 5; + assertTrue(queryResponseBean.getDynamicSearch()); // test default value assert queryResponseBean.getDisplays()[0].getValue().contentEquals("Formplayer"); diff --git a/src/test/resources/archives/caseclaim/suite.xml b/src/test/resources/archives/caseclaim/suite.xml index b427c67e2..972397bc2 100644 --- a/src/test/resources/archives/caseclaim/suite.xml +++ b/src/test/resources/archives/caseclaim/suite.xml @@ -366,7 +366,7 @@ - + From 2a5e6cee85f051f33a0bc90237203e5b8bef7530 Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 8 Nov 2023 12:55:08 -0500 Subject: [PATCH 5/6] remove unused declarations of dynamicSearch vars --- .../org/commcare/formplayer/beans/menus/QueryResponseBean.java | 1 - src/main/java/org/commcare/formplayer/session/MenuSession.java | 2 -- 2 files changed, 3 deletions(-) diff --git a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java index a6c409523..198fe05c4 100644 --- a/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java +++ b/src/main/java/org/commcare/formplayer/beans/menus/QueryResponseBean.java @@ -23,7 +23,6 @@ public class QueryResponseBean extends MenuBean { private DisplayElement[] displays; private final String type = "query"; private String description; - private Boolean hasDynamicSearch; QueryResponseBean() { } diff --git a/src/main/java/org/commcare/formplayer/session/MenuSession.java b/src/main/java/org/commcare/formplayer/session/MenuSession.java index 31070668c..aad229bf1 100644 --- a/src/main/java/org/commcare/formplayer/session/MenuSession.java +++ b/src/main/java/org/commcare/formplayer/session/MenuSession.java @@ -85,8 +85,6 @@ public class MenuSession implements HereFunctionHandlerListener { private String smartLinkRedirect; - private boolean dynamicSearch; - public MenuSession(SerializableMenuSession session, FormplayerConfigEngine engine, CommCareSession commCareSession, RestoreFactory restoreFactory, FormplayerRemoteInstanceFetcher instanceFetcher) throws Exception { From 3187b03e214a175c2f15e6a2ceeb75da50a4b6f7 Mon Sep 17 00:00:00 2001 From: Shubham Goyal Date: Fri, 10 Nov 2023 10:17:40 -0500 Subject: [PATCH 6/6] update core to latest formplayer head --- libs/commcare | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/commcare b/libs/commcare index b51bfe9a2..fbf814535 160000 --- a/libs/commcare +++ b/libs/commcare @@ -1 +1 @@ -Subproject commit b51bfe9a288cc9ec7816ecfd92cad1ec8589bb76 +Subproject commit fbf814535ce2717a6f1d4f3203268cfd023a47e8