/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.jdbc; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import com.enonic.cms.core.security.userstore.UserStoreService; import com.enonic.cms.core.service.AdminService; import com.enonic.cms.upgrade.UpgradeService; /** * This class implements the database initializer. It will initialize the database if not initialized before. */ public final class DatabaseInitializer implements InitializingBean { /** * Admin service. */ private AdminService adminService; private UpgradeService upgradeService; private UserStoreService userStoreService; /** * Set the admin service. */ @Autowired public void setAdminService( AdminService adminService ) { this.adminService = adminService; } public void setUpgradeService( UpgradeService upgradeService ) { this.upgradeService = upgradeService; } /** * Initialize the database. */ public void afterPropertiesSet() throws Exception { this.adminService.initializeDatabaseSchema(); // databaseInitializerService. this.adminService.initializeDatabaseValues(); if ( !this.upgradeService.needsUpgrade() ) { this.userStoreService.initializeUserStores(); } } public void setUserStoreService( final UserStoreService userStoreService ) { this.userStoreService = userStoreService; } }