Skip to content

Commit

Permalink
Improve logging in CatalogFunctionDataProxy
Browse files Browse the repository at this point in the history
  • Loading branch information
kerny3d committed Jan 12, 2024
1 parent a7b4139 commit 4c0025f
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import java.util.Map;

import org.apache.commons.httpclient.HttpStatus;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
Expand All @@ -32,7 +34,6 @@
import it.eng.spagobi.tools.dataset.common.datastore.IDataStore;
import it.eng.spagobi.tools.dataset.common.datastore.IField;
import it.eng.spagobi.tools.dataset.common.datastore.IRecord;
import it.eng.spagobi.tools.dataset.common.datastore.Record;
import it.eng.spagobi.tools.dataset.common.metadata.IFieldMetaData;
import it.eng.spagobi.utilities.Helper;
import it.eng.spagobi.utilities.assertion.Assert;
Expand All @@ -42,13 +43,16 @@

public class CatalogFunctionDataProxy extends AbstractDataProxy {

private JSONObject requestBody;
private String address;
private static final Logger LOGGER = LogManager.getLogger(CatalogFunctionDataProxy.class);

private final JSONObject requestBody;
private final String address;
private final Map<String, String> requestHeaders;
private final HttpMethod method;
private IDataStore dataStore;

public CatalogFunctionDataProxy(String address, HttpMethod method, Map<String, String> requestHeaders, JSONObject requestBody) {
public CatalogFunctionDataProxy(String address, HttpMethod method, Map<String, String> requestHeaders,
JSONObject requestBody) {
this.requestBody = requestBody;
this.address = address;
this.requestHeaders = requestHeaders;
Expand All @@ -63,7 +67,8 @@ public IDataStore load(IDataReader dataReader) {
// ONLY AT THIS POINT WE HAVE ACTUAL DATA, so we must put them in the request
putDataStoreInRequestBody();

Response response = RestUtilities.makeRequest(this.method, this.address, this.requestHeaders, this.requestBody.toString());
Response response = RestUtilities.makeRequest(this.method, this.address, this.requestHeaders,
this.requestBody.toString());
String responseBody = response.getResponseBody();
if (response.getStatusCode() != HttpStatus.SC_OK) {
throw new CatalogFunctionException(responseBody);
Expand All @@ -83,32 +88,46 @@ public IDataStore load(IDataReader dataReader) {
private void putDataStoreInRequestBody() throws JSONException {
JSONObject data = new JSONObject();

LOGGER.debug("Datastore: {}", dataStore);

// put metadata
JSONArray metadataArray = new JSONArray();
for (int i = 0; i < dataStore.getMetaData().getFieldsMeta().size(); i++) {
IFieldMetaData meta = (IFieldMetaData) dataStore.getMetaData().getFieldsMeta().get(i);
IFieldMetaData meta = dataStore.getMetaData().getFieldsMeta().get(i);
JSONObject metaObj = new JSONObject();

LOGGER.debug("Adding field metadata: {}", meta);

metaObj.put("header", meta.getName());
metaObj.put("type", meta.getType());
metadataArray.put(metaObj);
}

LOGGER.debug("Metadata: {}", metadataArray);

data.put("metadata", metadataArray);

// put records
JSONArray recordsArray = new JSONArray();
for (int i = 0; i < dataStore.getRecords().size(); i++) {
IRecord record = (Record) dataStore.getRecords().get(i);
IRecord currRecord = dataStore.getRecords().get(i);
JSONArray fieldsArray = new JSONArray();
for (int j = 0; j < record.getFields().size(); j++) {
IField field = record.getFields().get(j);
Object value = field.getValue() instanceof BigDecimal ? ((BigDecimal) field.getValue()).doubleValue() : field.getValue();
for (int j = 0; j < currRecord.getFields().size(); j++) {
IField field = currRecord.getFields().get(j);
Object value = field.getValue() instanceof BigDecimal ? ((BigDecimal) field.getValue()).doubleValue()
: field.getValue();
fieldsArray.put(value);
}
recordsArray.put(fieldsArray);
}

LOGGER.debug("Records: {}", recordsArray);

data.put("records", recordsArray);

requestBody.put("datastore", data);

LOGGER.debug("Datastore: {}", data);
}

public IDataStore getDataStore() {
Expand Down
3 changes: 3 additions & 0 deletions knowage/src/main/resources/log4j2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,9 @@
<logger name="it.eng.spagobi.commons.utilities.ObjectsAccessVerifier" level="warn" additivity="false">
<AppenderRef ref="KNOWAGE_CORE" />
</logger>
<logger name="it.eng.knowage.functionscatalog.utils.CatalogFunctionDataProxy" level="debug" additivity="false">
<AppenderRef ref="KNOWAGE_CORE" />
</logger>
<Root level="error">
<AppenderRef ref="KNOWAGE_CORE" />
</Root>
Expand Down

0 comments on commit 4c0025f

Please sign in to comment.