getting data output
This commit is contained in:
parent
0204547710
commit
67d028d6cb
@ -105,13 +105,35 @@ public class GitRepositoryService {
|
|||||||
private Changes parseOutputDiff(String output) {
|
private Changes parseOutputDiff(String output) {
|
||||||
Changes changes = new Changes();
|
Changes changes = new Changes();
|
||||||
String[] strings = output.split("\n");
|
String[] strings = output.split("\n");
|
||||||
for (String string : strings) {
|
FileChange fileChange = new FileChange();
|
||||||
Optional<String> maybeFileName = getFileName(string);
|
int stringsLength = strings.length;
|
||||||
if (maybeFileName.isPresent()) {
|
for (int i = 0; i < strings.length; i++) {
|
||||||
FileChange fileChange = new FileChange();
|
while (i < stringsLength) {
|
||||||
fileChange.setFile(maybeFileName.get());
|
Optional<String> maybeFileName = getFileName(strings[i]);
|
||||||
/// вытащить другие изменения из коммита
|
if (maybeFileName.isPresent()) {
|
||||||
changes.getFileChanges().add(fileChange);
|
fileChange = new FileChange();
|
||||||
|
fileChange.setFile(maybeFileName.get());
|
||||||
|
/// вытащить другие изменения из коммита
|
||||||
|
changes.getFileChanges().add(fileChange);
|
||||||
|
}
|
||||||
|
LineChange lineChange = new LineChange();
|
||||||
|
if (strings[i].startsWith("-")) {
|
||||||
|
while ((i < stringsLength) && strings[i].startsWith("-")) {
|
||||||
|
lineChange.setLineFrom(lineChange.getLineFrom() + "\n" + strings[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (strings[i].startsWith("+")) {
|
||||||
|
while ((i < stringsLength) && strings[i].startsWith("+")) {
|
||||||
|
lineChange.setLineTo(lineChange.getLineTo() + "\n" + strings[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((lineChange.getLineTo() != null && lineChange.getLineTo().isEmpty())
|
||||||
|
|| (lineChange.getLineFrom() != null && lineChange.getLineFrom().isEmpty())) {
|
||||||
|
fileChange.getLineChanges().add(lineChange);
|
||||||
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return changes;
|
return changes;
|
||||||
@ -120,9 +142,37 @@ public class GitRepositoryService {
|
|||||||
private Optional<String> getFileName(String commitString) {
|
private Optional<String> getFileName(String commitString) {
|
||||||
String startString = "diff --git a/";
|
String startString = "diff --git a/";
|
||||||
if (commitString.startsWith(startString)) {
|
if (commitString.startsWith(startString)) {
|
||||||
String name = commitString.substring(commitString.indexOf(startString) + startString.length(), commitString.indexOf("b/"));
|
String name = commitString.substring(commitString.indexOf(startString) + startString.length(), commitString.indexOf(" b/"));
|
||||||
return Optional.of(name);
|
return Optional.of(name);
|
||||||
}
|
}
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Optional<String> getLineTo(String commitString) {
|
||||||
|
String startString = "+";
|
||||||
|
String startPlus = "+++";
|
||||||
|
if (commitString.startsWith(startString)) {
|
||||||
|
String lineTo = commitString.substring(commitString.indexOf(startString) + startString.length());
|
||||||
|
if (commitString.startsWith(startPlus)) {
|
||||||
|
return Optional.empty();
|
||||||
|
} else {
|
||||||
|
return Optional.of(lineTo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Optional<String> getLineFrom(String commitString) {
|
||||||
|
String startString = "-";
|
||||||
|
String startMinus = "---";
|
||||||
|
if (commitString.startsWith(startString)) {
|
||||||
|
String lineFrom = commitString.substring(commitString.indexOf(startString) + startString.length());
|
||||||
|
if (commitString.startsWith(startMinus)) {
|
||||||
|
return Optional.empty();
|
||||||
|
} else {
|
||||||
|
return Optional.of(lineFrom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,16 +3,29 @@ package ru.ulstu.extractor;
|
|||||||
public class LineChange {
|
public class LineChange {
|
||||||
private boolean added;
|
private boolean added;
|
||||||
private boolean removed;
|
private boolean removed;
|
||||||
private int lineFrom;
|
private String lineFrom;
|
||||||
private int lineTo;
|
private String lineTo;
|
||||||
|
|
||||||
public LineChange(boolean added, boolean removed, int lineFrom, int lineTo) {
|
public LineChange() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public LineChange(boolean added, boolean removed, String lineFrom, String lineTo) {
|
||||||
this.added = added;
|
this.added = added;
|
||||||
this.removed = removed;
|
this.removed = removed;
|
||||||
this.lineFrom = lineFrom;
|
this.lineFrom = lineFrom;
|
||||||
this.lineTo = lineTo;
|
this.lineTo = lineTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLineTo(String lineTo) {
|
||||||
|
this.lineTo = lineTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLineFrom(String lineFrom) {
|
||||||
|
this.lineFrom = lineFrom;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean getAdd() {
|
public boolean getAdd() {
|
||||||
return added;
|
return added;
|
||||||
}
|
}
|
||||||
@ -21,11 +34,11 @@ public class LineChange {
|
|||||||
return removed;
|
return removed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLineFrom() {
|
public String getLineFrom() {
|
||||||
return lineFrom;
|
return lineFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLineTo() {
|
public String getLineTo() {
|
||||||
return lineTo;
|
return lineTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,3 +45,46 @@ public class NewClass {
|
|||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Optional<String> lineFrom = Optional.empty();
|
||||||
|
// Optional<String> lineTo = Optional.empty();
|
||||||
|
// for (String string: strings) {
|
||||||
|
// Optional<String> maybeFileName = getFileName(string);
|
||||||
|
// if (maybeFileName.isPresent()) {
|
||||||
|
// fileChange = new FileChange();
|
||||||
|
// fileChange.setFile(maybeFileName.get());
|
||||||
|
// /// вытащить другие изменения из коммита
|
||||||
|
// changes.getFileChanges().add(fileChange);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Optional<String> maybeLineFrom = getLineFrom(string);
|
||||||
|
// LineChange lineChange = new LineChange();
|
||||||
|
// if (maybeLineFrom.isPresent()) {
|
||||||
|
// lineChange.setLineFrom(maybeLineFrom.get());
|
||||||
|
// if (lineFrom.isPresent()){
|
||||||
|
// lineChange.setLineFrom(lineChange.getLineFrom() + "\n" + lineFrom);
|
||||||
|
// fileChange.getLineChanges().add(lineChange);
|
||||||
|
// lineFrom = maybeLineFrom;
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// fileChange.getLineChanges().add(lineChange);
|
||||||
|
// lineFrom = maybeLineFrom;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// Optional<String> maybeLineTo = getLineTo(string);
|
||||||
|
// if (maybeLineTo.isPresent()) {
|
||||||
|
// lineChange.setLineTo(maybeLineTo.get());
|
||||||
|
// if(lineTo.isPresent()){
|
||||||
|
// lineChange.setLineTo(lineChange.getLineTo() + "\n" + lineTo);
|
||||||
|
// fileChange.getLineChanges().add(lineChange);
|
||||||
|
// lineTo = maybeLineTo;
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// fileChange.getLineChanges().add(lineChange);
|
||||||
|
// lineTo = maybeLineFrom;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return changes;
|
||||||
|
// }
|
Loading…
Reference in New Issue
Block a user