org.globus.wsrf.impl.security.authorization
Class ParameterPIP

java.lang.Object
  extended by org.globus.wsrf.impl.security.authorization.ParameterPIP
All Implemented Interfaces:
java.io.Serializable, org.globus.security.authorization.Interceptor, org.globus.security.authorization.PIP, org.globus.security.authorization.PIPInterceptor

public class ParameterPIP
extends java.lang.Object
implements org.globus.security.authorization.PIPInterceptor

This PIP extracts configured parameter element from the SOAPMessage. The parameter is added as an action attribute in the associated RequestAttribute.

A configuration file with information about the service, method and parameter to extract needs to be configured. The configuration file name is configured as value of property parameterConfig. If configured file name is not absolute, an attempt is made to find the file as provided, if not an attempt is made to locate it relative to GLOBUS_LOCATION and if that fails, an attempt it made to locate it relative to current directory.

The configuration file is required to have the format as described in SOAPParameter

See Also:
Serialized Form

Field Summary
static java.lang.String CONFIG_FILE_PROP
           
private  java.lang.String fileName
           
private static org.globus.util.I18n i18n
           
private  long lastModified
           
private static org.apache.commons.logging.Log logger
           
private  java.util.HashMap soapParameters
           
 
Constructor Summary
ParameterPIP()
           
 
Method Summary
 void close()
           
 org.globus.security.authorization.NonRequestEntities collectAttributes(org.globus.security.authorization.RequestEntities requestAttr)
           
private  org.w3c.dom.Node extractParamElem(org.w3c.dom.Element operationNode, javax.xml.namespace.QName[] qname)
           
 void initialize(java.lang.String chainName, java.lang.String prefix, org.globus.security.authorization.ChainConfig config)
           
private  void readSOAPParameters(javax.xml.rpc.handler.MessageContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static org.apache.commons.logging.Log logger

i18n

private static org.globus.util.I18n i18n

CONFIG_FILE_PROP

public static final java.lang.String CONFIG_FILE_PROP
See Also:
Constant Field Values

lastModified

private long lastModified

fileName

private java.lang.String fileName

soapParameters

private java.util.HashMap soapParameters
Constructor Detail

ParameterPIP

public ParameterPIP()
Method Detail

initialize

public void initialize(java.lang.String chainName,
                       java.lang.String prefix,
                       org.globus.security.authorization.ChainConfig config)
                throws org.globus.security.authorization.InitializeException
Specified by:
initialize in interface org.globus.security.authorization.Interceptor
Throws:
org.globus.security.authorization.InitializeException

collectAttributes

public org.globus.security.authorization.NonRequestEntities collectAttributes(org.globus.security.authorization.RequestEntities requestAttr)
                                                                       throws org.globus.security.authorization.AttributeException
Specified by:
collectAttributes in interface org.globus.security.authorization.PIP
Throws:
org.globus.security.authorization.AttributeException

extractParamElem

private org.w3c.dom.Node extractParamElem(org.w3c.dom.Element operationNode,
                                          javax.xml.namespace.QName[] qname)

readSOAPParameters

private void readSOAPParameters(javax.xml.rpc.handler.MessageContext context)
                         throws org.globus.wsrf.security.SecurityException
Throws:
org.globus.wsrf.security.SecurityException

close

public void close()
           throws org.globus.security.authorization.CloseException
Specified by:
close in interface org.globus.security.authorization.Interceptor
Throws:
org.globus.security.authorization.CloseException