Data/src/main/java/de/ph87/data/series/graph/GraphService.java

34 lines
977 B
Java

package de.ph87.data.series.graph;
import de.ph87.data.series.*;
import de.ph87.data.series.meter.*;
import de.ph87.data.series.varying.*;
import lombok.*;
import lombok.extern.slf4j.*;
import org.springframework.stereotype.*;
import java.util.*;
@Slf4j
@Service
@RequiredArgsConstructor
public class GraphService {
private final SeriesService seriesService;
private final VaryingService varyingService;
private final MeterService meterService;
@NonNull
public Graph getGraph(final long seriesId, @NonNull final Aligned begin, @NonNull final Aligned end, final int width, final int height, final int border) {
final SeriesDto series = seriesService.getDtoById(seriesId);
final List<GraphPoint> entries = switch (series.getType()) {
case METER -> meterService.getPoints(series, begin, end);
case VARYING -> varyingService.getPoints(series, begin, end);
};
return new Graph(series, entries, begin, end, width, height, border);
}
}