Add dedicated method for api count in baseApiActionUtil; improve null handling in json to record

This commit is contained in:
2022-10-24 15:34:37 -05:00
parent 22b2e01cca
commit 44537e182d
4 changed files with 22 additions and 6 deletions

View File

@ -22,13 +22,11 @@
package com.kingsrook.qqq.backend.module.api.actions;
import java.util.List;
import com.kingsrook.qqq.backend.core.actions.interfaces.CountInterface;
import com.kingsrook.qqq.backend.core.exceptions.QException;
import com.kingsrook.qqq.backend.core.model.actions.tables.count.CountInput;
import com.kingsrook.qqq.backend.core.model.actions.tables.count.CountOutput;
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter;
import com.kingsrook.qqq.backend.core.model.data.QRecord;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
@ -70,11 +68,11 @@ public class APICountAction extends AbstractAPIAction implements CountInterface
apiActionUtil.setupContentTypeInRequest(request);
apiActionUtil.setupAdditionalHeaders(request);
HttpResponse response = client.execute(request);
List<QRecord> queryResults = apiActionUtil.processGetResponse(table, response);
HttpResponse response = client.execute(request);
Integer count = apiActionUtil.processGetResponseForCount(table, response);
CountOutput rs = new CountOutput();
rs.setCount(queryResults.size());
rs.setCount(count);
return rs;
}
catch(Exception e)

View File

@ -458,4 +458,16 @@ public class BaseAPIActionUtil
{
return (jsonObjectToRecord(getJsonObject(response), table.getFields()));
}
/*******************************************************************************
**
*******************************************************************************/
public Integer processGetResponseForCount(QTableMetaData table, HttpResponse response) throws IOException
{
List<QRecord> queryResults = processGetResponse(table, response);
return (queryResults.size());
}
}