diff --git a/pom.xml b/pom.xml
old mode 100644
new mode 100755
index 535fc9872..9aa24884f
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.smartregister
opensrp-server-web
war
- 2.1.53.2-SNAPSHOT
+ 2.1.53.3-SNAPSHOT
opensrp-server-web
OpenSRP Server Web Application
https://github.com/OpenSRP/opensrp-server-web
@@ -24,7 +24,7 @@
5.2.2.RELEASE
always
1.5.1
- 2.11.3-SNAPSHOT
+ 2.11.5-SNAPSHOT
2.3.0-SNAPSHOT
2.0.3-SNAPSHOT
diff --git a/src/main/java/org/opensrp/web/rest/v2/SettingResource.java b/src/main/java/org/opensrp/web/rest/v2/SettingResource.java
old mode 100644
new mode 100755
index 06bb3493d..e57c452d7
--- a/src/main/java/org/opensrp/web/rest/v2/SettingResource.java
+++ b/src/main/java/org/opensrp/web/rest/v2/SettingResource.java
@@ -42,6 +42,8 @@
import javax.servlet.http.HttpServletRequest;
+import static org.opensrp.web.Constants.LIMIT;
+
@Controller("settingResourceV2")
@RequestMapping(value = Constants.RestEndpointUrls.SETTINGS_V2_URL)
public class SettingResource {
@@ -50,6 +52,8 @@ public class SettingResource {
public static final String SETTING_IDENTIFIER = "identifier";
+ public static final String METADATA_VERSION = "metadata_version";
+
public static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.registerTypeAdapter(DateTime.class, new DateTimeTypeConverter()).create();
@@ -112,7 +116,9 @@ public ResponseEntity getAllSettings(HttpServletRequest request) {
String teamId = RestUtils.getStringFilter(AllConstants.Event.TEAM_ID, request);
String identifier = RestUtils.getStringFilter(SETTING_IDENTIFIER, request);
boolean resolveSettings = RestUtils.getBooleanFilter(AllConstants.Event.RESOLVE_SETTINGS, request);
- Map> treeNodeHashMap = null;
+ String metadataVersion = RestUtils.getStringFilter(METADATA_VERSION, request);
+ String limit = RestUtils.getStringFilter(LIMIT, request);
+ Map> treeNodeHashMap = null;
if (StringUtils.isBlank(team) && StringUtils.isBlank(providerId) && StringUtils.isBlank(locationId)
&& StringUtils.isBlank(teamId) && StringUtils.isBlank(team) && StringUtils.isBlank(serverVersion)) {
@@ -120,10 +126,12 @@ public ResponseEntity getAllSettings(HttpServletRequest request) {
RestUtils.getJSONUTF8Headers(), HttpStatus.BAD_REQUEST);
}
- long lastSyncedServerVersion = 0L;
- if (StringUtils.isNotBlank(serverVersion)) {
- lastSyncedServerVersion = Long.parseLong(serverVersion) + 1;
- }
+ long lastSyncedServerVersion = 0L;
+ long lastMetadataVersion = 0L;
+ int pageLimit = 0;
+ if (StringUtils.isNotBlank(serverVersion)) {
+ lastSyncedServerVersion = Long.parseLong(serverVersion) + 1;
+ }
SettingSearchBean settingQueryBean = new SettingSearchBean();
settingQueryBean.setTeam(team);
@@ -138,8 +146,18 @@ public ResponseEntity getAllSettings(HttpServletRequest request) {
settingQueryBean.setResolveSettings(resolveSettings);
treeNodeHashMap = getChildParentLocationTree(locationId);
}
+ if (StringUtils.isNotBlank(metadataVersion)) {
+ lastMetadataVersion = Long.parseLong(metadataVersion);
+ }
+
+ if (StringUtils.isNotBlank(limit)) {
+ pageLimit = Integer.parseInt(limit);
+ }
+
+ settingQueryBean.setMetadataVersion(lastMetadataVersion);
+ settingQueryBean.setLimit(pageLimit);
- List settingConfigurations = settingService.findSettings(settingQueryBean,
+ List settingConfigurations = settingService.findSettings(settingQueryBean,
treeNodeHashMap);
List settingList = extractSettings(settingConfigurations);