Skip to content

Commit 2ee1e1a

Browse files
committed
Single line tracing reworked: SingleLineProgressConsole removed, added startTrace(), trace() and endTrace() to IProgress
1 parent bb4cae1 commit 2ee1e1a

File tree

5 files changed

+30
-171
lines changed

5 files changed

+30
-171
lines changed

src/main/java/org/scm4j/commons/progress/IProgress.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ public interface IProgress extends AutoCloseable {
77

88
void error(String message);
99

10-
IProgress startTrace(String startMessage, String endMessage);
10+
void startTrace(String message);
11+
12+
void endTrace(String message);
13+
14+
void trace(String message);
1115
}

src/main/java/org/scm4j/commons/progress/ProgressConsole.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,22 @@ public ProgressConsole(String name) {
4242
this(System.out, 0, name, "", "");
4343
}
4444

45-
public ProgressConsole() {
46-
this(System.out, 0, "", "", "");
47-
}
48-
4945
public ProgressConsole(PrintStream out, int level, String name, String indent, String outdent) {
5046
this.out = out;
5147
this.name = name;
5248
this.level = level;
5349
this.indent = indent;
5450
this.outdent = outdent;
55-
indent(level);
5651
if (!(indent + name).isEmpty()) {
52+
indent(level);
5753
out.println(indent + name);
5854
}
5955
}
6056

57+
public ProgressConsole() {
58+
this("");
59+
}
60+
6161
protected void indent(int level) {
6262
out.print(Strings.repeat("\t", level));
6363
}
@@ -81,17 +81,25 @@ public void close() {
8181
}
8282
}
8383

84+
@Override
8485
public void trace(String message) {
85-
86+
out.print(message);
87+
out.flush();
8688
}
8789

8890
@Override
8991
public void error(String message) {
9092
reportStatus(ansi().fg(RED).a(message).reset().toString());
9193
}
92-
94+
95+
@Override
96+
public void startTrace(String message) {
97+
indent(level + 1);
98+
trace(message);
99+
}
100+
93101
@Override
94-
public IProgress startTrace(String startMessage, String endMessage) {
95-
return new SingleLineProgressConsole(level + 1, out, startMessage, endMessage);
102+
public void endTrace(String message) {
103+
out.println(message);
96104
}
97105
}

src/main/java/org/scm4j/commons/progress/SingleLineProgressConsole.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

src/test/java/org/scm4j/commons/progress/ProgressConsoleTest.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -78,32 +78,23 @@ public void testConstructor() {
7878
}
7979

8080
public void testTrace() {
81-
ProgressConsole pc = new ProgressConsole("Progress 1", ">>> ", "<<< ");
82-
pc.trace(TRACE);
83-
pc.close();
84-
}
85-
86-
public void testStartTrace() throws Exception {
8781
PrintStream mockedOut = Mockito.mock(PrintStream.class);
8882
ProgressConsole pc = new ProgressConsole(mockedOut, 0, "Progress 1", ">>> ", "<<< ");
89-
try (IProgress pcTrace = pc.startTrace(START_MESSAGE, END_MESSAGE)) {
90-
pcTrace.reportStatus(TRACE);
91-
92-
Mockito.verify(mockedOut).print("");
93-
Mockito.verify(mockedOut).print("\t");
94-
Mockito.verify(mockedOut).print(START_MESSAGE);
95-
Mockito.verify(mockedOut).print(TRACE);
96-
assertTrue(pcTrace instanceof SingleLineProgressConsole);
97-
}
83+
pc.startTrace(START_MESSAGE);
84+
pc.trace(TRACE);
85+
pc.endTrace(END_MESSAGE);
86+
Mockito.verify(mockedOut).print("");
87+
Mockito.verify(mockedOut).println(">>> Progress 1");
88+
Mockito.verify(mockedOut).print("\t");
89+
Mockito.verify(mockedOut).print(START_MESSAGE);
90+
Mockito.verify(mockedOut).print(TRACE);
9891
Mockito.verify(mockedOut).println(END_MESSAGE);
9992
pc.close();
10093
}
10194

10295
public void testEmpty() throws Exception {
10396
PrintStream mockedOut = Mockito.mock(PrintStream.class);
10497
try (IProgress pc = new ProgressConsole(mockedOut, 0, "", "", "")) {
105-
Mockito.verify(mockedOut).print("");
106-
10798
}
10899
Mockito.verifyNoMoreInteractions(mockedOut);
109100

src/test/java/org/scm4j/commons/progress/SingleLineProgressConsoleTest.java

Lines changed: 0 additions & 78 deletions
This file was deleted.

0 commit comments

Comments
 (0)