fixes
This commit is contained in:
@@ -4,6 +4,10 @@ import ch.unisg.tapas.auctionhouse.adapter.common.clients.TapasMqttClient;
|
||||
import ch.unisg.tapas.auctionhouse.adapter.in.messaging.mqtt.AuctionEventsMqttDispatcher;
|
||||
import ch.unisg.tapas.auctionhouse.adapter.common.clients.WebSubSubscriber;
|
||||
import ch.unisg.tapas.auctionhouse.application.service.GetExecutorsService;
|
||||
import ch.unisg.tapas.auctionhouse.domain.AuctionHouseDiscovery;
|
||||
import ch.unisg.tapas.auctionhouse.domain.AuctionHouseDiscoveryInformation;
|
||||
import ch.unisg.tapas.common.AuctionHouseResourceDirectory;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.eclipse.paho.client.mqttv3.MqttException;
|
||||
@@ -13,6 +17,9 @@ import org.springframework.core.env.ConfigurableEnvironment;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* Main TAPAS Auction House application.
|
||||
@@ -30,7 +37,7 @@ public class TapasAuctionHouseApplication {
|
||||
ENVIRONMENT = tapasAuctioneerApp.run(args).getEnvironment();
|
||||
// TODO Set start up of message services with config
|
||||
// We will use these bootstrap methods in Week 6:
|
||||
// bootstrapMarketplaceWithWebSub();
|
||||
bootstrapMarketplaceWithWebSub();
|
||||
bootstrapMarketplaceWithMqtt();
|
||||
var getExecutorsService = new GetExecutorsService();
|
||||
getExecutorsService.getExecutorsFromExecutorPool();
|
||||
@@ -39,19 +46,20 @@ public class TapasAuctionHouseApplication {
|
||||
* Discovers auction houses and subscribes to WebSub notifications
|
||||
*/
|
||||
private static void bootstrapMarketplaceWithWebSub() {
|
||||
// discoverAuctionHouseEndpoints();
|
||||
discoverAuctionHouseEndpoints();
|
||||
|
||||
WebSubSubscriber subscriber = new WebSubSubscriber(ENVIRONMENT.getProperty("auction.house.uri"));
|
||||
|
||||
// for (AuctionHouseDiscoveryInformation endpoint : AuctionHouseDiscovery.getInstance().getAuctionHouseDiscoveryList()) {
|
||||
// subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue());
|
||||
// }
|
||||
try {
|
||||
subscriber.subscribeToAuctionHouseEndpoint(new URI("http://6b4e-130-82-250-227.ngrok.io/websub-discovery"));
|
||||
} catch (URISyntaxException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
for (AuctionHouseDiscoveryInformation endpoint : AuctionHouseDiscovery.getInstance().getAuctionHouseDiscoveryList()) {
|
||||
System.out.println(endpoint.getWebSubUri().getValue());
|
||||
subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue());
|
||||
}
|
||||
// try {
|
||||
// subscriber.subscribeToAuctionHouseEndpoint(new URI("http://6b4e-130-82-250-227.ngrok.io/websub-discovery"));
|
||||
// } catch (URISyntaxException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,17 +84,17 @@ public class TapasAuctionHouseApplication {
|
||||
}
|
||||
}
|
||||
|
||||
// private static void discoverAuctionHouseEndpoints() {
|
||||
private static void discoverAuctionHouseEndpoints() {
|
||||
|
||||
// AuctionHouseResourceDirectory rd = new AuctionHouseResourceDirectory(
|
||||
// URI.create(ENVIRONMENT.getProperty("discovery.endpoint.uri"))
|
||||
// );
|
||||
AuctionHouseResourceDirectory rd = new AuctionHouseResourceDirectory(
|
||||
URI.create(ENVIRONMENT.getProperty("discovery.endpoint.uri"))
|
||||
);
|
||||
|
||||
// AuctionHouseDiscovery.getInstance().addAuctionHouseDiscoveryInformation(rd.retrieveAuctionHouseEndpoints());
|
||||
AuctionHouseDiscovery.getInstance().addAuctionHouseDiscoveryInformation(rd.retrieveAuctionHouseEndpoints());
|
||||
|
||||
// ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
|
||||
// executor.scheduleAtFixedRate(crawlerRunnable, 300, 300, TimeUnit.SECONDS);
|
||||
// }
|
||||
// ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
|
||||
// executor.scheduleAtFixedRate(crawlerRunnable, 300, 300, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
|
||||
// private static Runnable crawlerRunnable = new Runnable() {
|
||||
|
@@ -41,8 +41,8 @@ public class AuctionHouseDiscoveryHttpAdapter implements AuctionHouseDiscoveryPo
|
||||
{
|
||||
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.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"))
|
||||
|
@@ -65,8 +65,17 @@ public class StartAuctionService implements LaunchAuctionUseCase {
|
||||
auctions.addAuction(auction);
|
||||
|
||||
// Schedule the closing of the auction at the deadline
|
||||
service.schedule(new CloseAuctionTask(auction.getAuctionId()), deadline.getValue().getTime() - System.currentTimeMillis(),
|
||||
System.out.println(deadline.getValue().getTime());
|
||||
System.out.println(System.currentTimeMillis());
|
||||
System.out.println(deadline.getValue().getTime() - System.currentTimeMillis());
|
||||
if (deadline.getValue().getTime() == DEFAULT_AUCTION_DEADLINE_MILLIS.getTime()) {
|
||||
System.out.println("DEFAULT TIMESTAMP USED");
|
||||
service.schedule(new CloseAuctionTask(auction.getAuctionId()), 10000,
|
||||
TimeUnit.MILLISECONDS);
|
||||
} else {
|
||||
service.schedule(new CloseAuctionTask(auction.getAuctionId()), deadline.getValue().getTime() - System.currentTimeMillis(),
|
||||
TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
// Publish an auction started event
|
||||
AuctionStartedEvent auctionStartedEvent = new AuctionStartedEvent(auction);
|
||||
|
@@ -15,8 +15,9 @@ public class AuctionHouseDiscovery {
|
||||
|
||||
private final List<String> tasktypes = new ArrayList<String>() {
|
||||
{
|
||||
add("computation");
|
||||
add("smallrobot");
|
||||
add("COMPUTATION");
|
||||
add("SMALLROBOT");
|
||||
add("HUMIDITY");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -31,8 +32,8 @@ public class AuctionHouseDiscovery {
|
||||
try {
|
||||
// Add our information to list
|
||||
auctionHouseDiscoveryList.add(new AuctionHouseDiscoveryInformation(
|
||||
new AuctionHouseDiscoveryInformation.AuctionHouseUri(new URI("http://localhost:8086")),
|
||||
new AuctionHouseDiscoveryInformation.WebSubUri(new URI("http://localhost:8086/websub/auctions")),
|
||||
new AuctionHouseDiscoveryInformation.AuctionHouseUri(new URI("https://tapas-auction-house.86-119-35-40.nip.io")),
|
||||
new AuctionHouseDiscoveryInformation.WebSubUri(new URI("https://tapas-auction-house.86-119-35-40.nip.io/websub/auctions")),
|
||||
new AuctionHouseDiscoveryInformation.TaskTypes(tasktypes),
|
||||
new AuctionHouseDiscoveryInformation.TimeStamp(new Timestamp(new Date().getTime())),
|
||||
new AuctionHouseDiscoveryInformation.GroupName("Group 1")
|
||||
|
@@ -15,4 +15,4 @@ websub.hub.uri=https://pubsubhubbub.appspot.com
|
||||
mqtt.broker.uri=tcp://broker.hivemq.com
|
||||
# mqtt.broker.uri=tcp://localhost:1883
|
||||
|
||||
discovery.endpoint.uri=http://localhost:3500
|
||||
discovery.endpoint.uri=https://tapas-auction-house.86-119-34-242.nip.io
|
||||
|
Reference in New Issue
Block a user