package org.nextprot.api.user;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatDtdWriter;
import org.junit.Test;
import org.nextprot.api.commons.spring.jdbc.DataSourceServiceLocator;
import org.nextprot.api.user.dao.test.base.UserResourceBaseTest;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class GenerateUserDTD extends UserResourceBaseTest {
private static final String dtdFile = "user.dtd";
@Autowired DataSourceServiceLocator dsLocator;
/**
* This method should be executed every times the db schema change.
* The schema is defined in main/resources/db.migration/*.sql.
* The generated file user.dtd should go
* @throws Exception
*/
@Test
public void generateUserDTD() throws Exception {
IDatabaseConnection connection = new DatabaseConnection(dsLocator.getUserDataSource().getConnection(), "np_users");
// write DTD file
IDataSet dataSet = connection.createDataSet();
Writer out = new OutputStreamWriter(new FileOutputStream(dtdFile));
FlatDtdWriter datasetWriter = new FlatDtdWriter(out);
datasetWriter.setContentModel(FlatDtdWriter.CHOICE);
datasetWriter.write(dataSet);
}
}