data-miner-manager-tester/src/main/java/org/gcube/portlets/user/dataminermanagertester/server/testconfig/CSquareColumnCreatorTest.java

108 lines
3.3 KiB
Java
Raw Normal View History

2020-06-11 12:25:52 +02:00
package org.gcube.portlets.user.dataminermanagertester.server.testconfig;
import java.util.ArrayList;
2023-01-18 14:07:08 +01:00
import java.util.List;
2020-06-11 12:25:52 +02:00
import org.gcube.data.analysis.dataminermanagercl.shared.data.OutputData;
import org.gcube.data.analysis.dataminermanagercl.shared.data.output.MapResource;
import org.gcube.data.analysis.dataminermanagercl.shared.data.output.Resource;
import org.gcube.data.analysis.dataminermanagercl.shared.parameters.ObjectParameter;
import org.gcube.data.analysis.dataminermanagercl.shared.parameters.Parameter;
import org.gcube.data.analysis.dataminermanagercl.shared.parameters.TabularParameter;
2023-01-18 14:07:08 +01:00
import org.gcube.data.analysis.dataminermanagercl.shared.process.Operator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
2020-06-11 12:25:52 +02:00
/**
*
* @author Giancarlo Panichi
*
*
*/
public class CSquareColumnCreatorTest implements DMTest {
private static Logger logger = LoggerFactory.getLogger(CSquareColumnCreatorTest.class);
private static final String id = "org.gcube.dataanalysis.wps.statisticalmanager.synchserver.mappedclasses.transducerers.CSQUARE_COLUMN_CREATOR";
@Override
public String getId() {
return id;
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
@Override
public void createRequest(Operator operator) {
logger.debug("Create Request");
TabularParameter occurencePointsTable = new TabularParameter();
occurencePointsTable.setName("InputTable");
occurencePointsTable
2020-06-25 14:47:25 +02:00
.setValue("https://data.d4science.org/shub/E_SDBhbEovMTFMWGx0TG9qYXVOS0ExanJoWjkzbHBmZWpNTWpKOVRqNnQvRGk3ZFZTb09HUGdUbDRkanVoRHdlSA==");
2020-06-11 12:25:52 +02:00
ObjectParameter longitude = new ObjectParameter();
longitude.setName("Longitude_Column");
2020-06-25 14:47:25 +02:00
longitude.setValue("Longitude");
2020-06-11 12:25:52 +02:00
ObjectParameter latitude = new ObjectParameter();
latitude.setName("Latitude_Column");
2020-06-25 14:47:25 +02:00
latitude.setValue("Latitude");
2020-06-11 12:25:52 +02:00
ObjectParameter cSquareResolution = new ObjectParameter();
cSquareResolution.setName("CSquare_Resolution");
cSquareResolution.setValue("0.1");
ObjectParameter outputTableName = new ObjectParameter();
outputTableName.setName("OutputTableName");
outputTableName.setValue("wps_csquare_column");
List<Parameter> parameters = new ArrayList<>();
parameters.add(occurencePointsTable);
parameters.add(longitude);
parameters.add(latitude);
parameters.add(cSquareResolution);
parameters.add(outputTableName);
logger.debug("Parameters set: " + parameters);
operator.setOperatorParameters(parameters);
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
@Override
public String getResult(OutputData outputData) {
StringBuilder result = new StringBuilder();
logger.debug("Output: " + outputData);
Resource resource = outputData.getResource();
if (resource.isMap()) {
MapResource mapResource = (MapResource) resource;
for (String key : mapResource.getMap().keySet()) {
logger.debug("Entry: " + key + " = " + mapResource.getMap().get(key));
result.append("Entry: " + key + " = " + mapResource.getMap().get(key));
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
2023-01-18 14:07:08 +01:00
} else {
2020-06-11 12:25:52 +02:00
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
return result.toString();
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
@Override
public boolean isValidResult(OutputData outputData) {
boolean valid;
logger.debug("Output: " + outputData);
Resource resource = outputData.getResource();
if (resource.isMap()) {
MapResource mapResource = (MapResource) resource;
for (String key : mapResource.getMap().keySet()) {
logger.debug("Entry: " + key + " = " + mapResource.getMap().get(key));
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
valid = true;
2023-01-18 14:07:08 +01:00
} else {
2020-06-11 12:25:52 +02:00
valid = false;
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
return valid;
2023-01-18 14:07:08 +01:00
}
2020-06-11 12:25:52 +02:00
2023-01-18 14:07:08 +01:00
}