Skip to content
Snippets Groups Projects
Commit 9087e2fc authored by Ondřej Trojan's avatar Ondřej Trojan
Browse files

Autonomous in controller

parent 4f2f7305
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,7 @@ import com.museum.projection.dto.PlayedTrackDto;
import com.museum.projection.service.ClientService;
import com.museum.projection.service.DisplaySetService;
import com.museum.projection.service.DisplayTrackService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.server.ResponseStatusException;
......@@ -85,6 +86,12 @@ public class RestApiController {
return playedTrack.getData();
}
@PostMapping(value = "/runautonomous", produces = "application/json")
public ResponseEntity runAutonomous() {
displaySetService.runAutonomous();
return new ResponseEntity<>(
"Autonomous playlist set to play", HttpStatus.OK);
}
@ExceptionHandler({ ResponseStatusException.class})
......
......@@ -56,20 +56,24 @@ public class DisplaySetService {
@Scheduled(fixedRate = 1000)
private void setDefaultDisplaySet() {
if (controlService.areAllConnected() && !startedDefautlPlaylist) {
log.info("Set default playlist to start");
List<DisplaySetDto> orderedAutonomousPlaylist = getOrderedAutonomousDisplaySets();
if (orderedAutonomousPlaylist.isEmpty()) {
log.error("No autonomous playlist set");
return;
}
controlService.addPlaylist(orderedAutonomousPlaylist.get(0).getName());
for (int i = 1; i < orderedAutonomousPlaylist.size(); i++) {
controlService.enqueuePlaylist(orderedAutonomousPlaylist.get(i).getName());
}
runAutonomous();
startedDefautlPlaylist = true;
}
}
public void runAutonomous() {
log.info("Set autonomous playlist to start");
List<DisplaySetDto> orderedAutonomousPlaylist = getOrderedAutonomousDisplaySets();
if (orderedAutonomousPlaylist.isEmpty()) {
log.error("No autonomous playlist set");
return;
}
controlService.addPlaylist(orderedAutonomousPlaylist.get(0).getName());
for (int i = 1; i < orderedAutonomousPlaylist.size(); i++) {
controlService.enqueuePlaylist(orderedAutonomousPlaylist.get(i).getName());
}
}
public List<DisplaySetDto> getAllDisplaySets() {
List<DisplaySetDto> displaySets = displaySetDaoService.getDisplaySets().stream().map(displaySet -> new DisplaySetDto(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment