Commit a79335b9 by Bright Sukumpanumet

Add websocket test

parent 38bc240f
......@@ -69,6 +69,10 @@
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
</dependencies>
......
package edu.uchicago.mpcs.topics;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
/**
* Created by Bright on 2018-11-30.
*/
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer
{
@Override
public void configureMessageBroker(MessageBrokerRegistry config)
{
config.enableSimpleBroker("/item/list");
// config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry)
{
registry.addEndpoint("/item/list");
}
}
\ No newline at end of file
......@@ -5,6 +5,8 @@ import edu.uchicago.mpcs.topics.auction.Status;
import edu.uchicago.mpcs.topics.db.ItemRepository;
import edu.uchicago.mpcs.topics.db.SearchRepository;
import edu.uchicago.mpcs.topics.service.ItemService;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -71,4 +73,10 @@ public class ItemController
{
return searchRepository.findAllByDescriptionContains(q);
}
@SendTo("/list")
public Item webSocketUpdateItem(Item item)
{
return item;
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.auction.Bid;
import edu.uchicago.mpcs.topics.auction.Item;
import edu.uchicago.mpcs.topics.auction.Status;
import edu.uchicago.mpcs.topics.controller.ItemController;
import edu.uchicago.mpcs.topics.db.BidRepository;
import edu.uchicago.mpcs.topics.db.ItemRepository;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -17,13 +18,15 @@ import java.util.Optional;
@Service
public class BidService
{
private final BidRepository bidRepository;
private final ItemRepository itemRepository;
private BidRepository bidRepository;
private ItemRepository itemRepository;
private ItemController itemController;
public BidService(BidRepository bidRepository, ItemRepository itemRepository)
public BidService(BidRepository bidRepository, ItemRepository itemRepository, ItemController itemController)
{
this.bidRepository = bidRepository;
this.itemRepository = itemRepository;
this.itemController = itemController;
}
public Bid addBid(Bid bid)
......@@ -42,6 +45,10 @@ public class BidService
itemToUpdate.setStatus(Status.HASBID);
itemRepository.save(itemToUpdate);
//websocket update item
itemController.webSocketUpdateItem(itemToUpdate);
//set highestBidder
return bidRepository.save(bid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment