@Override public void saveDatabaseConfiguration(DatabaseConfig config) { Document document = DocumentHelper.createDocument(); Element rootElement = document.addElement(CONFIG_ROOT); DatabaseConfigHandler dbConfigHandler = new DatabaseConfigHandler(); dbConfigHandler.writeTo(rootElement, config); Writer writer = null; try { writer = getWriter(); XMLWriter xmlWriter = new XMLWriter(writer, OutputFormat.createPrettyPrint()); xmlWriter.write(document); } catch (IOException ioe) { throw new RuntimeIOException("Error writing database configuration file.", ioe); } finally { IOUtils.closeQuietly(writer); } }
@Override public DatabaseConfig loadDatabaseConfiguration() { DatabaseConfigHandler dbConfigHandler = new DatabaseConfigHandler(); Reader fileReader = null; SAXReader xmlReader = new SAXReader(); try { fileReader = getReader(); Document root = xmlReader.read(fileReader); return dbConfigHandler.parse(root.getRootElement()); } catch (DocumentException de) { throw new RuntimeException("Error parsing database configuration file.", de); } catch (IOException ioe) { throw new RuntimeIOException("Error reading database configuration file.", ioe); } finally { IOUtils.closeQuietly(fileReader); } }