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.wsrf.impl;
36
37 import org.apache.log4j.Logger;
38 import org.apache.muse.core.Resource;
39 import org.apache.muse.core.ResourceManager;
40 import org.apache.muse.ws.addressing.soap.SoapFault;
41 import org.ogf.graap.wsag.server.api.AgreementAcceptanceFactory;
42 import org.ogf.graap.wsag.server.api.AgreementAcceptanceListener;
43 import org.ogf.graap.wsag.wsrf.XmlUtils;
44 import org.w3.x2005.x08.addressing.EndpointReferenceType;
45
46
47
48
49
50
51
52 public class AgreementAcceptanceFactoryImpl implements AgreementAcceptanceFactory
53 {
54
55 private static final Logger LOG = Logger.getLogger( AgreementAcceptanceFactoryImpl.class );
56
57 private Resource factoryResource;
58
59
60
61
62
63
64 public AgreementAcceptanceFactoryImpl( Resource resource )
65 {
66 factoryResource = resource;
67 }
68
69
70
71
72 public EndpointReferenceType registerAgreementAccetanceListener( AgreementAcceptanceListener handler )
73 {
74 try
75 {
76 ResourceManager resourceManager = factoryResource.getResourceManager();
77
78 AgreementAcceptanceWsResource acceptanceResource =
79 (AgreementAcceptanceWsResource) resourceManager.createResource( "AgreementAcceptance" );
80 acceptanceResource.setAcceptanceHandler( handler );
81 resourceManager.addResource( acceptanceResource.getEndpointReference(), acceptanceResource );
82
83 return XmlUtils.convertMuseEPRToEndpoint( acceptanceResource.getEndpointReference() );
84 }
85 catch ( SoapFault e )
86 {
87 LOG.error( "Error creating acceptance resource. Cause: " + e.getMessage() );
88
89 if ( LOG.isDebugEnabled() )
90 {
91 LOG.debug( e );
92 }
93
94 throw new IllegalStateException( "Error creating acceptance resource." );
95 }
96 }
97
98 }