|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.wso2.registry.secure.SecureRegistry
public class SecureRegistry
Registry implementation to perform authentication and authorization. Each user should use a separate instance of the SecureRegistry initialized with the user name and a back-end Registry. All SecureRegistry instances should be initialized using the same back-end registry implementation. SecureRegistry verifies whether the user has necessary permissions to perform the requested action and delegates the request to the back-end registry if the authorization succeeds. It also sets user name as a thread local variable before delegating the request, so that the back-end registry can use that user name to associate user information with performed operation (e.g. who commented on the resource /projects/abcbank/orders.doc).
Resource path is used as the unique ID of the resource to associate permissions. So when an operation is request on a certain path, we can first check the permissions for that path, without even touching the actual resource. This has a side effect that if a user has requested an operation on a non-existing resource, he gets an unauthorized operation message rather than a resource does not exist message. This is good as we don't want unauthorized users to check if a resource exist in a particular path.
| Constructor Summary | |
|---|---|
SecureRegistry(java.lang.String userID,
Registry registry,
org.wso2.usermanager.Realm defaultRealm)
Non-authenticating constructor. |
|
SecureRegistry(java.lang.String userID,
java.lang.String password,
Registry registry,
org.wso2.usermanager.Realm defaultRealm)
|
|
| Method Summary | |
|---|---|
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 |
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. |
Resource |
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. |
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. |
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 resourcePath,
java.lang.String userName)
Returns the rating given to the specified resource by the given user |
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 |
getUserID()
|
org.wso2.usermanager.Realm |
getUserRealm()
|
java.lang.String[] |
getVersions(java.lang.String resourcePath)
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. |
java.lang.String |
put(java.lang.String suggestedPath,
Resource resource)
Checks if the user has "PUT" permissions to the existing ascendent path of the given path. |
void |
rateResource(java.lang.String resourcePath,
int rating)
Rate the given resource. |
void |
removeTag(java.lang.String resourcePath,
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 resourcePath)
Check whether a resource exists at the given path |
void |
restoreVersion(java.lang.String versionPath)
Reverts a resource to a given version. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SecureRegistry(java.lang.String userID,
java.lang.String password,
Registry registry,
org.wso2.usermanager.Realm defaultRealm)
throws RegistryException
RegistryException
public SecureRegistry(java.lang.String userID,
Registry registry,
org.wso2.usermanager.Realm defaultRealm)
throws RegistryException
userID - user name of the user of the secure registry.registry - core registry to use by the secure registry.defaultRealm - default (non-authorizing) realm.
RegistryException| Method Detail |
|---|
public java.lang.String getUserID()
public org.wso2.usermanager.Realm getUserRealm()
public Resource get(java.lang.String path)
throws RegistryException
CoreRegistry
get in interface CoreRegistrypath - Path of the resource. e.g. /project1/server/deployment.xml
RegistryException - is thrown if the resource is not in the registry
public boolean resourceExists(java.lang.String resourcePath)
throws RegistryException
CoreRegistry
resourceExists in interface CoreRegistryresourcePath - Path of the resource to be checked
RegistryException - if an error occurs
public java.lang.String put(java.lang.String suggestedPath,
Resource resource)
throws RegistryException
put in interface CoreRegistrysuggestedPath - the path which we'd like to use for the new resource.resource - New resource @throws RegistryException
RegistryException
public java.lang.String importResource(java.lang.String suggestedPath,
java.lang.String sourceURL,
Resource metadata)
throws RegistryException
Registry
importResource in interface RegistrysuggestedPath - 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 resource
public void delete(java.lang.String path)
throws RegistryException
CoreRegistry
delete in interface CoreRegistrypath - Path of the resource to be deleted.
RegistryException - is thrown depending on the implementation.
public java.lang.String rename(java.lang.String currentPath,
java.lang.String newPath)
throws RegistryException
Registry
rename in interface RegistrycurrentPath - current path of the resourcenewPath - where we'd like to move the reosurce
RegistryException - if something went wrong
public java.lang.String[] getVersions(java.lang.String resourcePath)
throws RegistryException
Registry
getVersions in interface RegistryresourcePath - path of a current version of a resource
RegistryException - if there is an error
public void restoreVersion(java.lang.String versionPath)
throws RegistryException
Registry
restoreVersion in interface RegistryversionPath - 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 error
public void applyTag(java.lang.String resourcePath,
java.lang.String tag)
throws RegistryException
Registry
applyTag in interface RegistryresourcePath - 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 Registrytag - the tag to search for
RegistryException - if an error occurs
public Tag[] getTags(java.lang.String resourcePath)
throws RegistryException
Registry
getTags in interface RegistryresourcePath - Path of the resource
RegistryException - is thrown if a resource does not exist in the given path.
public void removeTag(java.lang.String resourcePath,
java.lang.String tag)
throws RegistryException
Registry
removeTag in interface RegistryresourcePath - Resource path tagged with the given tag.tag - Name of the tag to be removed.
RegistryException - if there's a problem
public java.lang.String addComment(java.lang.String resourcePath,
Comment comment)
throws RegistryException
Registry
addComment in interface RegistryresourcePath - 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 RegistrycommentPath - 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 RegistryresourcePath - 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 RegistryresourcePath - 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 RegistryresourcePath - Path of the resource.
RegistryException - if an error occurs
public int getRating(java.lang.String resourcePath,
java.lang.String userName)
throws RegistryException
Registry
getRating in interface RegistryresourcePath - Path of the resourceuserName - username of the user
RegistryException - if there is a problem
public Resource executeQuery(java.lang.String path,
java.util.Map parameters)
throws RegistryException
Registry
executeQuery in interface Registrypath - 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 RegistryresourcePath - 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.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 problem
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||