Project

General

Profile

1
package eu.dnetlib.soap;
2

    
3
import java.util.Map;
4

    
5
import javax.xml.namespace.QName;
6
import javax.xml.ws.wsaddressing.W3CEndpointReference;
7
import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
8

    
9
/**
10
 * This endpoint reference builder builds always the same epr, with a fixed address, for any incoming endpoint (even
11
 * null endpoints). Useful when registering service profiles for external services like the old perl Aggregator.
12
 *
13
 * @author marko
14
 *
15
 * @param <T>
16
 *            endpoint type
17
 */
18
public class StaticEndpointReferenceBuilder<T> implements EndpointReferenceBuilder<T> {
19

    
20
	/**
21
	 * service address.
22
	 */
23
	private String address;
24

    
25
	@Override
26
	public String getAddress(final T endpoint) {
27
		return address;
28
	}
29

    
30
	@Override
31
	public W3CEndpointReference getEndpointReference(final T endpoint) {
32
		final W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder();
33
		builder.address(address);
34
		return builder.build();
35
	}
36

    
37
	@Override
38
	public W3CEndpointReference getEndpointReference(final T endpoint, final Map<QName, Object> attrs) {
39
		return getEndpointReference(endpoint);
40
	}
41

    
42
	@Override
43
	public W3CEndpointReference getEndpointReference(final T endpoint, final String referenceParam) {
44
		return getEndpointReference(endpoint);
45
	}
46

    
47
	@Override
48
	public W3CEndpointReference getEndpointReference(final T endpoint, final String referenceParam, final Map<QName, Object> attrs) {
49
		return getEndpointReference(endpoint);
50
	}
51

    
52
	public String getAddress() {
53
		return address;
54
	}
55

    
56
	public void setAddress(final String address) {
57
		this.address = address;
58
	}
59

    
60
}
(3-3/3)