velosurf.tools
Class VelosurfTool

java.lang.Object
  extended byjava.util.AbstractMap
      extended byjava.util.HashMap
          extended byvelosurf.context.DBReference
              extended byvelosurf.tools.VelosurfTool
All Implemented Interfaces:
java.lang.Cloneable, org.apache.velocity.tools.view.tools.Configurable, DataAccessor, java.util.Map, java.io.Serializable, org.apache.velocity.tools.view.tools.ViewTool

public class VelosurfTool
extends DBReference
implements org.apache.velocity.tools.view.tools.ViewTool, org.apache.velocity.tools.view.tools.Configurable

This class is a tool meant to be referenced in toolbox.xml

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.

 

Since version 1.0rc1, you can have several instances of VelosurfTool, each with a distinct 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 uncomment 'Configurable' at the beginning of the class declaration in this file. You can then give each instance the pathname of its configuration file via the 'config' parameter in the toolbox.xml file (this is a brand new feature of VelocityTools 1.2, commented here because VelocityTools 1.2 is not released yet), like this :


  <!-- 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>

Author:
Claude Brisson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.util.HashMap
 
Nested classes inherited from class java.util.AbstractMap
 
Field Summary
protected static java.lang.String DATABASE_CONFIG_FILE_KEY
          key used in the deployment descriptor (web.xml) to set the name of the config file
protected static java.lang.String DEFAULT_DATABASE_CONFIG_FILE
          default database config file
protected  java.lang.String mConfigFile
          path to the config file
protected static java.util.Map sDBMap
          database connections
 
Fields inherited from class velosurf.context.DBReference
mCache, mDB, mExternalParams
 
Fields inherited from class java.util.HashMap
 
Fields inherited from class java.util.AbstractMap
 
Constructor Summary
VelosurfTool()
          builds a new VelosurfTool
 
Method Summary
 void configure(java.util.Map map)
          configure
 void init(java.lang.Object inViewContext)
          Initializes this instance using the given ViewContext
protected  DBConnection initDB(javax.servlet.ServletContext inServletContext)
          initialization
 
Methods inherited from class velosurf.context.DBReference
deobfuscate, get, getError, init, obfuscate, put
 
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, toString
 
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

DATABASE_CONFIG_FILE_KEY

protected static final java.lang.String DATABASE_CONFIG_FILE_KEY
key used in the deployment descriptor (web.xml) to set the name of the config file

See Also:
Constant Field Values

DEFAULT_DATABASE_CONFIG_FILE

protected static final java.lang.String DEFAULT_DATABASE_CONFIG_FILE
default database config file

See Also:
Constant Field Values

mConfigFile

protected java.lang.String mConfigFile
path to the config file


sDBMap

protected static java.util.Map sDBMap
database connections

Constructor Detail

VelosurfTool

public VelosurfTool()
builds a new VelosurfTool

Method Detail

init

public void init(java.lang.Object inViewContext)
Initializes this instance using the given ViewContext

Specified by:
init in interface org.apache.velocity.tools.view.tools.ViewTool
Parameters:
inViewContext - initialization data

initDB

protected DBConnection initDB(javax.servlet.ServletContext inServletContext)
initialization

Parameters:
inServletContext - servlet context
Returns:
database connection

configure

public void configure(java.util.Map map)
configure

Specified by:
configure in interface org.apache.velocity.tools.view.tools.Configurable
Parameters:
map - parameters


ooOoo