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

All Superinterfaces:
java.rmi.Remote

public interface VOMSRequest
extends java.rmi.Remote

Virtual Organisation Membership Service user request interface. TODO: We need a real authorization method for this. Overloading our existing privileges is not the way to go.

Version:
$Id: VOMSRequest.java,v 1.12 2003/12/14 13:20:07 szamcsi Exp $
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 java.rmi.RemoteException
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).
java.rmi.RemoteException

newCreateUserRequest

public long newCreateUserRequest(User user,
                                 java.lang.String comment,
                                 java.lang.String[] parameters)
                          throws java.rmi.RemoteException
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).
java.rmi.RemoteException

newAddMemberRequest

public long newAddMemberRequest(java.lang.String group,
                                java.lang.String comment,
                                java.lang.String[] parameters)
                         throws java.rmi.RemoteException
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).
java.rmi.RemoteException

getMyRequests

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

java.rmi.RemoteException

getRequestsInState

public ShortRequest[] getRequestsInState(java.lang.String type,
                                         java.lang.String container,
                                         java.lang.String state)
                                  throws java.rmi.RemoteException
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.

java.rmi.RemoteException

getIncompleteRequests

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

java.rmi.RemoteException

getPendingRequests

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

java.rmi.RemoteException

getAllRequests

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

java.rmi.RemoteException

getRequest

public DetailedRequest getRequest(long id)
                           throws java.rmi.RemoteException
Return detailed information about a request.

Parameters:
id - The unique id of the request.
Returns:
Detailed information about the request.
java.rmi.RemoteException

allowRequest

public void allowRequest(long id,
                         java.lang.String comment)
                  throws java.rmi.RemoteException
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.
java.rmi.RemoteException

denyRequest

public void denyRequest(long id,
                        java.lang.String comment)
                 throws java.rmi.RemoteException
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.
java.rmi.RemoteException

confirmRequest

public void confirmRequest(long id,
                           java.lang.String cookie,
                           java.lang.String comment)
                    throws java.rmi.RemoteException
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.
java.rmi.RemoteException

deleteRequest

public void deleteRequest(long id,
                          java.lang.String comment)
                   throws java.rmi.RemoteException
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.
java.rmi.RemoteException

getMajorVersionNumber

public int getMajorVersionNumber()
                          throws java.rmi.RemoteException
Returns the major version number.

java.rmi.RemoteException

getMinorVersionNumber

public int getMinorVersionNumber()
                          throws java.rmi.RemoteException
Returns the minor version number.

java.rmi.RemoteException

getPatchVersionNumber

public int getPatchVersionNumber()
                          throws java.rmi.RemoteException
Returns the patch version number.

java.rmi.RemoteException