summaryrefslogtreecommitdiff
path: root/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java')
-rw-r--r--same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java b/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
index 841d5fa..0a1e54f 100644
--- a/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
+++ b/same/src/main/java/com/orbekk/same/ConnectionManagerImpl.java
@@ -14,18 +14,27 @@ public class ConnectionManagerImpl implements ConnectionManager {
public ConnectionManagerImpl() {
}
- @Override
- public SameService getConnection(String url) {
- SameService service = null;
+ private <T>T getClassProxy(String url, Class<T> clazz) {
+ T service = null;
try {
JsonRpcHttpClient client = new JsonRpcHttpClient(new URL(url));
service = ProxyUtil.createProxy(
this.getClass().getClassLoader(),
- SameService.class,
+ clazz,
client);
} catch (MalformedURLException e) {
logger.warn("Unable to create client for {}, {}", url, e);
}
return service;
}
+
+ @Override
+ public ClientService getClient(String url) {
+ return getClassProxy(url, ClientService.class);
+ }
+
+ @Override
+ public MasterService getMaster(String url) {
+ return getClassProxy(url, MasterService.class);
+ }
}