Class ClientImpl
- java.lang.Object
-
- com.google.common.util.concurrent.AbstractIdleService
-
- org.somda.sdc.dpws.client.ClientImpl
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service,Client,HelloByeAndProbeMatchesObserver
public class ClientImpl extends com.google.common.util.concurrent.AbstractIdleService implements Client, com.google.common.util.concurrent.Service, HelloByeAndProbeMatchesObserver
Default implementation of Client.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.common.util.concurrent.ListenableFuture<HostingServiceProxy>connect(String eprAddress)Connects to a hosting service by using an EPR address.com.google.common.util.concurrent.ListenableFuture<HostingServiceProxy>connect(DiscoveredDevice discoveredDevice)Connects to a hosting service by usingDiscoveredDevice.com.google.common.util.concurrent.ListenableFuture<ProbeMatchesType>directedProbe(String xAddr)Sends a directed probe to a specific physical address.voidprobe(DiscoveryFilter discoveryFilter)Probes for devices.voidregisterDiscoveryObserver(DiscoveryObserver observer)Subscribes to discovery events.com.google.common.util.concurrent.ListenableFuture<DiscoveredDevice>resolve(String eprAddress)Resolves physical addresses (XAddrs) of a device.protected voidshutDown()protected voidstartUp()voidunregisterDiscoveryObserver(DiscoveryObserver observer)Unsubscribes from discovery events.-
Methods inherited from class com.google.common.util.concurrent.AbstractIdleService
addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, serviceName, startAsync, state, stopAsync, toString
-
-
-
-
Method Detail
-
probe
public void probe(DiscoveryFilter discoveryFilter) throws TransportException, InterceptorException
Description copied from interface:ClientProbes for devices.This method synchronously sends a WS-Discovery Probe. All parties that subscribed to event messages by using
Client.registerDiscoveryObserver(DiscoveryObserver)will be notified on found devices and probe ending.- Specified by:
probein interfaceClient- Parameters:
discoveryFilter- types and scopes the discovery process shall filter against.- Throws:
TransportException- if probe cannot be sent.InterceptorException- if one of the interceptors pops up with an error.
-
directedProbe
public com.google.common.util.concurrent.ListenableFuture<ProbeMatchesType> directedProbe(String xAddr)
Description copied from interface:ClientSends a directed probe to a specific physical address.This method is an asynchronous unidirectional call; the result will not be notified to any subscribed parties.
- Specified by:
directedProbein interfaceClient- Parameters:
xAddr- the device's physical address.- Returns:
- a future that holds the result of the directed probe.
-
resolve
public com.google.common.util.concurrent.ListenableFuture<DiscoveredDevice> resolve(String eprAddress) throws InterceptorException
Description copied from interface:ClientResolves physical addresses (XAddrs) of a device.This method is an asynchronous unidirectional call; the result will not be notified to any subscribed parties.
- Specified by:
resolvein interfaceClient- Parameters:
eprAddress- the endpoint reference address of the device to resolve.- Returns:
- a future that holds the result of the resolve.
- Throws:
InterceptorException- if one of the interceptors pops up with an error.
-
connect
public com.google.common.util.concurrent.ListenableFuture<HostingServiceProxy> connect(DiscoveredDevice discoveredDevice)
Description copied from interface:ClientConnects to a hosting service by usingDiscoveredDevice.This function requires a fully populated
DiscoveredDeviceincluding XAddrs.By saying connect this method resolves a hosting service by using WS-TransferGet and hosted service information by using WS-MetadataExchange.
- Specified by:
connectin interfaceClient- Parameters:
discoveredDevice- a fully populatedDiscoveredDevice.- Returns:
- a future that holds the result of the connect.
-
connect
public com.google.common.util.concurrent.ListenableFuture<HostingServiceProxy> connect(String eprAddress) throws InterceptorException
Description copied from interface:ClientConnects to a hosting service by using an EPR address.Shortcut for first doing a
Client.resolve(String)followed by aClient.connect(DiscoveredDevice).- Specified by:
connectin interfaceClient- Parameters:
eprAddress- the EPR address of a device.- Returns:
- a future that holds the result of the connect.
- Throws:
InterceptorException- if one of the interceptors pops up with an error.
-
startUp
protected void startUp()
- Specified by:
startUpin classcom.google.common.util.concurrent.AbstractIdleService
-
shutDown
protected void shutDown()
- Specified by:
shutDownin classcom.google.common.util.concurrent.AbstractIdleService
-
registerDiscoveryObserver
public void registerDiscoveryObserver(DiscoveryObserver observer)
Description copied from interface:ClientSubscribes to discovery events.- Specified by:
registerDiscoveryObserverin interfaceClient- Parameters:
observer- the observer that is supposed to receive events.
-
unregisterDiscoveryObserver
public void unregisterDiscoveryObserver(DiscoveryObserver observer)
Description copied from interface:ClientUnsubscribes from discovery events.- Specified by:
unregisterDiscoveryObserverin interfaceClient- Parameters:
observer- the observer that shall not receive events anymore.
-
-