summaryrefslogtreecommitdiffstats
path: root/dcaedt_tools/src/main/java/utilities/Report.java
blob: 0b99603c7c6d01d755d6840f4e4902450097820c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package utilities;

import java.util.ArrayList;
import java.util.List;

public class Report implements IReport {

    private List<String> created = new ArrayList<>();
    private List<String> updated = new ArrayList<>();
    private List<String> notUpdated = new ArrayList<>();
    private List<String> error = new ArrayList<>();
	private int statusCode = 0;

    @Override
    public void addCreatedMessage(String message) {
        created.add(message);
    }

    @Override
    public void addUpdatedMessage(String message) {
        updated.add(message);
    }

    @Override
    public void addNotUpdatedMessage(String message) {
        notUpdated.add(message);
    }

    @Override
    public void addErrorMessage(String message) {
        error.add(message);
    }

    @Override
    public String toString() {
        StringBuilder stringBuilder = new StringBuilder();
        if (!created.isEmpty()) {
            stringBuilder.append("Created:").append(System.lineSeparator());
            created.forEach(msg -> stringBuilder.append(msg).append(System.lineSeparator()));
        }
        if (!updated.isEmpty()) {
            stringBuilder.append("Updated:").append(System.lineSeparator());
            updated.forEach(msg -> stringBuilder.append(msg).append(System.lineSeparator()));
        }
        if (!notUpdated.isEmpty()) {
            stringBuilder.append("Not updated:").append(System.lineSeparator());
            notUpdated.forEach(msg -> stringBuilder.append(msg).append(System.lineSeparator()));
        }
        if (!error.isEmpty()) {
            stringBuilder.append("Error:").append(System.lineSeparator());
            error.forEach(msg -> stringBuilder.append(msg).append(System.lineSeparator()));
        }
        return stringBuilder.toString();
    }


	public void reportAndExit() {
		System.exit(statusCode);
	}

	public void setStatusCode(int statusCode) {
		this.statusCode = statusCode;
	}

}