package alma.logoot.network; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; public class Network implements INetwork { public static Network instance = null; private IReceiveListener receiveListener; private NetworkServiceAsync service = GWT.create(NetworkService.class); private Integer id = new Integer(-1); public Network() { instance = this; initReceive(); } public void setId(Integer id) { this.id = id; } @Override public Integer getId() { return this.id; } @Override public void send(String o) { // TODO Auto-generated method stub // Envoyer l'objet vers le serveur. System.out.println(o); service.send(o, new AsyncCallback<Void>() { @Override public void onSuccess(Void result) { System.out.println("Network.send.onSuccess"); } @Override public void onFailure(Throwable caught) { caught.printStackTrace(); System.out.println("Network.send.onFailure"); } }); } @Override public Integer connect() { // Initialiser le server // int id = (int) (Math.random() * 1000000); // System.out.println("Id generated : " + id); // return id; service.register(new AsyncCallback<String>() { @Override public void onFailure(Throwable caught) { System.err .println("Network : Erreur enregistrement au serveur."); } @Override public void onSuccess(String result) { System.out.println("Network : Enregistrement au serveur." + result); setId(Integer.parseInt(result)); } }); System.out.println("Reception id " + id); return id; } @Override public void addReceiverListener(IReceiveListener listener) { this.receiveListener = listener; } public native void initReceive() /*-{ var source = new EventSource('GetData'); source.onmessage = function(event) { // alert(event.data); var text = event.data.replace(/<br>/g, '\n'); var me = @alma.logoot.network.Network::instance; me.@alma.logoot.network.Network::receive(Ljava/lang/String;)(text); }; }-*/; public void receive(String text) { System.out.println("Network reception des donnees.." + text); // text.replaceAll("br", "\n"); // System.out.println("Network apres remplacement "+ text); receiveListener.receive(text); } }