1 30 31 package it.businesslogic.ireport.connection; 32 33 import java.util.StringTokenizer ; 34 35 import org.hibernate.SessionFactory; 36 import org.springframework.context.ApplicationContext; 37 import org.springframework.context.support.ClassPathXmlApplicationContext; 38 39 45 46 public class JRSpringLoadedHibernateConnection extends JRHibernateConnection { 47 48 private final static String PROP_KEY_SPRING_CONFIG = "spring.loaded.hibernate.spring.config"; 49 private final static String PROP_KEY_SESSION_FACTORY_ID = "spring.loaded.hibernate.session.factory.id"; 50 51 private String springConfig = null; 52 private String sessionFactoryBeanId = null; 53 54 public String getDescription(){ return "Spring Loaded Hibernate connection"; } 55 56 57 public ApplicationContext getApplicationContext() { 58 59 StringTokenizer parser = new StringTokenizer (getSpringConfig(), ","); 60 String [] configs = new String [parser.countTokens()]; 61 int iCount = 0; 62 while (parser.hasMoreTokens()) { 63 configs[iCount++] = parser.nextToken(); 64 } 65 return new ClassPathXmlApplicationContext(configs); 66 } 67 68 public String getSessionFactoryBeanId() { 69 return sessionFactoryBeanId; 70 } 71 72 73 public void setSessionFactoryBeanId(String sessionFactoryBeanId) { 74 this.sessionFactoryBeanId = sessionFactoryBeanId; 75 } 76 77 78 public String getSpringConfig() { 79 return springConfig; 80 } 81 82 83 public void setSpringConfig(String springConfig) { 84 this.springConfig = springConfig; 85 } 86 87 public SessionFactory getSessionFactory() { 88 89 return (SessionFactory)getApplicationContext().getBean(getSessionFactoryBeanId()); 90 91 } 92 93 96 public java.util.HashMap getProperties() 97 { 98 java.util.HashMap map = new java.util.HashMap (); 99 map.put(PROP_KEY_SESSION_FACTORY_ID, getSessionFactoryBeanId()); 100 map.put(PROP_KEY_SPRING_CONFIG, getSpringConfig()); 101 return map; 102 } 103 104 public void loadProperties(java.util.HashMap map) 105 { 106 setSessionFactoryBeanId((String )map.get(PROP_KEY_SESSION_FACTORY_ID)); 107 setSpringConfig((String )map.get(PROP_KEY_SPRING_CONFIG)); 108 } 109 110 } 111 | Popular Tags |