equal
deleted
inserted
replaced
83 private static final Logger log = Logger.getLogger(XmlFormatter.class.getName()); |
83 private static final Logger log = Logger.getLogger(XmlFormatter.class.getName()); |
84 private final boolean labeledColumns; |
84 private final boolean labeledColumns; |
85 |
85 |
86 private String currentDatabaseName; |
86 private String currentDatabaseName; |
87 private int statementCounter; |
87 private int statementCounter; |
88 private int resultSetCounter; |
88 |
89 |
89 |
90 public XmlFormatter(FormatterContext formatterContext) { |
90 public XmlFormatter(FormatterContext formatterContext) { |
91 super(formatterContext); |
91 super(formatterContext); |
92 labeledColumns = formatterContext.getProperties().getBoolean(PROPERTY_LABELED_COLUMNS, false); |
92 labeledColumns = formatterContext.getProperties().getBoolean(PROPERTY_LABELED_COLUMNS, false); |
93 } |
93 } |
107 Map<QName, String> attributes = new LinkedHashMap<>(2); |
107 Map<QName, String> attributes = new LinkedHashMap<>(2); |
108 attributes.put(qname("xmlns"), Xmlns.RELPIPE); |
108 attributes.put(qname("xmlns"), Xmlns.RELPIPE); |
109 attributes.put(new QName(null, XML_NS_PREFIX_SQLDK, "xmlns"), Xmlns.SQLDK); |
109 attributes.put(new QName(null, XML_NS_PREFIX_SQLDK, "xmlns"), Xmlns.SQLDK); |
110 printStartElement(qname("relpipe"), attributes); |
110 printStartElement(qname("relpipe"), attributes); |
111 statementCounter = 0; |
111 statementCounter = 0; |
112 resultSetCounter = 0; |
|
113 |
112 |
114 } |
113 } |
115 |
114 |
116 @Override |
115 @Override |
117 public void writeEndBatch() { |
116 public void writeEndBatch() { |
181 |
180 |
182 } |
181 } |
183 |
182 |
184 } |
183 } |
185 |
184 |
186 private String getCurrentRelationName() { |
|
187 if (getFormatterContext().getRelationNames() == null || getFormatterContext().getRelationNames().size() < resultSetCounter) { |
|
188 return "r" + resultSetCounter; |
|
189 } else { |
|
190 return getFormatterContext().getRelationNames().get(resultSetCounter - 1); |
|
191 } |
|
192 } |
|
193 |
|
194 @Override |
185 @Override |
195 public void writeStartResultSet(ColumnsHeader header) { |
186 public void writeStartResultSet(ColumnsHeader header) { |
196 super.writeStartResultSet(header); |
187 super.writeStartResultSet(header); |
197 resultSetCounter++; |
|
198 printStartElement(qname(XML_ELEMENT_RELATION), singleAttribute(qnameDK(XML_ATTRIBUTE_STATEMENT), getCurrentStatementName())); |
188 printStartElement(qname(XML_ELEMENT_RELATION), singleAttribute(qnameDK(XML_ATTRIBUTE_STATEMENT), getCurrentStatementName())); |
199 printTextElement(qname(XML_ELEMENT_NAME), null, getCurrentRelationName()); |
189 printTextElement(qname(XML_ELEMENT_NAME), null, getCurrentRelationName()); |
200 |
190 |
201 printStartElement(qname("attributes-metadata")); |
191 printStartElement(qname("attributes-metadata")); |
202 for (ColumnDescriptor cd : header.getColumnDescriptors()) { |
192 for (ColumnDescriptor cd : header.getColumnDescriptors()) { |