Difference between revisions of "DIS-HLS-Client"
(→Implentation Overview) |
(→Introduction) |
||
Line 1: | Line 1: | ||
=== Introduction === | === Introduction === | ||
− | The DISHLSClient is a library that allows to execute queries | + | The DISHLSClient is a library that allows to execute queries towards DIS-IC. |
+ | The Alpha version of this component, statically queries a predefined set of DIS-IC ( the ones declared inside the file diligent.xml in the HNM dir of the container). The Beta version of the component allows creating QueryManagers that automatically queries for a particular instance of DIS-IC ( one for each VO ). The information about the VO to query can be extracted from the service credential or by the service EPR. | ||
=== Implentation Overview === | === Implentation Overview === |
Revision as of 00:19, 20 March 2007
Contents
Introduction
The DISHLSClient is a library that allows to execute queries towards DIS-IC. The Alpha version of this component, statically queries a predefined set of DIS-IC ( the ones declared inside the file diligent.xml in the HNM dir of the container). The Beta version of the component allows creating QueryManagers that automatically queries for a particular instance of DIS-IC ( one for each VO ). The information about the VO to query can be extracted from the service credential or by the service EPR.
Implentation Overview
The DISHLSClient is a static class that allows to instance a Manager for each DILIGENT resource. Using Credentials or service EPR it is possible to instantiate the right Manager using it in the scope of a particular VO. The DISHLSClient allows to process a not predefined query using the method queryDISIC implemented in the GeneralQueryManager.
Usage Examples
ExtendedGSSCredential cred=null; try { cred = ProxyUtil.loadProxyCredentials("certWithDLRoles"); } catch (IOException e) { e.printStackTrace(); } catch (GSSException e) { e.printStackTrace(); } RunningInstanceManager riManager=null; PropertiesManager pMan =null; try { //null credential and null EPR riManager=DISHLSClient.getRunningInstanceManager(null, null); pMan= DISHLSClient.getPropertiesManager(cred, null); } catch (DISHLSClientException e) { e.printStackTrace(); } String test= null; try { riManager.getEPRsRIFromClassAndName("InformationSystem", "DIS-Registry", "dililigentproject/informationservice/disregistry/DISRegistryFactoryService", null,null); test= pMan.getAllPublishedEntries(cred, null); } catch (DISHLSClientException e) { e.printStackTrace(); } catch (DISHLSCredentialException e) { //community changed e.printStackTrace(); }
How to adapt the existing xQuery to eXist 1.1
In the following examples are shown the necessary modifications to xQueries in order to make them compatible with eXist 1.1
- the function text() is not supported:
.../DILIGENTResource/UniqueID/text() eq 'id' ==> .../DILIGENTResource/UniqueID/string() eq 'id'
- to keep an attribute value it must use the function string()
.../Endpoint[@EntryName="*ENTRYNAME*"] ==> ../Endpoint[string(@EntryName) eq "*ENTRYNAME*"]
--Andrea 14:08, 19 March 2007 (EET)