Commit a79335b9 by Bright Sukumpanumet

Add websocket test

parent 38bc240f
...@@ -69,6 +69,10 @@ ...@@ -69,6 +69,10 @@
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId> <artifactId>spring-messaging</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
</dependencies> </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; ...@@ -5,6 +5,8 @@ import edu.uchicago.mpcs.topics.auction.Status;
import edu.uchicago.mpcs.topics.db.ItemRepository; import edu.uchicago.mpcs.topics.db.ItemRepository;
import edu.uchicago.mpcs.topics.db.SearchRepository; import edu.uchicago.mpcs.topics.db.SearchRepository;
import edu.uchicago.mpcs.topics.service.ItemService; 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 org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
...@@ -71,4 +73,10 @@ public class ItemController ...@@ -71,4 +73,10 @@ public class ItemController
{ {
return searchRepository.findAllByDescriptionContains(q); 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; ...@@ -3,6 +3,7 @@ package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.auction.Bid; import edu.uchicago.mpcs.topics.auction.Bid;
import edu.uchicago.mpcs.topics.auction.Item; import edu.uchicago.mpcs.topics.auction.Item;
import edu.uchicago.mpcs.topics.auction.Status; 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.BidRepository;
import edu.uchicago.mpcs.topics.db.ItemRepository; import edu.uchicago.mpcs.topics.db.ItemRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -17,13 +18,15 @@ import java.util.Optional; ...@@ -17,13 +18,15 @@ import java.util.Optional;
@Service @Service
public class BidService public class BidService
{ {
private final BidRepository bidRepository; private BidRepository bidRepository;
private final ItemRepository itemRepository; private ItemRepository itemRepository;
private ItemController itemController;
public BidService(BidRepository bidRepository, ItemRepository itemRepository) public BidService(BidRepository bidRepository, ItemRepository itemRepository, ItemController itemController)
{ {
this.bidRepository = bidRepository; this.bidRepository = bidRepository;
this.itemRepository = itemRepository; this.itemRepository = itemRepository;
this.itemController = itemController;
} }
public Bid addBid(Bid bid) public Bid addBid(Bid bid)
...@@ -42,6 +45,10 @@ public class BidService ...@@ -42,6 +45,10 @@ public class BidService
itemToUpdate.setStatus(Status.HASBID); itemToUpdate.setStatus(Status.HASBID);
itemRepository.save(itemToUpdate); itemRepository.save(itemToUpdate);
//websocket update item
itemController.webSocketUpdateItem(itemToUpdate);
//set highestBidder //set highestBidder
return bidRepository.save(bid); 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