|
|
@ -269,7 +269,7 @@ public class GitRepositoryService {
|
|
|
|
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
|
|
|
|
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
|
|
|
|
DiffFormatter diffFormatter = new DiffFormatter(out);
|
|
|
|
DiffFormatter diffFormatter = new DiffFormatter(out);
|
|
|
|
diffFormatter.setRepository(localRepo);
|
|
|
|
diffFormatter.setRepository(localRepo);
|
|
|
|
diffFormatter.format(earlierCommit.getId(), laterCommit.getId());
|
|
|
|
diffFormatter.format(laterCommit.getId(), earlierCommit.getId());
|
|
|
|
output = out.toString();
|
|
|
|
output = out.toString();
|
|
|
|
} catch (IOException e) {
|
|
|
|
} catch (IOException e) {
|
|
|
|
throw new RuntimeException("Error occurred during diff computation. Message: " + e.getMessage());
|
|
|
|
throw new RuntimeException("Error occurred during diff computation. Message: " + e.getMessage());
|
|
|
@ -281,6 +281,9 @@ public class GitRepositoryService {
|
|
|
|
List<FileChange> changes = new ArrayList<>();
|
|
|
|
List<FileChange> changes = new ArrayList<>();
|
|
|
|
String[] strings = output.split("\n");
|
|
|
|
String[] strings = output.split("\n");
|
|
|
|
FileChange fileChange = new FileChange();
|
|
|
|
FileChange fileChange = new FileChange();
|
|
|
|
|
|
|
|
boolean isAdded = false;
|
|
|
|
|
|
|
|
boolean isRemoved = false;
|
|
|
|
|
|
|
|
boolean isFileChanged = false;
|
|
|
|
int stringsLength = strings.length - 1;
|
|
|
|
int stringsLength = strings.length - 1;
|
|
|
|
for (int i = 0; i < strings.length; i++) {
|
|
|
|
for (int i = 0; i < strings.length; i++) {
|
|
|
|
while (i < stringsLength) {
|
|
|
|
while (i < stringsLength) {
|
|
|
@ -290,6 +293,8 @@ public class GitRepositoryService {
|
|
|
|
fileChange.setFile(maybeFileName.get());
|
|
|
|
fileChange.setFile(maybeFileName.get());
|
|
|
|
Future<Boolean> futureEntity = executorService.submit(() -> structuralUnitService.containsEntity(getContent(repository, commit, maybeFileName.get())));
|
|
|
|
Future<Boolean> futureEntity = executorService.submit(() -> structuralUnitService.containsEntity(getContent(repository, commit, maybeFileName.get())));
|
|
|
|
Future<Boolean> futureBL = executorService.submit(() -> structuralUnitService.containsBusinessLogic(getContent(repository, commit, maybeFileName.get())));
|
|
|
|
Future<Boolean> futureBL = executorService.submit(() -> structuralUnitService.containsBusinessLogic(getContent(repository, commit, maybeFileName.get())));
|
|
|
|
|
|
|
|
fileChange.setAdded(isAdded);
|
|
|
|
|
|
|
|
fileChange.setRemoved(isRemoved);
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
fileChange.setContainsBusinessLogic(futureBL.get());
|
|
|
|
fileChange.setContainsBusinessLogic(futureBL.get());
|
|
|
|
fileChange.setContainsEntity(futureEntity.get());
|
|
|
|
fileChange.setContainsEntity(futureEntity.get());
|
|
|
@ -312,6 +317,7 @@ public class GitRepositoryService {
|
|
|
|
lineChange.setLineFrom(lineChange.getLineFrom() + "\n" + strings[i]);
|
|
|
|
lineChange.setLineFrom(lineChange.getLineFrom() + "\n" + strings[i]);
|
|
|
|
i++;
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
isRemoved = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lineChange.setRemoved(true);
|
|
|
|
lineChange.setRemoved(true);
|
|
|
@ -328,6 +334,7 @@ public class GitRepositoryService {
|
|
|
|
lineChange.setLineTo(lineChange.getLineTo() + "\n" + strings[i]);
|
|
|
|
lineChange.setLineTo(lineChange.getLineTo() + "\n" + strings[i]);
|
|
|
|
i++;
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
isAdded = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lineChange.setAdded(true);
|
|
|
|
lineChange.setAdded(true);
|
|
|
@ -340,6 +347,13 @@ public class GitRepositoryService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ((isAdded) && (isRemoved)) {
|
|
|
|
|
|
|
|
isAdded = false;
|
|
|
|
|
|
|
|
isRemoved = false;
|
|
|
|
|
|
|
|
isFileChanged = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
fileChange.setAdded(isAdded);
|
|
|
|
|
|
|
|
fileChange.setRemoved(isRemoved);
|
|
|
|
return changes;
|
|
|
|
return changes;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|