2008-03-14 10:00:56 +01:00
|
|
|
/*
|
|
|
|
* Copyright 2008 National Library of Sweden
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2008-03-13 14:43:08 +01:00
|
|
|
package se.kb.oai.pmh;
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
import org.dom4j.Element;
|
|
|
|
|
2008-03-13 14:43:08 +01:00
|
|
|
import se.kb.oai.OAIException;
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
/**
|
|
|
|
* Exception that is thrown when the response from the OAI-PMH server
|
|
|
|
* has <code><error></code> elements in it.
|
|
|
|
*
|
|
|
|
* There are eight different error codes returned:
|
|
|
|
*
|
|
|
|
* <ul>
|
|
|
|
* <li> badArgument
|
|
|
|
* <li> badResumptionToken
|
|
|
|
* <li> badVerb
|
|
|
|
* <li> cannotDisseminateFormat
|
|
|
|
* <li> idDoesNotExist
|
|
|
|
* <li> noRecordsMatch
|
|
|
|
* <li> noMetadataFormats
|
|
|
|
* <li> noSetHierarchy
|
|
|
|
* </ul>
|
|
|
|
*
|
|
|
|
* @author Oskar Grenholm, National Library of Sweden
|
|
|
|
*/
|
2008-03-14 10:00:56 +01:00
|
|
|
public class ErrorResponseException extends OAIException {
|
2008-03-13 14:43:08 +01:00
|
|
|
|
|
|
|
private static final long serialVersionUID = -2010182612617642664L;
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
private static final String ERROR_CODE_ATTR = "code";
|
|
|
|
|
2008-03-13 14:43:08 +01:00
|
|
|
public static final String BAD_ARGUMENT = "badArgument";
|
|
|
|
public static final String BAD_RESUMPTION_TOKEN = "badResumptionToken";
|
|
|
|
public static final String BAD_VERB = "badVerb";
|
|
|
|
public static final String CANNOT_DISSEMINATE_FORMAT = "cannotDisseminateFormat";
|
|
|
|
public static final String ID_DOES_NOT_EXIST = "idDoesNotExist";
|
|
|
|
public static final String NO_RECORDS_MATCH = "noRecordsMatch";
|
|
|
|
public static final String NO_METADATA_FORMATS = "noMetadataFormats";
|
|
|
|
public static final String NO_SET_HIERARCHY = "noSetHierarchy";
|
|
|
|
|
|
|
|
private String code;
|
|
|
|
private String message;
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
/**
|
|
|
|
* Creates an <code>ErrorResponseException</code> with
|
|
|
|
* the returned error code and error message.
|
|
|
|
*
|
|
|
|
* @param error the <code><error></code> element
|
|
|
|
*/
|
|
|
|
public ErrorResponseException(Element error) {
|
2008-03-13 14:43:08 +01:00
|
|
|
super();
|
2008-03-14 16:45:59 +01:00
|
|
|
this.code = error.attributeValue(ERROR_CODE_ATTR);
|
|
|
|
this.message = error.getTextTrim();
|
2008-03-13 14:43:08 +01:00
|
|
|
}
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
/**
|
|
|
|
* Get the error code.
|
|
|
|
*
|
|
|
|
* @return the error code
|
|
|
|
*/
|
2008-03-13 14:43:08 +01:00
|
|
|
public String getCode() {
|
|
|
|
return code;
|
|
|
|
}
|
|
|
|
|
2008-03-14 16:45:59 +01:00
|
|
|
/**
|
|
|
|
* Get the error message.
|
|
|
|
*
|
|
|
|
* @return the error message
|
|
|
|
*/
|
2008-03-13 14:43:08 +01:00
|
|
|
public String getMessage() {
|
|
|
|
return message;
|
|
|
|
}
|
|
|
|
}
|