package cbe.app.services;
import javax.sql.DataSource;
import org.apache.cayenne.access.DataContext;
import org.apache.commons.lang.BooleanUtils;
import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.ioc.MappedConfiguration;
import org.apache.tapestry5.ioc.ServiceBinder;
import org.apache.tapestry5.ioc.annotations.Startup;
import com.googlecode.flyway.core.Flyway;
import com.googlecode.flyway.core.api.MigrationVersion;
public class AppModule
{
@Startup
public void initializeDatabase()
{
DataContext context = DataContext.createDataContext();
DataSource dataSource = context.getParentDataDomain().getNode("CBE").getDataSource(); //.getConnection();
Flyway flyway = new Flyway();
flyway.setDataSource(dataSource);
flyway.setInitialVersion("1.0");
flyway.setInitOnMigrate(true);
flyway.setTarget(MigrationVersion.LATEST);
flyway.migrate();
}
public static void bind(ServiceBinder binder)
{
}
public static void contributeApplicationDefaults(MappedConfiguration<String, String> configuration)
{
boolean productionMode = BooleanUtils.toBoolean(System.getProperty(SymbolConstants.PRODUCTION_MODE));
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
configuration.add(SymbolConstants.APPLICATION_VERSION, "CBE-1.0");
}
}