diff options
| author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-10 20:53:20 +0100 | 
|---|---|---|
| committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-01-10 20:53:20 +0100 | 
| commit | f71862b92f3d76251036485c27cf3a6a899635ab (patch) | |
| tree | fe0e45ae5aee9df50ce5c98a7c9cdee3613bbb27 /jsonrpc/src/main/java | |
| parent | 4825f9142e872f8572b628d6e9b1e671575a6873 (diff) | |
Start implementing SameService.
Start implementing the controller service for this project. "Same"
refers to the shared global state – the state should be the Same in all
the participants.
Removes PingService.
Diffstat (limited to 'jsonrpc/src/main/java')
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>"; +    } +} | 
