added a isPresent() check and unregistered users are able start a cache now

This commit is contained in:
Michael 2019-03-24 00:16:01 +01:00
parent 07010e9899
commit 5b6fe52a04

View File

@ -34,33 +34,57 @@ public class Controller {
@RequestMapping("/allCaches")
@ResponseBody
public String getAllCaches(){
public String getAllCaches() {
return new Gson().toJson(cacheRepository.findAll());
}
@RequestMapping("/startCache")
public @ResponseBody
Bearbeitet startCache(@RequestParam String userID,
@RequestParam String cacheID,
@RequestParam String cacheAccesDefinitionID) {
String startCache(@RequestParam(value = "userID", defaultValue = "-1") String userID,
@RequestParam String cacheID,
@RequestParam String cacheAccesDefinitionID) {
Optional<User> userOptional = userRepository.findById(Integer.valueOf(userID));
User user = userOptional.get();
if (!userID.equals("-1")) { // ein angemeldeter User startet den Cache
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
Cache cache = cacheOptional.get();
Bearbeitet bearbeitet = new Bearbeitet();
Optional<CacheAccesDefinition> cacheAccesDefinitionOptional =
cacheAccesDefinitionRepository.findById(Integer.valueOf(cacheAccesDefinitionID));
CacheAccesDefinition cacheAccesDefinition = cacheAccesDefinitionOptional.get();
Optional<User> userOptional = userRepository.findById(Integer.valueOf(userID));
if (userOptional.isPresent()) {
User user = userOptional.get();
bearbeitet.setUser(user);
} else {
return "There is no user with the ID " + userID;
}
Bearbeitet bearbeitet = new Bearbeitet();
bearbeitet.setUser(user);
bearbeitet.setCache(cache);
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
if (cacheOptional.isPresent()) {
Cache cache = cacheOptional.get();
bearbeitet.setCache(cache);
} else {
return "There is no cache with the ID " + cacheID;
}
bearbeitetRepository.save(bearbeitet);
Optional<CacheAccesDefinition> cacheAccesDefinitionOptional =
cacheAccesDefinitionRepository.findById(Integer.valueOf(cacheAccesDefinitionID));
if (cacheAccesDefinitionOptional.isPresent()) {
CacheAccesDefinition cacheAccesDefinition = cacheAccesDefinitionOptional.get();
bearbeitet.setCacheAccesDefinition(cacheAccesDefinition);
} else {
return "There is no cacheAccesDefinition with the ID " + cacheAccesDefinitionID;
}
return bearbeitet;
bearbeitetRepository.save(bearbeitet);
return new Gson().toJson(bearbeitet);
} else { // kein angemeldeter User startet den Cache
Optional<Cache> cacheOptional = cacheRepository.findById(Integer.valueOf(cacheID));
if (cacheOptional.isPresent()) {
Cache cache = cacheOptional.get();
return new Gson().toJson(cache);
} else {
return "There is no cache with the ID " + cacheID;
}
}
}
}