diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm
index 24825cfb6..62880d299 100644
--- a/api-docs/apiLive.htm
+++ b/api-docs/apiLive.htm
@@ -1139,8 +1139,17 @@
Global Configuration |
configurations |
|
- Retrieve
+ | List
Global Configuration |
+ |
+ |
+
+
+ | Global Configuration |
+ configurations/{configId} |
+ |
+ Retrieve
+ a Global Configuration |
Update
Global Configuration |
|
@@ -10362,6 +10371,29 @@ GET https://DomainName/api/v1/configurations
+
+
+
+
Retrieve Global Configuration
+
Returns a global enable/disable configurations.
+
Example Requests:
+
configurations/1
+
+
+
+GET https://DomainName/api/v1/configurations/1
+
+
+ {
+ "name": "maker-checker",
+ "enabled": true,
+ "value": 0,
+ "id": 1
+ }
+
+
+
+
+
+ |
+ configurations/{configId} |
+ |
+ Retrieve a Global Configuration |
Update Global Configuration |
|
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java
index 8aebf32d8..40559c585 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java
@@ -23,6 +23,7 @@ import org.mifosplatform.commands.domain.CommandWrapper;
import org.mifosplatform.commands.service.CommandWrapperBuilder;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationData;
+import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationPropertyData;
import org.mifosplatform.infrastructure.configuration.service.ConfigurationReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiRequestParameterHelper;
import org.mifosplatform.infrastructure.core.data.CommandProcessingResult;
@@ -45,6 +46,7 @@ public class GlobalConfigurationApiResource {
private final PlatformSecurityContext context;
private final ConfigurationReadPlatformService readPlatformService;
private final DefaultToApiJsonSerializer toApiJsonSerializer;
+ private final DefaultToApiJsonSerializer propertyDataJsonSerializer;
private final ApiRequestParameterHelper apiRequestParameterHelper;
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
@@ -53,12 +55,14 @@ public class GlobalConfigurationApiResource {
final ConfigurationReadPlatformService readPlatformService,
final DefaultToApiJsonSerializer toApiJsonSerializer,
final ApiRequestParameterHelper apiRequestParameterHelper,
- final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService) {
+ final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService,
+ final DefaultToApiJsonSerializer propertyDataJsonSerializer) {
this.context = context;
this.readPlatformService = readPlatformService;
this.toApiJsonSerializer = toApiJsonSerializer;
this.apiRequestParameterHelper = apiRequestParameterHelper;
this.commandsSourceWritePlatformService = commandsSourceWritePlatformService;
+ this.propertyDataJsonSerializer = propertyDataJsonSerializer;
}
@GET
@@ -73,6 +77,21 @@ public class GlobalConfigurationApiResource {
final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
return this.toApiJsonSerializer.serialize(settings, configurationData, this.RESPONSE_DATA_PARAMETERS);
}
+
+ @GET
+ @Path("{configId}")
+ @Consumes({ MediaType.APPLICATION_JSON })
+ @Produces({ MediaType.APPLICATION_JSON })
+ public String retrieveOne(@PathParam("configId") final Long configId, @Context final UriInfo uriInfo) {
+
+ this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermissions);
+
+ final GlobalConfigurationPropertyData configurationData = this.readPlatformService.retrieveGlobalConfiguration(configId);
+
+ final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
+ return this.propertyDataJsonSerializer.serialize(settings, configurationData, this.RESPONSE_DATA_PARAMETERS);
+ }
+
@PUT
@Path("{configId}")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java
index 193feefef..ee1e94eb7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java
@@ -6,9 +6,12 @@
package org.mifosplatform.infrastructure.configuration.service;
import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationData;
+import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationPropertyData;
public interface ConfigurationReadPlatformService {
GlobalConfigurationData retrieveGlobalConfiguration();
+
+ GlobalConfigurationPropertyData retrieveGlobalConfiguration(Long configId);
}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java
index dc8ba0267..e952b391a 100755
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java
@@ -43,9 +43,21 @@ public class ConfigurationReadPlatformServiceImpl implements ConfigurationReadPl
return new GlobalConfigurationData(globalConfiguration);
}
+
+ @Override
+ public GlobalConfigurationPropertyData retrieveGlobalConfiguration(Long configId) {
+
+ this.context.authenticatedUser();
+
+ final String sql = "SELECT c.id, c.name, c.enabled, c.value FROM c_configuration c where c.id=? order by c.id";
+ final GlobalConfigurationPropertyData globalConfiguration = this.jdbcTemplate.queryForObject(sql, this.rm, new Object[] {configId});
+
+ return globalConfiguration;
+ }
private static final class GlobalConfigurationRowMapper implements RowMapper {
+
@Override
public GlobalConfigurationPropertyData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException {