You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/06/21 06:55:32 UTC
svn commit: r549367 - in /roller/branches/roller_guice:
apps/planet/src/java/org/apache/roller/planet/business/
apps/planet/src/java/org/apache/roller/planet/ui/core/
apps/planet/src/java/org/apache/roller/planet/ui/core/filters/
apps/weblogger/src/jav...
Author: snoopdave
Date: Wed Jun 20 21:55:30 2007
New Revision: 549367
URL: http://svn.apache.org/viewvc?view=rev&rev=549367
Log:
Tests passing, apps running. New install/bootstrap stuff now implemented in roller_guice branch. Got drawn into implementing probably more Planet bootstrapping than necessary to prove the concept.
Added:
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/InitializationException.java
Modified:
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/Roller.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerImpl.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManager.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/PersistenceSessionFilter.java
roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
roller/branches/roller_guice/tools/roller-core/roller-core.jar
roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar
Added: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/InitializationException.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/InitializationException.java?view=auto&rev=549367
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/InitializationException.java (added)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/InitializationException.java Wed Jun 20 21:55:30 2007
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License. For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+package org.apache.roller.planet.business;
+
+import org.apache.roller.planet.PlanetException;
+
+
+/**
+ * Exception generated from Weblogger initialization process.
+ */
+public class InitializationException extends PlanetException {
+
+ public InitializationException(String msg) {
+ super(msg);
+ }
+
+ public InitializationException(String msg, Throwable t) {
+ super(msg, t);
+ }
+
+}
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/business/PlanetFactory.java Wed Jun 20 21:55:30 2007
@@ -81,7 +81,7 @@
return bootstrapped;
}
- /**
+ /**
* Bootstrap the Roller Planet business tier.
*
* Bootstrapping the application effectively instantiates all the necessary
@@ -107,5 +107,44 @@
bootstrapped = true;
log.info("Roller Planet business tier successfully bootstrapped");
+ }
+
+ /**
+ * Initialize the Roller Planet business tier.
+ *
+ * Initialization is used to perform any logic that needs to happen only
+ * once after the application has been properly bootstrapped.
+ *
+ * @throws IllegalStateException If the app has not been bootstrapped yet.
+ * @throws InitializationException If there is an error during initialization.
+ */
+ public static final void initialize() throws InitializationException {
+
+ // TODO: this initialization process should probably be controlled by
+ // a more generalized application lifecycle event framework
+
+ if(!isBootstrapped()) {
+ throw new IllegalStateException("Cannot initialize until application has been properly bootstrapped");
+ }
+
+ log.info("Initializing Roller Planet business tier");
+
+ String urlStratClass = PlanetConfig.getProperty("urlstrategy.classname");
+ if(urlStratClass == null || urlStratClass.trim().length() < 1) {
+ throw new InitializationException("No URLStrategy configured!!!");
+ }
+
+ URLStrategy urlStrategy;
+ try {
+ Class stratClass = Class.forName(urlStratClass);
+ urlStrategy = (URLStrategy) stratClass.newInstance();
+ } catch (Throwable ex) {
+ throw new InitializationException("Error instantiating URL strategy: " + urlStratClass);
+ }
+
+ // plug it in
+ PlanetFactory.getPlanet().setURLStrategy(urlStrategy);
+
+ log.info("Roller Weblogger business tier successfully initialized");
}
}
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java Wed Jun 20 21:55:30 2007
@@ -24,11 +24,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.planet.PlanetException;
-import org.apache.roller.planet.business.FeedFetcher;
-import org.apache.roller.planet.business.Planet;
+import org.apache.roller.planet.business.BootstrapException;
import org.apache.roller.planet.business.PlanetFactory;
-import org.apache.roller.planet.business.URLStrategy;
-import org.apache.roller.planet.config.PlanetConfig;
+import org.apache.roller.planet.business.startup.PlanetStartup;
+import org.apache.roller.planet.business.startup.StartupException;
import org.springframework.web.context.ContextLoaderListener;
@@ -75,22 +74,35 @@
// because listeners don't initialize in the order specified in
// 2.3 containers
super.contextInitialized(sce);
-
+
+ // Now prepare the core services of the app so we can bootstrap
try {
- // always upgrade database first
- upgradeDatabaseIfNeeded();
-
- Planet planet = PlanetFactory.getPlanet();
-
- setupRuntimeProperties();
- setupURLStrategy();
-
- planet.flush();
- planet.release();
-
- } catch (Throwable t) {
- log.fatal("Roller Planet initialization failed", t);
- throw new RuntimeException(t);
+ PlanetStartup.prepare();
+ } catch (StartupException ex) {
+ log.fatal("Roller Planet startup failed during app preparation", ex);
+ return;
+ }
+
+ // if preparation failed or is incomplete then we are done,
+ // otherwise try to bootstrap the business tier
+ if (!PlanetStartup.isPrepared()) {
+ log.info("Roller Planet startup requires interaction from user to continue");
+ } else {
+ try {
+ // trigger bootstrapping process
+ PlanetFactory.bootstrap();
+
+ // trigger initialization process
+ PlanetFactory.initialize();
+
+ // flush any changes made during initialization
+ PlanetFactory.getPlanet().flush();
+
+ } catch (BootstrapException ex) {
+ log.fatal("Roller PlanetFactory bootstrap failed", ex);
+ } catch (PlanetException ex) {
+ log.fatal("Roller PlanetFactory initialization failed", ex);
+ }
}
log.info("Roller Planet Initialization Complete");
@@ -103,44 +115,4 @@
public void contextDestroyed(ServletContextEvent sce) {
PlanetFactory.getPlanet().shutdown();
}
-
-
- private void setupRuntimeProperties() {
- // init property manager by loading it
- PlanetFactory.getPlanet().getPropertiesManager();
- }
-
-
- /**
- * Lookup configured URLStrategy from config and plug it in.
- *
- * If no URLStrategy can be configured then we bail and spew errors.
- */
- private void setupURLStrategy() throws Exception {
-
- String urlStratClass = PlanetConfig.getProperty("urlstrategy.classname");
- if(urlStratClass == null || urlStratClass.trim().length() < 1) {
- throw new Exception("No URLStrategy configured!!!");
- }
-
- Class stratClass = Class.forName(urlStratClass);
- URLStrategy urlStrategy = (URLStrategy) stratClass.newInstance();
-
- // plug it in
- PlanetFactory.getPlanet().setURLStrategy(urlStrategy);
- }
-
- private void upgradeDatabaseIfNeeded() throws PlanetException {
-
-// try {
-// Connection con = // get connection somehow
-// UpgradeDatabase.upgradeDatabase(con, RollerFactory.getRoller().getVersion());
-// con.close();
-// } catch (NamingException e) {
-// log.warn("Unable to access DataSource", e);
-// } catch (SQLException e) {
-// log.warn(e);
-// }
- }
-
}
Modified: roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java (original)
+++ roller/branches/roller_guice/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java Wed Jun 20 21:55:30 2007
@@ -58,7 +58,9 @@
chain.doFilter(request, response);
} finally {
log.debug("Releasing Planet Session");
- planet.release();
+ if (PlanetFactory.isBootstrapped()) {
+ PlanetFactory.getPlanet().release();
+ }
}
log.debug("Exiting PersistenceSessionFilter");
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/Roller.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/Roller.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/Roller.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/Roller.java Wed Jun 20 21:55:30 2007
@@ -18,8 +18,10 @@
package org.apache.roller.weblogger.business;
-import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.plugins.PluginManager;
+import java.io.Serializable;
+import java.sql.Connection;
+import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.pings.AutoPingManager;
import org.apache.roller.weblogger.business.pings.PingQueueManager;
import org.apache.roller.weblogger.business.pings.PingTargetManager;
@@ -133,16 +135,9 @@
/**
- * Initialize any resources necessary for this instance of Roller.
- */
- public void initialize() throws InitializationException;
-
-
- /**
* Release all resources necessary for this instance of Roller.
*/
public void shutdown();
-
/** Roller version */
public String getVersion();
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerFactory.java Wed Jun 20 21:55:30 2007
@@ -18,13 +18,13 @@
package org.apache.roller.weblogger.business;
-import com.google.inject.Binder;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.business.startup.WebloggerStartup;
+import org.apache.roller.weblogger.config.PingConfig;
import org.apache.roller.weblogger.config.RollerConfig;
@@ -35,6 +35,9 @@
private static final Log log = LogFactory.getLog(RollerFactory.class);
+ // have we been bootstrapped yet?
+ private static boolean bootstrapped = false;
+
// a reference to the bootstrapped Roller instance
private static Roller rollerInstance = null;
@@ -64,7 +67,7 @@
* True if bootstrap process was completed, False otherwise.
*/
public static boolean isBootstrapped() {
- return (rollerInstance != null);
+ return bootstrapped;
}
@@ -75,9 +78,10 @@
* @throws IllegalStateException If the app has not been properly bootstrapped yet.
*/
public static final Roller getRoller() {
- if(rollerInstance == null) {
+ if (rollerInstance == null) {
throw new IllegalStateException("Roller Weblogger has not been bootstrapped yet");
- }
+ }
+
return rollerInstance;
}
@@ -109,11 +113,71 @@
}
log.info("Bootstrapping Roller Weblogger business tier");
-
- // do the invocation
+
rollerInstance = injector.getInstance(Roller.class);
-
+
+ // note that we've now been bootstrapped
+ bootstrapped = true;
+
log.info("Roller Weblogger business tier successfully bootstrapped");
}
+
+
+ /**
+ * Initialize the Roller Weblogger business tier.
+ *
+ * Initialization is used to perform any logic that needs to happen only
+ * once after the application has been properly bootstrapped.
+ *
+ * @throws IllegalStateException If the app has not been bootstrapped yet.
+ * @throws InitializationException If there is an error during initialization.
+ */
+ public static final void initialize() throws InitializationException {
+
+ // TODO: this initialization process should probably be controlled by
+ // a more generalized application lifecycle event framework
+
+ if(!isBootstrapped()) {
+ throw new IllegalStateException("Cannot initialize until application has been properly bootstrapped");
+ }
+
+ log.info("Initializing Roller Weblogger business tier");
+
+ try {
+
+ Roller roller = getRoller();
+
+ // Now that Roller has been bootstrapped, initialize individual managers
+ roller.getPropertiesManager().initialize();
+ roller.getIndexManager().initialize();
+ roller.getThemeManager().initialize();
+
+ // And this will schedule all configured tasks
+ roller.getThreadManager().startTasks();
+
+ // Initialize ping systems
+ // Initialize common targets from the configuration
+ PingConfig.initializeCommonTargets();
+
+ // Initialize ping variants
+ PingConfig.initializePingVariants();
+
+ // Remove custom ping targets if they have been disallowed
+ if (PingConfig.getDisallowCustomTargets()) {
+ log.info("Custom ping targets have been disallowed. Removing any existing custom targets.");
+ RollerFactory.getRoller().getPingTargetManager().removeAllCustomPingTargets();
+ }
+
+ // Remove all autoping configurations if ping usage has been disabled.
+ if (PingConfig.getDisablePingUsage()) {
+ log.info("Ping usage has been disabled. Removing any existing auto ping configurations.");
+ RollerFactory.getRoller().getAutopingManager().removeAllAutoPings();
+ }
+ } catch (Throwable t) {
+ throw new InitializationException("Error initializing ping systems", t);
+ }
+
+ log.info("Roller Weblogger business tier successfully initialized");
+ }
}
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerImpl.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerImpl.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/RollerImpl.java Wed Jun 20 21:55:30 2007
@@ -239,56 +239,7 @@
}
}
-
- /**
- * @inheritDoc
- */
- public void initialize() throws InitializationException {
-
- mLogger.info("Initializing Roller Weblogger business tier");
-
- // TODO: this should probably be done in a more uniform fashion, possibly
- // using annotations? biggest issue is controlling ordering
- getPropertiesManager().initialize();
- getThemeManager().initialize();
- getThreadManager().initialize();
- getIndexManager().initialize();
-
- try {
- // Initialize ping systems
- // TODO: this should probably be moving inside ping manager initialize() methods?
-
- // Initialize common targets from the configuration
- PingConfig.initializeCommonTargets();
-
- // Initialize ping variants
- PingConfig.initializePingVariants();
-
- // Remove custom ping targets if they have been disallowed
- if (PingConfig.getDisallowCustomTargets()) {
- mLogger.info("Custom ping targets have been disallowed. Removing any existing custom targets.");
- RollerFactory.getRoller().getPingTargetManager().removeAllCustomPingTargets();
- }
-
- // Remove all autoping configurations if ping usage has been disabled.
- if (PingConfig.getDisablePingUsage()) {
- mLogger.info("Ping usage has been disabled. Removing any existing auto ping configurations.");
- RollerFactory.getRoller().getAutopingManager().removeAllAutoPings();
- }
- } catch (Throwable t) {
- throw new InitializationException("Error initializing ping systems", t);
- }
-
- // we always need to do a flush after initialization because it's
- // possible that some changes need to be persisted
- try {
- flush();
- } catch(WebloggerException ex) {
- throw new InitializationException("Error flushing after initialization", ex);
- }
-
- mLogger.info("Roller Weblogger business tier successfully initialized");
- }
+
public void shutdown() {
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManager.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManager.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManager.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManager.java Wed Jun 20 21:55:30 2007
@@ -19,7 +19,6 @@
package org.apache.roller.weblogger.business.runnable;
import java.util.Date;
-import org.apache.roller.weblogger.business.InitializationException;
/**
@@ -31,11 +30,9 @@
/**
- * Initialize the thread management system.
- *
- * @throws InitializationException If there is a problem during initialization.
+ * Schedule execution of all configured tasks.
*/
- public void initialize() throws InitializationException;
+ public void startTasks();
/**
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java Wed Jun 20 21:55:30 2007
@@ -19,6 +19,7 @@
package org.apache.roller.weblogger.business.runnable;
import java.util.Date;
+import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
@@ -27,7 +28,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.InitializationException;
import org.apache.roller.weblogger.config.RollerConfig;
@@ -50,8 +50,7 @@
serviceScheduler = Executors.newScheduledThreadPool(10);
}
-
- public void initialize() throws InitializationException {
+ public void startTasks() {
Date now = new Date();
@@ -85,10 +84,8 @@
log.error("Error instantiating task", ex);
}
}
- }
-
+ }
}
-
public void executeInBackground(Runnable runnable)
throws InterruptedException {
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManager.java Wed Jun 20 21:55:30 2007
@@ -46,10 +46,7 @@
/** Execute operation immediately */
public abstract void executeIndexOperationNow(final IndexOperation op);
-
- /** Init index manager by checking and rebuilding index */
- public void bootstrap();
-
+
/**
* Release all resources associated with Roller session.
*/
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java Wed Jun 20 21:55:30 2007
@@ -96,11 +96,7 @@
@com.google.inject.Inject
public IndexManagerImpl(Roller roller) {
this.roller = roller;
- }
-
- public void bootstrap() {
-
-
+
// check config to see if the internal search is enabled
String enabled = RollerConfig.getProperty("search.enabled");
if("false".equalsIgnoreCase(enabled))
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/RollerContext.java Wed Jun 20 21:55:30 2007
@@ -37,8 +37,8 @@
import org.apache.roller.weblogger.business.startup.StartupException;
import org.apache.roller.weblogger.config.RollerConfig;
import org.apache.roller.weblogger.business.RollerFactory;
-import org.apache.roller.planet.business.Planet;
import org.apache.roller.planet.business.PlanetFactory;
+import org.apache.roller.planet.business.startup.PlanetStartup;
import org.apache.roller.weblogger.business.startup.WebloggerStartup;
import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager;
import org.apache.roller.weblogger.ui.core.plugins.UIPluginManagerImpl;
@@ -110,7 +110,7 @@
// Now prepare the core services of the app so we can bootstrap
- try {
+ try {
WebloggerStartup.prepare();
} catch (StartupException ex) {
log.fatal("Roller Weblogger startup failed during app preparation", ex);
@@ -128,7 +128,10 @@
RollerFactory.bootstrap();
// trigger initialization process
- RollerFactory.getRoller().initialize();
+ RollerFactory.initialize();
+
+ // flush any changes made during initialization
+ RollerFactory.getRoller().flush();
} catch (BootstrapException ex) {
log.fatal("Roller Weblogger bootstrap failed", ex);
@@ -139,11 +142,21 @@
// Initialize Planet if necessary
if (RollerFactory.isBootstrapped()) {
if (RollerConfig.getBooleanProperty("planet.aggregator.enabled")) {
+
+ // Now prepare the core services of planet so we can bootstrap it
+ try {
+ PlanetStartup.prepare();
+ } catch (Throwable ex) {
+ log.fatal("Roller Planet startup failed during app preparation", ex);
+ return;
+ }
+
try {
- Planet planet = PlanetFactory.getPlanet();
- PlanetFactory.getPlanet().getPropertiesManager();
- planet.flush();
- planet.release();
+ // trigger planet bootstrapping process
+ PlanetFactory.bootstrap();
+
+ // flush any changes made during initialization
+ PlanetFactory.getPlanet().flush();
} catch (Throwable t) {
log.fatal("Roller Planet initialization failed", t);
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/PersistenceSessionFilter.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/PersistenceSessionFilter.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/PersistenceSessionFilter.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/PersistenceSessionFilter.java Wed Jun 20 21:55:30 2007
@@ -65,9 +65,7 @@
// if planet is enabled then release planet backend as well
if (RollerConfig.getBooleanProperty("planet.aggregator.enabled")) {
- // TODO: once planet uses same lifecycle options as weblogger
- // then this should be updated to if(PlanetFactory.isBootstrapped())
- if (PlanetFactory.getPlanet() != null) {
+ if (PlanetFactory.isBootstrapped()) {
PlanetFactory.getPlanet().release();
}
}
Modified: roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/core/Install.java?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
--- roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/core/Install.java (original)
+++ roller/branches/roller_guice/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/core/Install.java Wed Jun 20 21:55:30 2007
@@ -126,7 +126,10 @@
RollerFactory.bootstrap();
// trigger initialization process
- RollerFactory.getRoller().initialize();
+ RollerFactory.initialize();
+
+ // flush any changes made during initialization
+ RollerFactory.getRoller().flush();
return SUCCESS;
Modified: roller/branches/roller_guice/tools/roller-core/roller-core.jar
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/tools/roller-core/roller-core.jar?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
Binary files - no diff available.
Modified: roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar
URL: http://svn.apache.org/viewvc/roller/branches/roller_guice/tools/roller-planet/roller-planet-business.jar?view=diff&rev=549367&r1=549366&r2=549367
==============================================================================
Binary files - no diff available.