org.wso2.carbon.registry.core
Interface Registry

All Superinterfaces:
org.wso2.carbon.registry.api.CoreRegistry, org.wso2.carbon.registry.api.Registry, TransactionManager

public interface Registry
extends CoreRegistry, org.wso2.carbon.registry.api.Registry, TransactionManager

This is the "Full" Registry interface. It contains not only the get/put behavior from CoreRegistry, but also APIs which control tags/comments/ratings/versions/etc.


Method Summary
 boolean addAspect(String name, Aspect aspect)
          Add aspect by passing a name and the aspect object.
 void addAssociation(String sourcePath, String targetPath, String associationType)
          Adds an association stating that the resource at "associationPath" associate on the resource at "associationPath".
 String addComment(String resourcePath, Comment comment)
          Adds a comment to a resource.
 void applyTag(String resourcePath, String tag)
          Applies the given tag to the resource in the given path.
 void associateAspect(String resourcePath, String aspect)
          Associate an Aspect with a resource.
 String copy(String sourcePath, String targetPath)
          Copy a resource in the registry.
 void createLink(String path, String target)
          Create a symbolic link or mount a registry
 void createLink(String path, String target, String subTargetPath)
          Create a symbolic link or mount a registry
 void createVersion(String path)
          Creates a new version of the resource.
 void dump(String path, Writer writer)
          Check out the given path as an xml.
 void editComment(String commentPath, String text)
          Change the text of an existing comment.
 Collection executeQuery(String path, Map parameters)
          Executes a custom query which lives at the given path in the Registry.
 Association[] getAllAssociations(String resourcePath)
          Get all associations of the given resource.
 String[] getAspectActions(String resourcePath, String aspectName)
          Obtain a list of the available actions on a given resource for a given Aspect.
 Association[] getAssociations(String resourcePath, String associationType)
          Get all associations of the given resource for a give association type.
 String[] getAvailableAspects()
          Get a list of the available Aspects for this Registry
 float getAverageRating(String resourcePath)
          Returns the average rating for the given resource.
 Comment[] getComments(String resourcePath)
          Get all comments for the given resource.
 String getEventingServiceURL(String path)
          Gets the URL of the WS-Eventing Service.
 LogEntryCollection getLogCollection(String resourcePath, int action, String userName, Date from, Date to, boolean recentFirst)
          Deprecated. instead use getLogs(String, int, String, java.util.Date, java.util.Date, boolean)}
 LogEntry[] getLogs(String resourcePath, int action, String userName, Date from, Date to, boolean recentFirst)
          Returns the logs of the activities occurred in the registry.
 Resource getMetaData(String path)
          Returns the meta data of the resource at a given path.
 int getRating(String path, String userName)
          Returns the rating given to the specified resource by the given user
 RegistryContext getRegistryContext()
          Get the configuration for this Registry
 TaggedResourcePath[] getResourcePathsWithTag(String tag)
          Returns the paths of all Resources that are tagged with the given tag.
 Tag[] getTags(String resourcePath)
          Returns all tags used for tagging the given resource.
 String[] getVersions(String path)
          Get a list of all versions of the resource located at the given path.
 String importResource(String suggestedPath, String sourceURL, Resource resource)
          Creates a resource by fetching the resource content from the given URL.
 void invokeAspect(String resourcePath, String aspectName, String action)
          This invokes an action on a specified Aspect, which must be associated with the Resource at the given path.
 void invokeAspect(String resourcePath, String aspectName, String action, Map<String,String> parameters)
          This invokes an action on a specified Aspect, which must be associated with the Resource at the given path.
 String move(String currentPath, String newPath)
          Move a resource in the registry.
 void rateResource(String resourcePath, int rating)
          Rate the given resource.
 boolean removeAspect(String aspect)
          Remove the given aspect from registry context.
 void removeAssociation(String sourcePath, String targetPath, String associationType)
          To remove an association for a given resource
 void removeComment(String commentPath)
          Delete an existing comment.
 void removeLink(String path)
          Remove a symbolic link or mount point created
 void removeTag(String path, String tag)
          Removes a tag on a resource.
 String rename(String currentPath, String newName)
          Rename a resource in the registry.
 void restore(String path, Reader reader)
          Check in the input axiom element into database.
 void restoreVersion(String versionPath)
          Reverts a resource to a given version.
 Collection searchContent(String keywords)
          Search the content of resources
 void setEventingServiceURL(String path, String eventingServiceURL)
          Sets the URL of the WS-Eventing Service.
 
