34 lines
977 B
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);
|
|
}
|
|
|
|
}
|