Java 17 features (H-M) (#15520)
- add missing @override - Java style array syntax - remove redundant modifiers - always move String constants to left side in comparisons - simplify lambda expressions and return statements - use replace instead of replaceAll w/o regex - instanceof matching and multiline strings - remove null check before instanceof Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
This commit is contained in:
@@ -334,18 +334,22 @@ public class SensorThingHandler extends BaseThingHandler {
|
||||
JsonArray array = deviceInfo.getAsJsonArray("PatientDevices");
|
||||
JsonObject patient = array.get(0).getAsJsonObject();
|
||||
if (patient.has("UuidPerson") && !patient.get("UuidPerson").isJsonNull()) {
|
||||
return "https://cunds-syncapi.azurewebsites.net/api/ApiSensor/GetLatestApiSensorEvents"
|
||||
+ "?UuidPatient=" + patient.get("UuidPerson").getAsString() + "&SerialNumber="
|
||||
+ serialNumber + "&Count=1";
|
||||
return """
|
||||
https://cunds-syncapi.azurewebsites.net/api/ApiSensor/GetLatestApiSensorEvents\
|
||||
?UuidPatient=\
|
||||
""" + patient.get("UuidPerson").getAsString() + "&SerialNumber=" + serialNumber
|
||||
+ "&Count=1";
|
||||
}
|
||||
} else if (deviceInfo.has("OrganisationUnitDevices")
|
||||
&& deviceInfo.getAsJsonArray("OrganisationUnitDevices").size() != 0) {
|
||||
JsonArray array = deviceInfo.getAsJsonArray("OrganisationUnitDevices");
|
||||
JsonObject orgUnit = array.get(0).getAsJsonObject();
|
||||
if (orgUnit.has("UuidOrganisationUnit") && !orgUnit.get("UuidOrganisationUnit").isJsonNull()) {
|
||||
return "https://cunds-syncapi.azurewebsites.net/api/ApiSensor/GetLatestApiSensorEvents"
|
||||
+ "?UuidOrganisationUnit=" + orgUnit.get("UuidOrganisationUnit").getAsString()
|
||||
+ "&SerialNumber=" + serialNumber + "&Count=1";
|
||||
return """
|
||||
https://cunds-syncapi.azurewebsites.net/api/ApiSensor/GetLatestApiSensorEvents\
|
||||
?UuidOrganisationUnit=\
|
||||
""" + orgUnit.get("UuidOrganisationUnit").getAsString() + "&SerialNumber="
|
||||
+ serialNumber + "&Count=1";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -35,20 +35,48 @@ public class SensorThingHandlerTest {
|
||||
|
||||
@Test
|
||||
public void getLatestValueFromJsonObjectTest() {
|
||||
String arrayString = "[\n" + " {\n" + " \"IdPatient\": 1,\n" + " \"LastName\": \"Mustermann\",\n"
|
||||
+ " \"FirstName\": \"Max\",\n" + " \"Devices\": [\n" + " {\n" + " \"IdDevice\": 2,\n"
|
||||
+ " \"SerialNumber\": \"001\",\n" + " \"Name\": \"Test Sitzkissen\",\n"
|
||||
+ " \"Events\": [\n" + " {\n" + " \"EventDef\": \"Alarm\",\n"
|
||||
+ " \"DateEntry\": \"2021-11-22T10:17:56.2866667\"\n" + " }\n" + " ]\n"
|
||||
+ " }\n" + " ]\n" + " }\n" + "]";
|
||||
String arrayString = """
|
||||
[
|
||||
{
|
||||
"IdPatient": 1,
|
||||
"LastName": "Mustermann",
|
||||
"FirstName": "Max",
|
||||
"Devices": [
|
||||
{
|
||||
"IdDevice": 2,
|
||||
"SerialNumber": "001",
|
||||
"Name": "Test Sitzkissen",
|
||||
"Events": [
|
||||
{
|
||||
"EventDef": "Alarm",
|
||||
"DateEntry": "2021-11-22T10:17:56.2866667"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]\
|
||||
""";
|
||||
JsonArray array = gson.fromJson(arrayString, JsonArray.class);
|
||||
JsonObject object = SensorThingHandler.getLatestValueFromJsonArray(array);
|
||||
String string = object != null ? object.toString() : null;
|
||||
assertEquals("{\"EventDef\":\"Alarm\",\"DateEntry\":\"2021-11-22T10:17:56.2866667\"}", string);
|
||||
arrayString = "[\n" + " {\n" + " \"IdPatient\": 1,\n" + " \"LastName\": \"Mustermann\",\n"
|
||||
+ " \"FirstName\": \"Max\",\n" + " \"Devices\": [\n" + " {\n" + " \"IdDevice\": 2,\n"
|
||||
+ " \"SerialNumber\": \"001\",\n" + " \"Name\": \"Test Sitzkissen\"\n" + " }\n"
|
||||
+ " ]\n" + " }\n" + "]";
|
||||
arrayString = """
|
||||
[
|
||||
{
|
||||
"IdPatient": 1,
|
||||
"LastName": "Mustermann",
|
||||
"FirstName": "Max",
|
||||
"Devices": [
|
||||
{
|
||||
"IdDevice": 2,
|
||||
"SerialNumber": "001",
|
||||
"Name": "Test Sitzkissen"
|
||||
}
|
||||
]
|
||||
}
|
||||
]\
|
||||
""";
|
||||
array = gson.fromJson(arrayString, JsonArray.class);
|
||||
assertNull(SensorThingHandler.getLatestValueFromJsonArray(array));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user