/** * @param ts * @return */ private Element toXmlElement(TapSchema ts) { if (ts.getSchemaDescs().isEmpty()) throw new IllegalArgumentException("Error: at least one schema is required."); Element eleTableset = new Element("tableset", vosi); for (SchemaDesc sd : ts.getSchemaDescs()) { eleTableset.addContent(toXmlElement(sd, Namespace.NO_NAMESPACE)); } return eleTableset; }
List<SchemaDesc> schemaDescs = tapSchema.getSchemaDescs(); for (SchemaDesc schemaDesc : schemaDescs)
private TapSchema toTapSchema(Document doc) { TapSchema ret = new TapSchema(); Element root = doc.getRootElement(); Namespace xsi = root.getNamespace("xsi"); if ("tableset".equals(root.getName())) { // content is element-form unqualified List<Element> sels = root.getChildren("schema"); for (Element se : sels) { String sn = se.getChildTextTrim("name"); SchemaDesc sd = new SchemaDesc(sn); List<Element> tabs = se.getChildren("table"); for (Element te : tabs) { TableDesc td = TableReader.toTable(sn, te, xsi); String tn = td.getTableName(); sd.getTableDescs().add(td); } ret.getSchemaDescs().add(sd); } } return ret; } }
for (SchemaDesc sd : tapSchema.getSchemaDescs())
SchemaDesc tapUploadSchema = new SchemaDesc(uploadManager.getUploadSchema()); tapUploadSchema.getTableDescs().addAll(tableDescs.values()); tapSchema.getSchemaDescs().add(tapUploadSchema);
ret.getSchemaDescs().addAll(schemaDescs); ret.getFunctionDescs().addAll(getFunctionDescs()); return ret;