[virtualcommons-svn] SF.net SVN: virtualcommons:[459] irrigation/trunk/src/main/java/edu/asu/ commo
Status: Beta
Brought to you by:
alllee
From: <al...@us...> - 2010-02-04 06:10:27
|
Revision: 459 http://virtualcommons.svn.sourceforge.net/virtualcommons/?rev=459&view=rev Author: alllee Date: 2010-02-04 05:35:48 +0000 (Thu, 04 Feb 2010) Log Message: ----------- improved toStrings() for a few events to make it easier to emit them directly to the converted save files, starting to investigate how to get the proper client side host name over to the server. Modified Paths: -------------- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/data/IrrigationSaveFileConverter.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java 2010-02-04 05:35:48 UTC (rev 459) @@ -10,6 +10,7 @@ import edu.asu.commons.event.EventChannel; import edu.asu.commons.event.EventChannelFactory; import edu.asu.commons.event.EventTypeProcessor; +import edu.asu.commons.event.SocketIdentifierUpdateRequest; import edu.asu.commons.irrigation.conf.RoundConfiguration; import edu.asu.commons.irrigation.conf.ServerConfiguration; import edu.asu.commons.irrigation.events.BeginChatRoundRequest; @@ -28,6 +29,7 @@ import edu.asu.commons.net.ClientDispatcher; import edu.asu.commons.net.DispatcherFactory; import edu.asu.commons.net.Identifier; +import edu.asu.commons.net.SocketIdentifier; /** * $Id$ @@ -85,6 +87,8 @@ "Null ID from Dispatcher. Server: <" + serverConfiguration.getServerAddress() + "> is probably down."); } + // send back id + transmit(new SocketIdentifierUpdateRequest((SocketIdentifier) id)); state = ClientState.CONNECTED; } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/data/IrrigationSaveFileConverter.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/data/IrrigationSaveFileConverter.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/data/IrrigationSaveFileConverter.java 2010-02-04 05:35:48 UTC (rev 459) @@ -63,13 +63,14 @@ @Override public void process(SavedRoundData savedRoundData, PrintWriter writer) { - writer.println("Group #, Identifier, Event"); + writer.println("Time, Group #, Identifier, Event"); ServerDataModel serverDataModel = (ServerDataModel) savedRoundData.getDataModel(); ArrayList<GroupDataModel> groups = new ArrayList<GroupDataModel>(serverDataModel.getAllGroupDataModels()); for (PersistableEvent persistableEvent: savedRoundData.getActions()) { + long elapsedTime = savedRoundData.getElapsedTimeInSeconds(persistableEvent); Identifier id = persistableEvent.getId(); GroupDataModel group = serverDataModel.getGroupDataModel(id); - writer.println(String.format("%s, %s, %s", groups.indexOf(group), id, persistableEvent)); + writer.println(String.format("%d, %s, %s, %s", elapsedTime, groups.indexOf(group), id, persistableEvent)); } } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java 2010-02-04 05:35:48 UTC (rev 459) @@ -18,4 +18,8 @@ super(id); } + public String toString() { + return id + " closed gate"; + } + } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java 2010-02-04 05:35:48 UTC (rev 459) @@ -22,10 +22,9 @@ public int getInvestedTokens(){ return investedTokens; } - + public String toString() { + return String.format("%s invested %d tokens", id, investedTokens); + } - - - } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java 2010-02-04 05:35:48 UTC (rev 459) @@ -18,5 +18,9 @@ public OpenGateEvent(Identifier id) { super(id); } + + public String toString() { + return id + " opened gate"; + } } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java 2010-02-04 05:35:48 UTC (rev 459) @@ -23,7 +23,7 @@ private static final long serialVersionUID = 5281922601551921005L; - private final Identifier id; + private Identifier id; private GroupDataModel groupDataModel; @@ -200,6 +200,10 @@ public double getTotalDollarsEarned() { return roundConfiguration.getDollarsPerToken() * totalTokens; } + + public void setId(Identifier id) { + this.id = id; + } } Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java =================================================================== --- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java 2010-02-04 05:28:04 UTC (rev 458) +++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java 2010-02-04 05:35:48 UTC (rev 459) @@ -14,6 +14,8 @@ import edu.asu.commons.event.EndRoundRequest; import edu.asu.commons.event.EventTypeProcessor; import edu.asu.commons.event.FacilitatorRegistrationRequest; +import edu.asu.commons.event.RoundStartedMarkerEvent; +import edu.asu.commons.event.SocketIdentifierUpdateRequest; import edu.asu.commons.experiment.AbstractExperiment; import edu.asu.commons.experiment.StateMachine; import edu.asu.commons.irrigation.conf.RoundConfiguration; @@ -35,6 +37,7 @@ import edu.asu.commons.irrigation.events.ShowTokenInvestmentScreenRequest; import edu.asu.commons.net.Dispatcher; import edu.asu.commons.net.Identifier; +import edu.asu.commons.net.SocketIdentifier; import edu.asu.commons.net.event.ConnectionEvent; import edu.asu.commons.net.event.DisconnectionRequest; import edu.asu.commons.util.Duration; @@ -195,9 +198,21 @@ } }); } - + + /** + * Registers client handling EventTypeProcessors. + * Each EventTypeProcessor encapsulates the handling of a specific kind of message event. + */ private void initializeClientHandlers() { - // client handlers + addEventProcessor(new EventTypeProcessor<SocketIdentifierUpdateRequest>(SocketIdentifierUpdateRequest.class) { + @Override + public void handle(SocketIdentifierUpdateRequest request) { + SocketIdentifier socketId = request.getSocketIdentifier(); + System.err.println("socket id from client: " + socketId); + ClientData clientData = clients.get(socketId); + System.err.println("client data: " + clientData); + } + }); addEventProcessor(new EventTypeProcessor<ConnectionEvent>(ConnectionEvent.class) { @Override public void handle(ConnectionEvent event) { @@ -394,6 +409,7 @@ currentRoundDuration.start(); state = IrrigationServerState.ROUND_IN_PROGRESS; secondTick.start(); + persister.store(new RoundStartedMarkerEvent()); // lastTime = System.currentTimeMillis(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |