package net.rrm.ehour.persistence.dbvalidator;
import net.rrm.ehour.config.PersistenceConfig;
import net.rrm.ehour.persistence.database.Database;
import net.rrm.ehour.persistence.database.DatabaseConfig;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.SessionFactoryUtils;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
@Component
public class DerbyDbValidationListener {
@Autowired
private DatabaseConfig databaseConfig;
@Autowired
private SessionFactory sessionFactory;
@PostConstruct
public void onApplicationEvent() {
if (databaseConfig.databaseType == Database.DERBY) {
DataSource dataSource = SessionFactoryUtils.getDataSource(sessionFactory);
DerbyDbValidator validator = new DerbyDbValidator(PersistenceConfig.DB_VERSION, dataSource);
validator.checkDatabaseState();
}
}
}