Methods inherited from interface org.wso2.carbon.registry.core.CoreRegistry
delete, get, get, newCollection, newResource, put, resourceExists
 
Methods inherited from interface org.wso2.carbon.registry.api.Registry
addComment, importResource
 
Methods inherited from interface org.wso2.carbon.registry.api.CoreRegistry
put
 
Methods inherited from interface org.wso2.carbon.registry.core.dataaccess.TransactionManager
beginTransaction, commitTransaction, rollbackTransaction
 

Method Detail

getMetaData

Resource getMetaData(String path)
                     throws RegistryException
Returns the meta data of the resource at a given path.

Specified by:
getMetaData in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - Path of the resource. e.g. /project1/server/deployment.xml
Returns:
Resource instance
Throws:
RegistryException - is thrown if the resource is not in the registry

importResource

String importResource(String suggestedPath,
                      String sourceURL,
                      Resource resource)
                      throws RegistryException
Creates a resource by fetching the resource content from the given URL.

Parameters:
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 content
resource - a template Resource
Returns:
actual path to the new resource
Throws:
RegistryException - if we couldn't get or store the new resource

rename

String rename(String currentPath,
              String newName)
              throws RegistryException
Rename a resource in the registry. This is equivalent to 1) delete the resource, then 2) add the resource by the new name. The operation is atomic, so if it fails the old resource will still be there.

Specified by:
rename in interface org.wso2.carbon.registry.api.Registry
Parameters:
currentPath - current path of the resource
newName - the name of the new resource
Returns:
the actual path for the new resource
Throws:
RegistryException - if something went wrong

move

String move(String currentPath,
            String newPath)
            throws RegistryException
Move a resource in the registry. This is equivalent to 1) delete the resource, then 2) add the resource to the new location. The operation is atomic, so if it fails the old resource will still be there.

Specified by:
move in interface org.wso2.carbon.registry.api.Registry
Parameters:
currentPath - current path of the resource
newPath - where we'd like to move the resource
Returns:
the actual path for the new resource
Throws:
RegistryException - if something went wrong

copy

String copy(String sourcePath,
            String targetPath)
            throws RegistryException
Copy a resource in the registry. The operation is atomic, so if the resource was a collection, all children and the collection would be copied in a single-go.

Specified by:
copy in interface org.wso2.carbon.registry.api.Registry
Parameters:
sourcePath - current path of the resource
targetPath - where we'd like to copy the resource
Returns:
the actual path for the new resource
Throws:
RegistryException - if something went wrong

createVersion

void createVersion(String path)
                   throws RegistryException
Creates a new version of the resource.

Specified by:
createVersion in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the resource path.
Throws:
RegistryException - if something went wrong.

getVersions

String[] getVersions(String path)
                     throws RegistryException
Get a list of all versions of the resource located at the given path. Version paths are returned in the form /projects/resource?v=12

Specified by:
getVersions in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - path of a current version of a resource
Returns:
a String array containing the individual paths of versions
Throws:
RegistryException - if there is an error

restoreVersion

void restoreVersion(String versionPath)
                    throws RegistryException
Reverts a resource to a given version.

Specified by:
restoreVersion in interface org.wso2.carbon.registry.api.Registry
Parameters:
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.
Throws:
RegistryException - if there is an error

addAssociation

void addAssociation(String sourcePath,
                    String targetPath,
                    String associationType)
                    throws RegistryException
Adds an association stating that the resource at "associationPath" associate on the resource at "associationPath". Paths may be the resource paths of the current versions or paths of the old versions. If a path refers to the current version, it should contain the path in the form /c1/c2/r1. If it refers to an old version, it should be in the form /c1/c2/r1?v=2.

