GGD/src/main/java/eu/hsrw/ias/ggd/Device.java

106 lines
2.2 KiB
Java

package eu.hsrw.ias.ggd;
import java.util.LinkedList;
import java.util.List;
public class Device {
private String id;
private String externalID;
private List<SensorData> data;
private Severity state = Severity.Unknown;
public Device(String identifier) {
this.id = identifier;
this.data = new LinkedList<SensorData>();
}
public void addSensorData(SensorData d) {
this.data.add(d);
}
public List<SensorData> getSensorData() {
return data;
}
public String getId() {
return id;
}
public String setId(String id) {
this.id = id;
return id;
}
public void setExternalID(String externalID) {
this.externalID = externalID;
}
public String getExternalID() {
return externalID;
}
public String IdMapper(String id) {
switch (id) {
case "fd694041-581e-4c2c-9810-505e62b762e6":
return setId("70B3D570500042D7");
case "e8c3fca3-c5cd-48e7-9224-0f8c294fa3c0":
return setId("70B3D57050004EF4");
case "f9bb4a5c-f783-4bcf-8c34-0a7c3dd5a632":
return setId("70B3D57050006223");
case "6c9efd4a-db04-453d-8ab8-d480ec97dd26":
return setId("70B3D5705000623C");
default:
return "NO Working id was found";
}
}
public Boolean hasTag(String tag) {
for (SensorData sensorData : data) {
if (sensorData.getTag() == tag) return true;
}
return false;
}
public SensorData getSensorDataByTag(String tag) {
for (SensorData sd : data) {
if (sd.getTag() == tag) return sd;
}
return null;
}
public SensorData getSensorDataById(String id) {
for (SensorData sd : data) {
if (sd.getSensorId() == id) return sd;
}
return null;
}
public String toString() {
String str = "Device: '" + id + "', data: [";
for (SensorData sd : data) {
str += "SensorData(id: '" + sd.getSensorId() + "',";
str += " tag: '" + sd.getTag() + "',";
str += " value: " + sd.getValue() + ")";
}
return str + "]";
}
public Device(String id, List<SensorData> data) {
this.id = id;
this.data = data;
}
public void setState(Severity state) {
if (this.state != Severity.Critical) {
this.state = state;
}
}
public Severity getState() {
return state;
}
}