From 3c62b863509131e78c18ed13c6b83e4fc508848f Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 23 Nov 2024 13:51:12 -0500 Subject: import replica code from assignment --- src/main/java/derms/replica/replica1/Client.java | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/derms/replica/replica1/Client.java (limited to 'src/main/java/derms/replica/replica1/Client.java') diff --git a/src/main/java/derms/replica/replica1/Client.java b/src/main/java/derms/replica/replica1/Client.java new file mode 100644 index 0000000..7ebbb68 --- /dev/null +++ b/src/main/java/derms/replica/replica1/Client.java @@ -0,0 +1,30 @@ +package derms.replica.replica1; + +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.UnknownHostException; + +public abstract class Client { + public static final String namespace = "derms.samanthony.xyz"; + public static final int port = 8080; + + private final Class endpointInterface; + private final QName qname; + + protected Client(Class endpointInterface, Class endpointClass) { + this.endpointInterface = endpointInterface; + this.qname = new QName("http://"+namespace+"/", endpointClass.getSimpleName()+"Service"); + } + + protected I connect(String host) throws MalformedURLException { + URL url = new URL("http://"+host+":"+port+"/"+endpointInterface.getSimpleName()+"?wsdl"); + return Service.create(url, qname).getPort(endpointInterface); + } + + protected I connect(City city) throws UnknownHostException, MalformedURLException { + String host = Hosts.get(city); + return connect(host); + } +} -- cgit v1.2.3