workspace-task-executor-lib.../src/test/java/org/gcube/common/workspacetaskexecutor/TestDataMinerTaskExecutor.java

177 lines
5.4 KiB
Java

/**
*
*/
package org.gcube.common.workspacetaskexecutor;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.gcube.common.homelibrary.home.exceptions.HomeNotFoundException;
import org.gcube.common.homelibrary.home.exceptions.InternalErrorException;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.common.homelibrary.home.workspace.exceptions.ItemNotFoundException;
import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.common.workspacetaskexecutor.dataminer.WorkspaceDataMinerTaskExecutor;
import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskConfiguration;
import org.gcube.common.workspacetaskexecutor.util.JsonUtil;
import org.gcube.common.workspacetaskexecutor.util.WsUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* Apr 26, 2018
*/
public class TestDataMinerTaskExecutor {
public static String USERNAME = "francesco.mangiacrapa";
public static String SCOPE = "/gcube/devsec";
public static String WORKSPACE_FOLDER_ID = "f5c2f5ab-5c35-4418-8e60-d48d173538ed";
private static JsonUtil jUtil = new JsonUtil();
public static void main(String[] args) {
ScopeProvider.instance.set(SCOPE);
WorkspaceDataMinerTaskExecutor exec = WorkspaceDataMinerTaskExecutor.getInstance();
exec.withOwner(USERNAME);
//jsonCheck();
checkGubeProperties(gelDummyListOfConfigurations());
// try {
// new TaskConfiguration(algorithmId, taskDescription, token, workspaceItemId, mapParameters)
// exec.removeTaskConfiguration(WORKSPACE_FOLDER_ID);
// //exec.checkItemExecutable(WORKSPACE_FOLDER_ID);
// }
// catch (ItemNotExecutableException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
//
// System.out.println("The item is not executable...");
// }
// catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// try {
// AlgorithmConfiguration config = createDummyConfiguration();
// exec.setTaskConfiguration(config);
// }
// catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
//
// try {
// AlgorithmConfiguration conf = exec.checkItemExecutable(WORKSPACE_FOLDER_ID);
//
// System.out.println("The conf is: "+conf);
// }
// catch (ItemNotExecutableException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
public static void checkGubeProperties(List<TaskConfiguration> listConfigurations){
//SET
try {
WorkspaceItem workspaceItem = WsUtil.getItem(USERNAME, WORKSPACE_FOLDER_ID);
String jsonArray = jUtil.toJSONArray(listConfigurations);
System.out.println("Json array to save: "+jsonArray);
WsUtil.setPropertyValue(workspaceItem, WorkspaceDataMinerTaskExecutor.WS_DM_TASK_TASK_CONF, jsonArray);
//GET
jsonArray = WsUtil.getPropertyValue(workspaceItem, WorkspaceDataMinerTaskExecutor.WS_DM_TASK_TASK_CONF);
System.out.println("Json array read from "+WorkspaceDataMinerTaskExecutor.WS_DM_TASK_TASK_CONF+": "+jsonArray);
TypeReference<List<TaskConfiguration>> mapType = new TypeReference<List<TaskConfiguration>>() {};
List<TaskConfiguration> listUnM = jUtil.readList(jsonArray, mapType);
System.out.println("Json array to listUnM...");
for (TaskConfiguration taskConfiguration : listUnM) {
System.out.println(taskConfiguration);
}
}
catch (WorkspaceFolderNotFoundException | ItemNotFoundException
| InternalErrorException | HomeNotFoundException | JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static TaskConfiguration createDummyConfiguration(){
Map<String, String> mapParameters = new HashMap<String, String>();
mapParameters.put("publiclink", "this is the public link");
return new TaskConfiguration(UUID.randomUUID().toString(), null, "my token", WORKSPACE_FOLDER_ID, mapParameters);
}
public static List<TaskConfiguration> gelDummyListOfConfigurations(){
TaskConfiguration c1 = createDummyConfiguration();
TaskConfiguration c2 = createDummyConfiguration();
List<TaskConfiguration> listConfigurations = new ArrayList<>();
listConfigurations.add(c1);
listConfigurations.add(c2);
return listConfigurations;
}
public static void jsonCheck(){
List<TaskConfiguration> listConfigurations = gelDummyListOfConfigurations();
try {
String jsonArray = jUtil.toJSONArray(listConfigurations);
System.out.println("Json array: "+jsonArray);
TypeReference<List<TaskConfiguration>> mapType = new TypeReference<List<TaskConfiguration>>() {};
List<TaskConfiguration> listUnM = jUtil.readList(jsonArray, mapType);
System.out.println("Json array to listUnM...");
for (TaskConfiguration taskConfiguration : listUnM) {
System.out.println(taskConfiguration);
}
}
catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}