Skip to content
Snippets Groups Projects
Commit 04075032 authored by Mirco Nasuti's avatar Mirco Nasuti
Browse files

update woken-messages version and use it for listing methods too

parent bbc7d2a2
No related branches found
No related tags found
No related merge requests found
......@@ -49,7 +49,7 @@
<spring-data-jpa.version>1.10.2.RELEASE</spring-data-jpa.version>
<spring-boot-starter-actuator.version>1.4.0.RELEASE</spring-boot-starter-actuator.version>
<aspectjweaver.version>1.8.9</aspectjweaver.version>
<woken-messages.version>a0244b0</woken-messages.version>
<woken-messages.version>d455fa0</woken-messages.version>
<javax-inject.version>1</javax-inject.version>
<akka-actor.version>2.4.11</akka-actor.version>
<akka-remote.version>2.4.11</akka-remote.version>
......
package eu.hbp.mip.akka;
import akka.actor.UntypedActor;
import eu.hbp.mip.messages.external.Methods;
import eu.hbp.mip.messages.external.QueryResult;
import org.springframework.context.annotation.Scope;
......@@ -25,7 +26,11 @@ public class ListenerActor extends UntypedActor {
public void onReceive(Object message) throws Exception {
if (message instanceof QueryResult) {
QueryResult queryResult = (QueryResult) message;
listeningService.listen(queryResult.data().get());
listeningService.listen("received query result");
}
else if (message instanceof Methods) {
Methods methods = (Methods) message;
listeningService.listen("received methods");
}
else {
unhandled(message);
......
......@@ -10,12 +10,12 @@ import com.google.gson.JsonParser;
import eu.hbp.mip.akka.ListenerActor;
import eu.hbp.mip.akka.ListeningService;
import eu.hbp.mip.configuration.SecurityConfiguration;
import eu.hbp.mip.messages.external.MethodsQuery;
import eu.hbp.mip.model.Experiment;
import eu.hbp.mip.model.ExperimentQuery;
import eu.hbp.mip.model.User;
import eu.hbp.mip.repositories.ExperimentRepository;
import eu.hbp.mip.repositories.ModelRepository;
import eu.hbp.mip.utils.JSONUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
......@@ -27,10 +27,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.util.Date;
import java.util.Iterator;
......@@ -217,18 +214,21 @@ public class ExperimentApi {
StringBuilder response = new StringBuilder();
// TODO: Use akka
int code = 500;
JsonObject catalog = new JsonParser().parse(response.toString()).getAsJsonObject();
InputStream is = ExperimentApi.class.getClassLoader().getResourceAsStream(EXAREME_ALGO_JSON_FILE);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
JsonObject exaremeAlgo = new JsonParser().parse(br).getAsJsonObject();
ActorSelection wokenActor = actorSystem.actorSelection(wokenPath);
wokenActor.tell(new MethodsQuery(), new ListenerActor(new ListeningService()).getSelf());
catalog.get("algorithms").getAsJsonArray().add(exaremeAlgo);
// TODO: remove this
int code = 200;
JsonObject catalog = new JsonParser().parse(response.toString()).getAsJsonObject();
//
// InputStream is = ExperimentApi.class.getClassLoader().getResourceAsStream(EXAREME_ALGO_JSON_FILE);
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader br = new BufferedReader(isr);
// JsonObject exaremeAlgo = new JsonParser().parse(br).getAsJsonObject();
//
// catalog.get("algorithms").getAsJsonArray().add(exaremeAlgo);
//
return new ResponseEntity<>(gson.toJson(catalog), HttpStatus.valueOf(code));
}
......@@ -306,19 +306,19 @@ public class ExperimentApi {
String url = miningExaremeQueryUrl + "/" + EXAREME_LR_ALGO;
// Results are stored in the experiment object
try {
executeExperiment(url, query, experiment);
} catch (IOException e) {
LOGGER.trace(e);
LOGGER.warn("Exareme experiment failed to run properly !");
setExperimentError(e, experiment);
}
if(!JSONUtil.isJSONValid(experiment.getResult()))
{
experiment.setResult("Unsupported variables !");
}
finishExpermient(experiment);
// try {
// executeExperiment(url, query, experiment);
// } catch (IOException e) {
// LOGGER.trace(e);
// LOGGER.warn("Exareme experiment failed to run properly !");
// setExperimentError(e, experiment);
// }
//
// if(!JSONUtil.isJSONValid(experiment.getResult()))
// {
// experiment.setResult("Unsupported variables !");
// }
// finishExpermient(experiment);
}
}.start();
}
......@@ -331,15 +331,6 @@ public class ExperimentApi {
LOGGER.info("Experiment updated (finished)");
}
private static void executeExperiment(String url, String query, Experiment experiment) throws IOException {
StringBuilder results = new StringBuilder();
// TODO: use akka
int code = 500;
experiment.setResult(results.toString());
experiment.setHasError(code >= 400);
experiment.setHasServerError(code >= 500);
}
private static void setExperimentError(IOException e, Experiment experiment) {
experiment.setHasError(true);
experiment.setHasServerError(true);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment