java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java
branchv_0
changeset 225 906f767ef9b3
parent 207 2bba68ef47c1
child 233 0fb3b92e01c5
equal deleted inserted replaced
224:36db9fd27436 225:906f767ef9b3
    24 import info.globalcode.sql.dk.NamedParameter;
    24 import info.globalcode.sql.dk.NamedParameter;
    25 import info.globalcode.sql.dk.configuration.PropertyDeclaration;
    25 import info.globalcode.sql.dk.configuration.PropertyDeclaration;
    26 import static info.globalcode.sql.dk.formatting.AbstractXmlFormatter.qname;
    26 import static info.globalcode.sql.dk.formatting.AbstractXmlFormatter.qname;
    27 import java.sql.Array;
    27 import java.sql.Array;
    28 import java.sql.SQLException;
    28 import java.sql.SQLException;
       
    29 import java.sql.SQLXML;
    29 import java.util.LinkedHashMap;
    30 import java.util.LinkedHashMap;
    30 import java.util.List;
    31 import java.util.List;
    31 import java.util.Map;
    32 import java.util.Map;
    32 import java.util.logging.Level;
    33 import java.util.logging.Level;
    33 import java.util.logging.Logger;
    34 import java.util.logging.Logger;
   172 			} catch (SQLException e) {
   173 			} catch (SQLException e) {
   173 				log.log(Level.SEVERE, "Unable to format array", e);
   174 				log.log(Level.SEVERE, "Unable to format array", e);
   174 				writeColumnValue(String.valueOf(value));
   175 				writeColumnValue(String.valueOf(value));
   175 			}
   176 			}
   176 
   177 
       
   178 		} else if (value instanceof SQLXML) {
       
   179 			SQLXML xml = (SQLXML) value;
       
   180 			// TODO: parse DOM/SAX and transplant XML, don't escape (optional)
       
   181 			try {
       
   182 				printTextElement(qname("column"), attributes, xml.getString());
       
   183 			} catch (SQLException e) {
       
   184 				log.log(Level.SEVERE, "Unable to format XML", e);
       
   185 				writeColumnValue(String.valueOf(value));
       
   186 			}
   177 		} else {
   187 		} else {
   178 			printTextElement(qname("column"), attributes, toString(value));
   188 			printTextElement(qname("column"), attributes, toString(value));
   179 		}
   189 		}
   180 	}
   190 	}
   181 
   191