|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.AbstractMap<K,V> java.util.HashMap<java.lang.String,java.lang.Object> velosurf.context.DBReference velosurf.web.VelosurfTool
public class VelosurfTool
This class is a tool meant to be referenced in toolbox.xml (VelocityTools View 1.4) or tools.xml (VelocityTools View 2.0+)
It can be used in any scope you want (application/session/request), depending on the behaviour you need for the refinement and ordering mechanisms (which will follow the same scope). The initialization itself is very fast once all static initialization has been done, so there is no performance bottleneck when using request scope.
You can have several instances of VelosurfTool, each with a distinct model configuration file. This can be useful to have one instance per schema, or one instance per database if dealing with several databases.
For this to work, you have to use velocity-tools v1.3+, and give each instance the pathname of its configuration file via the 'config' parameter in the toolbox.xml file, like this for velocity-tools prior to 2.0:
<!-- first instance --> <tool> <key>db1</key> <scope>request</scope> <class>velosurf.tools.VelosurfTool</scope> <parameter name="config" value="WEB-INF/db1.xml" /> </tool> <!-- second instance --> <tool> <key>db2</key> <scope>request</scope> <class>velosurf.tools.VelosurfTool</scope> <parameter name="config" value="WEB-INF/db2.xml" /> </tool>
And like this for velocity-tools v2.0+ :
<toolbox scope="request"> <!-- first instance --> <tool key="db1" class="velosurf.tools.VelosurfTool" config="WEB-INF/db1.xml"/> <!-- second instance --> <tool key="db2" class="velosurf.tools.VelosurfTool" config="WEB-INF/db2.xml"/> </toolbox>
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.util.AbstractMap |
---|
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Field Summary | |
---|---|
private java.lang.String |
configFile
path to the config file. |
private static java.util.Map<java.lang.String,Database> |
dbMap
database connections. |
private static java.lang.String |
DEFAULT_CONFIG_FILE
default database config file. |
private static boolean |
fetchLocalizer
do we need to try to fetch the localizer object? True initially, false after one unsuccessful try. |
private static java.lang.String |
OLD_DEFAULT_CONFIG_FILE
old default database config file. |
private static java.lang.String |
TOOLBOX_CONFIG_FILE_KEY
key used in the toolbox (toolbox.xml) to set the name of the config file. |
private static java.lang.String |
TOOLBOX_CONFIG_FILE_KEY2
alternate key for the toolbox |
private static java.lang.String |
WEBAPP_CONFIG_FILE_KEY
key used in the deployment descriptor (web.xml) to set the name of the config file. |
private static java.lang.String |
WEBAPP_CONFIG_FILE_KEY2
alternate webapp key |
Fields inherited from class velosurf.context.DBReference |
---|
db |
Constructor Summary | |
---|---|
VelosurfTool()
build a new VelosurfTool. |
Method Summary | |
---|---|
void |
configure(java.util.Map<java.lang.String,java.lang.String> map)
configure. |
(package private) static java.lang.String |
findConfigFile(javax.servlet.ServletContext ctx)
Tries to find the configuration file. |
protected static Database |
getConnection(java.lang.String configFile)
return the existing Database for the specified config file, or null if it isn't already open. |
protected static Database |
getConnection(java.lang.String configFile,
javax.servlet.ServletContext servletContext)
return the existing Database for the specified config file and servlet context, or null if an error occurs. |
protected static Database |
getDefaultConnection()
return the existing Database for the default config file, or null if it does not already exist. |
protected static Database |
getDefaultConnection(javax.servlet.ServletContext servletContext)
return the existing Database for the default config file and servlet context, or null if an error occurs. |
static DBReference |
getDefaultInstance()
return a db reference the existing Database for the default config file, or null if it does not already exist. |
static DBReference |
getDefaultInstance(javax.servlet.ServletContext servletContext)
return a db reference on the existing Database for the default config file or null if an error occurs. |
static DBReference |
getInstance(java.lang.String configFile)
return a db reference on the existing Database for the specified config file, or null if it isn't already open. |
static DBReference |
getInstance(java.lang.String configFile,
javax.servlet.ServletContext servletContext)
return a db reference on the existing Database for the specified config file and servlet context, or null if an error occurs. |
void |
init(java.lang.Object viewContext)
Initialize this instance using the given ViewContext. |
protected void |
initialize(javax.servlet.ServletContext ctx)
initialization from a servlet context |
Methods inherited from class velosurf.context.DBReference |
---|
deobfuscate, get, getEntity, getError, getSchema, getUserContext, getWithParams, init, obfuscate, put, setUserContext, toString |
Methods inherited from class java.util.HashMap |
---|
clear, clone, containsKey, containsValue, entrySet, isEmpty, keySet, putAll, remove, size, values |
Methods inherited from class java.util.AbstractMap |
---|
equals, hashCode |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
---|
equals, hashCode |
Field Detail |
---|
private static final java.lang.String WEBAPP_CONFIG_FILE_KEY
private static final java.lang.String WEBAPP_CONFIG_FILE_KEY2
private static final java.lang.String TOOLBOX_CONFIG_FILE_KEY
private static final java.lang.String TOOLBOX_CONFIG_FILE_KEY2
private static final java.lang.String DEFAULT_CONFIG_FILE
private static final java.lang.String OLD_DEFAULT_CONFIG_FILE
private java.lang.String configFile
private static java.util.Map<java.lang.String,Database> dbMap
private static boolean fetchLocalizer
Constructor Detail |
---|
public VelosurfTool()
Method Detail |
---|
public void init(java.lang.Object viewContext) throws java.lang.Exception
viewContext
- initialization data
java.lang.Exception
static java.lang.String findConfigFile(javax.servlet.ServletContext ctx)
ctx
- servelt context
protected void initialize(javax.servlet.ServletContext ctx)
public void configure(java.util.Map<java.lang.String,java.lang.String> map)
map
- parametersprotected static Database getConnection(java.lang.String configFile)
configFile
-
public static DBReference getInstance(java.lang.String configFile)
configFile
-
protected static Database getConnection(java.lang.String configFile, javax.servlet.ServletContext servletContext)
configFile
-
public static DBReference getInstance(java.lang.String configFile, javax.servlet.ServletContext servletContext)
configFile
-
protected static Database getDefaultConnection()
public static DBReference getDefaultInstance()
protected static Database getDefaultConnection(javax.servlet.ServletContext servletContext)
public static DBReference getDefaultInstance(javax.servlet.ServletContext servletContext)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |