Merge pull request #799 from pramodn02/MIFOSX-975

MIFOSX-976 - added editing values for global configurations
This commit is contained in:
Vishwas Babu A J
2014-03-13 18:26:28 -07:00
4 changed files with 77 additions and 3 deletions
+42 -2
View File
@@ -1139,8 +1139,17 @@
<td><a href="#configs_global">Global Configuration</a></td>
<td>configurations</td>
<td></td>
<td><a href="#configs_globalconfig_retrieve">Retrieve
<td><a href="#configs_globalconfig_retrieve">List
Global Configuration</a></td>
<td></td>
<td></td>
</tr>
<tr class="alt">
<td><a href="#configs_global">Global Configuration</a></td>
<td>configurations/{configId}</td>
<td></td>
<td><a href="#configs_globalconfig_retrieve_one">Retrieve
a Global Configuration</a></td>
<td><a href="#configs_globalconfig_update">Update
Global Configuration</a></td>
<td></td>
@@ -10362,6 +10371,29 @@ GET https://DomainName/api/v1/configurations
</div>
</div>
<a id="configs_globalconfig_retrieve_one" name="configs_globalconfig_retrieve_one" class="old-syle-anchor">&nbsp;</a>
<div class="method-section">
<div class="method-description">
<h4>Retrieve Global Configuration</h4>
<p>Returns a global enable/disable configurations.</p>
<p>Example Requests:</p>
<div class=apiClick>configurations/1</div>
</div>
<div class="method-example">
<code class="method-declaration">
GET https://DomainName/api/v1/configurations/1
</code>
<code class="method-response">
{
"name": "maker-checker",
"enabled": true,
"value": 0,
"id": 1
}
</code>
</div>
</div>
<a id="configs_globalconfig_update" name="configs_globalconfig_update" class="old-syle-anchor">&nbsp;</a>
<div class="method-section">
<div class="method-description">
@@ -22589,7 +22621,15 @@ No Request Body:
<td><a href="#configs_global">Global Configuration</a></td>
<td>configurations</td>
<td></td>
<td><a href="#configs_globalconfig_retrieve">Retrieve Global Configuration</a></td>
<td><a href="#configs_globalconfig_retrieve">List Global Configuration</a></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>configurations/{configId}</td>
<td></td>
<td><a href="#configs_globalconfig_retrieve_one">Retrieve a Global Configuration</a></td>
<td><a href="#configs_globalconfig_update">Update Global Configuration</a></td>
<td></td>
</tr>
@@ -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<GlobalConfigurationData> toApiJsonSerializer;
private final DefaultToApiJsonSerializer<GlobalConfigurationPropertyData> propertyDataJsonSerializer;
private final ApiRequestParameterHelper apiRequestParameterHelper;
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
@@ -53,12 +55,14 @@ public class GlobalConfigurationApiResource {
final ConfigurationReadPlatformService readPlatformService,
final DefaultToApiJsonSerializer<GlobalConfigurationData> toApiJsonSerializer,
final ApiRequestParameterHelper apiRequestParameterHelper,
final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService) {
final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService,
final DefaultToApiJsonSerializer<GlobalConfigurationPropertyData> 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}")
@@ -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);
}
@@ -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<GlobalConfigurationPropertyData> {
@Override
public GlobalConfigurationPropertyData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException {