Applications now create a site identifier at init time which can be used

to identify sites in the course of operating the application.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@405 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2001-11-01 01:02:20 +00:00
parent cf9dc555ca
commit 7e839ce429
2 changed files with 36 additions and 4 deletions
@@ -1,5 +1,5 @@
//
// $Id: Application.java,v 1.1 2001/10/31 09:44:22 mdb Exp $
// $Id: Application.java,v 1.2 2001/11/01 01:02:20 mdb Exp $
//
// samskivert library - useful routines for java programs
// Copyright (C) 2001 Michael Bayne
@@ -22,7 +22,9 @@ package com.samskivert.velocity;
import javax.servlet.ServletContext;
import com.samskivert.servlet.IndiscriminateSiteIdentifier;
import com.samskivert.servlet.MessageManager;
import com.samskivert.servlet.SiteIdentifier;
import com.samskivert.util.StringUtil;
/**
@@ -60,6 +62,15 @@ public class Application
return _msgmgr;
}
/**
* Returns the site identifier in effect for figuring out which site
* through which a user is making a request.
*/
public SiteIdentifier getSiteIdentifier ()
{
return _siteIdent;
}
/**
* If an application wishes to make use of the translation facilities
* provided by the message manager, it need only provide the path to
@@ -73,6 +84,17 @@ public class Application
return null;
}
/**
* Called to instantiate the site identifier that we'd like to use in
* this application. This will be an instance of {@link
* IndiscriminateSiteIdentifier} unless the derived application class
* overrides this method and creates something more to its liking.
*/
protected SiteIdentifier createSiteIdentifer (ServletContext ctx)
{
return new IndiscriminateSiteIdentifier();
}
/**
* A convenience function for translating messages.
*/
@@ -128,7 +150,7 @@ public class Application
* @param logicPkg the base package for all of the logic
* implementations for this application.
*/
public void preInit (String logicPkg)
public void preInit (ServletContext ctx, String logicPkg)
{
// remove any trailing dot
if (logicPkg.endsWith(".")) {
@@ -142,6 +164,9 @@ public class Application
if (bpath != null) {
_msgmgr = new MessageManager(bpath);
}
// create our site identifier
_siteIdent = createSiteIdentifer(ctx);
}
/**
@@ -162,6 +187,13 @@ public class Application
return _logicPkg + path;
}
/** The prefix that we use to generate fully qualified logic class
* names. */
protected String _logicPkg;
/** A reference to our message manager or null if we have none. */
protected MessageManager _msgmgr;
/** A reference to our site identifier. */
protected SiteIdentifier _siteIdent;
}
@@ -1,5 +1,5 @@
//
// $Id: DispatcherServlet.java,v 1.3 2001/10/31 11:07:55 mdb Exp $
// $Id: DispatcherServlet.java,v 1.4 2001/11/01 01:02:20 mdb Exp $
//
// samskivert library - useful routines for java programs
// Copyright (C) 2001 Michael Bayne
@@ -182,7 +182,7 @@ public class DispatcherServlet extends VelocityServlet
if (StringUtil.blank(logicPkg)) {
logicPkg = "";
}
_app.preInit(logicPkg);
_app.preInit(getServletContext(), logicPkg);
_app.init(getServletContext());
} catch (Throwable t) {