GraphPresenter.java
package deltagraphs.norrisviewer.presenter.graphsPresenter;
/*
* Name : GraphPresenter.java
* Module : deltagraphs.norrisviewer.presenter.graphsPresenter
* Location : norrisviewer\presenter\graphsPresenter
*
* History :
* Version Date Programmer Description
* ===============================================================
*
* 1.0.0 2015-06-02 Matteo Furlan Approve
*
* 0.2.0 2015-05-30 Davide Trivellato Verify
*
* 0.2.0 2015-05-24 Enrico Savoca Update startSocket(Activity graphActivity) to startSocket(Activity graphActivity, Object graphModel)
*
* 0.1.1 2015-05-23 Enrico Savoca Fix method startSocket(Activity graphActivity)
*
* 0.1.0 2015-05-23 Enrico Savoca Coding of all methods and attributes
*
* 0.0.1 2015-05-23 Enrico Savoca Creation of the file
*
* ===============================================================
*
*/
import android.app.Activity;
import java.util.Observable;
import java.util.Observer;
import deltagraphs.norrisviewer.presenter.SocketManager;
public abstract class GraphPresenter implements Observer {
protected SocketManager graphSocket;
// constructor of the abstract class GraphPresenter. It requires an url to be instatiated properly.
// A new connection will be established with the given url.
public GraphPresenter(String url) {
this.graphSocket = new SocketManager(url);
}
/* This method is called when a new socket is created and a new connection must be established.
The socket is put to listen for some events that will arrive when the connection is started.
For each type of event a different path of instructions will be executed, in order to set,
update or delete some informations. */
public void startSocket(Activity graphActivity, Object graphModel) {
graphSocket.startConnection();
startListening(graphActivity, graphModel);
}
//when called, the socket stop listening to some events
public void stopListening(){
graphSocket.stopListening("configGraph");
graphSocket.stopListening("updateGraphProp");
graphSocket.stopListening("insertFlow");
graphSocket.stopListening("deleteFlow");
graphSocket.stopListening("updateFlowProp");
graphSocket.stopListening("updateFlowData");
}
//when called, the socket begins listening to some events
public void startListening(Activity graphActivity, Object graphModel){
graphSocket.startListening("configGraph", graphActivity, graphModel);
graphSocket.startListening("updateGraphProp", graphActivity, graphModel);
graphSocket.startListening("insertFlow", graphActivity, graphModel);
graphSocket.startListening("deleteFlow", graphActivity, graphModel);
graphSocket.startListening("updateFlowProp", graphActivity, graphModel);
graphSocket.startListening("updateFlowData", graphActivity, graphModel);
}
//when called, the socket connection is stopped
public void stopSocket() {
graphSocket.stopConnection();
}
// it returns the socket of the class that extends GraphPresenter
public SocketManager getGraphSocket(){
return graphSocket;
}
}