org.deegree_impl.clients.wcasclient.control
Class ISO19115RequestFactory

java.lang.Object
  extended byorg.deegree_impl.clients.wcasclient.control.ISO19115RequestFactory

public class ISO19115RequestFactory
extends java.lang.Object

class for creating a get GetRecord Request against a catalog based on OGC Stateless Web Service Catalog Profil and GDI NRW catalog specifications to access data metadata (ISO 19115).

The only public method of the class receives a 'model' represented by a HashMap that contains the request parameters as name-vailue-pairs. The names corresponds to the formular-field-names. For common this will be the fields of a HTML-form but it can be any other form (e.g. swing-application)

--------------------------------------------------------------------

Version:
12.3.2003
Author:
Andreas Poth

Field Summary
private static CSWClientConfiguration conf
           
private static RPCStruct struct
           
private static char WILDCARD
           
 
Constructor Summary
ISO19115RequestFactory()
           
 
Method Summary
private static java.lang.String buildRequest(java.lang.String filter)
          second step to create Request: take filter and build request
private static java.lang.String createFilterEncoding()
          takes RequestModel and builds a String result out of it.
private static java.lang.String createGMLBox(GM_Envelope bbox)
           
private static Operation createOperation(int opId, java.lang.String prop, java.lang.Object value)
           
private static java.lang.String createQuery(java.lang.String filter)
          create Query expression using input params
static java.lang.String createRequest(RPCStruct struct)
          creates a GetRecord request that is conform to the OGC Stateless Web Service Catalog Profil and GDI NRW catalog specifications from a RPC struct.
private static java.lang.String handleBbox()
          Build OGC Filterencoding fragment: use WCASRequestmodel field geographicBox to create Comparison Operation.
private static java.lang.String handleDate()
          Build OGC Filterencoding fragment: use WCASRequestmodel fields dateFrom to create Comparison Operation.
private static java.lang.String handleFileIdentifier()
          Build OGC Filterencoding fragment: use WCASRequestmodel field fileIdentifier to create Comparison Operation.
private static java.lang.String handleFreeSearch()
          Spread WCASRequestmodel field terms to several Comparison Operations with pre-defined Property names.
private static java.lang.String handleKeywords()
          Build OGC Filterencoding fragment: Spread WCASRequestmodel field keywords to one Comparison Operations.
private static java.lang.String handleParentIdentifier()
          Build OGC Filterencoding fragment: use WCASRequestmodel field parentIdentifier to create Comparison Operation.
private static java.lang.String handleTopiccategory()
          Build OGC Filterencoding fragment: for WCASRequestmodel field topiccategory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WILDCARD

private static final char WILDCARD
See Also:
Constant Field Values

struct

private static RPCStruct struct

conf

private static CSWClientConfiguration conf
Constructor Detail

ISO19115RequestFactory

public ISO19115RequestFactory()
Method Detail

createRequest

public static java.lang.String createRequest(RPCStruct struct)
                                      throws CatalogClientException
creates a GetRecord request that is conform to the OGC Stateless Web Service Catalog Profil and GDI NRW catalog specifications from a RPC struct.

Parameters:
struct - RPC structure containing the request parameter
Returns:
GetFeature request as a string
Throws:
CatalogClientException

createFilterEncoding

private static java.lang.String createFilterEncoding()
                                              throws CatalogClientException
takes RequestModel and builds a String result out of it. The result should be OGC FilterEncoding conformant.

Throws:
CatalogClientException

handleFileIdentifier

private static java.lang.String handleFileIdentifier()
                                              throws CatalogClientException
Build OGC Filterencoding fragment: use WCASRequestmodel field fileIdentifier to create Comparison Operation.

Throws:
CatalogClientException

handleParentIdentifier

private static java.lang.String handleParentIdentifier()
                                                throws CatalogClientException
Build OGC Filterencoding fragment: use WCASRequestmodel field parentIdentifier to create Comparison Operation.

Throws:
CatalogClientException

handleFreeSearch

private static java.lang.String handleFreeSearch()
                                          throws CatalogClientException
Spread WCASRequestmodel field terms to several Comparison Operations with pre-defined Property names.

Throws:
CatalogClientException

handleTopiccategory

private static java.lang.String handleTopiccategory()
                                             throws CatalogClientException
Build OGC Filterencoding fragment: for WCASRequestmodel field topiccategory.

Throws:
CatalogClientException

handleKeywords

private static java.lang.String handleKeywords()
                                        throws CatalogClientException
Build OGC Filterencoding fragment: Spread WCASRequestmodel field keywords to one Comparison Operations.

Throws:
CatalogClientException

handleDate

private static java.lang.String handleDate()
                                    throws CatalogClientException
Build OGC Filterencoding fragment: use WCASRequestmodel fields dateFrom to create Comparison Operation.

Throws:
CatalogClientException

handleBbox

private static java.lang.String handleBbox()
                                    throws CatalogClientException
Build OGC Filterencoding fragment: use WCASRequestmodel field geographicBox to create Comparison Operation.

Throws:
CatalogClientException

createGMLBox

private static java.lang.String createGMLBox(GM_Envelope bbox)
Parameters:
bbox - bounding box to be used as filter condition
Returns:

createOperation

private static Operation createOperation(int opId,
                                         java.lang.String prop,
                                         java.lang.Object value)

buildRequest

private static java.lang.String buildRequest(java.lang.String filter)
                                      throws CatalogClientException
second step to create Request: take filter and build request

Throws:
CatalogClientException

createQuery

private static java.lang.String createQuery(java.lang.String filter)
create Query expression using input params