Specified by:
addAssociation in interface org.wso2.carbon.registry.api.Registry
Parameters:
sourcePath - Path of the source resource
targetPath - Path of the target resource
associationType - Type of the association
Throws:
RegistryException - Depends on the implementation

removeAssociation

void removeAssociation(String sourcePath,
                       String targetPath,
                       String associationType)
                       throws RegistryException
To remove an association for a given resource

Specified by:
removeAssociation in interface org.wso2.carbon.registry.api.Registry
Parameters:
sourcePath - Path of the source resource
targetPath - Path of the target resource
associationType - Type of the association
Throws:
RegistryException - Depends on the implementation

getAllAssociations

Association[] getAllAssociations(String resourcePath)
                                 throws RegistryException
Get all associations of the given resource. This is a chain of association starting from the given resource both upwards (source to destination) and downwards (destination to source). T his is useful to analyse how changes to other resources would affect the given resource.

Specified by:
getAllAssociations in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource to analyse associations.
Returns:
List of Association
Throws:
RegistryException - If something went wrong

getAssociations

Association[] getAssociations(String resourcePath,
                              String associationType)
                              throws RegistryException
Get all associations of the given resource for a give association type. This is a chain of association starting from the given resource both upwards (source to destination) and downwards (destination to source). T his is useful to analyse how changes to other resources would affect the given resource.

Specified by:
getAssociations in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource to analyse associations.
associationType - Type of the association , that could be dependency, or some other type.
Returns:
List of Association
Throws:
RegistryException - If something went wrong

applyTag

void applyTag(String resourcePath,
              String tag)
              throws RegistryException
Applies the given tag to the resource in the given path. If the given tag is not defined in the registry, it will be defined.

Specified by:
applyTag in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource to be tagged.
tag - Tag. Any string can be used for the tag.
Throws:
RegistryException - is thrown if a resource does not exist in the given path.

getResourcePathsWithTag

TaggedResourcePath[] getResourcePathsWithTag(String tag)
                                             throws RegistryException
Returns the paths of all Resources that are tagged with the given tag.

Specified by:
getResourcePathsWithTag in interface org.wso2.carbon.registry.api.Registry
Parameters:
tag - the tag to search for
Returns:
an array of TaggedResourcePaths
Throws:
RegistryException - if an error occurs

getTags

Tag[] getTags(String resourcePath)
              throws RegistryException
Returns all tags used for tagging the given resource.

Specified by:
getTags in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource
Returns:
Tags tag names
Throws:
RegistryException - is thrown if a resource does not exist in the given path.

removeTag

void removeTag(String path,
               String tag)
               throws RegistryException
Removes a tag on a resource. If the resource at the path is owned by the current user, all taggings done using the given tag will be removed. If the resource is not owned by the current user, only the tagging done by the current user will be removed.

Specified by:
removeTag in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - Resource path tagged with the given tag.
tag - Name of the tag to be removed.
Throws:
RegistryException - if there's a problem

addComment

String addComment(String resourcePath,
                  Comment comment)
                  throws RegistryException
Adds a comment to a resource.

Parameters:
resourcePath - Path of the resource to add the comment.
comment - Comment instance for the new comment.
Returns:
the path of the new comment.
Throws:
RegistryException - is thrown if a resource does not exist in the given path.

editComment

void editComment(String commentPath,
                 String text)
                 throws RegistryException
Change the text of an existing comment.

Specified by:
editComment in interface org.wso2.carbon.registry.api.Registry
Parameters:
commentPath - path to comment resource ("..foo/r1;comment:1")
text - new text for the comment.
Throws:
RegistryException - Registry implementations may handle exceptions and throw RegistryException if the exception has to be propagated to the client.

removeComment

void removeComment(String commentPath)
                   throws RegistryException
Delete an existing comment.

