net.sf.provisioner.requests
Class Request

java.lang.Object
  extended by net.sf.provisioner.requests.Request
Direct Known Subclasses:
AsteriskRequest, FailedRequest, GenericRequest, IntrawayRequest, LDAPRequest, MerakRequest, SERRequest, SPMLRequest

public abstract class Request
extends java.lang.Object

Base class for requests to external services.

A Producer reads requests from an external queue, and creates Operations from their information. The operation is passed to a Consumer, which populates the operation's set of ConfigRequests (a single operation may require multiple requests to multiple end-points.) The consumer then uses a RequestFactory to convert each ConfigRequest into a Request, which is executed, and examine for a successful response.

Version:
$Revision: 1.1.2.2 $, $Date: 2007/11/13 22:36:03 $
Author:
Gonzalo Espert, G. Pearson

Constructor Summary
Request()
           
 
Method Summary
protected  java.util.Collection<org.jdom.Element> filterElements(java.util.Iterator<org.jdom.Element> i, java.lang.String matchingName)
          Filters 's by comparing Element.getName() with matchingName (simple equalsIgnoreCase comparison.)
protected  java.util.Map<java.lang.String,java.lang.Object> filterParameters(org.jdom.Document opParameters)
          Convenience method for extending classes.
abstract  Response sendRequest()
           
protected  void storeParameter(java.util.Map<java.lang.String,java.lang.Object> paramStore, org.jdom.Element element)
          Called by filterParameters when building a Map of request parameters.
protected  void storeParameter(java.util.Map<java.lang.String,java.lang.Object> paramStore, java.lang.String name, java.lang.Object value)
          The default method for processing request parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Request

public Request()
Method Detail

sendRequest

public abstract Response sendRequest()
                              throws java.lang.Exception
Throws:
java.lang.Exception

filterParameters

protected java.util.Map<java.lang.String,java.lang.Object> filterParameters(org.jdom.Document opParameters)
Convenience method for extending classes. Takes a set of XML elements and finds all "parameter" tags. Stores found parameters in a Map. Extending classes have can modify the results of this method by overriding the storeParameter methods.

Parameters:
opParameters - an XML document detailing parameters from an operation. Typically, these will come from a request fetched from the database.
Returns:
a Map of parameter values.

storeParameter

protected void storeParameter(java.util.Map<java.lang.String,java.lang.Object> paramStore,
                              org.jdom.Element element)
Called by filterParameters when building a Map of request parameters. By default, this simply calls storeParameter(Map,String,String) with the element's name and value attributes. Extending classes may choose to store extra information (e.g. LDAPModifyRequest converts parameters into ModificationItems.)

Parameters:
paramStore - the Map that any parameters should be stored in.
element - a parameter element from a Request's operation parameters.

storeParameter

protected void storeParameter(java.util.Map<java.lang.String,java.lang.Object> paramStore,
                              java.lang.String name,
                              java.lang.Object value)
The default method for processing request parameters. Stores the parameter name and value in paramStore.

Parameters:
paramStore - the Map that any parameters should be stored in.
name - the name of the operation parameter.
value - the value of the named operation parameter.

filterElements

protected java.util.Collection<org.jdom.Element> filterElements(java.util.Iterator<org.jdom.Element> i,
                                                                java.lang.String matchingName)
Filters 's by comparing Element.getName() with matchingName (simple equalsIgnoreCase comparison.)

Parameters:
i - an iterator for a collection of Elements.
matchingName - the value that elements are filtered by.
Returns:
a collection of elements with names that match matchingName


Copyright © 2007-2008. All Rights Reserved.