Service Registry 3.1 Update 1 Developer's Guide

Using Declarative Queries: Example

For examples of the use of declarative queries, see JAXRQueryDeclarative.java and JAXRGetAllSchemes.java in the directory install/registry-samples/query-declarative/src. Both examples create and execute a SQL query. The query strings are defined in the JAXRExamples.properties file.

The SQL query string for JAXRQueryDeclarative is as follows (all on one line):


SELECT ro.* from RegistryObject ro, Name nm, Description d 
WHERE upper(nm.value) LIKE upper(’%free%’) AND upper(d.value) 
LIKE upper(’%free%’) AND (ro.id = nm.parent AND ro.id = d.parent)

This query finds all objects that have the string "free" in both the name and the description attributes.

The SQL query string for JAXRGetAllSchemes is as follows:


SELECT * FROM ClassScheme s order by s.id

This query finds all the classification schemes in the Registry.

ProcedureTo Run the JAXRQueryDeclarative Example

  1. Go to the directory install/registry-samples/query-declarative.

  2. To run the JAXRQueryDeclarative example, type the following command:


    Ant-base/ant get-free
    

    The output of the get-free target looks something like this:


    get-free:
         [java] Query URL is http://localhost:6480/soar/registry/soap
         [java] Query string is SELECT ro.* FROM RegistryObject ro, Name nm, Description d 
    WHERE upper(nm.value) LIKE upper('%free%') AND upper(d.value) LIKE upper('%free%') 
    AND (ro.id = nm.parent AND ro.id = d.parent)
         [java] Created connection to registry
         [java] Got registry service and query manager
         [java] Object type is Federation
         [java] Object name is freebXMLRegistryFederation
         [java] Object description is freebXML Registry Federation
         [java]  --- 
         [java] Object type is Organization
         [java] Object name is freebXMLRegistry
         [java] Object description is freebXML Registry
         [java]  --- 
         [java] Object type is Registry
         [java] Object name is freebXMLRegistry
         [java] Object description is freebXML Registry
         [java]  --- 
  3. To run the JAXRGetAllSchemes example, type the following command:


    Ant-base/ant get-schemes
    

    The output of the get-schemes target begins something like this:


    get-schemes:
         [java] Query URL is http://localhost:6480/soar/registry/soap
         [java] Created connection to registry
         [java] Got registry service and query manager
         [java] Query string is SELECT * FROM ClassScheme s ORDER BY s.id
         [java] All classification schemes and their URNs:
         [java] 1. NASDAQ -- urn:devguide:samples:ClassificationScheme:NASDAQ
         [java] 2. HL7 -- urn:freebxml:registry:demo:schemes:HL7
         [java] 3. iso-ch:3166:1999 -- urn:freebxml:registry:demo:schemes:iso-ch:3166:1999
         [java] 4. DUNS -- urn:freebxml:registry:demoDB:classificationScheme:DUNS
         [java] 5. NYSE Ticker -- urn:freebxml:registry:demoDB:classificationScheme:NYSETicker
         ...