from MIFOSX-38, tidy up serialisation around additional data and reports.2
This commit is contained in:
+20
-27
@@ -192,28 +192,26 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
|
||||
private GenericResultsetData fillReportingGenericResultSet(final String sql) {
|
||||
|
||||
GenericResultsetData result = new GenericResultsetData();
|
||||
|
||||
Connection db_connection = null;
|
||||
Statement db_statement = null;
|
||||
try {
|
||||
db_connection = dataSource.getConnection();
|
||||
db_statement = db_connection.createStatement();
|
||||
ResultSet rs = db_statement.executeQuery(sql);
|
||||
|
||||
|
||||
List<ResultsetColumnHeader> columnHeaders = new ArrayList<ResultsetColumnHeader>();
|
||||
List<ResultsetDataRow> resultsetDataRows = new ArrayList<ResultsetDataRow>();
|
||||
|
||||
ResultSetMetaData rsmd = rs.getMetaData();
|
||||
String columnName = null;
|
||||
String columnValue = null;
|
||||
List<ResultsetColumnHeader> columnHeaders = new ArrayList<ResultsetColumnHeader>();
|
||||
for (int i = 0; i < rsmd.getColumnCount(); i++) {
|
||||
ResultsetColumnHeader rsch = new ResultsetColumnHeader();
|
||||
rsch.setColumnName(rsmd.getColumnName(i + 1));
|
||||
rsch.setColumnType(rsmd.getColumnTypeName(i + 1));
|
||||
columnHeaders.add(rsch);
|
||||
}
|
||||
result.setColumnHeaders(columnHeaders);
|
||||
|
||||
List<ResultsetDataRow> resultsetDataRows = new ArrayList<ResultsetDataRow>();
|
||||
|
||||
ResultsetDataRow resultsetDataRow;
|
||||
while (rs.next()) {
|
||||
resultsetDataRow = new ResultsetDataRow();
|
||||
@@ -226,16 +224,13 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
resultsetDataRow.setRow(columnValues);
|
||||
resultsetDataRows.add(resultsetDataRow);
|
||||
}
|
||||
result.setData(resultsetDataRows);
|
||||
|
||||
|
||||
return new GenericResultsetData(columnHeaders, resultsetDataRows);
|
||||
} catch (SQLException e) {
|
||||
throw new PlatformDataIntegrityException("error.msg.sql.error",
|
||||
e.getMessage(), "Sql: " + sql);
|
||||
throw new PlatformDataIntegrityException("error.msg.sql.error", e.getMessage(), "Sql: " + sql);
|
||||
} finally {
|
||||
dbClose(db_statement, db_connection);
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private String getSQLtoRun(final String name, final String type,
|
||||
@@ -470,10 +465,7 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
return result;
|
||||
}
|
||||
|
||||
private GenericResultsetData fillExtraDataGenericResultSet(String type,
|
||||
String set, Long id) {
|
||||
|
||||
GenericResultsetData result = new GenericResultsetData();
|
||||
private GenericResultsetData fillExtraDataGenericResultSet(final String type, final String set, final Long id) {
|
||||
|
||||
Connection db_connection = null;
|
||||
Statement db_statement1 = null;
|
||||
@@ -487,11 +479,14 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
|
||||
ResultSet rsmd = db_statement1.executeQuery(sql);
|
||||
|
||||
List<ResultsetColumnHeader> columnHeaders = null;
|
||||
List<ResultsetDataRow> resultsetDataRows = null;
|
||||
|
||||
if (rsmd.next()) {
|
||||
|
||||
String fullDatasetName = getFullDatasetName(type, set);
|
||||
db_statement2 = db_connection.createStatement();
|
||||
List<ResultsetColumnHeader> columnHeaders = new ArrayList<ResultsetColumnHeader>();
|
||||
columnHeaders = new ArrayList<ResultsetColumnHeader>();
|
||||
Boolean firstColumn = true;
|
||||
Integer allowedListId;
|
||||
String selectFieldList = "";
|
||||
@@ -528,8 +523,7 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
}
|
||||
columnHeaders.add(rsch);
|
||||
} while (rsmd.next());
|
||||
result.setColumnHeaders(columnHeaders);
|
||||
|
||||
|
||||
sql = "select " + selectFieldList + " from `" + type
|
||||
+ "` t left join `" + fullDatasetName
|
||||
+ "` s on s.id = t.id " + " where t.id = " + id;
|
||||
@@ -540,7 +534,7 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
if (rs.next()) {
|
||||
String columnName = null;
|
||||
String columnValue = null;
|
||||
List<ResultsetDataRow> resultsetDataRows = new ArrayList<ResultsetDataRow>();
|
||||
resultsetDataRows = new ArrayList<ResultsetDataRow>();
|
||||
ResultsetDataRow resultsetDataRow;
|
||||
do {
|
||||
resultsetDataRow = new ResultsetDataRow();
|
||||
@@ -554,13 +548,15 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
resultsetDataRow.setRow(columnValues);
|
||||
resultsetDataRows.add(resultsetDataRow);
|
||||
} while (rs.next());
|
||||
result.setData(resultsetDataRows);
|
||||
} else {
|
||||
throw new AdditionalFieldsNotFoundException(type, id);
|
||||
}
|
||||
} else {
|
||||
throw new AdditionalFieldsNotFoundException(type, set);
|
||||
}
|
||||
|
||||
return new GenericResultsetData(columnHeaders, resultsetDataRows);
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new PlatformDataIntegrityException("error.msg.sql.error",
|
||||
e.getMessage(), "Additional Fields Type: " + type
|
||||
@@ -570,8 +566,6 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
dbClose(db_statement3, null);
|
||||
dbClose(db_statement1, db_connection);
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private String getFullDatasetName(final String type, final String set) {
|
||||
@@ -780,7 +774,7 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
}
|
||||
|
||||
private void dbClose(Statement db_statement, Connection db_connection) {
|
||||
logger.info("dbClose");
|
||||
logger.debug("dbClose");
|
||||
try {
|
||||
if (db_statement != null) {
|
||||
db_statement.close();
|
||||
@@ -791,8 +785,7 @@ public class ReadExtraDataAndReportingServiceImpl implements
|
||||
db_connection = null;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new PlatformDataIntegrityException("error.msg.sql.error",
|
||||
e.getMessage(), "Error closing database connection");
|
||||
throw new PlatformDataIntegrityException("error.msg.sql.error", e.getMessage(), "Error closing database connection");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -28,7 +28,7 @@ import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||
import org.mifosng.platform.api.data.ApiParameterError;
|
||||
import org.mifosng.platform.api.data.EntityIdentifier;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
||||
import org.mifosng.platform.api.infrastructure.ApiJsonSerializerService;
|
||||
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
||||
import org.mifosng.platform.exceptions.PlatformApiDataValidationException;
|
||||
import org.slf4j.Logger;
|
||||
@@ -48,7 +48,7 @@ public class AdditionalFieldsApiResource {
|
||||
private ReadExtraDataAndReportingService readExtraDataAndReportingService;
|
||||
|
||||
@Autowired
|
||||
private ApiDataConversionService apiDataConversionService;
|
||||
private ApiJsonSerializerService apiJsonSerializerService;
|
||||
|
||||
@GET
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@@ -58,7 +58,7 @@ public class AdditionalFieldsApiResource {
|
||||
List<AdditionalFieldsSetData> result = this.readExtraDataAndReportingService.retrieveExtraDatasetNames(type);
|
||||
|
||||
boolean prettyPrint = ApiParameterHelper.prettyPrint(uriInfo.getQueryParameters());
|
||||
return this.apiDataConversionService.convertAdditionalFieldsSetDataToJson(prettyPrint, result.toArray(new AdditionalFieldsSetData[result.size()]));
|
||||
return this.apiJsonSerializerService.serializeAdditionalFieldsSetDataToJson(prettyPrint, result);
|
||||
}
|
||||
|
||||
@GET
|
||||
@@ -73,7 +73,7 @@ public class AdditionalFieldsApiResource {
|
||||
GenericResultsetData result = this.readExtraDataAndReportingService.retrieveExtraData(type, set, id);
|
||||
|
||||
boolean prettyPrint = ApiParameterHelper.prettyPrint(uriInfo.getQueryParameters());
|
||||
return this.apiDataConversionService.convertGenericResultsetDataToJson(prettyPrint, result);
|
||||
return this.apiJsonSerializerService.serializeGenericResultsetDataToJson(prettyPrint, result);
|
||||
} catch (InvalidSqlException e) {
|
||||
List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
|
||||
ApiParameterError error = ApiParameterError.parameterError(
|
||||
|
||||
@@ -9,17 +9,12 @@ import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
|
||||
import org.mifosng.platform.InvalidSqlException;
|
||||
import org.mifosng.platform.ReadExtraDataAndReportingService;
|
||||
import org.mifosng.platform.api.data.ApiParameterError;
|
||||
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
||||
import org.mifosng.platform.exceptions.PlatformApiDataValidationException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -29,15 +24,11 @@ import org.springframework.stereotype.Component;
|
||||
@Scope("singleton")
|
||||
public class DataTableApiResource {
|
||||
|
||||
private final static Logger logger = LoggerFactory.getLogger(DataTableApiResource.class);
|
||||
// private final static Logger logger = LoggerFactory.getLogger(DataTableApiResource.class);
|
||||
|
||||
@Autowired
|
||||
private ReadExtraDataAndReportingService readExtraDataAndReportingService;
|
||||
|
||||
@Autowired
|
||||
private ApiDataConversionService apiDataConversionService;
|
||||
|
||||
|
||||
@GET
|
||||
@Path("{datatable}")
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@@ -45,8 +36,9 @@ public class DataTableApiResource {
|
||||
public String extraData(@PathParam("datatable") final String datatable,
|
||||
@QueryParam("sqlFields") final String sqlFields,
|
||||
@QueryParam("sqlSearch") final String sqlSearch,
|
||||
@QueryParam("sqlOrder") final String sqlOrder,
|
||||
@Context final UriInfo uriInfo) {
|
||||
@QueryParam("sqlOrder") final String sqlOrder
|
||||
// ,@Context final UriInfo uriInfo
|
||||
) {
|
||||
|
||||
try {
|
||||
//GenericResultsetData result = this.readExtraDataAndReportingService.retrieveDataTable(datatable);
|
||||
|
||||
@@ -18,7 +18,7 @@ import javax.ws.rs.core.UriInfo;
|
||||
|
||||
import org.mifosng.platform.ReadExtraDataAndReportingService;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.infrastructure.ApiDataConversionService;
|
||||
import org.mifosng.platform.api.infrastructure.ApiJsonSerializerService;
|
||||
import org.mifosng.platform.api.infrastructure.ApiParameterHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
@@ -33,7 +33,7 @@ public class ReportsApiResource {
|
||||
private ReadExtraDataAndReportingService readExtraDataAndReportingService;
|
||||
|
||||
@Autowired
|
||||
private ApiDataConversionService apiDataConversionService;
|
||||
private ApiJsonSerializerService apiJsonSerializerService;
|
||||
|
||||
@GET
|
||||
@Consumes({MediaType.APPLICATION_JSON})
|
||||
@@ -48,7 +48,7 @@ public class ReportsApiResource {
|
||||
if (!exportCsv) {
|
||||
GenericResultsetData result = this.readExtraDataAndReportingService.retrieveGenericResultset(".", ".", extractedQueryParams);
|
||||
|
||||
final String json = this.apiDataConversionService.convertGenericResultsetDataToJson(prettyPrint, result);
|
||||
final String json = this.apiJsonSerializerService.serializeGenericResultsetDataToJson(prettyPrint, result);
|
||||
|
||||
return Response.ok().entity(json).build();
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public class ReportsApiResource {
|
||||
|
||||
GenericResultsetData result = this.readExtraDataAndReportingService.retrieveGenericResultset(reportName, parameterTypeValue, reportParams);
|
||||
|
||||
final String json = this.apiDataConversionService.convertGenericResultsetDataToJson(prettyPrint, result);
|
||||
final String json = this.apiJsonSerializerService.serializeGenericResultsetDataToJson(prettyPrint, result);
|
||||
|
||||
return Response.ok().entity(json).type(MediaType.APPLICATION_JSON).build();
|
||||
}
|
||||
|
||||
+3
@@ -1,5 +1,8 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
|
||||
/**
|
||||
* Immutable data object for 'additional data'.
|
||||
*/
|
||||
public class AdditionalFieldsSetData {
|
||||
|
||||
private final Integer id;
|
||||
|
||||
+8
-13
@@ -1,30 +1,25 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Immutable data object for generic resultset data.
|
||||
*/
|
||||
public class GenericResultsetData {
|
||||
|
||||
private List<ResultsetColumnHeader> columnHeaders = new ArrayList<ResultsetColumnHeader>();
|
||||
private List<ResultsetDataRow> data = new ArrayList<ResultsetDataRow>();
|
||||
private final List<ResultsetColumnHeader> columnHeaders;
|
||||
private final List<ResultsetDataRow> data;
|
||||
|
||||
public GenericResultsetData() {
|
||||
|
||||
public GenericResultsetData(final List<ResultsetColumnHeader> columnHeaders, final List<ResultsetDataRow> resultsetDataRows) {
|
||||
this.columnHeaders = columnHeaders;
|
||||
this.data = resultsetDataRows;
|
||||
}
|
||||
|
||||
public List<ResultsetColumnHeader> getColumnHeaders() {
|
||||
return columnHeaders;
|
||||
}
|
||||
|
||||
public void setColumnHeaders(List<ResultsetColumnHeader> columnHeaders) {
|
||||
this.columnHeaders = columnHeaders;
|
||||
}
|
||||
|
||||
public List<ResultsetDataRow> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(List<ResultsetDataRow> data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
-6
@@ -21,13 +21,11 @@ import org.mifosng.platform.api.commands.RoleCommand;
|
||||
import org.mifosng.platform.api.commands.SavingProductCommand;
|
||||
import org.mifosng.platform.api.commands.SubmitLoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.UserCommand;
|
||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||
import org.mifosng.platform.api.data.ChargeData;
|
||||
import org.mifosng.platform.api.data.ClientData;
|
||||
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
||||
import org.mifosng.platform.api.data.DepositAccountData;
|
||||
import org.mifosng.platform.api.data.DepositProductData;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.data.GroupData;
|
||||
import org.mifosng.platform.api.data.LoanAccountData;
|
||||
import org.mifosng.platform.api.data.LoanProductData;
|
||||
@@ -63,10 +61,6 @@ public interface ApiDataConversionService {
|
||||
String convertLoanAccountDataToJson(boolean prettyPrint, Set<String> responseParameters, LoanAccountData loanAccount);
|
||||
|
||||
String convertLoanTransactionDataToJson(boolean prettyPrint, Set<String> responseParameters, LoanTransactionData... transactions);
|
||||
|
||||
String convertAdditionalFieldsSetDataToJson(boolean prettyPrint, AdditionalFieldsSetData... additionalFields);
|
||||
|
||||
String convertGenericResultsetDataToJson(boolean prettyPrint, GenericResultsetData result);
|
||||
//
|
||||
|
||||
ChargeCommand convertJsonToChargeCommand(Long resourceIdentifier, String json);
|
||||
|
||||
-30
@@ -37,14 +37,12 @@ import org.mifosng.platform.api.commands.RoleCommand;
|
||||
import org.mifosng.platform.api.commands.SavingProductCommand;
|
||||
import org.mifosng.platform.api.commands.SubmitLoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.UserCommand;
|
||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||
import org.mifosng.platform.api.data.ApiParameterError;
|
||||
import org.mifosng.platform.api.data.ChargeData;
|
||||
import org.mifosng.platform.api.data.ClientData;
|
||||
import org.mifosng.platform.api.data.ClientLoanAccountSummaryCollectionData;
|
||||
import org.mifosng.platform.api.data.DepositAccountData;
|
||||
import org.mifosng.platform.api.data.DepositProductData;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.data.GroupData;
|
||||
import org.mifosng.platform.api.data.LoanAccountData;
|
||||
import org.mifosng.platform.api.data.LoanProductData;
|
||||
@@ -77,34 +75,6 @@ public class ApiDataConversionServiceImpl implements ApiDataConversionService {
|
||||
gsonConverter = new Gson();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String convertGenericResultsetDataToJson(final boolean prettyPrint, final GenericResultsetData result) {
|
||||
GsonBuilder builder = new GsonBuilder();
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
Gson gsonDeserializer = builder.create();
|
||||
|
||||
return gsonDeserializer.toJson(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String convertAdditionalFieldsSetDataToJson(final boolean prettyPrint, final AdditionalFieldsSetData... additionalFields) {
|
||||
GsonBuilder builder = new GsonBuilder();
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
Gson gsonDeserializer = builder.create();
|
||||
|
||||
// even if only a single result, its passed back as an array.
|
||||
return gsonDeserializer.toJson(additionalFields);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String convertLoanTransactionDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final LoanTransactionData... transactions) {
|
||||
final Set<String> supportedParameters = new HashSet<String>(
|
||||
|
||||
+8
-2
@@ -3,10 +3,12 @@ package org.mifosng.platform.api.infrastructure;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||
import org.mifosng.platform.api.data.AppUserData;
|
||||
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
||||
import org.mifosng.platform.api.data.ConfigurationData;
|
||||
import org.mifosng.platform.api.data.FundData;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.data.OfficeData;
|
||||
import org.mifosng.platform.api.data.OfficeTransactionData;
|
||||
import org.mifosng.platform.api.data.PermissionData;
|
||||
@@ -14,6 +16,12 @@ import org.mifosng.platform.api.data.RoleData;
|
||||
|
||||
public interface ApiJsonSerializerService {
|
||||
|
||||
String serializeAuthenticatedUserDataToJson(boolean prettyPrint, AuthenticatedUserData authenticatedUserData);
|
||||
|
||||
String serializeGenericResultsetDataToJson(boolean prettyPrint, GenericResultsetData result);
|
||||
|
||||
String serializeAdditionalFieldsSetDataToJson(boolean prettyPrint, Collection<AdditionalFieldsSetData> result);
|
||||
|
||||
String serializePermissionDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<PermissionData> permissions);
|
||||
|
||||
String serializeRoleDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<RoleData> roles);
|
||||
@@ -24,8 +32,6 @@ public interface ApiJsonSerializerService {
|
||||
|
||||
String serializeAppUserDataToJson(boolean prettyPrint, Set<String> responseParameters, AppUserData user);
|
||||
|
||||
String serializeAuthenticatedUserDataToJson(boolean prettyPrint, AuthenticatedUserData authenticatedUserData);
|
||||
|
||||
String serializeOfficeDataToJson(boolean prettyPrint, Set<String> responseParameters, Collection<OfficeData> offices);
|
||||
|
||||
String serializeOfficeDataToJson(boolean prettyPrint, Set<String> responseParameters, OfficeData office);
|
||||
|
||||
+20
-8
@@ -5,10 +5,12 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.mifosng.platform.api.data.AdditionalFieldsSetData;
|
||||
import org.mifosng.platform.api.data.AppUserData;
|
||||
import org.mifosng.platform.api.data.AuthenticatedUserData;
|
||||
import org.mifosng.platform.api.data.ConfigurationData;
|
||||
import org.mifosng.platform.api.data.FundData;
|
||||
import org.mifosng.platform.api.data.GenericResultsetData;
|
||||
import org.mifosng.platform.api.data.OfficeData;
|
||||
import org.mifosng.platform.api.data.OfficeTransactionData;
|
||||
import org.mifosng.platform.api.data.PermissionData;
|
||||
@@ -34,9 +36,7 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
||||
"hierarchy", "parentId", "parentName", "allowedParents")
|
||||
);
|
||||
private static final Set<String> OFFICE_TRANSACTIONS_DATA_PARAMETERS = new HashSet<String>(Arrays.asList("transactionDate", "allowedOffices", "currencyOptions"));
|
||||
|
||||
private static final Set<String> CONFIGURATION_DATA_PARAMETERS = new HashSet<String>(Arrays.asList("selectedCurrencyOptions", "currencyOptions"));
|
||||
|
||||
private static final Set<String> FUND_DATA_PARAMETERS = new HashSet<String>(Arrays.asList("id", "name", "externalId"));
|
||||
|
||||
private final GoogleGsonSerializerHelper helper;
|
||||
@@ -46,6 +46,24 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
||||
this.helper = helper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializeAuthenticatedUserDataToJson(final boolean prettyPrint, final AuthenticatedUserData authenticatedUserData) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilder(prettyPrint);
|
||||
return helper.serializedJsonFrom(gsonDeserializer, authenticatedUserData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializeGenericResultsetDataToJson(final boolean prettyPrint, final GenericResultsetData resultsetData) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilder(prettyPrint);
|
||||
return helper.serializedJsonFrom(gsonDeserializer, resultsetData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializeAdditionalFieldsSetDataToJson(final boolean prettyPrint, final Collection<AdditionalFieldsSetData> datasets) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilder(prettyPrint);
|
||||
return helper.serializedJsonFrom(gsonDeserializer, datasets.toArray(new AdditionalFieldsSetData[datasets.size()]));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializePermissionDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final Collection<PermissionData> permissions) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(PERMISSION_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||
@@ -76,12 +94,6 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
||||
return helper.serializedJsonFrom(gsonDeserializer, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializeAuthenticatedUserDataToJson(final boolean prettyPrint, final AuthenticatedUserData authenticatedUserData) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilder(prettyPrint);
|
||||
return helper.serializedJsonFrom(gsonDeserializer, authenticatedUserData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serializeOfficeDataToJson(final boolean prettyPrint, final Set<String> responseParameters, final Collection<OfficeData> offices) {
|
||||
final Gson gsonDeserializer = helper.createGsonBuilderWithParameterExclusionSerializationStrategy(OFFICE_DATA_PARAMETERS, prettyPrint, responseParameters);
|
||||
|
||||
Reference in New Issue
Block a user