View Javadoc
1   package de.dlr.shepard.influxDB;
2   
3   import org.neo4j.ogm.annotation.GeneratedValue;
4   import org.neo4j.ogm.annotation.Id;
5   import org.neo4j.ogm.annotation.NodeEntity;
6   
7   import com.fasterxml.jackson.annotation.JsonIgnore;
8   
9   import de.dlr.shepard.util.HasId;
10  import io.swagger.v3.oas.annotations.media.Schema;
11  import jakarta.validation.constraints.NotBlank;
12  import lombok.Data;
13  import lombok.NoArgsConstructor;
14  
15  @NodeEntity
16  @Data
17  @NoArgsConstructor
18  public class Timeseries implements HasId {
19  
20  	@Id
21  	@GeneratedValue
22  	@JsonIgnore
23  	private Long id;
24  
25  	@NotBlank
26  	private String measurement;
27  
28  	@NotBlank
29  	@Schema(nullable = true)
30  	private String device;
31  
32  	@NotBlank
33  	@Schema(nullable = true)
34  	private String location;
35  
36  	@NotBlank
37  	@Schema(nullable = true)
38  	private String symbolicName;
39  
40  	@NotBlank
41  	@Schema(nullable = true)
42  	private String field;
43  
44  	public Timeseries(String measurement, String device, String location, String symbolicName, String field) {
45  		this.measurement = measurement;
46  		this.device = device;
47  		this.location = location;
48  		this.symbolicName = symbolicName;
49  		this.field = field;
50  	}
51  
52  	@Override
53  	public String getUniqueId() {
54  		return String.join("-", measurement, device, location, symbolicName, field);
55  	}
56  
57  }