From 38eed91124a0fd4f18738e57e697c1396785d06a Mon Sep 17 00:00:00 2001 From: pavel-stastny Date: Wed, 25 Sep 2024 15:56:38 +0200 Subject: [PATCH] Issue #1078 --- .../incad/kramerius/rest/oai/ErrorCode.java | 29 ++++++++++++++----- .../rest/oai/exceptions/OAIException.java | 11 ++----- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/rest/src/main/java/cz/incad/kramerius/rest/oai/ErrorCode.java b/rest/src/main/java/cz/incad/kramerius/rest/oai/ErrorCode.java index d39d7117d..5108a9ad2 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/oai/ErrorCode.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/oai/ErrorCode.java @@ -19,20 +19,33 @@ public enum ErrorCode { // acceptable for all verbs - badArgument, + badArgument(400), // acceptable badResumptionToken - badResumptionToken, + badResumptionToken(400), // no verb - badVerb, + badVerb(400), // GetRecord, ListIdentifiers, ListRecords - cannotDisseminateFormat, + cannotDisseminateFormat(400), // GetRecord, ListMetadataFormat - idDoesNotExist, + idDoesNotExist(404), //ListIdentifiers ListRecords - noRecordsMatch, + noRecordsMatch(200), //ListMetadataFormats - noMetadataFormats, + noMetadataFormats(400), //ListSets ListIdentifiers ListRecords - noSetHierarchy + noSetHierarchy(400); + + public int getStatusCode() { + return statusCode; + } + + int statusCode; + + private ErrorCode(int statusCode) { + this.statusCode = statusCode; + } + + } + diff --git a/rest/src/main/java/cz/incad/kramerius/rest/oai/exceptions/OAIException.java b/rest/src/main/java/cz/incad/kramerius/rest/oai/exceptions/OAIException.java index f21113d7f..08fe53b69 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/oai/exceptions/OAIException.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/oai/exceptions/OAIException.java @@ -51,23 +51,16 @@ protected OAIException(Response response) { super(response); } -// public AbstractOAIException(int errorCode) { -// super(errorCode); -// } -// -// public AbstractOAIException(Response.Status status) { -// super(status); -// } public OAIException(ErrorCode oaiErrorCode,OAIVerb verb, OAISet set,String baseUrl,MetadataExport metadata) { - this(Response.status(Response.Status.BAD_REQUEST) + this(Response.status(oaiErrorCode.getStatusCode()) .type(MediaType.APPLICATION_XML) .entity(buildXml(oaiErrorCode, verb, set, baseUrl, metadata, null)) .build()); } public OAIException(ErrorCode oaiErrorCode,OAIVerb verb, OAISet set,String baseUrl,MetadataExport metadata, String message) { - this(Response.status(Response.Status.BAD_REQUEST) + this(Response.status(oaiErrorCode.getStatusCode()) .type(MediaType.APPLICATION_XML) .entity(buildXml(oaiErrorCode, verb, set, baseUrl, metadata, message)) .build());