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);