Skip to content

Commit e4cd8c4

Browse files
committed
BENCH-155 new ValidationException class added
1 parent 84797b5 commit e4cd8c4

12 files changed

+88
-94
lines changed
Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.answerdigital.answerking.exception;
22

3-
import java.util.Collection;
4-
import java.util.HashMap;
5-
import java.util.Map;
6-
73
import lombok.Getter;
84
import org.springframework.http.HttpStatus;
95

@@ -18,36 +14,16 @@ public abstract class AnswerKingException extends RuntimeException {
1814

1915
private final String detail;
2016

21-
private final Map<String, Collection<String>> errors = new HashMap<>();
22-
private final String error;
23-
24-
protected AnswerKingException(
25-
final String type,
26-
final String title,
27-
final HttpStatus status,
28-
final String detail,
29-
final Map<String, Collection<String>> errors
30-
) {
31-
super(errors.toString());
32-
this.type = type;
33-
this.title = title;
34-
this.status = status;
35-
this.detail = detail;
36-
this.errors.putAll(errors);
37-
this.error = "";
38-
}
3917
protected AnswerKingException(
4018
final String type,
4119
final String title,
4220
final HttpStatus status,
43-
final String detail,
44-
final String error
21+
final String detail
4522
) {
46-
super(error);
23+
super(detail);
4724
this.type = type;
4825
this.title = title;
4926
this.status = status;
5027
this.detail = detail;
51-
this.error = error;
5228
}
5329
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.answerdigital.answerking.exception.custom;
2+
3+
import com.answerdigital.answerking.exception.AnswerKingException;
4+
import lombok.Getter;
5+
import org.springframework.http.HttpStatus;
6+
7+
import java.util.Collection;
8+
import java.util.Map;
9+
10+
@Getter
11+
public class AnswerKingValidationException extends AnswerKingException {
12+
13+
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
14+
15+
private static final String TITLE = "Validation Exception";
16+
17+
private static final HttpStatus STATUS = HttpStatus.BAD_REQUEST;
18+
19+
private static final String DETAIL = "One or more validation errors occurred";
20+
21+
private final Map<String, Collection<String>> errors;
22+
23+
public AnswerKingValidationException(final Map<String, Collection<String>> errors) {
24+
super(TYPE, TITLE, STATUS, DETAIL);
25+
this.errors = errors;
26+
}
27+
}

src/main/java/com/answerdigital/answerking/exception/custom/NameUnavailableException.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import com.answerdigital.answerking.exception.generic.BadRequestException;
44

5-
import java.util.Collection;
6-
75
public class NameUnavailableException extends BadRequestException {
86

97
public NameUnavailableException(final String error) {

src/main/java/com/answerdigital/answerking/exception/custom/ProductAlreadyPresentException.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import com.answerdigital.answerking.exception.generic.BadRequestException;
44

5-
import java.util.Collection;
6-
75
public class ProductAlreadyPresentException extends BadRequestException {
86

97
public ProductAlreadyPresentException(final String error) {

src/main/java/com/answerdigital/answerking/exception/custom/RetirementException.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import com.answerdigital.answerking.exception.AnswerKingException;
44
import org.springframework.http.HttpStatus;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
96
public class RetirementException extends AnswerKingException {
107

118
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
@@ -14,10 +11,8 @@ public class RetirementException extends AnswerKingException {
1411

1512
private static final HttpStatus STATUS = HttpStatus.GONE;
1613

17-
private static final String DETAIL = null;
18-
1914
public RetirementException(final String errors) {
20-
super(TYPE, TITLE, STATUS, DETAIL, errors);
15+
super(TYPE, TITLE, STATUS, errors);
2116
}
2217

2318
}

src/main/java/com/answerdigital/answerking/exception/generic/BadRequestException.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
import com.answerdigital.answerking.exception.AnswerKingException;
44
import org.springframework.http.HttpStatus;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
import java.util.Map;
9-
106
public class BadRequestException extends AnswerKingException {
117

128
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
@@ -15,12 +11,7 @@ public class BadRequestException extends AnswerKingException {
1511

1612
private static final HttpStatus STATUS = HttpStatus.BAD_REQUEST;
1713

18-
private static final String DETAIL = null;
19-
2014
public BadRequestException(final String error) {
21-
super(TYPE, TITLE, STATUS, DETAIL, error);
22-
}
23-
public BadRequestException(final Map<String, Collection<String>> errors, String detail) {
24-
super(TYPE, TITLE, STATUS, detail, errors);
15+
super(TYPE, TITLE, STATUS, error);
2516
}
2617
}

src/main/java/com/answerdigital/answerking/exception/generic/ConflictException.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import com.answerdigital.answerking.exception.AnswerKingException;
44
import org.springframework.http.HttpStatus;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
96
public class ConflictException extends AnswerKingException {
107

118
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
@@ -14,10 +11,8 @@ public class ConflictException extends AnswerKingException {
1411

1512
private static final HttpStatus STATUS = HttpStatus.CONFLICT;
1613

17-
private static final String DETAIL = null;
18-
1914
public ConflictException(final String errors) {
20-
super(TYPE, TITLE, STATUS, DETAIL, errors);
15+
super(TYPE, TITLE, STATUS, errors);
2116
}
2217

2318
}

src/main/java/com/answerdigital/answerking/exception/generic/InternalServerErrorException.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import com.answerdigital.answerking.exception.AnswerKingException;
44
import org.springframework.http.HttpStatus;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
96
public class InternalServerErrorException extends AnswerKingException {
107

118
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
@@ -14,10 +11,8 @@ public class InternalServerErrorException extends AnswerKingException {
1411

1512
private static final HttpStatus STATUS = HttpStatus.INTERNAL_SERVER_ERROR;
1613

17-
private static final String DETAIL = null;
18-
1914
public InternalServerErrorException(final String errors) {
20-
super(TYPE, TITLE, STATUS, DETAIL, errors);
15+
super(TYPE, TITLE, STATUS, errors);
2116
}
2217

2318
}

src/main/java/com/answerdigital/answerking/exception/generic/NotFoundException.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import com.answerdigital.answerking.exception.AnswerKingException;
44
import org.springframework.http.HttpStatus;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
96
public class NotFoundException extends AnswerKingException {
107

118
private static final String TYPE = "https://www.rfc-editor.org/rfc/rfc7231";
@@ -14,10 +11,7 @@ public class NotFoundException extends AnswerKingException {
1411

1512
private static final HttpStatus STATUS = HttpStatus.NOT_FOUND;
1613

17-
private static final String DETAIL = null;
18-
1914
public NotFoundException(final String errors) {
20-
super(TYPE, TITLE, STATUS, DETAIL, errors);
15+
super(TYPE, TITLE, STATUS, errors);
2116
}
22-
2317
}

src/main/java/com/answerdigital/answerking/exception/util/ErrorResponse.java

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@
55
import lombok.extern.slf4j.Slf4j;
66

77
import javax.servlet.http.HttpServletRequest;
8-
import java.util.Collection;
9-
import java.util.HashMap;
10-
import java.util.Map;
118

129
@Slf4j
1310
@Getter
@@ -23,29 +20,13 @@ public class ErrorResponse {
2320

2421
private final String instance;
2522

26-
private final Map<String, Collection<String>> errors = new HashMap<>();
27-
2823
private final String traceId;
2924

30-
public ErrorResponse(final AnswerKingException exception, final HttpServletRequest request, boolean validtionProblem) {
31-
this.type = exception.getType();
32-
this.title = exception.getTitle();
33-
this.status = exception.getStatus().value();
34-
this.detail = exception.getDetail();
35-
this.instance = request.getRequestURI();
36-
this.errors.putAll(exception.getErrors());
37-
this.traceId = CorrelationId.getId();
38-
39-
log.error(String.format(
40-
"RETURNING EXCEPTION - TYPE: %s - TITLE: %s - STATUS: %s - DETAIL: %s - INSTANCE: %s - ERRORS: %s - TRACEID: %s",
41-
type, title, status, detail, instance, errors.toString(), traceId)
42-
);
43-
}
4425
public ErrorResponse(final AnswerKingException exception, final HttpServletRequest request) {
4526
this.type = exception.getType();
4627
this.title = exception.getTitle();
4728
this.status = exception.getStatus().value();
48-
this.detail = exception.getError();
29+
this.detail = exception.getDetail();
4930
this.instance = request.getRequestURI();
5031
this.traceId = CorrelationId.getId();
5132

0 commit comments

Comments
 (0)