|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.wso2.registry.jdbc.JDBCRegistry
public class JDBCRegistry
This is a core class of the JDBC based implementation of the Registry. This will be used mostly as the back-end by other Registry implementations. This can use either an in-memory database or a external database configured using data source.
Field Summary | |
---|---|
protected RegistryContext |
registryContext
|
protected Repository |
repository
|
protected VersionRepository |
versionRepository
|
Constructor Summary | |
---|---|
JDBCRegistry()
Default constructor. |
|
JDBCRegistry(RegistryContext registryContext,
UserRealm realm)
Constructs a JDBC registry to be used with secure registries. |
Method Summary | |
---|---|
void |
addAssociation(java.lang.String sourcePath,
java.lang.String targetPath,
java.lang.String associationType)
Adds an association stating that the resource at "associationPath" associate on the resource at "associationPath". |
java.lang.String |
addComment(java.lang.String resourcePath,
Comment comment)
Adds a comment to a resource. |
void |
applyTag(java.lang.String resourcePath,
java.lang.String tag)
Applies the given tag to the resource in the given path. |
void |
associateAspect(java.lang.String resourcePath,
java.lang.String aspect)
Associate an Aspect with a resource. |
void |
beginTransaction()
Start a new transaction |
void |
commitTransaction()
Commit the currently active transaction |
void |
configure(javax.sql.DataSource dataSource,
RegistryRealm realm)
Configures and initiates the JDBC registry with a (new) datasource and a realm. |
java.lang.String |
copy(java.lang.String sourcePath,
java.lang.String targetPath)
|
void |
createVersion(java.lang.String path)
|
void |
delete(java.lang.String path)
Deletes the resource at the given path. |
void |
editComment(java.lang.String commentPath,
java.lang.String text)
Change the text of an existing comment. |
Collection |
executeQuery(java.lang.String path,
java.util.Map parameters)
Executes a custom query which lives at the given path in the Registry. |
Resource |
get(java.lang.String path)
Returns the resource at the given path. |
Collection |
get(java.lang.String path,
int start,
int pageSize)
Returns the Collection at the given path, with the content paginated according to the arguments. |
Association[] |
getAllAssociations(java.lang.String resourcePath)
Get all associations of the given resource. |
java.lang.String[] |
getAspectActions(java.lang.String resourcePath,
java.lang.String aspectName)
Obtain a list of the available actions on a given resource for a given Aspect. |
Association[] |
getAssociations(java.lang.String resourcePath,
java.lang.String associationType)
Get all associations of the given resource for a give association type. |
java.lang.String[] |
getAvailableAspects()
Get a list of the available Aspects for this Registry |
float |
getAverageRating(java.lang.String resourcePath)
Returns the average rating for the given resource. |
Comment[] |
getComments(java.lang.String resourcePath)
Get all comments for the given resource. |
UserRealm |
getDefaultRealm()
|
LogEntryCollection |
getLogCollection(java.lang.String resourcePath,
int action,
java.lang.String userName,
java.util.Date from,
java.util.Date to,
boolean recentFirst)
Returns the logs of the activities occured in the registy. |
LogEntry[] |
getLogs(java.lang.String resourcePath,
int action,
java.lang.String userName,
java.util.Date from,
java.util.Date to,
boolean recentFirst)
Returns the logs of the activities occured in the registy. |
int |
getRating(java.lang.String path,
java.lang.String userName)
Returns the rating given to the specified resource by the given user |
RegistryContext |
getRegistryContext()
Get the configuration for this Registry |
TaggedResourcePath[] |
getResourcePathsWithTag(java.lang.String tag)
Returns the paths of all Resources that are tagged with the given tag. |
Tag[] |
getTags(java.lang.String resourcePath)
Returns all tags used for tagging the given resource. |
java.lang.String[] |
getVersions(java.lang.String path)
Get a list of all versions of the resource located at the given path. |
java.lang.String |
importResource(java.lang.String suggestedPath,
java.lang.String sourceURL,
Resource metadata)
Creates a resource by fetching the resource content from the given URL. |
void |
invokeAspect(java.lang.String resourcePath,
java.lang.String aspectName,
java.lang.String action)
This invokes an action on a specified Aspect, which must be associated with the Resource at the given path. |
java.lang.String |
move(java.lang.String currentPath,
java.lang.String newPath)
|
Collection |
newCollection()
|
Resource |
newResource()
|
java.lang.String |
put(java.lang.String suggestedPath,
Resource resource)
Adds or updates resources in the registry. |
void |
rateResource(java.lang.String resourcePath,
int rating)
Rate the given resource. |
void |
removeAssociation(java.lang.String sourcePath,
java.lang.String targetPath,
java.lang.String associationType)
To remove an association for a given resource |
void |
removeTag(java.lang.String path,
java.lang.String tag)
Removes a tag on a resource. |
java.lang.String |
rename(java.lang.String currentPath,
java.lang.String newPath)
Move or rename a resource in the registry. |
boolean |
resourceExists(java.lang.String path)
Check whether a resource exists at the given path |
void |
restoreVersion(java.lang.String versionPath)
Reverts a resource to a given version. |
void |
rollbackTransaction()
Rollback the currently active transaction |
Collection |
searchContent(java.lang.String keywords)
Search the content of resources |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Repository repository
protected VersionRepository versionRepository
protected RegistryContext registryContext
Constructor Detail |
---|
public JDBCRegistry()
public JDBCRegistry(RegistryContext registryContext, UserRealm realm) throws RegistryException
registryContext
- RegistryContext containing our configuration and DataSource. Note
that this may or may not be the same data source as the UserManagerrealm
- User manager realm to handle authorizations. It is strongly recommended to
use a realm instance constructed using the RegistryRealmFactory. All
initial users, roles and authorizations will be set on realms obtained
using the RegistryRealmFactory.
RegistryException
- : If something went wrongMethod Detail |
---|
public void configure(javax.sql.DataSource dataSource, RegistryRealm realm) throws RegistryException
dataSource
- the DataSource to userealm
- Realm to use
RegistryException
- : If something went wrong while initpublic void beginTransaction() throws RegistryException
Registry
beginTransaction
in interface Registry
RegistryException
- If an error occurs while starting a transactionpublic void rollbackTransaction() throws RegistryException
Registry
rollbackTransaction
in interface Registry
RegistryException
- If an error occurs while rolling back a transactionpublic void commitTransaction() throws RegistryException
Registry
commitTransaction
in interface Registry
RegistryException
- If an error occurs while committing a transactionpublic Resource newResource() throws RegistryException
newResource
in interface CoreRegistry
RegistryException
public Collection newCollection() throws RegistryException
newCollection
in interface CoreRegistry
RegistryException
public UserRealm getDefaultRealm()
public Resource get(java.lang.String path) throws RegistryException
CoreRegistry
get
in interface CoreRegistry
path
- Path of the resource. e.g. /project1/server/deployment.xml
RegistryException
- is thrown if the resource is not in the registrypublic Collection get(java.lang.String path, int start, int pageSize) throws RegistryException
CoreRegistry
get
in interface CoreRegistry
path
- the path of the collection. MUST point to a collection!start
- the initial index of the child to return. If there are fewer children than
the specified value, a RegistryException will be thrown.pageSize
- the maximum number of results to return
RegistryException
- if the resource is not found, or if the path does not
reference a Collection, or if the start index is greater than
the number of children.public boolean resourceExists(java.lang.String path) throws RegistryException
CoreRegistry
resourceExists
in interface CoreRegistry
path
- Path of the resource to be checked
RegistryException
- if an error occurspublic java.lang.String put(java.lang.String suggestedPath, Resource resource) throws RegistryException
CoreRegistry
put
in interface CoreRegistry
suggestedPath
- the path which we'd like to use for the new resource.resource
- Resource instance for the new resource
RegistryException
public void delete(java.lang.String path) throws RegistryException
CoreRegistry
delete
in interface CoreRegistry
path
- Path of the resource to be deleted.
RegistryException
- is thrown depending on the implementation.public java.lang.String importResource(java.lang.String suggestedPath, java.lang.String sourceURL, Resource metadata) throws RegistryException
Registry
importResource
in interface Registry
suggestedPath
- path where we'd like to add the new resource. Although this path is
specified by the caller of the method, resource may not be actually
added at this path.sourceURL
- where to fetch the resource contentmetadata
- a template Resource
RegistryException
- if we couldn't get or store the new resourcepublic java.lang.String rename(java.lang.String currentPath, java.lang.String newPath) throws RegistryException
Registry
rename
in interface Registry
currentPath
- current path of the resourcenewPath
- where we'd like to move the reosurce
RegistryException
- if something went wrongpublic java.lang.String move(java.lang.String currentPath, java.lang.String newPath) throws RegistryException
move
in interface Registry
RegistryException
public java.lang.String copy(java.lang.String sourcePath, java.lang.String targetPath) throws RegistryException
copy
in interface Registry
RegistryException
public void createVersion(java.lang.String path) throws RegistryException
createVersion
in interface Registry
RegistryException
public java.lang.String[] getVersions(java.lang.String path) throws RegistryException
Registry
getVersions
in interface Registry
path
- path of a current version of a resource
RegistryException
- if there is an errorpublic void restoreVersion(java.lang.String versionPath) throws RegistryException
Registry
restoreVersion
in interface Registry
versionPath
- path of the version to be reverted. It is not necessary to provide the
path of the resource as it can be derived from the version path.
RegistryException
- if there is an errorpublic void addAssociation(java.lang.String sourcePath, java.lang.String targetPath, java.lang.String associationType) throws RegistryException
Registry
addAssociation
in interface Registry
sourcePath
- Path of the source resourcetargetPath
- Path of the target resourceassociationType
- Type of the association
RegistryException
- Depends on the implementationpublic void removeAssociation(java.lang.String sourcePath, java.lang.String targetPath, java.lang.String associationType) throws RegistryException
Registry
removeAssociation
in interface Registry
sourcePath
- Path of the source resourcetargetPath
- Path of the target resourceassociationType
- Type of the association
RegistryException
- Depends on the implementationpublic Association[] getAllAssociations(java.lang.String resourcePath) throws RegistryException
Registry
getAllAssociations
in interface Registry
resourcePath
- Path of the resource to analyse associations.
RegistryException
- : If something went wrongpublic Association[] getAssociations(java.lang.String resourcePath, java.lang.String associationType) throws RegistryException
Registry
getAssociations
in interface Registry
resourcePath
- Path of the resource to analyse associations.associationType
- : Type of the association , that could be dependecy , or some other type
RegistryException
- : If something went wrongpublic void applyTag(java.lang.String resourcePath, java.lang.String tag) throws RegistryException
Registry
applyTag
in interface Registry
resourcePath
- Path of the resource to be tagged.tag
- Tag. Any string can be used for the tag.
RegistryException
- is thrown if a resource does not exist in the given path.public TaggedResourcePath[] getResourcePathsWithTag(java.lang.String tag) throws RegistryException
Registry
getResourcePathsWithTag
in interface Registry
tag
- the tag to search for
RegistryException
- if an error occurspublic Tag[] getTags(java.lang.String resourcePath) throws RegistryException
Registry
getTags
in interface Registry
resourcePath
- Path of the resource
RegistryException
- is thrown if a resource does not exist in the given path.public void removeTag(java.lang.String path, java.lang.String tag) throws RegistryException
Registry
removeTag
in interface Registry
path
- Resource path tagged with the given tag.tag
- Name of the tag to be removed.
RegistryException
- if there's a problempublic java.lang.String addComment(java.lang.String resourcePath, Comment comment) throws RegistryException
Registry
addComment
in interface Registry
resourcePath
- Path of the resource to add the comment.comment
- Comment instance for the new comment.
RegistryException
- is thrown if a resource does not exist in the given path.public void editComment(java.lang.String commentPath, java.lang.String text) throws RegistryException
Registry
editComment
in interface Registry
commentPath
- path to comment resource ("..foo/r1;comment:1")text
- new text for the comment.
RegistryException
- Registry implementations may handle exceptions and throw
RegistryException if the exception has to be propagated to the
client.public Comment[] getComments(java.lang.String resourcePath) throws RegistryException
Registry
getComments
in interface Registry
resourcePath
- path of the resource.
RegistryException
- Registry implementations may handle exceptions and throw
RegistryException if the exception has to be propagated to the
client.public void rateResource(java.lang.String resourcePath, int rating) throws RegistryException
Registry
rateResource
in interface Registry
resourcePath
- Path of the resource.rating
- Rating value between 1 and 5.
RegistryException
- Registry implementations may handle exceptions and throw
RegistryException if the exception has to be propagated to the
client.public float getAverageRating(java.lang.String resourcePath) throws RegistryException
Registry
getAverageRating
in interface Registry
resourcePath
- Path of the resource.
RegistryException
- if an error occurspublic int getRating(java.lang.String path, java.lang.String userName) throws RegistryException
Registry
getRating
in interface Registry
path
- Path of the resourceuserName
- username of the user
RegistryException
- if there is a problempublic Collection executeQuery(java.lang.String path, java.util.Map parameters) throws RegistryException
Registry
executeQuery
in interface Registry
path
- Path of the query to execute.parameters
- a Map of query parameters (name -> value)
RegistryException
- depends on the implementation.public LogEntry[] getLogs(java.lang.String resourcePath, int action, java.lang.String userName, java.util.Date from, java.util.Date to, boolean recentFirst) throws RegistryException
Registry
getLogs
in interface Registry
resourcePath
- If given, only the logs related to the resource path will be returned. If
null, logs for all resources will be returned.action
- Only the logs pertaining to this action will be returned. For
acceptable values, see LogEntry.userName
- If given, only the logs for activities done by the given user will be
returned. If null, logs for all users will be returned.from
- If given, logs for activities occured after the given date will be
returned. If null, there will not be a bound for the starting date.to
- If given, logs for activities occured before the given date will be
returned. If null, there will not be a bound for the ending date.recentFirst
- If true, returned activities will be most-recent first. If false,
returned activities will be oldest first.
RegistryException
- if there is a problemAccepted values for action parameter
public LogEntryCollection getLogCollection(java.lang.String resourcePath, int action, java.lang.String userName, java.util.Date from, java.util.Date to, boolean recentFirst) throws RegistryException
Registry
getLogCollection
in interface Registry
resourcePath
- If given, only the logs related to the resource path will be returned. If
null, logs for all resources will be returned.action
- Only the logs pertaining to this action will be returned. For
acceptable values, see LogEntry.userName
- If given, only the logs for activities done by the given user will be
returned. If null, logs for all users will be returned.from
- If given, logs for activities occured after the given date will be
returned. If null, there will not be a bound for the starting date.to
- If given, logs for activities occured before the given date will be
returned. If null, there will not be a bound for the ending date.recentFirst
- If true, returned activities will be most-recent first. If false,
returned activities will be oldest first.
RegistryException
- if there is a problemAccepted values for action parameter
public java.lang.String[] getAvailableAspects()
Registry
getAvailableAspects
in interface Registry
public void associateAspect(java.lang.String resourcePath, java.lang.String aspect) throws RegistryException
Registry
associateAspect
in interface Registry
resourcePath
- Path of the resourceaspect
- Name of the aspect
RegistryException
- : If some thing went wrong while doing associating the phasepublic void invokeAspect(java.lang.String resourcePath, java.lang.String aspectName, java.lang.String action) throws RegistryException
Registry
invokeAspect
in interface Registry
resourcePath
- Path of the resourceaspectName
- Name of the aspectaction
- Which action was selected - actions are aspect-specific
RegistryException
- if the Aspect isn't associated with the Resource, or the action
isn't valid, or an Aspect-specific problem occurs.public java.lang.String[] getAspectActions(java.lang.String resourcePath, java.lang.String aspectName) throws RegistryException
Registry
getAspectActions
in interface Registry
resourcePath
- path of the ResourceaspectName
- name of the Aspect to query for available actions
RegistryException
- if the Aspect isn't associated or an Aspect-specific problem occurspublic Collection searchContent(java.lang.String keywords) throws RegistryException
Registry
searchContent
in interface Registry
keywords
- keywords to look for
RegistryException
public RegistryContext getRegistryContext()
Registry
getRegistryContext
in interface Registry
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |