wip mifosx-97 refactor audit/makerchecker functions

This commit is contained in:
John Woodlock
2013-04-02 01:51:58 +01:00
parent f0b526aa53
commit 7cf6c20b38
4 changed files with 43 additions and 9 deletions
@@ -130,10 +130,10 @@ public class AuditApiResource {
.process(uriInfo.getQueryParameters());
final AuditSearchData auditSearchData = this.auditReadPlatformService
.retrieveSearchTemplate();
.retrieveSearchTemplate("audit");
final Set<String> RESPONSE_DATA_PARAMETERS_SEARCH_TEMPLATE = new HashSet<String>(
Arrays.asList("appUsers", "apiOperations", "resources"));
Arrays.asList("appUsers", "actionNames", "entityNames", "processingResults"));
return this.toApiJsonSerializerSearchTemplate.serialize(settings,
auditSearchData, RESPONSE_DATA_PARAMETERS_SEARCH_TEMPLATE);
@@ -16,7 +16,7 @@ public interface AuditReadPlatformService {
AuditData retrieveAuditEntry(Long auditId);
AuditSearchData retrieveSearchTemplate();
AuditSearchData retrieveSearchTemplate(String useType);
Collection<AuditData> retrieveAllEntriesToBeChecked();
@@ -16,6 +16,7 @@ import org.mifosplatform.audit.api.ProcessingResultLookup;
import org.mifosplatform.audit.data.AuditData;
import org.mifosplatform.audit.data.AuditSearchData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
import org.mifosplatform.useradministration.data.AppUserData;
@@ -141,7 +142,12 @@ public class AuditReadPlatformServiceImpl implements AuditReadPlatformService {
}
@Override
public AuditSearchData retrieveSearchTemplate() {
public AuditSearchData retrieveSearchTemplate(String useType) {
if (!(useType.equals("audit") || useType.equals("makerchecker"))) {
throw new PlatformDataIntegrityException("error.msg.invalid.auditSearchTemplate.useType",
"Invalid Audit Search Template UseType: " + useType); }
final Collection<AppUserData> appUsers = appUserReadPlatformService
.retrieveSearchTemplate();
@@ -153,10 +159,12 @@ public class AuditReadPlatformServiceImpl implements AuditReadPlatformService {
List<String> entityNames = this.jdbcTemplate.query(mapper2.schema(),
mapper2, new Object[] {});
ProcessingResultsMapper mapper3 = new ProcessingResultsMapper();
Collection<ProcessingResultLookup> processingResults = this.jdbcTemplate
.query(mapper3.schema(), mapper3, new Object[] {});
Collection<ProcessingResultLookup> processingResults = null;
if (useType.equals("audit")) {
ProcessingResultsMapper mapper3 = new ProcessingResultsMapper();
processingResults = this.jdbcTemplate.query(mapper3.schema(), mapper3, new Object[] {});
}
return new AuditSearchData(appUsers, actionNames, entityNames,
processingResults);
}
@@ -24,6 +24,7 @@ import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.audit.data.AuditData;
import org.mifosplatform.audit.data.AuditSearchData;
import org.mifosplatform.audit.service.AuditReadPlatformService;
import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
@@ -52,18 +53,21 @@ public class CommandsApiResource {
private final AuditReadPlatformService readPlatformService;
private final DefaultToApiJsonSerializer<CommandSourceData> toApiJsonSerializer;
private final DefaultToApiJsonSerializer<AuditData> toApiJsonSerializerAudit;
private final DefaultToApiJsonSerializer<AuditSearchData> toApiJsonSerializerSearchTemplate;
private final ApiRequestParameterHelper apiRequestParameterHelper;
private final PortfolioCommandSourceWritePlatformService writePlatformService;
@Autowired
public CommandsApiResource(final PlatformSecurityContext context, final AuditReadPlatformService readPlatformService,
final DefaultToApiJsonSerializer<CommandSourceData> toApiJsonSerializer, final DefaultToApiJsonSerializer<AuditData> toApiJsonSerializerAudit,
final DefaultToApiJsonSerializer<CommandSourceData> toApiJsonSerializer, final DefaultToApiJsonSerializer<AuditData> toApiJsonSerializerAudit,
final DefaultToApiJsonSerializer<AuditSearchData> toApiJsonSerializerSearchTemplate,
final ApiRequestParameterHelper apiRequestParameterHelper, final PortfolioCommandSourceWritePlatformService writePlatformService) {
this.context = context;
this.readPlatformService = readPlatformService;
this.toApiJsonSerializer = toApiJsonSerializer;
this.apiRequestParameterHelper = apiRequestParameterHelper;
this.toApiJsonSerializerAudit = toApiJsonSerializerAudit;
this.toApiJsonSerializerSearchTemplate = toApiJsonSerializerSearchTemplate;
this.writePlatformService = writePlatformService;
}
@@ -80,6 +84,28 @@ public class CommandsApiResource {
return this.toApiJsonSerializerAudit.serialize(settings, entries, RESPONSE_DATA_PARAMETERS);
}
@GET
@Path("/searchtemplate")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public String retrieveAuditSearchTemplate(@Context final UriInfo uriInfo) {
context.authenticatedUser().validateHasReadPermission(
resourceNameForPermissions);
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper
.process(uriInfo.getQueryParameters());
final AuditSearchData auditSearchData = this.readPlatformService
.retrieveSearchTemplate("makerchecker");
final Set<String> RESPONSE_DATA_PARAMETERS_SEARCH_TEMPLATE = new HashSet<String>(
Arrays.asList("appUsers", "actionNames", "entityNames"));
return this.toApiJsonSerializerSearchTemplate.serialize(settings,
auditSearchData, RESPONSE_DATA_PARAMETERS_SEARCH_TEMPLATE);
}
@POST
@Path("{commandId}")
@Consumes({ MediaType.APPLICATION_JSON })