Specified by:
removeComment in interface org.wso2.carbon.registry.api.Registry
Parameters:
commentPath - path to comment resource ("..foo/r1;comment:1")
Throws:
RegistryException - Registry implementations may handle exceptions and throw RegistryException if the exception has to be propagated to the client.

getComments

Comment[] getComments(String resourcePath)
                      throws RegistryException
Get all comments for the given resource.

Specified by:
getComments in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - path of the resource.
Returns:
an array of Comment objects.
Throws:
RegistryException - Registry implementations may handle exceptions and throw RegistryException if the exception has to be propagated to the client.

rateResource

void rateResource(String resourcePath,
                  int rating)
                  throws RegistryException
Rate the given resource.

Specified by:
rateResource in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource.
rating - Rating value between 1 and 5.
Throws:
RegistryException - Registry implementations may handle exceptions and throw RegistryException if the exception has to be propagated to the client.

getAverageRating

float getAverageRating(String resourcePath)
                       throws RegistryException
Returns the average rating for the given resource. This is the average of all ratings done by all users for the given resource.

Specified by:
getAverageRating in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource.
Returns:
Average rating between 1 and 5.
Throws:
RegistryException - if an error occurs

getRating

int getRating(String path,
              String userName)
              throws RegistryException
Returns the rating given to the specified resource by the given user

Specified by:
getRating in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - Path of the resource
userName - username of the user
Returns:
rating given by the given user
Throws:
RegistryException - if there is a problem

executeQuery

Collection executeQuery(String path,
                        Map parameters)
                        throws RegistryException
Executes a custom query which lives at the given path in the Registry.

Specified by:
executeQuery in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - Path of the query to execute.
parameters - a Map of query parameters (name -> value)
Returns:
a Collection containing any resource paths which match the query
Throws:
RegistryException - depends on the implementation.

getLogs

LogEntry[] getLogs(String resourcePath,
                   int action,
                   String userName,
                   Date from,
                   Date to,
                   boolean recentFirst)
                   throws RegistryException
Returns the logs of the activities occurred in the registry.

Specified by:
getLogs in interface org.wso2.carbon.registry.api.Registry
Parameters:
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 occurred 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 occurred 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.
Returns:
Array of LogEntry objects representing the logs
Throws:
RegistryException - if there is a problem
See Also:
Accepted values for action parameter

getLogCollection

@Deprecated
LogEntryCollection getLogCollection(String resourcePath,
                                               int action,
                                               String userName,
                                               Date from,
                                               Date to,
                                               boolean recentFirst)
                                    throws RegistryException
Deprecated. instead use getLogs(String, int, String, java.util.Date, java.util.Date, boolean)}

Returns the logs of the activities occurred in the registry.

Parameters:
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 occurred 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 occurred 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.
Returns:
LogEntryCollection representing collection of log entries
Throws:
RegistryException - if there is a problem
See Also:
Accepted values for action parameter

getAvailableAspects

String[] getAvailableAspects()
Get a list of the available Aspects for this Registry

Specified by:
getAvailableAspects in interface org.wso2.carbon.registry.api.Registry
Returns:
a String array containing available Aspect names

associateAspect

void associateAspect(String resourcePath,
                     String aspect)
                     throws RegistryException
Associate an Aspect with a resource.

Specified by:
associateAspect in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource
aspect - Name of the aspect
Throws:
RegistryException - If some thing went wrong while doing associating the phase

invokeAspect

void invokeAspect(String resourcePath,
                  String aspectName,
                  String action)
                  throws RegistryException
This invokes an action on a specified Aspect, which must be associated with the Resource at the given path.

Specified by:
invokeAspect in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - Path of the resource
aspectName - Name of the aspect
action - Which action was selected - actions are aspect-specific
Throws:
RegistryException - if the Aspect isn't associated with the Resource, or the action isn't valid, or an Aspect-specific problem occurs.

invokeAspect

void invokeAspect(String resourcePath,
                  String aspectName,
                  String action,
                  Map<String,String> parameters)
                  throws RegistryException
This invokes an action on a specified Aspect, which must be associated with the Resource at the given path.

