org.glite.security.voms.service.request
Interface VOMSRequest

All Known Implementing Classes:
VOMSRequestSoapBindingImpl

public interface VOMSRequest

Virtual Organization Membership Service user request interface.

Author:
Akos Frohner, Karoly Lorentey

Method Summary
 void allowRequest(long id, java.lang.String comment)
          Accept the given request, i.e. do the requested operation.
 void confirmRequest(long id, java.lang.String cookie, java.lang.String comment)
          Confirm the email address given during the creation of the request.
 void deleteRequest(long id, java.lang.String comment)
          Delete the given request from the database.
 void denyRequest(long id, java.lang.String comment)
          Deny the given request, i.e. don't do the requested operation.
 ShortRequest[] getAllRequests()
          Return a list of all requests in the database.
 ShortRequest[] getIncompleteRequests()
          Return a list of all incomplete requests in the database.
 int getMajorVersionNumber()
          Returns the major version number.
 int getMinorVersionNumber()
          Returns the minor version number.
 ShortRequest[] getMyRequests()
          Return a list of all requests created by the client.
 int getPatchVersionNumber()
          Returns the patch version number.
 ShortRequest[] getPendingRequests()
          A shorthand for getRequestsInState (null, null, "Undecided").
 DetailedRequest getRequest(long id)
          Return detailed information about a request.
 ShortRequest[] getRequestsInState(java.lang.String type, java.lang.String container, java.lang.String state)
          Return a list of requests with the given type, with the given subject container and in the given state.
 long newAddMemberRequest(java.lang.String group, java.lang.String comment, java.lang.String[] parameters)
          Create a new request for membership in the specified group.
 long newCreateUserRequest(User user, java.lang.String comment, java.lang.String[] parameters)
          Create a new request for adding a new user to the VO.
 long newCreateUserRequestFromContext(java.lang.String email, java.lang.String comment, java.lang.String[] parameters)
          Create a new request for adding a new user to the VO.
 

Method Detail

newCreateUserRequestFromContext

public long newCreateUserRequestFromContext(java.lang.String email,
                                            java.lang.String comment,
                                            java.lang.String[] parameters)
                                     throws VOMSException
Create a new request for adding a new user to the VO. The new user's DN and CA are retrieved from the security context (i.e. from the client's certificate).

Parameters:
email - An email address to send allow/deny notifications to.
comment - A free-form comment for the VO administrator about this request.
parameters - Optional parameters for the action in an even element String array (key at odd, value at even positions).
Returns:
the unique id of the newly created request (for status queries).
Throws:
VOMSException

newCreateUserRequest

public long newCreateUserRequest(User user,
                                 java.lang.String comment,
                                 java.lang.String[] parameters)
                          throws VOMSException
Create a new request for adding a new user to the VO. This general form requires an ADD privilege on the VO group.

Parameters:
user - Additional info about the user (cn, email, certUri).
comment - A free-form comment for the VO administrator about this request.
parameters - Optional parameters for the action in an even element String array (key at odd, value at even positions).
Returns:
the unique id of the newly created request (for status queries).
Throws:
VOMSException

newAddMemberRequest

public long newAddMemberRequest(java.lang.String group,
                                java.lang.String comment,
                                java.lang.String[] parameters)
                         throws VOMSException
Create a new request for membership in the specified group. The member's DN and CA are retrieved from the security context (i.e. from the client's certificate).

Parameters:
group - The group to request membership in.
comment - A free-form comment for the VO administrator about this request.
parameters - Optional parameters for the action in an even element String array (key at odd, value at even positions).
Returns:
the unique id of the newly created request (for status queries).
Throws:
VOMSException

getMyRequests

public ShortRequest[] getMyRequests()
                             throws VOMSException
Return a list of all requests created by the client.

Throws:
VOMSException

getRequestsInState

public ShortRequest[] getRequestsInState(java.lang.String type,
                                         java.lang.String container,
                                         java.lang.String state)
                                  throws VOMSException
Return a list of requests with the given type, with the given subject container and in the given state. Either parameter can be empty, which means return all types, all containers and/or all states, respectively.

Throws:
VOMSException

getIncompleteRequests

public ShortRequest[] getIncompleteRequests()
                                     throws VOMSException
Return a list of all incomplete requests in the database.

Throws:
VOMSException

getPendingRequests

public ShortRequest[] getPendingRequests()
                                  throws VOMSException
A shorthand for getRequestsInState (null, null, "Undecided").

Throws:
VOMSException

getAllRequests

public ShortRequest[] getAllRequests()
                              throws VOMSException
Return a list of all requests in the database. A shorthand for getRequestsInState (null, null, null).

Throws:
VOMSException

getRequest

public DetailedRequest getRequest(long id)
                           throws VOMSException
Return detailed information about a request.

Parameters:
id - The unique id of the request.
Returns:
Detailed information about the request.
Throws:
VOMSException

allowRequest

public void allowRequest(long id,
                         java.lang.String comment)
                  throws VOMSException
Accept the given request, i.e. do the requested operation. If the operation fails, a VOMSException is thrown and the request stays in the queue. If the operation succeeds, a notification is sent to the client which includes the given comment.

Parameters:
id - The unique id of the request.
comment - A textual comment to the user who requested the operation.
Throws:
VOMSException

denyRequest

public void denyRequest(long id,
                        java.lang.String comment)
                 throws VOMSException
Deny the given request, i.e. don't do the requested operation. The request is closed and a notification is sent to the client which includes the given comment.

Parameters:
id - The unique id of the request.
comment - A textual comment for the user who requested the operation.
Throws:
VOMSException

confirmRequest

public void confirmRequest(long id,
                           java.lang.String cookie,
                           java.lang.String comment)
                    throws VOMSException
Confirm the email address given during the creation of the request. Only the requester may confirm the address.

Parameters:
id - The unique id of the request.
cookie - The identifier that was sent to the given email address.
comment - A textual comment for this operation.
Throws:
VOMSException

deleteRequest

public void deleteRequest(long id,
                          java.lang.String comment)
                   throws VOMSException
Delete the given request from the database. Only the requester or a VO admin may delete a request.

Parameters:
id - The unique id of the request.
comment - A textual comment for this operation.
Throws:
VOMSException

getMajorVersionNumber

public int getMajorVersionNumber()
Returns the major version number.


getMinorVersionNumber

public int getMinorVersionNumber()
Returns the minor version number.


getPatchVersionNumber

public int getPatchVersionNumber()
Returns the patch version number.