1 package de.dlr.shepard.context.references.timeseriesreference.daos;
2
3 import de.dlr.shepard.common.neo4j.daos.GenericDAO;
4 import de.dlr.shepard.common.util.CypherQueryHelper;
5 import de.dlr.shepard.context.references.timeseriesreference.model.ReferencedTimeseriesNodeEntity;
6 import jakarta.enterprise.context.RequestScoped;
7 import java.util.Map;
8
9 @RequestScoped
10 public class ReferencedTimeseriesNodeEntityDAO extends GenericDAO<ReferencedTimeseriesNodeEntity> {
11
12
13
14
15
16
17
18
19
20
21
22
23 public ReferencedTimeseriesNodeEntity find(
24 String measurement,
25 String device,
26 String location,
27 String symbolicName,
28 String field
29 ) {
30 var query = String.format(
31 "MATCH (t:Timeseries { measurement: $measurement, device: $device, location: $location, symbolicName: $symbolicName, field: $field }) %s",
32 CypherQueryHelper.getReturnPart("t")
33 );
34 Map<String, Object> params = Map.of(
35 "measurement",
36 measurement,
37 "device",
38 device,
39 "location",
40 location,
41 "symbolicName",
42 symbolicName,
43 "field",
44 field
45 );
46 var results = findByQuery(query, params);
47 return results.iterator().hasNext() ? results.iterator().next() : null;
48 }
49
50 @Override
51 public Class<ReferencedTimeseriesNodeEntity> getEntityType() {
52 return ReferencedTimeseriesNodeEntity.class;
53 }
54 }