Package com.netscape.cmscore.dbs
Class DBSSession
- java.lang.Object
-
- com.netscape.cmscore.dbs.DBSSession
-
- All Implemented Interfaces:
IDBSSession
,java.lang.AutoCloseable
public class DBSSession extends java.lang.Object implements IDBSSession
A class represents the database session. Operations can be performed with a session. Transaction and Caching support can be integrated into session.- Version:
- $Revision$, $Date$
- Author:
- thomask
-
-
Field Summary
Fields Modifier and Type Field Description static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description DBSSession(DBSubsystem dbSubsystem, netscape.ldap.LDAPConnection c)
Constructs a database session.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abandon(netscape.ldap.LDAPSearchResults results)
void
add(java.lang.String name, IDBObj obj)
Adds object to backend database.void
close()
Closes this session.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs)
Retrieves a list of objects.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String sortKey)
Retrieves a list of objects.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String[] sortKey)
Retrieves a list of objects.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String[] sortKey, int pageSize)
Retrieves a list of objects.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String sortKey, int pageSize)
Retrieves a list of objects.<T extends IDBObj>
IDBVirtualList<T>createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String startFrom, java.lang.String sortKey, int pageSize)
Retrieves a list of objects.void
delete(java.lang.String name)
Deletes object from database.void
modify(java.lang.String name, ModificationSet mods)
Modify an object in the database.netscape.ldap.LDAPSearchResults
persistentSearch(java.lang.String base, java.lang.String filter, java.lang.String[] attrs)
Sets persistent search to retrieve modified certificate records.IDBObj
read(java.lang.String name)
Reads an object from the database.IDBObj
read(java.lang.String name, java.lang.String[] attrs)
Reads an object from the database, and only populates the selected attributes.void
release(java.lang.Object obj)
Releases object to this interface.IDBSearchResults
search(java.lang.String base, java.lang.String filter)
Searchs for a list of objects that match the filter.IDBSearchResults
search(java.lang.String base, java.lang.String filter, int maxSize)
Searchs for a list of objects that match the filter.IDBSearchResults
search(java.lang.String base, java.lang.String filter, int maxSize, int timeLimit)
Searchs for a list of objects that match the filter.IDBSearchResults
search(java.lang.String base, java.lang.String filter, int maxSize, int timeLimit, java.lang.String sortAttribute)
Searchs for a list of objects that match the filter.IDBSearchResults
search(java.lang.String base, java.lang.String filter, int maxSize, java.lang.String sortAttribute)
Searchs for a list of objects that match the filter.IDBSearchResults
search(java.lang.String base, java.lang.String filter, java.lang.String[] attrs)
Retrieves a list of object that satifies the given filter.
-
-
-
Constructor Detail
-
DBSSession
public DBSSession(DBSubsystem dbSubsystem, netscape.ldap.LDAPConnection c) throws EDBException
Constructs a database session.- Parameters:
dbSubsystem
- the database subsytemc
- the ldap connection- Throws:
EDBException
-
-
Method Detail
-
close
public void close() throws EDBException
Closes this session.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceIDBSSession
- Throws:
EDBException
- failed to close session
-
add
public void add(java.lang.String name, IDBObj obj) throws EBaseException
Adds object to backend database. For example,session.add("cn=123459,o=certificate repository,o=airius.com", certRec);
- Specified by:
add
in interfaceIDBSSession
- Parameters:
name
- the name of the ldap entryobj
- the DBobj that can be mapped to ldap attrubute set- Throws:
EDBException
- failed to add objectEBaseException
-
read
public IDBObj read(java.lang.String name) throws EBaseException
Reads an object from the database. all attributes will be returned- Specified by:
read
in interfaceIDBSSession
- Parameters:
name
- the name of the ldap entry- Returns:
- database object
- Throws:
EBaseException
- failed to read object
-
read
public IDBObj read(java.lang.String name, java.lang.String[] attrs) throws EBaseException
Reads an object from the database, and only populates the selected attributes.- Specified by:
read
in interfaceIDBSSession
- Parameters:
name
- the name of the ldap entryattrs
- the attributes to be selected- Returns:
- database object
- Throws:
EBaseException
- failed to read object
-
delete
public void delete(java.lang.String name) throws EBaseException
Deletes object from database.- Specified by:
delete
in interfaceIDBSSession
- Parameters:
name
- name of the object that is to be deleted- Throws:
EBaseException
- failed to delete object
-
modify
public void modify(java.lang.String name, ModificationSet mods) throws EBaseException
Modify an object in the database.- Specified by:
modify
in interfaceIDBSSession
- Parameters:
name
- name of the object that is to be modifiedmods
- modifications- Throws:
EBaseException
- failed to modify
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter) throws EBaseException
Searchs for a list of objects that match the filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filter- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter, int maxSize) throws EBaseException
Description copied from interface:IDBSSession
Searchs for a list of objects that match the filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filtermaxSize
- max number of entries- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter, int maxSize, java.lang.String sortAttribute) throws EBaseException
Description copied from interface:IDBSSession
Searchs for a list of objects that match the filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filtermaxSize
- max number of entriessortAttribute
- Field to sort the records on- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter, int maxSize, int timeLimit) throws EBaseException
Description copied from interface:IDBSSession
Searchs for a list of objects that match the filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filtermaxSize
- max number of entriestimeLimit
- timeout limit- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter, int maxSize, int timeLimit, java.lang.String sortAttribute) throws EBaseException
Description copied from interface:IDBSSession
Searchs for a list of objects that match the filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filtermaxSize
- max number of entriestimeLimit
- timeout limitsortAttribute
- Field to sort the records on- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
search
public IDBSearchResults search(java.lang.String base, java.lang.String filter, java.lang.String[] attrs) throws EBaseException
Retrieves a list of object that satifies the given filter.- Specified by:
search
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributes- Returns:
- search results
- Throws:
EBaseException
- failed to search
-
persistentSearch
public netscape.ldap.LDAPSearchResults persistentSearch(java.lang.String base, java.lang.String filter, java.lang.String[] attrs) throws EBaseException
Description copied from interface:IDBSSession
Sets persistent search to retrieve modified certificate records.- Specified by:
persistentSearch
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributes- Returns:
- LDAP search results
- Throws:
EBaseException
- failed to search
-
abandon
public void abandon(netscape.ldap.LDAPSearchResults results) throws EBaseException
- Specified by:
abandon
in interfaceIDBSSession
- Throws:
EBaseException
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs) throws EBaseException
Retrieves a list of objects.- Specified by:
createVirtualList
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributes- Returns:
- search results in virtual list
- Throws:
EBaseException
- failed to search
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String[] sortKey) throws EBaseException
Retrieves a list of objects.- Throws:
EBaseException
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String sortKey) throws EBaseException
Retrieves a list of objects.- Throws:
EBaseException
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String[] sortKey, int pageSize) throws EBaseException
Retrieves a list of objects.- Specified by:
createVirtualList
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributessortKey
- keys used to sort the listpageSize
- page size in the virtual list- Returns:
- search results in virtual list
- Throws:
EBaseException
- failed to search
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String sortKey, int pageSize) throws EBaseException
Retrieves a list of objects.- Specified by:
createVirtualList
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributessortKey
- key used to sort the listpageSize
- page size in the virtual list- Returns:
- search results in virtual list
- Throws:
EBaseException
- failed to search
-
createVirtualList
public <T extends IDBObj> IDBVirtualList<T> createVirtualList(java.lang.String base, java.lang.String filter, java.lang.String[] attrs, java.lang.String startFrom, java.lang.String sortKey, int pageSize) throws EBaseException
Description copied from interface:IDBSSession
Retrieves a list of objects.- Specified by:
createVirtualList
in interfaceIDBSSession
- Parameters:
base
- starting point of the searchfilter
- search filterattrs
- selected attributesstartFrom
- starting pointsortKey
- key used to sort the listpageSize
- page size in the virtual list- Returns:
- search results in virtual list
- Throws:
EBaseException
- failed to search
-
release
public void release(java.lang.Object obj)
Releases object to this interface. This allows us to use memory more efficiently.
-
-