tigase.server.ext
Class CompSQLRepository

java.lang.Object
  extended by tigase.util.JDBCAbstract
      extended by tigase.server.ext.CompSQLRepository
All Implemented Interfaces:
Iterable<CompRepoItem>, ComponentRepository<CompRepoItem>

public class CompSQLRepository
extends tigase.util.JDBCAbstract
implements ComponentRepository<CompRepoItem>

Created: Nov 7, 2009 11:26:10 AM

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
static String REPO_URI_PROP_KEY
           
static String TABLE_NAME
           
 
Fields inherited from class tigase.util.JDBCAbstract
DERBY_CONNVALID_QUERY, JDBC_CONNVALID_QUERY
 
Fields inherited from interface tigase.db.ComponentRepository
COMP_REPO_BIND
 
Constructor Summary
CompSQLRepository()
           
 
Method Summary
 void addItem(CompRepoItem item)
          The method adds a new or updates existing Item in the repository.
 Collection<CompRepoItem> allItems()
          Retuns a collection with all items stored in the repository.
 boolean contains(String key)
          The method checks whether the item is stored in the repository.
 void getDefaults(Map<String,Object> defs, Map<String,Object> params)
          The method is called to obtain defualt configuration settings if there are any for this repository implementation The configuration settings are implementation dependent and there are no defaults set by the server.
 CompRepoItem getItem(String key)
          The method returns all item configuration parameters for a key or null if the item does not exist in the repository.
 CompRepoItem getItemInstance()
          Creates a new, uninitialized instance of the repository Item.
protected  void initPreparedStatements()
           
 void initRepository(String conn_str, Map<String,String> params)
           
 Iterator<CompRepoItem> iterator()
           
 void reload()
          This method is called to reload items from the database or other permanent storage.
 void removeItem(String key)
          The method is called to remove given Item from the memory cache and permanent storage.
 void setProperties(Map<String,Object> properties)
          The method is called to set configuration for this repository implementation.
 int size()
          The method returns number of itens in the repository.
 void store()
          The method is called to store all data in the database.
 
Methods inherited from class tigase.util.JDBCAbstract
checkConnection, getResourceUri, prepareCallable, prepareStatement, release, setResourceUri
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REPO_URI_PROP_KEY

public static final String REPO_URI_PROP_KEY
See Also:
Constant Field Values

TABLE_NAME

public static final String TABLE_NAME
See Also:
Constant Field Values
Constructor Detail

CompSQLRepository

public CompSQLRepository()
Method Detail

initRepository

public void initRepository(String conn_str,
                           Map<String,String> params)
                    throws SQLException
Specified by:
initRepository in class tigase.util.JDBCAbstract
Throws:
SQLException

getDefaults

public void getDefaults(Map<String,Object> defs,
                        Map<String,Object> params)
Description copied from interface: ComponentRepository
The method is called to obtain defualt configuration settings if there are any for this repository implementation The configuration settings are implementation dependent and there are no defaults set by the server. Default settings returned by this method are then saved in the configuration file and presented to the admin for further adjustements.

Specified by:
getDefaults in interface ComponentRepository<CompRepoItem>
Parameters:
defs - is a Map collection where all repository configuration defaults must be put.
params - is a Map collection with some preset properties for the server. These settings can be used to adjust repository defaults, for example they can contain database connection URL or initial list of virtual domains.

setProperties

public void setProperties(Map<String,Object> properties)
Description copied from interface: ComponentRepository
The method is called to set configuration for this repository implementation. The configuration is repository implementation dependent. There are no default settings for the repository.

Specified by:
setProperties in interface ComponentRepository<CompRepoItem>
Parameters:
properties - a Map with configuration settings. Content of this Map must not be modified. This read-only collection.

removeItem

public void removeItem(String key)
Description copied from interface: ComponentRepository
The method is called to remove given Item from the memory cache and permanent storage. After this method is completed the item should no longer be availble in the component repository.

Specified by:
removeItem in interface ComponentRepository<CompRepoItem>
Parameters:
key - a String with domain name to remove.

addItem

public void addItem(CompRepoItem item)
Description copied from interface: ComponentRepository
The method adds a new or updates existing Item in the repository. It needs to have all fields set correctly. After this method call is finished a new added item must be available in the component repository. The method adds the item to memory cache and permamnent storage.

Specified by:
addItem in interface ComponentRepository<CompRepoItem>
Parameters:
item - a Item with all it's configuration parameters.

getItem

public CompRepoItem getItem(String key)
Description copied from interface: ComponentRepository
The method returns all item configuration parameters for a key or null if the item does not exist in the repository.

Specified by:
getItem in interface ComponentRepository<CompRepoItem>
Parameters:
key - a String with item identifier to search for.
Returns:
a Item for a given key or null if the item is not in the repository.

contains

public boolean contains(String key)
Description copied from interface: ComponentRepository
The method checks whether the item is stored in the repository.

Specified by:
contains in interface ComponentRepository<CompRepoItem>
Parameters:
key - a String with key to search for.
Returns:
a boolean value true if the item exists in the repository or false of it does not.

reload

public void reload()
Description copied from interface: ComponentRepository
This method is called to reload items from the database or other permanent storage. It is possible that items list is modified externally by third-party system. When all modifications are done this method is called to refresh the class cache. Whether the implementation load whole list or just last modifications is implementation dependent.

Specified by:
reload in interface ComponentRepository<CompRepoItem>

store

public void store()
Description copied from interface: ComponentRepository
The method is called to store all data in the database. It is used when the repository has been changed in some way and the changes have to be put to a permanent storage for later retrieval.

Specified by:
store in interface ComponentRepository<CompRepoItem>

size

public int size()
Description copied from interface: ComponentRepository
The method returns number of itens in the repository.

Specified by:
size in interface ComponentRepository<CompRepoItem>
Returns:
an int value with number of items in the repository.

allItems

public Collection<CompRepoItem> allItems()
Description copied from interface: ComponentRepository
Retuns a collection with all items stored in the repository.

Specified by:
allItems in interface ComponentRepository<CompRepoItem>
Returns:

getItemInstance

public CompRepoItem getItemInstance()
Description copied from interface: ComponentRepository
Creates a new, uninitialized instance of the repository Item.

Specified by:
getItemInstance in interface ComponentRepository<CompRepoItem>
Returns:
a new, uninitialized instance of the repository Item.

iterator

public Iterator<CompRepoItem> iterator()
Specified by:
iterator in interface Iterable<CompRepoItem>

initPreparedStatements

protected void initPreparedStatements()
                               throws SQLException
Overrides:
initPreparedStatements in class tigase.util.JDBCAbstract
Throws:
SQLException


Copyright © 2001-2006 Tigase Developers Team. All rights Reserved.