final FlatXmlProducer flatXmlProducer = new FlatXmlProducer(new InputSource(inputStream)); final StreamingDataSet streamingDataSet = new StreamingDataSet(flatXmlProducer);
private IDataSet getDatasetFromInputStream(InputStream in) { IDataSetProducer producer = new FlatXmlProducer(new InputSource(in), false); try { return new CachedDataSet(producer); } catch (DataSetException e) { throw new RuntimeException("Cannot get dataset.", e); } }
protected IDataSet getFlatXmlDataSetFromRawResrouce(int id) throws DataSetException { InputStream in = getContext().getResources().openRawResource(id); FlatXmlProducer producer = new FlatXmlProducer(new InputSource(in), false); return new FlatXmlDataSet(producer); }
@Override public void doInDbUnit(IDatabaseConnection connection) throws Exception { InputStream in = getClass().getResourceAsStream(flatXmlDataFile); IDataSetProducer producer = new FlatXmlProducer(new InputSource(in), false); IDataSet dataSet = new StreamingDataSet(producer); DatabaseOperation.REFRESH.execute(connection, dataSet); } });
protected IDataSet getFlatXmlDataSetFromRawResrouce(int id) throws DataSetException { InputStream in = getContext().getResources().openRawResource(id); FlatXmlProducer producer = new FlatXmlProducer(new InputSource(in), false); return new FlatXmlDataSet(producer); }
protected IDataSet getFlatXmlDataSetFromClasspathResrouce(String file) throws DataSetException { InputStream in = getContext().getClassLoader().getResourceAsStream(file); FlatXmlProducer producer = new FlatXmlProducer(new InputSource(in), false); return new FlatXmlDataSet(producer); }
/** * 从XML数据文件中读入数据集,写入到数据库。数据库表中的原有数据将被清除。 * @param flatXmlDataFile XML数据文件 */ public void refreshData(final String flatXmlDataFile) { new DbUnitTemplate(dataSource).execute(new DbUnitCallback() { @Override public void doInDbUnit(IDatabaseConnection connection) throws Exception { InputStream in = getClass().getResourceAsStream(flatXmlDataFile); IDataSetProducer producer = new FlatXmlProducer(new InputSource(in), false); IDataSet dataSet = new StreamingDataSet(producer); DatabaseOperation.REFRESH.execute(connection, dataSet); } }); }
protected IDataSet getFlatXmlDataSetFromClasspathResrouce(String file) throws DataSetException { InputStream in = getContext().getClassLoader().getResourceAsStream(file); FlatXmlProducer producer = new FlatXmlProducer(new InputSource(in), false); return new FlatXmlDataSet(producer); } }
private IDataSet getDataSetObject(String path) throws Exception { if (getDataSetStrategy().equals(DataSetStrategy.Xml)) { return new XmlDataSet(Dbunit.class.getResourceAsStream(path)); } else if (getDataSetStrategy().equals(DataSetStrategy.FlatXml)) { boolean enableColumnSensing = true; InputStreamReader inReader = new InputStreamReader(Dbunit.class .getResourceAsStream(path), "UTF-8"); // FlatXmlDataSet fxset = new FlatXmlDataSet(inReader, true, // enableColumnSensing, false); // return fxset; return new CachedDataSet(new FlatXmlProducer(new InputSource( inReader), true, enableColumnSensing, false)); } else { return new XmlDataSet(Dbunit.class.getResourceAsStream(path)); } }
try { Class.forName(DBDRIVER); Connection jdbcConnection = DriverManager.getConnection(DBURL, DBUSERNAME, DBPASSWORD); IDatabaseConnection connection = new DatabaseConnection(jdbcConnection); connection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new MySqlDataTypeFactory()); //////// Database backup ITableFilter filter = new DatabaseSequenceFilter(connection); IDataSet dataset = new FilteredDataSet(filter, connection.createDataSet()); ExcludeTableFilter excludeFilter = new ExcludeTableFilter(); excludeFilter.excludeTable("DATABASECHANGELOG*"); IDataSet excludedataset = new FilteredDataSet(excludeFilter, dataset); FlatXmlDataSet.write(excludedataset, new FileOutputStream(backupfilename)); System.out.println("\n Complete backup successful."); //////// Database backup //////// Database restore IDataSetProducer producer = new FlatXmlProducer(new InputSource(restoreFileName)); IDataSet dataSet = new StreamingDataSet(producer); TransactionOperation operation = new TransactionOperation(DatabaseOperation.INSERT); operation.execute(connection, dataSet); //////// Database restore } catch (DatabaseUnitException e) { e.printStackTrace(); flag = false; } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }