import java.util.Enumeration;\r
import java.util.Properties;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
-import org.hibernate.cache.CacheProvider;\r
-import org.hibernate.cache.NoCacheProvider;\r
+import org.hibernate.cache.internal.NoCachingRegionFactory;\r
+import org.hibernate.cache.spi.RegionFactory;\r
+import org.hibernate.cfg.Environment;\r
import org.springframework.beans.MutablePropertyValues;\r
import org.springframework.beans.factory.config.BeanDefinition;\r
import org.springframework.beans.factory.config.PropertiesFactoryBean;\r
private boolean showSql = false;\r
private boolean formatSql = false;\r
private boolean registerSearchListener = false;\r
- private Class<? extends CacheProvider> cacheProviderClass = NoCacheProvider.class;\r
+ private Class<? extends RegionFactory> cacheProviderClass = NoCachingRegionFactory.class;\r
\r
public static CdmDataSource NewInstance(DatabaseTypeEnum dbType, String server, String database, String username, String password){\r
return new CdmDataSource(dbType, server, database, -1, username, password, null, null, null);\r
/* (non-Javadoc)\r
* @see eu.etaxonomy.cdm.api.application.ICdmDataSource#getDatasourceBean()\r
*/\r
- @SuppressWarnings("unchecked")\r
public BeanDefinition getDatasourceBean(){\r
AbstractBeanDefinition bd = new RootBeanDefinition(dbType.getDataSourceClass());\r
//attributes\r
//properties\r
MutablePropertyValues props = new MutablePropertyValues();\r
Properties persistentProperties = getDatasourceProperties();\r
- Enumeration<String> keys = (Enumeration)persistentProperties.keys();\r
+ Enumeration<Object> keys = (Enumeration<Object>)persistentProperties.keys();\r
while (keys.hasMoreElements()){\r
String key = (String)keys.nextElement();\r
props.addPropertyValue(key, persistentProperties.getProperty(key));\r
+ Properties a = Environment.getProperties();\r
}\r
\r
bd.setPropertyValues(props);\r
boolean showSql = false;\r
boolean formatSql = false;\r
boolean registerSearchListener = false;\r
- Class<? extends CacheProvider> cacheProviderClass = NoCacheProvider.class;\r
+ Class<? extends RegionFactory> cacheProviderClass = NoCachingRegionFactory.class;\r
return getHibernatePropertiesBean(hbm2dll, showSql, formatSql, registerSearchListener, cacheProviderClass);\r
}\r
\r
/* (non-Javadoc)\r
* @see eu.etaxonomy.cdm.api.application.ICdmDataSource#getHibernatePropertiesBean(eu.etaxonomy.cdm.database.CdmPersistentDataSource.HBM2DDL, java.lang.Boolean, java.lang.Boolean, java.lang.Class)\r
*/\r
- public BeanDefinition getHibernatePropertiesBean(DbSchemaValidation hbm2dll, Boolean showSql, Boolean formatSql, Boolean registerSearchListener, Class<? extends CacheProvider> cacheProviderClass){\r
+ public BeanDefinition getHibernatePropertiesBean(DbSchemaValidation hbm2dll, Boolean showSql, Boolean formatSql, Boolean registerSearchListener, Class<? extends RegionFactory> cacheProviderClass){\r
//Hibernate default values\r
if (hbm2dll == null){\r
hbm2dll = this.hbm2dll;\r
Properties props = new Properties();\r
props.setProperty("hibernate.hbm2ddl.auto", hbm2dll.toString());\r
props.setProperty("hibernate.dialect", dbtype.getHibernateDialect());\r
- props.setProperty("hibernate.cache.provider_class", cacheProviderClass.getName());\r
+// OLD:props.setProperty("hibernate.cache.provider_class", cacheProviderClass.getName());\r
+ props.setProperty("hibernate.cache.region.factory_class", cacheProviderClass.getName());\r
props.setProperty("hibernate.show_sql", String.valueOf(showSql));\r
props.setProperty("hibernate.format_sql", String.valueOf(formatSql));\r
props.setProperty("hibernate.search.autoregister_listeners", String.valueOf(registerSearchListener));\r
return nomenclaturalCode;\r
}\r
\r
+ @Override\r
+ public String toString() {\r
+ if (StringUtils.isBlank(this.database)){\r
+ return super.toString();\r
+ }else{\r
+ String result = "DataSource<" + dbType.getConnectionString(this).replace(CdmUtils.Nz(password), "") + ">";\r
+ return result;\r
+ }\r
+ }\r
+ \r
+ \r
+\r
}\r
\r