/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.ows;
import org.xml.sax.SAXException;
/**
* <p>
* DOCUMENT ME!
* </p>
*
* @author dzwiers
* @source $URL$
*/
public class ServiceException extends SAXException {
/*
* Constants used in communications with Web Map Servers
*/
/** Request contains a Format not offered by the service instance */
public static final String INVALID_FORMAT = "InvalidFormat";
/**
* Request contains an SRS not offered by the service instance
* for one or more of the Layers in the request.
*/
public static final String INVALID_SRS = "InvalidSRS";
/**
* Request contains a CRS not offered by the server for one or
* more of the Layers in the request.
*/
public static final String INVALID_CRS = "InvalidCRS";
/** Request is for a Layer not offered by the service instance. */
public static final String LAYER_NOT_DEFINED = "LayerNotDefined";
/** Request is for a Layer in a Style not offered by the service instance. */
public static final String STYLE_NOT_DEFINED = "StyleNotDefined";
/** GetFeatureInfo request is applied to a Layer which is not declared queryable. */
public static final String LAYER_NOT_QUERYABLE = "LayerNotQueryable";
/**
* Value of (optional) UpdateSequence parameter in GetCapabilities request is
* equal to current value of Capabilities XML update sequence number.
*/
public static final String CURRENT_UPDATE_SEQUENCE ="CurrentUpdateSequence";
/**
* Value of (optional) UpdateSequence parameter in GetCapabilities request is
* greater than current value of Capabilities XML update sequence number.
*/
public static final String INVALID_UPDATE_SEQUENCE ="InvalidUpdateSequence";
/**
* Request does not include a sample dimension value, and the service instance
* did not declare a default value for that dimension.
*/
public static final String MISSING_DIMENSION_VALUE = "MissingDimensionValue";
/** Request contains an invalid sample dimension value. */
public static final String INVALID_DIMENSION_VALUE = "InvalidDimensionValue";
/** Request is for an optional operation that is not supported by the server. */
public static final String OPERATION_NOT_SUPPORTED = "OperationNotSupported";
/*
* END WMS Constants
*/
/**
* Comment for <code>serialVersionUID</code>
*/
private static final long serialVersionUID = (("org.geotools.data.ows.ServiceException").hashCode());
private String code = "";
private String locator = null;
private ServiceException next; //So they can be chained
private ServiceException() {
super("");
// should not be called
}
/**
* @param msg Message
* @see SAXException#SAXException(java.lang.String)
*/
public ServiceException(String msg) {
super(msg);
}
public ServiceException(String msg, String code) {
super(msg);
this.code = code;
}
/**
* Passes the message to the parent, or the code if the message is null.
*
* @param msg Message
* @param code Error Code
* @param locator Error Location
* @see SAXException#SAXException(java.lang.String)
*/
public ServiceException(String msg, String code, String locator) {
super((msg == null) ? code : msg);
this.code = code;
this.locator = locator;
}
/**
* @return String the error code, such as 404-Not Found
*/
public String getCode() {
return code;
}
/**
* @return String the location of the error, useful for parse errors
*/
public String getLocator() {
return locator;
}
public ServiceException getNext() {
return next;
}
public void setNext(ServiceException next) {
this.next = next;
}
}