|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectuk.ac.soton.itinnovation.grid.service.utils.trustedaccounts.TrustedManagementServices
public class TrustedManagementServices
Helper class for services whose resources are managed by resources at other services (accounts or SLAs).
ManagedGridService,
TrustedAccountsAdmin| Field Summary | |
|---|---|
static String |
FREE_SERVICE
Deprecated. |
static String |
MANAGEMENT_ROLE
The PBAC role a service must have to be able to manage this service: i.e. |
static String |
MANAGEMENT_SERVICES_GROUP
The group of management services (SLA services) that are allowed to call e.g. |
static QName |
MANAGEMENT_TYPE
|
static String |
MANAGEMENT_TYPE_ACCOUNT_SERVICE
|
static String |
MANAGEMENT_TYPE_FREE
|
static String |
MANAGEMENT_TYPE_SLA_SERVICE
|
| Constructor Summary | |
|---|---|
TrustedManagementServices(Class owningService,
Transport transport,
ProxyFactory proxyFactory)
|
|
| Method Summary | |
|---|---|
void |
addTrustedAccountService(org.apache.axis.message.addressing.EndpointReferenceType account)
Add a trusted account service. |
void |
checkAccountServiceTrusted(URL accountEndpoint)
Ensure that 'serviceEndpoint' is a trusted account service endpoint for this service. |
void |
checkFederations(ArrayList<Element> headers,
SubjectDescription subject,
String method)
Checks the user supplied header, and the users credentials are sufficient enough to use the method according to the policy in the Additional Federation List |
List<String> |
getAdditionalFederationMethods()
Gets the Methods in the additional federation list |
org.apache.neethi.Policy |
getAdditionalFederationPolicy(String method)
Gets the Policy for a method. |
List<org.apache.axis.message.addressing.EndpointReferenceType> |
getAdditionalFederations()
Gets the Additional Federation List |
org.apache.axis.message.addressing.EndpointReferenceType[] |
getAdditionalFederations(String method)
Gets a list of EndpointReferenceTypes in the additional federation list for a method |
Conversation |
getBillingConversation(ArrayList<Element> billingHeaders,
SubjectDescription user)
Gets a proxy to the managing conversation the service needs, or null if the service is free. |
Conversation |
getBillingInfo(Element billingHeader,
SubjectDescription user)
If there is a billing information header in the SOAP request, return it. |
org.apache.neethi.Policy |
getPolicy()
|
org.apache.axis.message.addressing.EndpointReferenceType[] |
getTrustedAccountServices()
Get the list of trusted account services for this service. |
String |
getTrustedManagementType(org.apache.axis.message.addressing.EndpointReferenceType billingInfo)
Set type of trusted service. |
void |
removeTrustedAccountService(org.apache.axis.message.addressing.EndpointReferenceType account)
Remove a trusted account service. |
void |
setAdditionalFederation(org.apache.axis.message.addressing.EndpointReferenceType[] endpointReferenceTypes,
String[] methods)
This method sets a list of possible federations and methods under those federations. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
@Deprecated public static final String FREE_SERVICE
public static final String MANAGEMENT_SERVICES_GROUP
public static final String MANAGEMENT_ROLE
public static QName MANAGEMENT_TYPE
public static String MANAGEMENT_TYPE_FREE
public static String MANAGEMENT_TYPE_ACCOUNT_SERVICE
public static String MANAGEMENT_TYPE_SLA_SERVICE
| Constructor Detail |
|---|
public TrustedManagementServices(Class owningService,
Transport transport,
ProxyFactory proxyFactory)
| Method Detail |
|---|
public void setAdditionalFederation(org.apache.axis.message.addressing.EndpointReferenceType[] endpointReferenceTypes,
String[] methods)
throws RemoteException
endpointReferenceTypes - - the list of federation servicesmethods - - the list of methods under the federation
RemoteException - - if one of the services cannot be added to
the listpublic List<org.apache.axis.message.addressing.EndpointReferenceType> getAdditionalFederations()
public List<String> getAdditionalFederationMethods()
public org.apache.axis.message.addressing.EndpointReferenceType[] getTrustedAccountServices()
public org.apache.axis.message.addressing.EndpointReferenceType[] getAdditionalFederations(String method)
method - the method to get a list of federations
public Conversation getBillingConversation(ArrayList<Element> billingHeaders,
SubjectDescription user)
throws RemoteException
billingHeaders - the list of header element the user supplied
to the serviceuser - the SubjectDescription of the calling user, will be
checked against the managing service to make sure they are a valid
user.
RemoteException - if the checking of the user fails
public Conversation getBillingInfo(Element billingHeader,
SubjectDescription user)
throws RemoteException
MANAGEMENT_TYPE meta-data element to the returned
EPR.
billingHeader - header from AdditionalContextHelper.getSingleHeader(java.util.ArrayList, javax.xml.namespace.QName) (ConversationID.BILLING_INFO), or nulluser - the signer of the SOAP messagemethod - the method being invoked
GridFailureException - if we don't trust the service
GridFailureException - if the user doesn't have access to the resource
GridFailureException - if the service isn't free, but no billing header was present
GridFailureException - if the service is free, and a billing header was present
RemoteException - if checking the user's access to the resource failed
public void checkFederations(ArrayList<Element> headers,
SubjectDescription subject,
String method)
throws RemoteException
headers - the user supplied headers to the servicesubject - the users credentials who is calling the servicemethod - the method being checked
RemoteException - if we could not check the federation context
RemoteException - if the user supplied no context but some
context is needed
public String getTrustedManagementType(org.apache.axis.message.addressing.EndpointReferenceType billingInfo)
throws GridFailureException
MANAGEMENT_TYPE).
Does NOT check that the client is permitted to use this EPR, only that we trust the service to tell us whether they are.
Passing null is permitted iff the service has been configured as 'free'.
billingInfo - the ERP suggested by the client, or null if none
MANAGEMENT_TYPE meta-data element
GridFailureException - if the service is not on the trusted list
public void checkAccountServiceTrusted(URL accountEndpoint)
throws GridFailureException
accountEndpoint - the account service's endpoint
GridFailureException - if the endpoint isn't on the list
public void addTrustedAccountService(org.apache.axis.message.addressing.EndpointReferenceType account)
throws RemoteException
account - the EPR of the service (only the address is used)
RemoteExceptionpublic void removeTrustedAccountService(org.apache.axis.message.addressing.EndpointReferenceType account)
account - the EPR of the service (only the address is used)public org.apache.neethi.Policy getPolicy()
public org.apache.neethi.Policy getAdditionalFederationPolicy(String method)
method - - the method to check
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||