TimeseriesReference.java

  1. package de.dlr.shepard.neo4Core.entities;

  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Objects;

  5. import org.neo4j.ogm.annotation.NodeEntity;
  6. import org.neo4j.ogm.annotation.Relationship;

  7. import de.dlr.shepard.influxDB.Timeseries;
  8. import de.dlr.shepard.util.Constants;
  9. import de.dlr.shepard.util.HasId;
  10. import lombok.Data;
  11. import lombok.NoArgsConstructor;
  12. import lombok.ToString;

  13. @NodeEntity
  14. @Data
  15. @NoArgsConstructor
  16. public class TimeseriesReference extends BasicReference {

  17.     private long start;

  18.     private long end;

  19.     @Relationship(type = Constants.HAS_PAYLOAD)
  20.     private List<Timeseries> timeseries = new ArrayList<>();

  21.     @ToString.Exclude
  22.     @Relationship(type = Constants.IS_IN_CONTAINER)
  23.     private TimeseriesContainer timeseriesContainer;

  24.     /**
  25.      * For testing purposes only
  26.      *
  27.      * @param id identifies the entity
  28.      */
  29.     public TimeseriesReference(long id) {
  30.         super(id);
  31.     }

  32.     public void addTimeseries(Timeseries timeseries) {
  33.         this.timeseries.add(timeseries);
  34.     }

  35.     @Override
  36.     public int hashCode() {
  37.         final int prime = 31;
  38.         int result = super.hashCode();
  39.         result = prime * result + Objects.hash(end, start, timeseries);
  40.         result = prime * result + HasId.hashcodeHelper(timeseriesContainer);
  41.         return result;
  42.     }

  43.     @Override
  44.     public boolean equals(Object obj) {
  45.         if (this == obj)
  46.             return true;
  47.         if (!super.equals(obj))
  48.             return false;
  49.         if (!(obj instanceof TimeseriesReference))
  50.             return false;
  51.         TimeseriesReference other = (TimeseriesReference) obj;
  52.         return end == other.end && start == other.start && Objects.equals(timeseries, other.timeseries)
  53.                 && HasId.equalsHelper(timeseriesContainer, other.timeseriesContainer);
  54.     }

  55. }