diff --git a/.deployment/docker-compose.yml b/.deployment/docker-compose.yml
index 12684cd..a23fa53 100644
--- a/.deployment/docker-compose.yml
+++ b/.deployment/docker-compose.yml
@@ -67,8 +67,9 @@ services:
- ./:/data/
environment:
mqtt.broker.uri: tcp://broker.hivemq.com:1883
- discovery.endpoint.uri: https://tapas-auction-house.86.119.35.213.nip.io/discovery/
+ discovery.endpoint.uri: https://tapas-auction-house.86-119-34-242.nip.io
auction.house.uri: https://tapas-auction-house.86-119-35-40.nip.io
+ tasks.list.uri: https://tapas-tasks.86-119-35-40.nip.io
labels:
- "traefik.enable=true"
- "traefik.http.routers.tapas-auction-house.rule=Host(`tapas-auction-house.${PUB_IP}.nip.io`)"
diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml
index 54f74be..cc46404 100644
--- a/.github/workflows/build-and-deploy.yml
+++ b/.github/workflows/build-and-deploy.yml
@@ -107,5 +107,6 @@ jobs:
cd /home/${{ secrets.SSH_USER }}/
touch acme.json
sudo chmod 0600 acme.json
+ sudo docker-compose down --remove-orphans
sudo echo "PUB_IP=$(wget -qO- http://ipecho.net/plain | xargs echo)" | sed -e 's/\./-/g' > .env
- sudo docker-compose up -d --build --force-recreate
+ sudo docker-compose up -d
diff --git a/executor-computation/pom.xml b/executor-computation/pom.xml
index 8692c3e..c6c5167 100644
--- a/executor-computation/pom.xml
+++ b/executor-computation/pom.xml
@@ -67,6 +67,17 @@
org.springframework.boot
spring-boot-test
+
+
+ org.graalvm.js
+ js
+ 21.3.0
+
+
+ org.graalvm.js
+ js-scriptengine
+ 21.3.0
+
diff --git a/executor-humidity/pom.xml b/executor-humidity/pom.xml
index 001c752..f6390b0 100644
--- a/executor-humidity/pom.xml
+++ b/executor-humidity/pom.xml
@@ -11,7 +11,7 @@
ch.unisg
executor-humidity
- 1.0-SNAPSHOT
+ 0.0.1-SNAPSHOT
executor-humidity
Demo project for Spring Boot
diff --git a/executor-robot/src/main/java/ch/unisg/executorrobot/executor/domain/Executor.java b/executor-robot/src/main/java/ch/unisg/executorrobot/executor/domain/Executor.java
index cc08bc1..4468f14 100644
--- a/executor-robot/src/main/java/ch/unisg/executorrobot/executor/domain/Executor.java
+++ b/executor-robot/src/main/java/ch/unisg/executorrobot/executor/domain/Executor.java
@@ -21,7 +21,8 @@ public class Executor extends ExecutorBase {
@Override
protected
String execution(String input) {
- return userToRobotPort.userToRobot();
+ userToRobotPort.userToRobot();
+ return "";
}
}
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java
index c57c8c5..f738311 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java
@@ -51,8 +51,10 @@ public class TapasAuctionHouseApplication {
WebSubSubscriber subscriber = new WebSubSubscriber(ENVIRONMENT.getProperty("auction.house.uri"));
for (AuctionHouseDiscoveryInformation endpoint : AuctionHouseDiscovery.getInstance().getAuctionHouseDiscoveryList()) {
- System.out.println(endpoint.getWebSubUri().getValue());
- subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue());
+ // Don't subscribe to our own auction house
+ if (!endpoint.getWebSubUri().getValue().toString().equalsIgnoreCase("https://tapas-auction-house.86-119-35-40.nip.io/websub/auctions")) {
+ subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue());
+ }
}
// try {
// subscriber.subscribeToAuctionHouseEndpoint(new URI("http://6b4e-130-82-250-227.ngrok.io/websub-discovery"));
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/common/clients/WebSubSubscriber.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/common/clients/WebSubSubscriber.java
index ea74603..c73faa0 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/common/clients/WebSubSubscriber.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/common/clients/WebSubSubscriber.java
@@ -101,6 +101,9 @@ public class WebSubSubscriber {
return;
}
+ System.out.println("HUB: " + hub);
+ System.out.println("TOPIC: " + topic);
+
HttpRequest request = HttpRequest.newBuilder()
.uri(hubURI)
.header("Content-Type", "application/x-www-form-urlencoded")
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/mqtt/ExternalAuctionStartedEventListenerMqttAdapter.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/mqtt/ExternalAuctionStartedEventListenerMqttAdapter.java
index c952771..50e145c 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/mqtt/ExternalAuctionStartedEventListenerMqttAdapter.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/mqtt/ExternalAuctionStartedEventListenerMqttAdapter.java
@@ -22,11 +22,9 @@ import java.net.http.HttpResponse;
public class ExternalAuctionStartedEventListenerMqttAdapter extends AuctionEventMqttListener{
private static final Logger LOGGER = LogManager.getLogger(ExternalAuctionStartedEventListenerMqttAdapter.class);
- // String auctionHouseURI = "https://tapas-auction-house.86-119-35-40.nip.io/";
- String auctionHouseURI = "http://a888-77-59-152-182.eu.ngrok.io";
+ String auctionHouseURI = "https://tapas-auction-house.86-119-35-40.nip.io/";
- // String taskListURI = "https://tapas-tasks.86-119-35-40.nip.io";
- String taskListURI = "http://e021-77-59-152-182.ngrok.io";
+ String taskListURI = "https://tapas-tasks.86-119-35-40.nip.io";
@Override
public boolean handleEvent(MqttMessage message){
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/websub/AuctionStartedEventListenerWebSubAdapter.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/websub/AuctionStartedEventListenerWebSubAdapter.java
index 520e0a5..5da2733 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/websub/AuctionStartedEventListenerWebSubAdapter.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/messaging/websub/AuctionStartedEventListenerWebSubAdapter.java
@@ -69,11 +69,9 @@ public class AuctionStartedEventListenerWebSubAdapter {
// }
- // String auctionHouseURI = "https://tapas-auction-house.86-119-35-40.nip.io/";
- String auctionHouseURI = "http://b311-130-82-247-153.eu.ngrok.io";
+ String auctionHouseURI = "https://tapas-auction-house.86-119-35-40.nip.io/";
- // String taskListURI = "https://tapas-tasks.86-119-35-40.nip.io";
- String taskListURI = "http://c64f-130-82-247-153.ngrok.io";
+ String taskListURI = "https://tapas-tasks.86-119-35-40.nip.io";
// TODO Sanitize URIs
String auctionId = auction.getString("auctionId");
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/AuctionHouseDiscoveryWebController.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/AuctionHouseDiscoveryWebController.java
index 22fbb09..8c184fa 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/AuctionHouseDiscoveryWebController.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/AuctionHouseDiscoveryWebController.java
@@ -30,7 +30,7 @@ public class AuctionHouseDiscoveryWebController {
this.auctionHouseDiscoveryUseCase = auctionHouseDiscoveryUseCase;
}
- @GetMapping(path="/discovery/", consumes = AuctionHouseDiscoveryJsonRepresentation.MEDIA_TYPE)
+ @GetMapping(path="/discovery/")
public ResponseEntity auctionHouseDiscovery() {
List auctionHouseDiscoveryInformation = auctionHouseDiscoveryUseCase.auctionHouseDiscovery();
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/WinningBidWebController.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/WinningBidWebController.java
index cad0538..6dbc820 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/WinningBidWebController.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/in/web/WinningBidWebController.java
@@ -27,9 +27,11 @@ public class WinningBidWebController {
@PostMapping(path = "/taskwinner", consumes = TaskJsonRepresentation.MEDIA_TYPE)
public ResponseEntity winningBid(@RequestBody TaskJsonRepresentation payload){
+ LOGGER.info("New Task Winner");
try {
var body = payload.serialize();
- LOGGER.info(body);
+ LOGGER.info("Task Winner body: " + body);
+ LOGGER.info("Task Winner taskListURI: " + taskListURI);
var postURI = URI.create(taskListURI + "/tasks/");
HttpRequest postRequest = HttpRequest.newBuilder()
.uri(postURI)
@@ -40,7 +42,7 @@ public class WinningBidWebController {
HttpClient client = HttpClient.newHttpClient();
var postResponse = client.send(postRequest, HttpResponse.BodyHandlers.ofString());
- LOGGER.info(postResponse.statusCode());
+ LOGGER.info("Create task internally with status code: " + postResponse.statusCode());
HttpHeaders responseHeaders = new HttpHeaders();
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/messaging/websub/PublishAuctionStartedEventWebSubAdapter.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/messaging/websub/PublishAuctionStartedEventWebSubAdapter.java
index ccb1225..77e51a8 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/messaging/websub/PublishAuctionStartedEventWebSubAdapter.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/messaging/websub/PublishAuctionStartedEventWebSubAdapter.java
@@ -32,6 +32,7 @@ public class PublishAuctionStartedEventWebSubAdapter implements AuctionStartedEv
@Override
public void publishAuctionStartedEvent(AuctionStartedEvent event) {
logger.info("AuctionHouse | Publish auction started over WebSub!");
+ logger.info("AuctionHouse | AuctionHouseURI: " + auctionHouseUri + " WebSubHubUri: " + webSubHubUri);
HttpClient client = HttpClient.newHttpClient();
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionHouseDiscoveryHttpAdapter.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionHouseDiscoveryHttpAdapter.java
index e9f5a04..1db4a18 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionHouseDiscoveryHttpAdapter.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionHouseDiscoveryHttpAdapter.java
@@ -6,6 +6,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONObject;
+import org.springframework.http.HttpStatus;
import java.io.IOException;
import java.net.URI;
@@ -22,36 +23,37 @@ public class AuctionHouseDiscoveryHttpAdapter implements AuctionHouseDiscoveryPo
public List fetchAuctionHouseInformation(URI auctionHouseURI){
- System.out.println(auctionHouseURI);
-
try{
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(auctionHouseURI)
.GET()
.build();
- var response = client.send(request, HttpResponse.BodyHandlers.ofString());
- LOGGER.info(response.body());
- var responseBody = new JSONObject(response.body());
+ HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
+ LOGGER.info("Response status code: " + response.statusCode());
+ LOGGER.info("Response body:" + response.body());
+ if (response.statusCode() == HttpStatus.OK.value()) {
+ var responseBody = new JSONObject(response.body());
- var arrayOfInformation = responseBody.getJSONArray("auctionHouseInfo");
- var returnList = new LinkedList();
+ var arrayOfInformation = responseBody.getJSONArray("auctionHouseInfo");
+ var returnList = new LinkedList();
- for(int i = 0; i < arrayOfInformation.length(); i++)
- {
- var informationJSON = arrayOfInformation.getJSONObject(i);
- var information = new AuctionHouseDiscoveryInformation(
- new AuctionHouseDiscoveryInformation.AuctionHouseUri(URI.create(informationJSON.getString("auctionHouseUri"))),
- new AuctionHouseDiscoveryInformation.WebSubUri(URI.create(informationJSON.getString("webSubUri"))),
- new AuctionHouseDiscoveryInformation.TaskTypes(getTaskTypes(informationJSON.getJSONArray("taskTypes"))),
- new AuctionHouseDiscoveryInformation.TimeStamp(Timestamp.valueOf(informationJSON.getString("timeStamp"))),
- new AuctionHouseDiscoveryInformation.GroupName(informationJSON.getString("groupName"))
- );
- returnList.add(information);
- }
-
- return returnList;
+ for(int i = 0; i < arrayOfInformation.length(); i++)
+ {
+ var informationJSON = arrayOfInformation.getJSONObject(i);
+ var information = new AuctionHouseDiscoveryInformation(
+ new AuctionHouseDiscoveryInformation.AuctionHouseUri(URI.create(informationJSON.getString("auctionHouseUri"))),
+ new AuctionHouseDiscoveryInformation.WebSubUri(URI.create(informationJSON.getString("webSubUri"))),
+ new AuctionHouseDiscoveryInformation.TaskTypes(getTaskTypes(informationJSON.getJSONArray("taskTypes"))),
+ new AuctionHouseDiscoveryInformation.TimeStamp(Timestamp.valueOf(informationJSON.getString("timeStamp"))),
+ new AuctionHouseDiscoveryInformation.GroupName(informationJSON.getString("groupName"))
+ );
+ returnList.add(information);
+ }
+ return returnList;
+ }
+ return Collections.emptyList();
} catch (IOException e) {
e.printStackTrace();
return Collections.emptyList();
diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionWonEventHttpAdapter.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionWonEventHttpAdapter.java
index 607c2c7..e89e1e3 100644
--- a/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionWonEventHttpAdapter.java
+++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/auctionhouse/adapter/out/web/AuctionWonEventHttpAdapter.java
@@ -52,13 +52,18 @@ public class AuctionWonEventHttpAdapter implements AuctionWonEventPort {
LOGGER.info(response.body());
JSONObject responseBody = new JSONObject(response.body());
+ String inputData = "";
+ if (!responseBody.isNull("inputData")) {
+ inputData = responseBody.getString("inputData");
+ }
+
var task = new Task(
new Task.TaskName(responseBody.getString("taskName")),
new Task.TaskType(responseBody.getString("taskType")),
new Task.OriginalTaskUri(auction.get().getTaskUri().getValue().toString()),
new Task.TaskStatus(ch.unisg.tapas.auctionhouse.domain.Task.Status.ASSIGNED),
new Task.TaskId(responseBody.getString("taskId")),
- new Task.InputData(responseBody.getString("inputData")),
+ new Task.InputData(inputData),
new Task.ServiceProvider("TODO")
);
diff --git a/tapas-auction-house/src/main/resources/application.properties b/tapas-auction-house/src/main/resources/application.properties
index dade5ce..508f27b 100644
--- a/tapas-auction-house/src/main/resources/application.properties
+++ b/tapas-auction-house/src/main/resources/application.properties
@@ -7,7 +7,6 @@ websub.hub.publish=https://websub.appspot.com/
group=tapas-group-1
auction.house.uri=https://tapas-auction-house.86-119-35-40.nip.io
-# auction.house.uri=http://a888-77-59-152-182.eu.ngrok.io
tasks.list.uri=http://localhost:8081
application.environment=development
diff --git a/tapas-tasks/src/main/java/ch/unisg/tapastasks/tasks/adapter/out/web/ExternalTaskExecutedWebAdapter.java b/tapas-tasks/src/main/java/ch/unisg/tapastasks/tasks/adapter/out/web/ExternalTaskExecutedWebAdapter.java
index 8d28159..b74e89b 100644
--- a/tapas-tasks/src/main/java/ch/unisg/tapastasks/tasks/adapter/out/web/ExternalTaskExecutedWebAdapter.java
+++ b/tapas-tasks/src/main/java/ch/unisg/tapastasks/tasks/adapter/out/web/ExternalTaskExecutedWebAdapter.java
@@ -43,7 +43,7 @@ public class ExternalTaskExecutedWebAdapter implements ExternalTaskExecutedEvent
op2 = new JSONObject()
.put("op", "add")
.put("path", "/outputData")
- .put("value", externalTaskExecutedEvent.getOutputData());
+ .put("value", externalTaskExecutedEvent.getOutputData().getValue());
} catch (JSONException e) {
logger.log(Level.SEVERE, e.getLocalizedMessage(), e);
return;
diff --git a/tapas-tasks/src/main/resources/application.properties b/tapas-tasks/src/main/resources/application.properties
index 08b86d0..20e7f41 100644
--- a/tapas-tasks/src/main/resources/application.properties
+++ b/tapas-tasks/src/main/resources/application.properties
@@ -2,7 +2,7 @@ server.port=8081
spring.data.mongodb.uri=mongodb://root:password@localhost:27017/
spring.data.mongodb.database=tapas-tasks
# baseuri=http://e021-77-59-152-182.ngrok.io/
-baseuri=https://tapas-tasks.86-119-34-23.nip.io/
+baseuri=https://tapas-tasks.86-119-35-40.nip.io/
roster.uri=http://127.0.0.1:8082