/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.vertical.engine.handlers; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import com.enonic.esl.sql.model.Table; import com.enonic.vertical.engine.BaseEngine; import com.enonic.vertical.engine.PresentationEngine; import com.enonic.vertical.engine.dbmodel.VerticalDatabase; import com.enonic.cms.core.AdminConsoleTranslationService; import com.enonic.cms.core.content.ContentService; import com.enonic.cms.core.log.LogService; import com.enonic.cms.core.resource.ResourceService; import com.enonic.cms.core.security.SecurityService; import com.enonic.cms.core.security.userstore.MemberOfResolver; import com.enonic.cms.core.service.KeyService; import com.enonic.cms.store.dao.BinaryDataDao; import com.enonic.cms.store.dao.CategoryDao; import com.enonic.cms.store.dao.ContentBinaryDataDao; import com.enonic.cms.store.dao.ContentDao; import com.enonic.cms.store.dao.ContentTypeDao; import com.enonic.cms.store.dao.GroupDao; import com.enonic.cms.store.dao.LanguageDao; import com.enonic.cms.store.dao.MenuItemDao; import com.enonic.cms.store.dao.PageDao; import com.enonic.cms.store.dao.PageTemplateDao; import com.enonic.cms.store.dao.PortletDao; import com.enonic.cms.store.dao.SiteDao; import com.enonic.cms.store.dao.UnitDao; import com.enonic.cms.store.dao.UserDao; import com.enonic.cms.store.dao.UserStoreDao; public abstract class BaseHandler { protected final VerticalDatabase db = VerticalDatabase.getInstance(); protected BaseEngine baseEngine; protected AdminConsoleTranslationService languageMap; // Services: @Autowired protected LogService logService; @Autowired protected ContentService contentService; private KeyService keyService; protected SecurityService securityService; // Daos: @Autowired protected BinaryDataDao binaryDataDao; @Autowired protected ContentBinaryDataDao contentBinaryDataDao; @Autowired protected ContentDao contentDao; @Autowired protected PortletDao portletDao; @Autowired protected CategoryDao categoryDao; @Autowired protected GroupDao groupDao; @Autowired protected LanguageDao languageDao; @Autowired protected MenuItemDao menuItemDao; @Autowired protected PageDao pageDao; @Autowired protected PageTemplateDao pageTemplateDao; @Autowired protected ResourceService resourceService; @Autowired protected SiteDao siteDao; @Autowired protected UserDao userDao; @Autowired protected UnitDao unitDao; @Autowired protected ContentTypeDao contentTypeDao; @Autowired protected UserStoreDao userStoreDao; @Autowired protected MemberOfResolver memberOfResolver; @Autowired protected SessionFactory sessionFactory; public BaseHandler() { } @Autowired public void setBaseEngine( PresentationEngine value ) { this.baseEngine = value; } @Autowired public void setAdminConsoleTranslationService( AdminConsoleTranslationService languageMap ) { this.languageMap = languageMap; } @Autowired public void setKeyService( KeyService value ) { this.keyService = value; } @Autowired public void setSecurityService( SecurityService service ) { securityService = service; } protected final ContentHandler getContentHandler() { return baseEngine.getContentHandler(); } protected final CommonHandler getCommonHandler() { return baseEngine.getCommonHandler(); } protected final ContentObjectHandler getContentObjectHandler() { return baseEngine.getContentObjectHandler(); } protected final GroupHandler getGroupHandler() { return baseEngine.getGroupHandler(); } protected final LanguageHandler getLanguageHandler() { return baseEngine.getLanguageHandler(); } protected final MenuHandler getMenuHandler() { return baseEngine.getMenuHandler(); } protected final PageHandler getPageHandler() { return baseEngine.getPageHandler(); } protected final PageTemplateHandler getPageTemplateHandler() { return baseEngine.getPageTemplateHandler(); } protected final SectionHandler getSectionHandler() { return baseEngine.getSectionHandler(); } protected final SecurityHandler getSecurityHandler() { return baseEngine.getSecurityHandler(); } protected final UserHandler getUserHandler() { return baseEngine.getUserHandler(); } protected final void close( ResultSet resultSet ) { baseEngine.close( resultSet ); } protected final void close( Statement stmt ) { baseEngine.close( stmt ); } protected final Connection getConnection() throws SQLException { return baseEngine.getConnection(); } public final int getNextKey( String tableName ) { return keyService.generateNextKeySafe( tableName ); } public final int getNextKey( Table table ) { return keyService.generateNextKeySafe( table.getName() ); } public String expandSQLStatement( String statement, StringBuffer object ) { final StringBuffer string = new StringBuffer( statement ); final int index = statement.indexOf( "%0" ); if ( index >= 0 ) { string.replace( index, index + 2, object.toString() ); } return string.toString(); } }