From 2916432e9040da6f7d5c1fea108a1231d4a09fa6 Mon Sep 17 00:00:00 2001 From: Abhi Bavishi Date: Mon, 15 Jun 2015 20:02:47 +0530 Subject: [PATCH] Removed the files for new PR request --- .../com/baeldung/multitenancy/MTConfig.java | 63 ----------- .../baeldung/multitenancy/entities/Book.java | 19 ---- ...urrentSessionTenantIdentifierResolver.java | 33 ------ .../implementation/SessionFactoryBean.java | 50 --------- .../SimpleMultiTenantConnectionProvider.java | 35 ------ .../service/MultiTenantService.java | 38 ------- .../resources/applicationContext.xml | 105 ------------------ .../resources/database.properties | 1 - 8 files changed, 344 deletions(-) delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/MTConfig.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/entities/Book.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/CurrentSessionTenantIdentifierResolver.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SessionFactoryBean.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SimpleMultiTenantConnectionProvider.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/service/MultiTenantService.java delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/resources/applicationContext.xml delete mode 100644 spring-all/src/main/java/org/baeldung/multi-tenancy/resources/database.properties diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/MTConfig.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/MTConfig.java deleted file mode 100644 index 223d35bf5a..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/MTConfig.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.baeldung.multitenancy; - -import org.hibernate.tool.hbm2ddl.SchemaExport; -import com.baeldung.multitenancy.implementation; -import javax.sql.DataSource; -import java.io.IOException; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Map; -import org.apache.log4j.Logger; - - - -@Configuration -public class MTConfig { - - @Bean - public SessionFactoryBean sessionFactory(Map dataSourceMap, DataSource dataSource){ - - SessionFactoryBean sf = new SessionFactoryBean(); - sf.setDataSourceMap(dataSourceMap); - sf.setDataSource(dataSource); - - try{ - Properties prop = new Properties(); - prop.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); - prop.setProperty("hibernate.show_sql", "true"); - prop.setProperty("hibernate.multiTenancy", "DATABASE"); - prop.setProperty("hibernate.tenant_identifier_resolver", "currentSessionTenantIdentifierResolver"); - prop.setProperty("hibernate.multi_tenant_connection_provider", "simpleMultiTenantConnectionProvider"); - - sf = new AnnotationConfiguration().setProperties(prop).configure().buildSessionFactory(); - return sf; - - } catch (Throwable ex) { - logger.error("Failed to load the SessionFactory: " , ex); - throw new ExceptionInInitializerError(ex); - } - - } - - @Bean(name = "currentSessionTenantIdentifierResolver") - @Scope("request", proxyMode = ScopedProxyMode.INTERFACES) - public CurrentSessionTenantIdentifierResolver currentSessionTenantIdentifierResolver(){ - - CurrentSessionTenantIdentifierResolver cstir = new CurrentSessionTenantIdentifierResolver(); - return cstir; - - } - - @Bean(name = "simpleMultiTenantConnectionProvider") - public SimpleMultiTenantConnectionProvider simpleMultiTenantConnectionProvider(Map dataSourceMap){ - - SimpleMultiTenantConnectionProvider smtcp = new SimpleMultiTenantConnectionProvider(); - smtcp.setDataSourceMap(dataSourceMap); - return cstir; - - } - - - - -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/entities/Book.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/entities/Book.java deleted file mode 100644 index 88cfda8013..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/entities/Book.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.baeldung.multitenancy.entities; - -import javax.persistence.*; -import javax.validation.constraints.NotNull; - -@Entity -public class Book { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - @Column(name = "id") - Long id; - - @NotNull - @Column(name = "name") - String name; - - // standard getters and setters -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/CurrentSessionTenantIdentifierResolver.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/CurrentSessionTenantIdentifierResolver.java deleted file mode 100644 index 41eddcd291..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/CurrentSessionTenantIdentifierResolver.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.baeldung.multitenancy.implementation; - -import org.hibernate.context.spi.CurrentTenantIdentifierResolver; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.servlet.http.HttpServletRequest; -import java.text.MessageFormat; - -/** - * CurrentSessionTenantIdentifierResolver-- here we fetch the tenantId from the request. - * User: baeldung - * Date: 9/06/15 - */ - -public class CurrentSessionTenantIdentifierResolver implements CurrentTenantIdentifierResolver { - - @Autowired - private HttpServletRequest request; - - @Override - public String resolveCurrentTenantIdentifier() { - String tenantId = request.getHeader("X-TenantId"); - return tenantId; - } - - @Override - public boolean validateExistingCurrentSessions() { - // Additional logic to ensure appropriate connections are made. - return false; - } -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SessionFactoryBean.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SessionFactoryBean.java deleted file mode 100644 index 48b371d9ae..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SessionFactoryBean.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.baeldung.multitenancy.implementation; - -import org.hibernate.tool.hbm2ddl.SchemaExport; - -import javax.sql.DataSource; -import java.io.IOException; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Map; - -/** - * Created with IntelliJ IDEA. - * User: vtajzich - * Date: 8/21/13 - */ -public class SessionFactoryBean extends org.springframework.orm.hibernate4.LocalSessionFactoryBean { - - private Map dataSourceMap; - - @Override - public void afterPropertiesSet() throws IOException { - super.afterPropertiesSet(); - - for (Map.Entry entry : dataSourceMap.entrySet()) { - - Connection connection = null; - - try { - - connection = entry.getValue().getConnection(); - - SchemaExport export = new SchemaExport(getConfiguration(), connection); - - export.setOutputFile(entry.getKey() + "-schema.sql"); - export.setDelimiter(";"); - - // define your rules, here. - //The below code allows creation, but does not allow dropping entries - export.execute(true, true, false, true); - - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - } - - public void setDataSourceMap(Map dataSourceMap) { - this.dataSourceMap = dataSourceMap; - } -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SimpleMultiTenantConnectionProvider.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SimpleMultiTenantConnectionProvider.java deleted file mode 100644 index b83f42d1ca..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/implementation/SimpleMultiTenantConnectionProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.baeldung.multitenancy.implementation; - -import org.hibernate.service.jdbc.connections.spi.AbstractDataSourceBasedMultiTenantConnectionProviderImpl; - -import javax.sql.DataSource; -import java.util.Map; - -/** - * CurrentSessionTenantIdentifierResolver-- here we fetch the DB conection for the given tenantIdentifier. - * User: baeldung - * Date: 9/06/15 - */ - -public class SimpleMultiTenantConnectionProvider extends AbstractDataSourceBasedMultiTenantConnectionProviderImpl { - - private Map dataSourceMap; - - @Override - protected DataSource selectAnyDataSource() { - return (DataSource) dataSourceMap.values().toArray()[0]; - } - - @Override - protected DataSource selectDataSource(String tenantIdentifier) { - return dataSourceMap.get(tenantIdentifier); - } - - public Map getDataSourceMap() { - return dataSourceMap; - } - - public void setDataSourceMap(Map dataSourceMap) { - this.dataSourceMap = dataSourceMap; - } -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/service/MultiTenantService.java b/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/service/MultiTenantService.java deleted file mode 100644 index a9e14f4144..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/java/com/baeldung/multitenancy/service/MultiTenantService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.baeldung.multitenancy.service; - -import com.baeldung.multitenancy.entities.Book; -import org.hibernate.SessionFactory; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * MultitenantService-- we use the SessionFactory to save and fetch entities. - * User: baeldung - * Date: 9/06/15 - */ - -@Service -public class MultiTenantService { - - @AutoWired - private SessionFactory sessionFactory; - - public void save(Book book) { - sessionFactory.getCurrentSession().save(book); - } - - public Book findBook(Long id) { - return (Book) sessionFactory. - getCurrentSession().get(Book.class, id); - } - - public List findAllBooks() { - return sessionFactory. - getCurrentSession().createQuery("from Books").list(); - } - - public void setSessionFactory(SessionFactory sessionFactory){ - this.sessionFactory = sessionFactory; - } -} diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/applicationContext.xml b/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/applicationContext.xml deleted file mode 100644 index dfdd2bd346..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/applicationContext.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/database.properties b/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/database.properties deleted file mode 100644 index 8e7cdcbf54..0000000000 --- a/spring-all/src/main/java/org/baeldung/multi-tenancy/resources/database.properties +++ /dev/null @@ -1 +0,0 @@ -database.driverClassName=com.mysql.jdbc.Driver