38 lines
1.2 KiB
Java
38 lines
1.2 KiB
Java
package de.ph87.data.series.graph;
|
|
|
|
import de.ph87.data.series.Aligned;
|
|
import de.ph87.data.series.Alignment;
|
|
import de.ph87.data.series.SeriesDto;
|
|
import de.ph87.data.series.SeriesService;
|
|
import de.ph87.data.series.meter.MeterService;
|
|
import de.ph87.data.series.varying.VaryingService;
|
|
import lombok.NonNull;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@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 Alignment innerAlignment, @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, innerAlignment, begin, end);
|
|
case VARYING -> varyingService.getPoints(series, innerAlignment, begin, end);
|
|
};
|
|
return new Graph(series, entries, innerAlignment, begin, end, width, height, border);
|
|
}
|
|
|
|
}
|