package com.sequenceiq.periscope.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.sequenceiq.periscope.api.model.ScalingStatus; import com.sequenceiq.periscope.domain.Cluster; import com.sequenceiq.periscope.domain.History; import com.sequenceiq.periscope.domain.ScalingPolicy; import com.sequenceiq.periscope.repository.HistoryRepository; @Service public class HistoryService { @Autowired private HistoryRepository historyRepository; @Autowired private ClusterService clusterService; public History createEntry(ScalingStatus scalingStatus, String statusReason, int originalNodeCount, ScalingPolicy scalingPolicy) { History history = new History(scalingStatus, statusReason, originalNodeCount) .withScalingPolicy(scalingPolicy) .withAlert(scalingPolicy.getAlert()) .withCluster(scalingPolicy.getAlert().getCluster()); return historyRepository.save(history); } public History createEntry(ScalingStatus scalingStatus, String statusReason, int originalNodeCount, Cluster cluster) { History history = new History(scalingStatus, statusReason, originalNodeCount) .withCluster(cluster); return historyRepository.save(history); } public List<History> getHistory(long clusterId) { clusterService.findOneById(clusterId); return historyRepository.findAllByCluster(clusterId); } public History getHistory(long clusterId, long historyId) { return historyRepository.findByCluster(clusterId, historyId); } }