|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.priha.providers.JdbcProvider
public class JdbcProvider
A basic implementation of a Provider which stores the contents to a database.
Field Summary | |
---|---|
static java.lang.String |
PROP_CONNECTIONURL
The connection URL. |
static java.lang.String |
PROP_DATASOURCE
The FQN of the DataSource class. |
static java.lang.String |
PROP_DRIVERCLASS
The FQN of the JDBC driver class. |
static java.lang.String |
PROP_MAXCONNECTIONS
|
static java.lang.String |
PROP_PASSWORD
Property for password. |
static java.lang.String |
PROP_USERNAME
Username. |
static java.lang.String |
PROP_WORKSPACES
|
Constructor Summary | |
---|---|
JdbcProvider()
|
Method Summary | |
---|---|
void |
addNode(StoreTransaction tx,
Path path,
QNodeDefinition def)
Adds a new Node to the repository to the given Path. |
void |
close(WorkspaceImpl ws)
The repository will no longer be used by a session, so any session-specific things can now be deallocated. |
void |
copy(WorkspaceImpl ws,
Path srcpath,
Path destpath)
|
Path |
findByUUID(WorkspaceImpl ws,
java.lang.String uuid)
If an item by this UUID exists, returns a Path. |
java.util.List<Path> |
findReferences(WorkspaceImpl ws,
java.lang.String uuid)
Finds all the Property paths which are of type REFERENCE and whose content is equal to the UUID given. |
ValueContainer |
getPropertyValue(WorkspaceImpl ws,
Path path)
Returns the value of a property. |
boolean |
itemExists(WorkspaceImpl ws,
Path path,
ItemType type)
Returns true, if the Item exists and is of given type. |
java.util.List<Path> |
listNodes(WorkspaceImpl ws,
Path parentpath)
Lists all the Nodes from the repository which belong to this parent. |
java.util.List<QName> |
listProperties(WorkspaceImpl ws,
Path path)
Returns a list of properties for a Node. |
java.util.Collection<java.lang.String> |
listWorkspaces()
Lists all workspaces which are available in this Repository. |
void |
move(WorkspaceImpl ws,
Path srcpath,
Path destpath)
|
Pool.Poolable |
newPoolable(Pool p)
|
void |
open(RepositoryImpl rep,
javax.jcr.Credentials credentials,
java.lang.String workspaceName)
Opens a repository. |
void |
putPropertyValue(StoreTransaction tx,
Path path,
ValueContainer vc)
Sets or adds a new Property to the repository. |
void |
remove(StoreTransaction tx,
Path path)
Removes a node or a property from the repository. |
void |
rename(StoreTransaction tx,
Path path,
Path.Component newName)
|
void |
reorderNodes(StoreTransaction tx,
Path internalPath,
java.util.List<Path> childOrder)
|
void |
start(RepositoryImpl repository,
java.util.Properties properties)
Starts access to a repository. |
void |
stop(RepositoryImpl rep)
Stops a given repository. |
void |
storeCancelled(StoreTransaction tx)
If the store has been cancelled and changes need to be rolled back. |
void |
storeFinished(StoreTransaction tx)
This method is called when the repository-changing operation is complete. |
StoreTransaction |
storeStarted(WorkspaceImpl ws)
This method is called whenever Priha starts a transaction which will save the contents of the repository. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String PROP_DRIVERCLASS
public static final java.lang.String PROP_DATASOURCE
public static final java.lang.String PROP_CONNECTIONURL
public static final java.lang.String PROP_USERNAME
public static final java.lang.String PROP_PASSWORD
public static final java.lang.String PROP_MAXCONNECTIONS
public static final java.lang.String PROP_WORKSPACES
Constructor Detail |
---|
public JdbcProvider()
Method Detail |
---|
public void addNode(StoreTransaction tx, Path path, QNodeDefinition def) throws javax.jcr.RepositoryException
RepositoryProvider
addNode
in interface RepositoryProvider
path
- Path to the node in this workspace.
javax.jcr.RepositoryException
- If the Node cannot be added.public void start(RepositoryImpl repository, java.util.Properties properties) throws ConfigurationException
RepositoryProvider
start
in interface RepositoryProvider
repository
- The Repository which owns this provider.properties
- A set of filtered properties for this provider.
ConfigurationException
- If the repository cannot be started due to a faulty configuration.ProviderManager.filterProperties(RepositoryImpl, String)
public void stop(RepositoryImpl rep)
RepositoryProvider
This method will only be called when the Repository shuts down.
stop
in interface RepositoryProvider
rep
- The Repository object.public void open(RepositoryImpl rep, javax.jcr.Credentials credentials, java.lang.String workspaceName) throws javax.jcr.RepositoryException, javax.jcr.NoSuchWorkspaceException
RepositoryProvider
open
in interface RepositoryProvider
rep
- The Repository which owns this Provider.credentials
- The Credentials object passed to the Session.open() call. May be null,
if there were no credentials.workspaceName
- The workspace which will be accessed.
javax.jcr.NoSuchWorkspaceException
- if no such workspace exists.
javax.jcr.RepositoryException
public void close(WorkspaceImpl ws)
RepositoryProvider
close
in interface RepositoryProvider
ws
- The Workspace attached to the Session.public void copy(WorkspaceImpl ws, Path srcpath, Path destpath) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
public Path findByUUID(WorkspaceImpl ws, java.lang.String uuid) throws javax.jcr.RepositoryException
RepositoryProvider
findByUUID
in interface RepositoryProvider
javax.jcr.ItemNotFoundException
- If the repository does not contain an UUID by this name.
javax.jcr.RepositoryException
public java.util.List<Path> findReferences(WorkspaceImpl ws, java.lang.String uuid) throws javax.jcr.RepositoryException
RepositoryProvider
findReferences
in interface RepositoryProvider
javax.jcr.RepositoryException
public ValueContainer getPropertyValue(WorkspaceImpl ws, Path path) throws javax.jcr.RepositoryException
RepositoryProvider
getPropertyValue
in interface RepositoryProvider
ws
- The workspace in which the property value should be located.path
- The path to the Property
javax.jcr.RepositoryException
- If something goes wrong.
javax.jcr.PathNotFoundException
- If there is nothing at the end of this Path, i.e. the object could not be found.public java.util.List<Path> listNodes(WorkspaceImpl ws, Path parentpath) throws javax.jcr.RepositoryException
RepositoryProvider
listNodes
in interface RepositoryProvider
ws
- The Workspace.parentpath
- The path to the Node whose children should be listed.
javax.jcr.RepositoryException
- If the children cannot be found.public java.util.List<QName> listProperties(WorkspaceImpl ws, Path path) throws javax.jcr.RepositoryException
RepositoryProvider
listProperties
in interface RepositoryProvider
ws
- The Workspace in which the properties should be located.path
- The path of the Node.
javax.jcr.PathNotFoundException
- If the path given does not exist.
javax.jcr.RepositoryException
- If something goes wrong.public java.util.Collection<java.lang.String> listWorkspaces() throws javax.jcr.RepositoryException
RepositoryProvider
listWorkspaces
in interface RepositoryProvider
javax.jcr.RepositoryException
public void move(WorkspaceImpl ws, Path srcpath, Path destpath) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
public boolean itemExists(WorkspaceImpl ws, Path path, ItemType type) throws javax.jcr.RepositoryException
RepositoryProvider
itemExists
in interface RepositoryProvider
ws
- The workspace in which the existence of the Node is checked.path
- The path to the Node.type
- Type to check for
javax.jcr.RepositoryException
public void putPropertyValue(StoreTransaction tx, Path path, ValueContainer vc) throws javax.jcr.RepositoryException
RepositoryProvider
putPropertyValue
in interface RepositoryProvider
vc
- The Property content to store.
javax.jcr.RepositoryException
- If the property cannot be stored.public void remove(StoreTransaction tx, Path path) throws javax.jcr.RepositoryException
RepositoryProvider
In addition, it MUST NOT be an error if remove() is called on a path which is already removed. In such a case, remove() shall fail silently.
remove
in interface RepositoryProvider
javax.jcr.RepositoryException
public void storeFinished(StoreTransaction tx) throws javax.jcr.RepositoryException
RepositoryProvider
storeFinished
in interface RepositoryProvider
tx
- The same StoreTransaction object which was returned from storeStarted().
javax.jcr.RepositoryException
public void storeCancelled(StoreTransaction tx) throws javax.jcr.RepositoryException
RepositoryProvider
storeCancelled
in interface RepositoryProvider
tx
- The transaction from storeStarted().
javax.jcr.RepositoryException
public StoreTransaction storeStarted(WorkspaceImpl ws) throws javax.jcr.RepositoryException
RepositoryProvider
storeStarted
in interface RepositoryProvider
ws
- The workspace
javax.jcr.RepositoryException
public Pool.Poolable newPoolable(Pool p) throws java.sql.SQLException
newPoolable
in interface Pool.PoolableFactory
java.sql.SQLException
public void reorderNodes(StoreTransaction tx, Path internalPath, java.util.List<Path> childOrder) throws javax.jcr.RepositoryException
reorderNodes
in interface RepositoryProvider
javax.jcr.RepositoryException
public void rename(StoreTransaction tx, Path path, Path.Component newName) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |