1 18 21 package org.apache.roller.business.hibernate; 22 23 import org.apache.commons.logging.Log; 24 import org.apache.commons.logging.LogFactory; 25 import org.apache.roller.RollerException; 26 import org.apache.roller.business.RollerImpl; 27 import org.apache.roller.model.BookmarkManager; 28 import org.apache.roller.model.ConfigManager; 29 import org.apache.roller.model.AutoPingManager; 30 import org.apache.roller.model.PingQueueManager; 31 import org.apache.roller.model.PingTargetManager; 32 import org.apache.roller.model.PlanetManager; 33 import org.apache.roller.model.PropertiesManager; 34 import org.apache.roller.model.RefererManager; 35 import org.apache.roller.model.Roller; 36 import org.apache.roller.model.UserManager; 37 import org.apache.roller.model.WeblogManager; 38 39 40 43 public class HibernateRollerImpl extends RollerImpl { 44 45 static final long serialVersionUID = 5256135928578074652L; 46 47 private static Log mLogger = LogFactory.getLog(HibernateRollerImpl.class); 48 49 private static HibernateRollerImpl me = null; 51 52 private HibernatePersistenceStrategy strategy = null; 54 55 private BookmarkManager bookmarkManager = null; 57 private ConfigManager configManager = null; 58 private PropertiesManager propertiesManager = null; 59 private PlanetManager planetManager = null; 60 private RefererManager refererManager = null; 61 private UserManager userManager = null; 62 private WeblogManager weblogManager = null; 63 private PingQueueManager pingQueueManager = null; 64 private AutoPingManager autoPingManager = null; 65 private PingTargetManager pingTargetManager = null; 66 67 68 protected HibernateRollerImpl() throws RollerException { 69 try { 70 strategy = new HibernatePersistenceStrategy(); 71 } catch(Throwable t) { 72 mLogger.fatal("Error initializing Hibernate", t); 74 throw new RollerException(t); 75 } 76 } 77 78 79 82 public static Roller instantiate() throws RollerException { 83 if (me == null) { 84 mLogger.debug("Instantiating HibernateRollerImpl"); 85 me = new HibernateRollerImpl(); 86 } 87 88 return me; 89 } 90 91 92 public void flush() throws RollerException { 93 this.strategy.flush(); 94 } 95 96 97 public void release() { 98 99 if (bookmarkManager != null) bookmarkManager.release(); 101 if (configManager != null) configManager.release(); 102 if (refererManager != null) refererManager.release(); 103 if (userManager != null) userManager.release(); 104 if (weblogManager != null) weblogManager.release(); 105 if (pingTargetManager != null) pingTargetManager.release(); 106 if (pingQueueManager != null) pingQueueManager.release(); 107 if (autoPingManager != null) autoPingManager.release(); 108 109 this.strategy.release(); 111 112 super.release(); 114 } 115 116 117 public void shutdown() { 118 119 this.release(); 121 122 super.shutdown(); 124 } 125 126 127 130 public UserManager getUserManager() throws RollerException { 131 if ( userManager == null ) { 132 userManager = new HibernateUserManagerImpl(strategy); 133 } 134 return userManager; 135 } 136 137 140 public BookmarkManager getBookmarkManager() throws RollerException { 141 if ( bookmarkManager == null ) { 142 bookmarkManager = new HibernateBookmarkManagerImpl(strategy); 143 } 144 return bookmarkManager; 145 } 146 147 150 public WeblogManager getWeblogManager() throws RollerException { 151 if ( weblogManager == null ) { 152 weblogManager = new HibernateWeblogManagerImpl(strategy); 153 } 154 return weblogManager; 155 } 156 157 160 public RefererManager getRefererManager() throws RollerException { 161 if ( refererManager == null ) { 162 refererManager = new HibernateRefererManagerImpl(strategy); 163 } 164 return refererManager; 165 } 166 167 170 public ConfigManager getConfigManager() throws RollerException { 171 if (configManager == null) { 172 configManager = new HibernateConfigManagerImpl(strategy); 173 } 174 return configManager; 175 } 176 177 180 public PropertiesManager getPropertiesManager() throws RollerException { 181 if (propertiesManager == null) { 182 propertiesManager = new HibernatePropertiesManagerImpl(strategy); 183 } 184 return propertiesManager; 185 } 186 187 190 public PingQueueManager getPingQueueManager() throws RollerException { 191 if (pingQueueManager == null) { 192 pingQueueManager = new HibernatePingQueueManagerImpl(strategy); 193 } 194 return pingQueueManager; 195 } 196 197 200 public PlanetManager getPlanetManager() throws RollerException { 201 if ( planetManager == null ) { 202 planetManager = new HibernateRollerPlanetManagerImpl(strategy); 203 } 204 return planetManager; 205 } 206 207 208 211 public AutoPingManager getAutopingManager() throws RollerException { 212 if (autoPingManager == null) { 213 autoPingManager = new HibernateAutoPingManagerImpl(strategy); 214 } 215 return autoPingManager; 216 } 217 218 219 222 public PingTargetManager getPingTargetManager() throws RollerException { 223 if (pingTargetManager == null) { 224 pingTargetManager = new HibernatePingTargetManagerImpl(strategy); 225 } 226 return pingTargetManager; 227 } 228 229 } 230 | Popular Tags |