1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 package org.ogf.graap.wsag.client.wsrf.impl;
36
37 import java.util.Properties;
38
39 import org.apache.muse.util.xml.XmlUtils;
40 import org.apache.muse.ws.addressing.soap.SoapFault;
41 import org.apache.muse.ws.resource.sg.WssgConstants;
42 import org.apache.xmlbeans.XmlException;
43 import org.apache.xmlbeans.XmlOptions;
44 import org.ogf.graap.wsag.api.exceptions.ResourceUnavailableException;
45 import org.ogf.graap.wsag.api.exceptions.ResourceUnknownException;
46 import org.ogf.graap.wsag.api.security.ISecurityProperties;
47 import org.ogf.graap.wsag.client.api.AgreementClient;
48 import org.ogf.graap.wsag.client.wsrf.WsrfAgreementClient;
49 import org.w3.x2005.x08.addressing.EndpointReferenceType;
50 import org.w3c.dom.Element;
51
52
53
54
55
56
57
58 public class WsrfAgreementRegistryService extends WsrfResourceClient
59 {
60
61
62
63
64
65
66
67
68
69
70
71 public WsrfAgreementRegistryService( EndpointReferenceType epr, Properties properties,
72 ISecurityProperties securityProperties )
73 {
74 super( epr, properties, securityProperties );
75 }
76
77
78
79
80 public WsrfResourceClient getWebServiceClient()
81 {
82 return this;
83 }
84
85
86
87
88
89
90 public AgreementClient[] listAgreements() throws ResourceUnknownException, ResourceUnavailableException
91 {
92 try
93 {
94 Element[] entries = getResourceProperty( WssgConstants.ENTRY_QNAME );
95 AgreementClient[] agreements = new AgreementClient[entries.length];
96
97 for ( int n = 0; n < entries.length; ++n )
98 {
99
100
101
102 Element eprXML = XmlUtils.getElement( entries[n], WssgConstants.MEMBER_SERVICE_EPR_QNAME );
103
104 EndpointReferenceType dest =
105 EndpointReferenceType.Factory.parse( eprXML,
106 new XmlOptions().setLoadReplaceDocumentElement( null ) );
107
108
109
110
111 ISecurityProperties securityProperties = getSecurityProperties().clone();
112 agreements[n] = new WsrfAgreementClient( dest, getProperties(), securityProperties );
113 }
114
115 return agreements;
116 }
117 catch ( SoapFault e )
118 {
119 throw new ResourceUnavailableException( e );
120 }
121 catch ( XmlException e )
122 {
123 throw new ResourceUnavailableException( e );
124 }
125 catch ( Exception e )
126 {
127 throw new ResourceUnavailableException( e );
128 }
129 }
130
131 }