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/19 03:29:12 UTC
svn commit: r548545 -
/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java
Author: snoopdave
Date: Mon Jun 18 18:29:11 2007
New Revision: 548545
URL: http://svn.apache.org/viewvc?view=rev&rev=548545
Log:
Oops, wasn't ready to commit that yet
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java
Modified: roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java
URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java?view=diff&rev=548545&r1=548544&r2=548545
==============================================================================
--- roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java (original)
+++ roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/core/filters/BootstrapFilter.java Mon Jun 18 18:29:11 2007
@@ -33,7 +33,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.roller.RollerException;
import org.apache.roller.weblogger.business.DatabaseProvider;
-import org.apache.roller.weblogger.business.RollerFactory;
+
import org.apache.roller.weblogger.config.RollerConfig;
import org.apache.roller.weblogger.business.utils.DatabaseCreator;
import org.apache.roller.weblogger.business.utils.DatabaseUpgrader;
@@ -58,23 +58,51 @@
log.debug("Entered "+request.getRequestURI());
- if ("auto".equals(RollerConfig.getProperty("installation.type"))) {
+ if ("auto".equals(RollerConfig.getProperty("installation.type"))) {
+
// an auto-install is in progress, do some checks and if necessary
// redirect to error, db create or db upgrade page
// only do this if Roller is configured for auto-install and
- // only if request is NOT for install page or a style/script file
+ // only if request is NOT for install page or a style/script file
+
String requestURI = request.getRequestURI();
if ( requestURI != null
&& !requestURI.startsWith("/roller/roller-ui/install")
&& !requestURI.endsWith(".js")
&& !requestURI.endsWith(".css")) {
-
- if (RollerFactory.isBootstrapped()) {
- // we doing an install, so forward to installer
+
+ // if cannot connect to database
+ try {
+ DatabaseProvider dp = DatabaseProvider.getDatabaseProvider();
+ } catch (RollerException e) {
+ // we doing an install, so forward to informative database error page
RequestDispatcher rd =
- context.getRequestDispatcher("/roller-ui/install/installer.rol");
+ context.getRequestDispatcher("/roller-ui/install/databaseError.rol");
rd.forward(req, res);
+ return;
+ }
+
+ // if installation type 'auto' then check if upgrade required
+ try {
+ if (DatabaseCreator.isCreationRequired()) {
+ // forward to database create page
+ RequestDispatcher rd = context.getRequestDispatcher(
+ "/roller-ui/install/createDatabase.rol");
+ rd.forward(req, res);
+ return;
+ }
+ if (DatabaseUpgrader.isUpgradeRequired()) {
+ // forward to database upgrade page
+ RequestDispatcher rd = context.getRequestDispatcher(
+ "/roller-ui/install/upgradeDatabase.rol");
+ rd.forward(req, res);
+ return;
+ }
+ } catch (Throwable t) {
+ // Exception at this point indicates something is
+ // horribly wrong and there is no way to recover.
+ throw new RuntimeException("FATAL error checking database status", t);
}
}
}