diff options
Diffstat (limited to 'jsonrpc/src')
6 files changed, 62 insertions, 23 deletions
diff --git a/jsonrpc/src/main/java/com/orbekk/rpc/App.java b/jsonrpc/src/main/java/com/orbekk/rpc/App.java index e112008..ffd316d 100644 --- a/jsonrpc/src/main/java/com/orbekk/rpc/App.java +++ b/jsonrpc/src/main/java/com/orbekk/rpc/App.java @@ -1,15 +1,24 @@  package com.orbekk.rpc; -import org.eclipse.jetty.server.Server; -  import com.googlecode.jsonrpc4j.JsonRpcServer; +import com.orbekk.same.SameService; +import com.orbekk.same.SameServiceImpl; +import org.eclipse.jetty.server.Server;  public class App {      public static void main(String[] args) { -        PingService service = new PingServiceImpl(); -        JsonRpcServer jsonServer = new JsonRpcServer(service, PingService.class);    +        if (args.length < 2) { +            System.err.println("Arguments: port networkName"); +            System.exit(1); +        } +        int port = Integer.parseInt(args[0]); +        String networkName = args[1]; + +        SameService service = new SameServiceImpl(networkName); +        JsonRpcServer jsonServer = new JsonRpcServer(service, +                SameService.class);    -        Server server = new Server(10080); +        Server server = new Server(port);          RpcHandler rpcHandler = new RpcHandler(jsonServer);          server.setHandler(rpcHandler); diff --git a/jsonrpc/src/main/java/com/orbekk/rpc/Client.java b/jsonrpc/src/main/java/com/orbekk/rpc/Client.java index bfb6c52..ba77df6 100644 --- a/jsonrpc/src/main/java/com/orbekk/rpc/Client.java +++ b/jsonrpc/src/main/java/com/orbekk/rpc/Client.java @@ -3,23 +3,29 @@ package com.orbekk.rpc;  import java.net.MalformedURLException;  import java.net.URL; +import com.orbekk.same.SameService;  import com.googlecode.jsonrpc4j.JsonRpcHttpClient;  import com.googlecode.jsonrpc4j.ProxyUtil;  public class Client {      public static void main(String[] args) { +        if (args.length < 1) { +            System.err.println("Arguments: networkAddress"); +            System.exit(1); +        } +        String networkAddress = args[0];          JsonRpcHttpClient client = null;          try { -            client = new JsonRpcHttpClient( -                    new URL("http://10.0.0.96:10080/PingService.json")); +            client = new JsonRpcHttpClient(new URL(networkAddress));          } catch (MalformedURLException e) {              e.printStackTrace();          } -        PingService service = ProxyUtil.createProxy( +        SameService service = ProxyUtil.createProxy(                  client.getClass().getClassLoader(), -                PingService.class, +                SameService.class,                  client); -        System.out.println(service.ping()); +        service.notifyNetwork("NoNetwork"); +        System.out.println(service.participateNetwork("FirstNetwork"));      }  } diff --git a/jsonrpc/src/main/java/com/orbekk/rpc/PingService.java b/jsonrpc/src/main/java/com/orbekk/rpc/PingService.java deleted file mode 100644 index 353f7c5..0000000 --- a/jsonrpc/src/main/java/com/orbekk/rpc/PingService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.orbekk.rpc; - -public interface PingService { -    String ping(); -} diff --git a/jsonrpc/src/main/java/com/orbekk/rpc/PingServiceImpl.java b/jsonrpc/src/main/java/com/orbekk/rpc/PingServiceImpl.java deleted file mode 100644 index 9472846..0000000 --- a/jsonrpc/src/main/java/com/orbekk/rpc/PingServiceImpl.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.orbekk.rpc; - -public class PingServiceImpl implements PingService { -    @Override -    public String ping() { -        return "Pong"; -    } -} diff --git a/jsonrpc/src/main/java/com/orbekk/same/SameService.java b/jsonrpc/src/main/java/com/orbekk/same/SameService.java new file mode 100644 index 0000000..dccc1e9 --- /dev/null +++ b/jsonrpc/src/main/java/com/orbekk/same/SameService.java @@ -0,0 +1,6 @@ +package com.orbekk.same; + +public interface SameService { +    void notifyNetwork(String networkName); +    String participateNetwork(String networkName); +} diff --git a/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java b/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java new file mode 100644 index 0000000..56a0fa1 --- /dev/null +++ b/jsonrpc/src/main/java/com/orbekk/same/SameServiceImpl.java @@ -0,0 +1,31 @@ +package com.orbekk.same; + +import java.util.List; +import java.util.LinkedList; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class SameServiceImpl implements SameService { +    private Logger logger = LoggerFactory.getLogger(getClass()); +    private List<String> participants = new LinkedList<String>(); +    private String networkName; + +    public SameServiceImpl(String networkName) { +        this.networkName = networkName; +    } + +    @Override +    public void notifyNetwork(String networkName) { +        logger.info("Notification from network " + networkName); +    } + +    @Override +    public String participateNetwork(String networkName) { +        logger.info("Got participation request."); +        if (networkName != this.networkName) { +            logger.info("Network name mismatch."); +        } +        return "<Not implemented>"; +    } +}  | 
