|
|
|
@ -1,8 +1,13 @@
|
|
|
|
|
package ru.ulstu.extractor.ts.creator;
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
import ru.ulstu.extractor.author.model.Author;
|
|
|
|
|
import ru.ulstu.extractor.author.service.AuthorService;
|
|
|
|
|
import ru.ulstu.extractor.commit.service.CommitService;
|
|
|
|
|
import ru.ulstu.extractor.gitrepository.service.GitRepositoryService;
|
|
|
|
|
import ru.ulstu.extractor.ts.model.TimeSeries;
|
|
|
|
|
import ru.ulstu.extractor.ts.model.TimeSeriesType;
|
|
|
|
|
import ru.ulstu.extractor.ts.model.TimeSeriesValue;
|
|
|
|
|
import ru.ulstu.extractor.ts.service.TimeSeriesService;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
@ -11,9 +16,17 @@ import java.util.List;
|
|
|
|
|
@Component
|
|
|
|
|
public class AuthorTS extends AbstractTimeSeriesCreator {
|
|
|
|
|
private final TimeSeriesService timeSeriesService;
|
|
|
|
|
private final CommitService commitService;
|
|
|
|
|
private final AuthorService authorService;
|
|
|
|
|
private final GitRepositoryService gitRepositoryService;
|
|
|
|
|
|
|
|
|
|
public AuthorTS(TimeSeriesService timeSeriesService) {
|
|
|
|
|
public AuthorTS(TimeSeriesService timeSeriesService,
|
|
|
|
|
CommitService commitService,
|
|
|
|
|
AuthorService authorService, GitRepositoryService gitRepositoryService) {
|
|
|
|
|
this.timeSeriesService = timeSeriesService;
|
|
|
|
|
this.commitService = commitService;
|
|
|
|
|
this.authorService = authorService;
|
|
|
|
|
this.gitRepositoryService = gitRepositoryService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -23,7 +36,27 @@ public class AuthorTS extends AbstractTimeSeriesCreator {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<TimeSeries> getTimeSeries(Integer repositoryId, String branchName) {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
List<TimeSeries> timeSeriesResult = new ArrayList<>();
|
|
|
|
|
List<Author> authors = authorService.findAll();
|
|
|
|
|
List<ru.ulstu.extractor.model.Commit> commits = new ArrayList<>(commitService.findByRepositoryIdAndName(repositoryId, branchName));
|
|
|
|
|
for (Author author : authors) {
|
|
|
|
|
TimeSeries timeSeries = new TimeSeries(
|
|
|
|
|
String.format("%s %s %s %s",
|
|
|
|
|
gitRepositoryService.findById(repositoryId).getName(),
|
|
|
|
|
branchName,
|
|
|
|
|
author.getName(),
|
|
|
|
|
getTimeSeriesType().getDescription()),
|
|
|
|
|
getTimeSeriesType());
|
|
|
|
|
for (ru.ulstu.extractor.model.Commit commit : commits) {
|
|
|
|
|
if (commit.getAuthor().equals(author)) {
|
|
|
|
|
timeSeries.getValues().add(new TimeSeriesValue(commit.getDate(), 1.0));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!timeSeries.getValues().isEmpty()) {
|
|
|
|
|
timeSeriesResult.add(timeSeries);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return timeSeriesResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|