ExperimentalTimeseriesEntity.java
- package de.dlr.shepard.timeseries.model;
- import com.fasterxml.jackson.annotation.JsonIgnore;
- import de.dlr.shepard.timeseries.model.enums.ExperimentalDataPointValueType;
- import jakarta.persistence.Column;
- import jakarta.persistence.Entity;
- import jakarta.persistence.EnumType;
- import jakarta.persistence.Enumerated;
- import jakarta.persistence.GeneratedValue;
- import jakarta.persistence.GenerationType;
- import jakarta.persistence.Id;
- import jakarta.persistence.Table;
- @Entity
- @Table(name = "timeseries")
- public class ExperimentalTimeseriesEntity {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private int id;
- @Column(name = "container_id", nullable = false)
- private long containerId;
- @Column(columnDefinition = "TEXT", nullable = false)
- private String measurement;
- @Column(columnDefinition = "TEXT", nullable = false)
- private String field;
- @Column(columnDefinition = "TEXT", nullable = false)
- private String device;
- @Column(columnDefinition = "TEXT", nullable = false)
- private String location;
- @Column(name = "symbolic_name", columnDefinition = "TEXT", nullable = false)
- private String symbolicName;
- @Enumerated(EnumType.STRING)
- @Column(name = "value_type", columnDefinition = "TEXT", nullable = false)
- private ExperimentalDataPointValueType valueType;
- public ExperimentalTimeseriesEntity() {}
- public ExperimentalTimeseriesEntity(
- long containerId,
- String measurement,
- String field,
- String device,
- String location,
- String symbolicName,
- ExperimentalDataPointValueType valueType
- ) {
- this.containerId = containerId;
- this.measurement = measurement;
- this.field = field;
- this.device = device;
- this.location = location;
- this.symbolicName = symbolicName;
- this.valueType = valueType;
- }
- public ExperimentalTimeseriesEntity(
- long containerId,
- ExperimentalTimeseries timeseries,
- ExperimentalDataPointValueType valueType
- ) {
- this(
- containerId,
- timeseries.getMeasurement(),
- timeseries.getField(),
- timeseries.getDevice(),
- timeseries.getLocation(),
- timeseries.getSymbolicName(),
- valueType
- );
- }
- public int getId() {
- return id;
- }
- public String getMeasurement() {
- return measurement;
- }
- public long getContainerId() {
- return containerId;
- }
- public String getDevice() {
- return device;
- }
- public String getLocation() {
- return location;
- }
- public String getSymbolicName() {
- return symbolicName;
- }
- public String getField() {
- return field;
- }
- public ExperimentalDataPointValueType getValueType() {
- return valueType;
- }
- @JsonIgnore
- public String getUniqueId() {
- return String.join("-", measurement, device, location, symbolicName, field, valueType.toString());
- }
- }