Erneutes Refactoring der SensorID
Die SensorID besteht momentan aus drei Teilen:
SensorType sensorType;
Name der Datasource, z.B. Stadtrad
String guid;
Die FremdID (Außer bei RandomSensor), z.B. 123
String quantity;
Die Quantity des Sensors, z.B. Temperatur
Die Datasource würde ich entfernen, weil das bei lokalen Sensoren, die wir ja eigentlich simulieren wollen, nicht relevant ist. Wen juckt's, ob mein simulierter Temperatursensor von Luftdaten.info oder Klimabotschaft geklaut ist.
Dadurch entstünde auch erst einmal kein Problem. Es besteht aber ein anderes:
Wenn z.B. Alice und Bob beide bei sich die dataspace-Software laufen haben und beide einen RandomSensor mit guid 1
und Quantity temperature
haben, dann ist das erst einmal kein Problem. ABER, wenn Bob sich dann auf Alice Sensor subscribed, kann er die beiden Sensoren nicht mehr anhand der SensorID auseinanderhalten.
Wie lösen wir das? Man könnte den Ort des dataspace-Knoten, der den Sensor bereitstellt, aus der application.yaml auslesen und hashen, und das dann in die SensorID integrieren (also sensorType dadurch ersetzen). Warum hashen? Die Addresse bleibt verborgen und die SensorID wird nicht so unglaublich lang.