package com.integralblue.availability.controller; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.integralblue.availability.NotFoundException; import com.integralblue.availability.service.AvailabilityService; @Controller public class ListController { @Autowired @Qualifier("exchangeAvailabilityService") private AvailabilityService availabilityService; @RequestMapping(value="/list/{listName}/availability",method=RequestMethod.GET,produces=MediaType.TEXT_HTML_VALUE) public String getAvailabilityView(Model model, @PathVariable("listName") String listName){ return availabilityService.getRooms(listName) .map(rooms -> rooms.stream().map(room -> room.getEmailAddress()).collect(Collectors.joining(",","forward:/user/","/availability"))) .orElseThrow(NotFoundException::new); } }