Passed
Pull Request — master (#54)
by Filip
02:46
created

success(Contract)   A

Complexity

Conditions 1

Size

Total Lines 8
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
package com.hltech.vaunt.validator;
2
3
import com.hltech.vaunt.core.domain.model.Contract;
4
import lombok.Data;
5
6
import java.util.ArrayList;
7
import java.util.Arrays;
8
import java.util.List;
9
10
@Data
11
public class ValidationResult {
12
    private final boolean isValid;
13
    private final String description;
14
    private final List<ValidationError> errors;
15
16
    static ValidationResult success(Contract expectation) {
17
        return new ValidationResult(
18
                true,
19
                String.format("Matching contract: %s %s, %s",
20
                        expectation.getDestinationType(),
21
                        expectation.getDestinationName(),
22
                        expectation.getBody().getId()),
23
                new ArrayList<>());
24
    }
25
26
    static ValidationResult failure(Contract expectation, ValidationError... errors) {
27
        return new ValidationResult(false, String.format("Expectation: %s", expectation), Arrays.asList(errors));
28
    }
29
30
    static ValidationResult failure(
31
            Contract expectation, List<Contract> capabilities, ValidationError... errors) {
32
        return new ValidationResult(
33
                false,
34
                String.format("Expectation: %s, Capabilities: %s", expectation, capabilities),
35
                Arrays.asList(errors));
36
    }
37
}
38