Skip to content

Commit 9bde8b3

Browse files
refactor: use azure digital twins query helper
1 parent 3852003 commit 9bde8b3

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

src/env/infrastructure/digitaltwins/DigitalTwinManager.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import entity.room.RoomID;
2323
import infrastructure.digitaltwins.adtpresentation.ActuatorAdtPresentation;
2424
import infrastructure.digitaltwins.adtpresentation.MedicalTechnologyAdtPresentation;
25+
import infrastructure.digitaltwins.query.AdtQuery;
2526
import usecase.repository.ActuatorRepository;
2627
import usecase.repository.MedicalTechnologyRepository;
2728

@@ -69,13 +70,14 @@ public final Optional<MedicalTechnology> findBy(final MedicalTechnologyID medica
6970
// Get the room if exists
7071
return new MedicalTechnology(medicalTechnology.getId(),
7172
medicalTechnology.getType(),
72-
client.query("SELECT TOP(1) CT.$dtId"
73-
+ " FROM DIGITALTWINS T"
74-
+ " JOIN CT RELATED T."
75-
+ MedicalTechnologyAdtPresentation.IS_LOCATED_IN_OPERATING_ROOM_RELATIONSHIP
76-
+ " WHERE T.$dtId = '"
77-
+ medicalTechnologyID.getId()
78-
+ "'",
73+
client.query(new AdtQuery().selectTop(1, "CT.$dtId")
74+
.fromDigitalTwins("T")
75+
.joinRelationship(
76+
"CT",
77+
"T",
78+
MedicalTechnologyAdtPresentation.IS_LOCATED_IN_OPERATING_ROOM_RELATIONSHIP
79+
).where("T.$dtId = '" + medicalTechnologyID.getId() + "'")
80+
.toQuery(),
7981
String.class).stream()
8082
.findFirst()
8183
.map(firstResult ->
@@ -89,15 +91,17 @@ public final Optional<MedicalTechnology> findBy(final MedicalTechnologyID medica
8991
@Override
9092
public final Optional<ActuatorID> findActuatorInRoom(final ActuatorType actuatorType, final RoomID roomID) {
9193
return this.applySafeDigitalTwinOperation(Optional.empty(), client ->
92-
client.query("SELECT TOP(1) CT.$dtId"
93-
+ " FROM DIGITALTWINS T "
94-
+ "JOIN CT RELATED T."
95-
+ ActuatorAdtPresentation.HAS_ACTUATOR_RELATIONSHIP
96-
+ " WHERE T.$dtId = '"
97-
+ roomID.getId()
98-
+ "' AND CT.type = '"
99-
+ ActuatorAdtPresentation.toActuatorDigitalTwinType(actuatorType)
100-
+ "'",
94+
client.query(new AdtQuery().selectTop(1, "CT.$dtId")
95+
.fromDigitalTwins("T")
96+
.joinRelationship(
97+
"CT",
98+
"T",
99+
ActuatorAdtPresentation.HAS_ACTUATOR_RELATIONSHIP
100+
).where("T.$dtId = '" + roomID.getId() + "'")
101+
.and("CT.type = '"
102+
+ ActuatorAdtPresentation.toActuatorDigitalTwinType(actuatorType)
103+
+ "'"
104+
).toQuery(),
101105
String.class).stream()
102106
.findFirst()
103107
.map(firstResult ->

0 commit comments

Comments
 (0)