wmsexception.java
来自「OpenMap是一个基于JavaBeansTM的开发工具包。利用OpenMap你」· Java 代码 · 共 266 行
JAVA
266 行
/* * $Header: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/image/wms/WMSException.java,v 1.1.2.3 2007/08/22 15:00:02 phelinek Exp $ * * Copyright 2001-2005 OBR Centrum Techniki Morskiej, All rights reserved. * */package com.bbn.openmap.image.wms;import java.io.IOException;import java.io.StringWriter;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;import com.bbn.openmap.util.Debug;//import com.sun.org.apache.xerces.internal.dom.DocumentImpl;//import com.sun.org.apache.xml.internal.serialize.OutputFormat;//import com.sun.org.apache.xml.internal.serialize.XMLSerializer;/** * Generates a WMS Exception in the form of XML with the specified code and * explanation message. * * @version $Header: * /cvs/CVS_LEBA/common/porttrack/src/java/com/obrctm/porttrack/modules/OGCMapRequestHandler.java,v * 1.10 2005/10/14 10:08:32 wachu Exp * @author pitek */public class WMSException extends Exception { // these codes are defined in WMS specification version 1.3.0 /** */ public static final String INVALIDFORMAT = "InvalidFormat"; // WMS 1.3.0 // public static final String INVALIDCRS = "InvalidCRS"; // WMS 1.1.1 /** */ public static final String INVALIDSRS = "InvalidSRS"; /** */ public static final String LAYERNOTDEFINED = "LayerNotDefined"; /** */ public static final String STYLENOTDEFINED = "StyleNotDefined"; /** */ public static final String LAYERNOTQUERYABLE = "LayerNotQueryable"; /** */ public static final String INVALIDPOINT = "InvalidPoint"; /** */ public static final String CURRENTUPDATESEQUENCE = "CurrentUpdateSequence"; /** */ public static final String INVALIDUPDATESEQUENCE = "InvalidUpdateSequence"; /** */ public static final String MISSINGDIMENSIONVALUE = "MissingDimensionValue"; /** */ public static final String INVALIDDIMENSIONVALUE = "InvalidDimensionValue"; // only in WMS 1.3.0, but who cares... /** */ public static final String OPERATIONNOTSUPPORTED = "OperationNotSupported"; // this is an unsupported code, but it seems usefull enough to include. /** */ public static final String INTERNALERROR = "InternalError"; // *************ta linia u Pitka jest dodatkowa protected static String exceptionTemplate = "<?xml version='1.0' encoding=\"UTF-8\"?>" + "<ServiceExceptionReport version=\"1.1.0\">" + "</ServiceExceptionReport>"; private String XML; private String Message; private String Code; /** * Creates a new WMSException object. */ public WMSException() { this("All your base are belong to us.", null); } /** * Creates a new WMSException object. * * @param message */ public WMSException(String message) { this(message, null); }// /**// * Creates a new WMSException object.// * // * @param message// * @param code// */// public WMSException(String message, String code) {// super();// Message = message;// Code = code;//// Document doc = new DocumentImpl();// Element root = doc.createElement("ServiceExceptionReport");// root.setAttribute("version", "1.1.0");// Element ex = doc.createElement("ServiceException");// ex.appendChild(doc.createTextNode(Message));// if (Code != null)// ex.setAttribute("code", Code);//// root.appendChild(ex);// doc.appendChild(root);//// StringWriter strWriter = null;// XMLSerializer serializer = null;// OutputFormat outFormat = null;//// try {// serializer = new XMLSerializer();// strWriter = new StringWriter();// outFormat = new OutputFormat();//// // Setup format settings// outFormat.setEncoding("UTF-8");// outFormat.setVersion("1.0");// outFormat.setIndenting(true);// outFormat.setIndent(2);//// // Define a Writer// serializer.setOutputCharStream(strWriter);//// // Apply the format settings// serializer.setOutputFormat(outFormat);//// // Serialize XML Document// serializer.serialize(doc);// this.XML = strWriter.toString();// strWriter.close();// } catch (IOException ioEx) {// Debug.output("WMSException Internal Error !\n[");// ioEx.printStackTrace();// Debug.output("]");// this.XML = INTERNALERROR;// }//// } /** * Creates a new WMSException object. * * @param message * @param code */ public WMSException(String message, String code) { super(); Message = message; Code = code; try { DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument();// Document doc = new DocumentImpl(); Element root = doc.createElement("ServiceExceptionReport"); root.setAttribute("version", "1.1.0"); Element ex = doc.createElement("ServiceException"); ex.appendChild(doc.createTextNode(Message)); if (Code != null) ex.setAttribute("code", Code); root.appendChild(ex); doc.appendChild(root); StringWriter strWriter = new StringWriter();// XMLSerializer serializer = null;// OutputFormat outFormat = null; Transformer tr = TransformerFactory.newInstance().newTransformer(); tr.setOutputProperty(OutputKeys.INDENT, "yes"); tr.setOutputProperty(OutputKeys.METHOD,"xml"); tr.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); tr.setOutputProperty(OutputKeys.VERSION,"1.0"); tr.setOutputProperty(OutputKeys.ENCODING,"UTF-8"); // Serialize XML Document tr.transform( new DOMSource(doc),new StreamResult(strWriter)); // try {// serializer = new XMLSerializer();// strWriter = new StringWriter();// outFormat = new OutputFormat();//// // Setup format settings// outFormat.setEncoding("UTF-8");// outFormat.setVersion("1.0");// outFormat.setIndenting(true);// outFormat.setIndent(2);//// // Define a Writer// serializer.setOutputCharStream(strWriter);//// // Apply the format settings// serializer.setOutputFormat(outFormat);//// // Serialize XML Document// serializer.serialize(doc); this.XML = strWriter.toString(); strWriter.close(); } catch (Exception ex) { Debug.output("WMSException Internal Error !\n["); ex.printStackTrace(); Debug.output("]"); this.XML = INTERNALERROR; } } /** * @return */ public String getXML() { return XML; } /** * @return */ public String getMessage() { return Message; } /** * @return */ public String getCode() { return Code; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?