diff --git a/src/boarderGateway/CoAPRessources.java b/src/boarderGateway/CoAPRessources.java index 611e8724bca0dce49b2024067bca197b595535ac..9986d2be17b6f713998f8f76b79aa6a939f069da 100644 --- a/src/boarderGateway/CoAPRessources.java +++ b/src/boarderGateway/CoAPRessources.java @@ -137,6 +137,7 @@ public class CoAPRessources { CBORFactory f = new CBORFactory(); String source_address = exchange.getSourceAddress().getHostAddress(); System.out.println("Received PUT on /data from "+source_address); + boolean errorOccurred = false; List<String> values = new ArrayList<String>(); if (database.doesClientAddressExist(source_address)){ @@ -165,19 +166,24 @@ public class CoAPRessources { values.add(Float.toString(paraFloat)); break; default: - // Error + errorOccurred = true; } } - - // Füge Daten in Datenbank hinzu. Bei Fehler: INTERNAL_SERVER_ERROR - if (database.addData(source_address, values)){ - exchange.respond(ResponseCode.CHANGED); + // Unbekannter Typ oder falsche Reihenfolge + if (errorOccurred){ + exchange.respond(ResponseCode.BAD_REQUEST); }else{ - exchange.respond(ResponseCode.INTERNAL_SERVER_ERROR); + // Füge Daten in Datenbank hinzu. Bei Fehler: INTERNAL_SERVER_ERROR + if (database.addData(source_address, values)){ + exchange.respond(ResponseCode.CHANGED); + }else{ + exchange.respond(ResponseCode.INTERNAL_SERVER_ERROR); + } } + } catch (IOException e) { // TODO Auto-generated catch block exchange.respond(ResponseCode.INTERNAL_SERVER_ERROR);