Parameters:
resourcePath - Path of the resource
aspectName - Name of the aspect
action - Which action was selected - actions are aspect-specific
parameters - Parameters to be used for the operation
Throws:
RegistryException - if the Aspect isn't associated with the Resource, or the action isn't valid, or an Aspect-specific problem occurs.

getAspectActions

String[] getAspectActions(String resourcePath,
                          String aspectName)
                          throws RegistryException
Obtain a list of the available actions on a given resource for a given Aspect. The Aspect must be associated with the Resource (@see associateAspect). The actions are determined by asking the Aspect itself, so they may change depending on the state of the Resource, the user who's asking, etc)

Specified by:
getAspectActions in interface org.wso2.carbon.registry.api.Registry
Parameters:
resourcePath - path of the Resource
aspectName - name of the Aspect to query for available actions
Returns:
a String[] of action names
Throws:
RegistryException - if the Aspect isn't associated or an Aspect-specific problem occurs

getRegistryContext

RegistryContext getRegistryContext()
Get the configuration for this Registry

Returns:
the currently active RegistryContext, or null

searchContent

Collection searchContent(String keywords)
                         throws RegistryException
Search the content of resources

Specified by:
searchContent in interface org.wso2.carbon.registry.api.Registry
Parameters:
keywords - keywords to look for
Returns:
the result set as a collection
Throws:
RegistryException - throws if the operation fail

createLink

void createLink(String path,
                String target)
                throws RegistryException
Create a symbolic link or mount a registry

Specified by:
createLink in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the mount path
target - the point to be mounted
Throws:
RegistryException - throws if the operation fail

createLink

void createLink(String path,
                String target,
                String subTargetPath)
                throws RegistryException
Create a symbolic link or mount a registry

Specified by:
createLink in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the mount path
target - the point to be mounted
subTargetPath - sub path in the remote instance to be mounted
Throws:
RegistryException - throws if the operation fail

removeLink

void removeLink(String path)
                throws RegistryException
Remove a symbolic link or mount point created

Specified by:
removeLink in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the mount path
Throws:
RegistryException - throws if the operation fail

restore

void restore(String path,
             Reader reader)
             throws RegistryException
Check in the input axiom element into database.

Specified by:
restore in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - path to check in
reader - reader containing resource
Throws:
RegistryException - throws if the operation fail

dump

void dump(String path,
          Writer writer)
          throws RegistryException
Check out the given path as an xml.

Specified by:
dump in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - path to check out
writer - writer to write the response
Throws:
RegistryException - throws if the operation fail

getEventingServiceURL

String getEventingServiceURL(String path)
                             throws RegistryException
Gets the URL of the WS-Eventing Service.

Specified by:
getEventingServiceURL in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the path to which the WS-Eventing Service URL is required
Returns:
the URL of the WS-Eventing Service
Throws:
RegistryException - throws if the operation fail

setEventingServiceURL

void setEventingServiceURL(String path,
                           String eventingServiceURL)
                           throws RegistryException
Sets the URL of the WS-Eventing Service.

Specified by:
setEventingServiceURL in interface org.wso2.carbon.registry.api.Registry
Parameters:
path - the path to which the WS-Eventing Service URL is associated
eventingServiceURL - the URL of the WS-Eventing Service
Throws:
RegistryException - throws if the operation fail

removeAspect

boolean removeAspect(String aspect)
                     throws RegistryException
Remove the given aspect from registry context.

Parameters:
aspect - the name of the aspect to be removed
Returns:
return true if the operation finished successful, false otherwise.
Throws:
RegistryException - throws if the operation fail

addAspect

boolean addAspect(String name,
                  Aspect aspect)
                  throws RegistryException
Add aspect by passing a name and the aspect object.

Parameters:
name - the name of the aspect to be added
aspect - the name of the aspect object to be added to registry context
Returns:
return true if the operation finished successful, false otherwise.
Throws:
RegistryException - throws if the operation fail


Copyright © 2012 WSO2 Inc. All Rights Reserved.