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.remote;
36
37 import org.apache.muse.util.xml.XmlUtils;
38 import org.apache.muse.ws.addressing.soap.SoapFault;
39 import org.apache.muse.ws.resource.sg.WssgConstants;
40 import org.apache.xmlbeans.XmlException;
41 import org.apache.xmlbeans.XmlOptions;
42 import org.ogf.graap.wsag.api.client.AgreementClient;
43 import org.ogf.graap.wsag.api.client.AgreementRegistryService;
44 import org.ogf.graap.wsag.api.client.WsClient;
45 import org.ogf.graap.wsag.api.exceptions.ResourceUnavailableException;
46 import org.ogf.graap.wsag.api.exceptions.ResourceUnknownException;
47 import org.ogf.graap.wsag.api.security.ISecurityProperties;
48 import org.w3.x2005.x08.addressing.EndpointReferenceType;
49 import org.w3c.dom.Element;
50
51
52
53
54
55
56
57 public class RemoteAgreementRegistryServiceImpl extends WsrfResourceClient
58 implements AgreementRegistryService
59 {
60
61
62
63
64
65
66
67
68
69
70
71 public RemoteAgreementRegistryServiceImpl( EndpointReferenceType epr,
72 ISecurityProperties securityProperties )
73 {
74 super( epr, securityProperties );
75 }
76
77
78
79
80 public WsClient 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 agreements[n] = new RemoteAgreementClientImpl( dest, getSecurityProperties().clone() );
112 }
113
114 return agreements;
115 }
116 catch ( SoapFault e )
117 {
118 throw new ResourceUnavailableException( e );
119 }
120 catch ( XmlException e )
121 {
122 throw new ResourceUnavailableException( e );
123 }
124 catch ( Exception e )
125 {
126 throw new ResourceUnavailableException( e );
127 }
128 }
129
130 }