[virtualcommons-svn] SF.net SVN: virtualcommons:[290] irrigation/trunk/src/main
Status: Beta
Brought to you by:
alllee
|
From: <al...@us...> - 2009-10-08 22:11:00
|
Revision: 290
http://virtualcommons.svn.sourceforge.net/virtualcommons/?rev=290&view=rev
Author: alllee
Date: 2009-10-08 22:10:47 +0000 (Thu, 08 Oct 2009)
Log Message:
-----------
More refactoring, getting rid of unused obscure equation variable names. Adding
first cut at configuration files. More cleanup to come.
Modified Paths:
--------------
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java
Added Paths:
-----------
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/PauseEvent.java
irrigation/trunk/src/main/resources/configuration/
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/irrigation.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round0.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round1.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round10.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round11.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round12.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round13.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round14.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round15.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round16.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round17.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round18.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round19.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round2.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round20.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round21.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round3.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round4.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round5.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round6.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round7.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round8.xml
irrigation/trunk/src/main/resources/configuration/asu-fall-2009/round9.xml
Removed Paths:
-------------
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/GateOpenedEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartPausedEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StopDownloadEvent.java
Property Changed:
----------------
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ActivitySummaryPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ActivitySummaryPanelNew.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/Ball.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanelAnimation.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanelAnimationNew.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ExperimentGameWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/Gate.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClientGameState.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleWindowPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/PieChart.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ScoreBoxPanel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/BeginCommunicationRequest.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ClientUpdateEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/DisplaySubmitTokenRequest.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/EndRoundEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ExperimentDurationEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FacilitatorEndRoundEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FileDownloadCompleteEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FileDownloadedEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InstructionEnableRequest.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/QuizCompletedEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/RegistrationEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/RoundStartedEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/SendContributionStatusEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/SendFileProgressEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ServerGameStateEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartDownload.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/TransferFileInformationEvent.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitator.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationPersister.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java
irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ServerDataModel.java
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ActivitySummaryPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ActivitySummaryPanelNew.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/Ball.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanelAnimation.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/CanalPanelAnimationNew.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -30,7 +30,7 @@
* Original Author: David Gilbert (for Object Refinery Limited);
* Contributor(s): -;
*
- * $Id: ChartWindowPanel.java 127 2009-04-29 21:31:34Z alllee $
+ * $Id$
*
* Changes
* -------
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -30,7 +30,7 @@
* Original Author: David Gilbert (for Object Refinery Limited);
* Contributor(s): -;
*
- * $Id: ChartWindowPanelTokenBandwidth.java 124 2009-04-23 17:56:22Z alllee $
+ * $Id$
*
* Changes
* -------
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChartWindowPanelTokenBandwidth.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -46,7 +46,7 @@
* not linear.
*
* @author alllee
- * @version $Revision: $
+ * @version $Revision$
*/
@SuppressWarnings("serial")
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ChatPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ExperimentGameWindow.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/Gate.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
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 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -20,15 +20,15 @@
import edu.asu.commons.irrigation.events.BeginCommunicationRequest;
import edu.asu.commons.irrigation.events.DisplaySubmitTokenRequest;
import edu.asu.commons.irrigation.events.EndRoundEvent;
-import edu.asu.commons.irrigation.events.GateOpenedEvent;
+import edu.asu.commons.irrigation.events.OpenGateEvent;
import edu.asu.commons.irrigation.events.InstructionEnableRequest;
import edu.asu.commons.irrigation.events.InvestedTokensEvent;
import edu.asu.commons.irrigation.events.RegistrationEvent;
import edu.asu.commons.irrigation.events.RoundStartedEvent;
import edu.asu.commons.irrigation.events.SendContributionStatusEvent;
import edu.asu.commons.irrigation.events.SendFileProgressEvent;
-import edu.asu.commons.irrigation.events.StartPausedEvent;
-import edu.asu.commons.irrigation.events.StopDownloadEvent;
+import edu.asu.commons.irrigation.events.PauseEvent;
+import edu.asu.commons.irrigation.events.CloseGateEvent;
import edu.asu.commons.irrigation.server.ClientData;
import edu.asu.commons.net.ClientDispatcher;
import edu.asu.commons.net.DispatcherFactory;
@@ -143,7 +143,7 @@
public void transmitTokenContributed(int tokens) {
InvestedTokensEvent transferTokenBandwidthEvent = new InvestedTokensEvent(
getId(), tokens);
- clientDispatcher.transmit(transferTokenBandwidthEvent);
+ transmit(transferTokenBandwidthEvent);
}
/**
@@ -152,22 +152,21 @@
*
* @param fileNo
*/
- public void startDownload(String fileNo) {
- GateOpenedEvent startDownloadEvent = new GateOpenedEvent(getId());
- startDownloadEvent.setFileNumber(fileNo);
- clientDispatcher.transmit(startDownloadEvent);
+ public void openGate(String fileNo) {
+ OpenGateEvent openGateEvent = new OpenGateEvent(getId());
+ transmit(openGateEvent);
}
- public void stopDownload(String fileNo) {
- StopDownloadEvent stopDownloadEvent = new StopDownloadEvent(getId());
- stopDownloadEvent.setFileNumber(fileNo);
- clientDispatcher.transmit(stopDownloadEvent);
+ public void closeGate(String fileNo) {
+ CloseGateEvent closeGateEvent = new CloseGateEvent(getId());
+ closeGateEvent.setFileNumber(fileNo);
+ transmit(closeGateEvent);
}
public void startPause(String fileNo) {
- StartPausedEvent startPausedEvent = new StartPausedEvent(getId());
+ PauseEvent startPausedEvent = new PauseEvent(getId());
startPausedEvent.setFileNumber(fileNo);
- clientDispatcher.transmit(startPausedEvent);
+ transmit(startPausedEvent);
}
public void transmit(Event event) {
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClient.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationClientGameState.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -376,7 +376,7 @@
* time" + System.currentTimeMillis() / 1000);
*/
- client.startDownload(fileNo);
+ client.openGate(fileNo);
disableAllFiles();
initEnable();
@@ -391,7 +391,7 @@
// TODO Auto-generated method stub
int i;
for (i = 0; i < TOTAL_CROPS_AVAILABLE; i++) {
- if (isDownloaded[i] == false && fileClicked == false && !clientData.isDownloading()) {
+ if (isDownloaded[i] == false && fileClicked == false && !clientData.isGateOpen()) {
(getFile(i)).setBackground(new Color(186, 226, 237));
(getFile(i)).setEnabled(true);
}
@@ -795,7 +795,7 @@
pauseDownload.setText("Pause");
// StopDownload.setEnabled(true);
disableAllFiles();
- client.startDownload(fileNo);
+ client.openGate(fileNo);
}
}
});
@@ -1072,7 +1072,7 @@
updateFileFinished(clientData.getDownloadListArray());
}
else
- if(clientData.isDownloading() || clientData.isPaused()){
+ if(clientData.isGateOpen() || clientData.isPaused()){
disableAllFiles();
initEnable();
}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/IrrigationGameWindow.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -257,14 +257,14 @@
else{
scoreBoxPanel.update(clientData);
}
- if(clientData.isDownloading() == true){
+ if(clientData.isGateOpen() == true){
upperPanel.openGates(clientData.getPriority());
}
else if(clientData.isPaused() == true){
upperPanel.closeGates(clientData.getPriority());
}
- if(clientData.isStopped() == true){
+ if(clientData.isGateClosed() == true){
upperPanel.closeGates(clientData.getPriority());
}
}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MainIrrigationGameWindow.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -164,7 +164,7 @@
filesDownloadedText.setText(new Integer(clientData.getCropsGrown()).toString());
tokensText.setText(new Integer(clientData.getTotalTokensEarned()).toString());
- if(clientData.isDownloading() == true && clientData.getAvailableFlowCapacity() > 0)
+ if(clientData.isGateOpen() == true && clientData.getAvailableFlowCapacity() > 0)
fileLabel.setVisible(true);
else
fileLabel.setVisible(false);
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleScorePanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/MiddleWindowPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/PieChart.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/client/ScoreBoxPanel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -8,6 +8,15 @@
import edu.asu.commons.conf.ExperimentRoundParameters;
import edu.asu.commons.util.Duration;
+/**
+ * $Id$
+ *
+ * Configuration parameters for a given round in the irrigation experiment.
+ * Provides reward functions, etc.
+ *
+ * @author <a href='mailto:All...@as...'>Allen Lee</a>
+ * @version $Rev$
+ */
public class RoundConfiguration extends ExperimentRoundParameters.Base<ServerConfiguration> {
private static final long serialVersionUID = -5053624886508752562L;
@@ -22,15 +31,6 @@
super(resource);
}
- /**
- * used to get the file Size given the File number from the current
- * configuration file
- */
- public int getFileSize(String fileNumber) {
- // FIXME: lift constants
- return getIntProperty(fileNumber, 250);
- }
-
public int getMaximumClientFlowCapacity() {
return getIntProperty("max-client-flow-capacity", 25);
}
@@ -47,12 +47,6 @@
return getIntProperty("max-canal-flow-capacity", 40);
}
- public double getFilesDownloadAwardConversion() {
- // FIXME: change String key to something more meaningful
- return getDoubleProperty("FilesDownload-Award-Conversion", 1.0d);
- // return (double) Integer.parseInt(properties.getProperty("FilesDownload-Award-Conversion"));
- }
-
public int getMaximumTokenContribution() {
return getIntProperty("max-token-contribution", 10);
}
@@ -61,28 +55,29 @@
* returns maximum number of tokens that could have been contributed
* @return
*/
- public int getMaximumTotalTokenContribution(){
+ public int getMaximumTotalTokenContribution() {
return getMaximumTokenContribution() * getClientsPerGroup();
}
public int getMaximumInfrastructureEfficiency() {
- return getIntProperty("maximum-infrastructure-efficiency", 100);
+ return getIntProperty("max-infrastructure-efficiency", 100);
}
- public int getBtmax() {
- return getIntProperty("Btmax");
+ public double getMaximumIndividualFlowCapacity() {
+ return getDoubleProperty("max-individual-flow-capacity", 20.0d);
}
public boolean isPracticeRound() {
return getBooleanProperty("practice-round");
}
+ // FIXME: horrible hack.. figure out why this is here again.
public boolean isSecondPracticeRound(){
return getBooleanProperty("second-practice-round",false);
}
public int getClientsPerGroup() {
- return getIntProperty("clients-per-group", 0);
+ return getIntProperty("clients-per-group", 5);
}
/**
@@ -150,30 +145,6 @@
return getIntProperty("communication-duration", 40);
}
- public double getAlpha() {
- return getDoubleProperty("TBM-alpha", 0.0d);
- }
-
- public double getA() {
- return getDoubleProperty("TBM-a", 0.0d);
- }
-
- public double getB() {
- return getDoubleProperty("TBM-b", 0.0d);
- }
-
- public double getAlphaAward() {
- return getDoubleProperty("FAM-alpha", 0.0d);
- }
-
- public double getA_award() {
- return getDoubleProperty("FAM-a", 0.0d);
- }
-
- public double getB_award() {
- return getDoubleProperty("FAM-b", 0.0d);
- }
-
/**
* Returns the duration of the round in seconds. Set to default of 50 seconds per round.
*/
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/RoundConfiguration.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -7,7 +7,7 @@
import edu.asu.commons.conf.ExperimentConfiguration;
/**
- * $Id: ServerConfiguration.java 131 2009-04-30 01:52:21Z alllee $
+ * $Id$
*
* Contains the know-how for parsing and programmatically accessing the forager
* server's configuration file properties. The forager server's config file
@@ -23,7 +23,7 @@
* @author <a href='mailto:All...@as...'>Allen Lee</a>
* @see edu.asu.csid.irrigation.RoundConfiguration,
* edu.asu.csid.conf.ExperimentConfiguration
- * @version $Revision: 131 $
+ * @version $Revision$
*/
public class ServerConfiguration
extends ExperimentConfiguration.Base<RoundConfiguration> {
@@ -34,8 +34,6 @@
private final static String DEFAULT_LOG_FILE_DESTINATION = "irrigation.log";
- //FIXME: can move this parameter to the configuration files
-
public ServerConfiguration() {
super();
}
@@ -57,9 +55,8 @@
}
@Override
- protected RoundConfiguration createConfiguration(
- String roundConfigurationResource) {
- return new RoundConfiguration(roundConfigurationResource);
+ protected RoundConfiguration createConfiguration(String roundConfigurationFile) {
+ return new RoundConfiguration(roundConfigurationFile);
}
@Override
@@ -70,42 +67,42 @@
/**
* getting the general welcome instructions
*
+ * FIXME: Refactor this method.
+ *
* @param instructionNumber
* @param pagesTraversed
* @return
*/
public String getGeneralInstructions(int instructionNumber,
- int pagesTraversed,int clientPriority) {
+ int pagesTraversed, int clientPosition) {
String position = "";
String undisruptedBandwidthInstruction = "";
- //System.out.println("Instruction Nnumber :"+instructionNumber+" Pages Traversed :"+pagesTraversed);
if (instructionNumber != 11) {
if (instructionNumber > pagesTraversed) {
if (instructionNumber == 4) {
//instructionNumber = getNewInstructionNumber(clientPriority);
- position = "\n YOUR POSITION : "+getPosition(clientPriority);
+ position = "\n Your position : "+toPriorityString(clientPosition);
}
if(instructionNumber == 5 && isUndisruptedBandwidth()){
undisruptedBandwidthInstruction=assistant.getStringProperty("general-instructions"+"-undisruptedBandwidth");
}
-
- return (position+assistant.getStringProperty("general-instructions"
- + instructionNumber
- )+undisruptedBandwidthInstruction+assistant
- .getStringProperty("general-instructionsq"
- + instructionNumber));
- } else {
+ return (position
+ + assistant.getStringProperty("general-instructions" + instructionNumber)
+ + undisruptedBandwidthInstruction
+ + assistant.getStringProperty("general-instructionsq" + instructionNumber));
+ }
+ else {
if (instructionNumber == 4) {
//instructionNumber = getNewInstructionNumber(clientPriority);
- position = "\n YOUR POSITION : "+getPosition(clientPriority);
+ position = "\n YOUR POSITION : "+toPriorityString(clientPosition);
}
if(instructionNumber == 5 && isUndisruptedBandwidth()){
undisruptedBandwidthInstruction=assistant.getStringProperty("general-instructions"+"-undisruptedBandwidth");
}
- return position+assistant.getStringProperty("general-instructions"
- + instructionNumber,
- "<b>No instructions available for this round</b>")+undisruptedBandwidthInstruction;
+ return (position
+ + assistant.getStringProperty("general-instructions" + instructionNumber, "<b>No instructions available for this round</b>")
+ + undisruptedBandwidthInstruction);
}
}
@@ -115,27 +112,33 @@
"<b>No instructions available for this round</b>");
}
+
+ private final static String[] PRIORITY_STRINGS = { "A", "B", "C", "D", "E" };
- private String getPosition(int clientPriority) {
- // TODO Auto-generated method stub
- switch(clientPriority){
- case 0 : return "A";
- case 1 : return "B";
- case 2: return "C";
- case 3: return "D";
- case 4: return "E";
- }
- return "Position not found";
+ private String toPriorityString(int clientPriority) {
+ // bounds check
+ if (clientPriority >= 0 && clientPriority < PRIORITY_STRINGS.length) {
+ return PRIORITY_STRINGS[clientPriority];
+ }
+//
+// switch(clientPriority){
+// case 0 : return "A";
+// case 1 : return "B";
+// case 2: return "C";
+// case 3: return "D";
+// case 4: return "E";
+// }
+ return "Position not found";
}
//overriding method isLastRound
- public boolean isLastRound(){
- System.out.println("The Current round Number is :"+getCurrentRoundNumber());
- if(getCurrentRoundNumber() == assistant.getIntProperty("number-of-rounds")-1)
- return true;
- else
- return false;
- }
+// public boolean isLastRound(){
+// System.out.println("The Current round Number is :"+getCurrentRoundNumber());
+// if(getCurrentRoundNumber() == assistant.getIntProperty("number-of-rounds")-1)
+// return true;
+// else
+// return false;
+// }
public boolean isUndisruptedBandwidth(){
if(assistant.getBooleanProperty("undisrupted-bandwidth")== true)
@@ -143,26 +146,10 @@
return false;
}
- private int getNewInstructionNumber(int clientPriority) {
- // TODO Auto-generated method stub
- switch(clientPriority){
- case 0 : return 40;
-
- case 1: return 41;
-
- }
- //FIXME: AT present just returning case 1 's case when clientPriority is 2,3,4. Need to change this.
- if(clientPriority == 2 || clientPriority == 3 || clientPriority == 4){
- return 41;
- }
- return -1;
+ public double getShowUpPayment() {
+ return assistant.getDoubleProperty("showup-payment", 5.0d);
}
- public String getShowUpFees() {
- // TODO Auto-generated method stub
- return assistant.getStringProperty("showup-fees", "5");
- }
-
public Map<String, String> getQuizAnswers() {
//System.out.println("I am in the beginning of getquiz");
Properties properties = assistant.getProperties();
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/conf/ServerConfiguration.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/BeginCommunicationRequest.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ClientUpdateEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Copied: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java (from rev 288, irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StopDownloadEvent.java)
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java (rev 0)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -0,0 +1,17 @@
+package edu.asu.commons.irrigation.events;
+
+import edu.asu.commons.net.Identifier;
+
+/**
+ * @author Sanket
+ *
+ */
+public class CloseGateEvent extends TransferFileInformationEvent {
+
+ private static final long serialVersionUID = -6932559955912875464L;
+
+ public CloseGateEvent(Identifier id) {
+ super(id);
+ }
+
+}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/CloseGateEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/DisplaySubmitTokenRequest.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/EndRoundEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ExperimentDurationEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FacilitatorEndRoundEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FileDownloadCompleteEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/FileDownloadedEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Deleted: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/GateOpenedEvent.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/GateOpenedEvent.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/GateOpenedEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -1,17 +0,0 @@
-package edu.asu.commons.irrigation.events;
-
-import edu.asu.commons.net.Identifier;
-
-/**
- * @author Sanket
- *
- */
-public class GateOpenedEvent extends TransferFileInformationEvent {
-
- private static final long serialVersionUID = -4902131375099741851L;
-
- public GateOpenedEvent(Identifier id) {
- super(id);
- }
-
-}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InstructionEnableRequest.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/InvestedTokensEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Copied: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java (from rev 288, irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/GateOpenedEvent.java)
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java (rev 0)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -0,0 +1,18 @@
+package edu.asu.commons.irrigation.events;
+
+import edu.asu.commons.event.AbstractPersistableEvent;
+import edu.asu.commons.net.Identifier;
+
+/**
+ *
+ *
+ */
+public class OpenGateEvent extends AbstractPersistableEvent {
+
+ private static final long serialVersionUID = -4902131375099741851L;
+
+ public OpenGateEvent(Identifier id) {
+ super(id);
+ }
+
+}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/OpenGateEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Copied: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/PauseEvent.java (from rev 288, irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartPausedEvent.java)
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/PauseEvent.java (rev 0)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/PauseEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -0,0 +1,21 @@
+package edu.asu.commons.irrigation.events;
+
+import edu.asu.commons.net.Identifier;
+
+
+
+/**
+ * @author Sanket
+ *
+ */
+public class PauseEvent extends TransferFileInformationEvent {
+
+ private static final long serialVersionUID = -6518246719469415026L;
+
+ public PauseEvent(Identifier id) {
+ super(id);
+ }
+
+
+
+}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/PauseEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/QuizCompletedEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/RegistrationEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/RoundStartedEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/SendContributionStatusEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/SendFileProgressEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/ServerGameStateEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartDownload.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Deleted: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartPausedEvent.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartPausedEvent.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StartPausedEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -1,21 +0,0 @@
-package edu.asu.commons.irrigation.events;
-
-import edu.asu.commons.net.Identifier;
-
-
-
-/**
- * @author Sanket
- *
- */
-public class StartPausedEvent extends TransferFileInformationEvent {
-
- private static final long serialVersionUID = -6518246719469415026L;
-
- public StartPausedEvent(Identifier id) {
- super(id);
- }
-
-
-
-}
Deleted: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StopDownloadEvent.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StopDownloadEvent.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/StopDownloadEvent.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -1,17 +0,0 @@
-package edu.asu.commons.irrigation.events;
-
-import edu.asu.commons.net.Identifier;
-
-/**
- * @author Sanket
- *
- */
-public class StopDownloadEvent extends TransferFileInformationEvent {
-
- private static final long serialVersionUID = -6932559955912875464L;
-
- public StopDownloadEvent(Identifier id) {
- super(id);
- }
-
-}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/events/TransferFileInformationEvent.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitator.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -181,7 +181,7 @@
clientId.toString(),
data.getTotalTokensEarned(),
data.getTotalTokensEarned() * model.getCurrentConfiguration().getDollarsPerToken(),
- data.getTotalTokens() * model.getCurrentConfiguration().getDollarsPerToken()+Double.parseDouble(facilitator.getConfiguration().getShowUpFees())));
+ data.getTotalTokens() * model.getCurrentConfiguration().getDollarsPerToken()+ facilitator.getConfiguration().getShowUpPayment()));
}
builder.append("</tbody></table><hr>");
//FIXME: Could not understand how to evaluate .isLastRound(), hence using the
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/facilitator/IrrigationFacilitatorWindow.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
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 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -20,7 +20,7 @@
* minus tokens subtracted by sanctioning others
*
* @author <a href='ano...@gm...'>Allen Lee</a>, Deepali Bhagvat
- * @version $Revision: 131 $
+ * @version $Revision$
*/
public class ClientData implements Serializable {
@@ -46,7 +46,7 @@
private int cropsGrown = 0;
// maximum available bandwidth
- private double maximumDeliveryBandwidth;
+ private double maximumIndividualFlowCapacity;
/**
* current download speed
*/
@@ -64,11 +64,8 @@
private boolean paused = false;
- // FIXME: this is just the negation of downloading, we do not need two flags for this.
- private boolean stopped = true;
+ private boolean gateOpen = false;
- private boolean downloading = false;
-
public ClientData(Identifier id) {
this.id = id;
}
@@ -77,12 +74,12 @@
return paused;
}
- public boolean isStopped(){
- return stopped;
+ public boolean isGateClosed(){
+ return ! gateOpen;
}
- public boolean isDownloading(){
- return downloading;
+ public boolean isGateOpen(){
+ return gateOpen;
}
// cap on the size of the entire stream (e.g,. 50 kbps)
@@ -91,12 +88,12 @@
}
// cap on the size of the stream that can be delivered to the client (e.g., 25 kbps)
- public void setMaximumDeliveryBandwidth(double deliveryBandwidth){
- this.maximumDeliveryBandwidth = deliveryBandwidth;
+ public void setMaximumIndividualFlowCapacity(double deliveryBandwidth){
+ this.maximumIndividualFlowCapacity = deliveryBandwidth;
}
- public double getMaximumDeliveryBandwidth(){
- return maximumDeliveryBandwidth;
+ public double getMaximumIndividualFlowCapacity(){
+ return maximumIndividualFlowCapacity;
}
/**
@@ -126,18 +123,6 @@
return fileNumber;
}
- /**
- * Gets and sets the size of the file
- * @param fileSize
- */
- public void setFileSize(int fileSize){
- this.fileSize = fileSize;
- }
-
- public double getFileSize(){
- return fileSize;
- }
-
public double getPercentFileDownload(){
return percentFileDownloaded;
}
@@ -148,21 +133,23 @@
* that the users are allowed to do.
*/
- public void setStartDownload(){
- downloading = true;
+ public void openGate(){
+ gateOpen = true;
paused = false;
- stopped = false;
}
public void setPaused(){
paused = true;
- downloading = false;
- stopped = false;
+ gateOpen = false;
}
+
+ public void unpause() {
+ paused = false;
+ gateOpen = true;
+ }
- public void setStoppedDownloading(){
- stopped = true;
- downloading = false;
+ public void closeGate(){
+ gateOpen = false;
paused = false;
}
@@ -197,7 +184,7 @@
*/
public void reset() {
resetFileInformation();
- setStoppedDownloading();
+ closeGate();
contributedTokens = 0;
//adding number of files to be downloaded = 0 per round
cropsGrown = 0;
@@ -235,7 +222,7 @@
public void init(double availableBandwidth) {
resetFileInformation();
//maximumDeliveryBandwidth = getRoundConfiguration().getBtmax()/getRoundConfiguration().getClientsPerGroup();
- maximumDeliveryBandwidth = getRoundConfiguration().getBtmax()/2;
+ maximumIndividualFlowCapacity = getRoundConfiguration().getMaximumIndividualFlowCapacity();
//currentBandwidth = totalContributedBandwidth;
this.availableFlowCapacity = availableBandwidth;
}
@@ -245,7 +232,7 @@
fileNumber = "";
downloadedFileSize = 0;
percentFileDownloaded = 0;
- setStoppedDownloading();
+ closeGate();
}
public void award() {
@@ -310,7 +297,7 @@
*as processDownload function
*/
public void allocateFlowCapacity(double availableBandwidth) {
- assert downloading;
+ assert gateOpen;
fileDownloaded = false;
incrementFileDownloadSize();
}
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ClientData.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Modified: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java
===================================================================
--- irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -192,10 +192,10 @@
public void allocateFlowCapacity(ClientData clientData) {
- if (currentlyAvailableFlowCapacity >= clientData.getMaximumDeliveryBandwidth()) {
- currentlyAvailableFlowCapacity -= clientData.getMaximumDeliveryBandwidth();
+ if (currentlyAvailableFlowCapacity >= clientData.getMaximumIndividualFlowCapacity()) {
+ currentlyAvailableFlowCapacity -= clientData.getMaximumIndividualFlowCapacity();
// setAvailableBandwidth(clientData.getTotalContributedBandwidth() - clientData.getDeliveryBandwidth());
- clientData.setAvailableFlowCapacity(clientData.getMaximumDeliveryBandwidth());
+ clientData.setAvailableFlowCapacity(clientData.getMaximumIndividualFlowCapacity());
}
else {
clientData.setAvailableFlowCapacity(currentlyAvailableFlowCapacity);
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/GroupDataModel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationPersister.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
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 2009-10-08 18:29:40 UTC (rev 289)
+++ irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java 2009-10-08 22:10:47 UTC (rev 290)
@@ -22,7 +22,7 @@
import edu.asu.commons.irrigation.events.DisplaySubmitTokenRequest;
import edu.asu.commons.irrigation.events.EndRoundEvent;
import edu.asu.commons.irrigation.events.FacilitatorEndRoundEvent;
-import edu.asu.commons.irrigation.events.GateOpenedEvent;
+import edu.asu.commons.irrigation.events.OpenGateEvent;
import edu.asu.commons.irrigation.events.InstructionEnableRequest;
import edu.asu.commons.irrigation.events.InvestedTokensEvent;
import edu.asu.commons.irrigation.events.QuizCompletedEvent;
@@ -30,8 +30,8 @@
import edu.asu.commons.irrigation.events.RoundStartedEvent;
import edu.asu.commons.irrigation.events.SendContributionStatusEvent;
import edu.asu.commons.irrigation.events.SendFileProgressEvent;
-import edu.asu.commons.irrigation.events.StartPausedEvent;
-import edu.asu.commons.irrigation.events.StopDownloadEvent;
+import edu.asu.commons.irrigation.events.PauseEvent;
+import edu.asu.commons.irrigation.events.CloseGateEvent;
import edu.asu.commons.net.Dispatcher;
import edu.asu.commons.net.Identifier;
import edu.asu.commons.net.event.ConnectionEvent;
@@ -39,12 +39,12 @@
import edu.asu.commons.util.Duration;
/**
- * $Id: IrrigationServer.java 129 2009-04-29 23:38:45Z alllee $
+ * $Id$
*
* Main entry point for the irrigation experiment server.
*
* @author Sanket Joshi, <a href='All...@as...'>Allen Lee</a>
- * @version $Revision: 129 $
+ * @version $Revision$
*/
public class IrrigationServer extends AbstractExperiment<ServerConfiguration> {
@@ -220,22 +220,19 @@
}
}
});
- addEventProcessor(new EventTypeProcessor<GateOpenedEvent>(GateOpenedEvent.class) {
- public void handle(GateOpenedEvent event) {
+ addEventProcessor(new EventTypeProcessor<OpenGateEvent>(OpenGateEvent.class) {
+ public void handle(OpenGateEvent event) {
ClientData clientData = clients.get(event.getId());
- String fileNumber = event.getFileNumber();
- clientData.setFileNumber(fileNumber);
- clientData.setFileSize(getRoundConfiguration().getFileSize(fileNumber));
- clientData.setStartDownload();
+ clientData.openGate();
}
});
- addEventProcessor(new EventTypeProcessor<StopDownloadEvent>(StopDownloadEvent.class) {
- public void handle(StopDownloadEvent event) {
- clients.get(event.getId()).setStoppedDownloading();
+ addEventProcessor(new EventTypeProcessor<CloseGateEvent>(CloseGateEvent.class) {
+ public void handle(CloseGateEvent event) {
+ clients.get(event.getId()).closeGate();
}
});
- addEventProcessor(new EventTypeProcessor<StartPausedEvent>(StartPausedEvent.class) {
- public void handle(StartPausedEvent event) {
+ addEventProcessor(new EventTypeProcessor<PauseEvent>(PauseEvent.class) {
+ public void handle(PauseEvent event) {
clients.get(event.getId()).setPaused();
}
});
@@ -298,12 +295,12 @@
if(clientData.getAvailableFlowCapacity()<=0 && getConfiguration().isUndisruptedBandwidth()){
clientData.init(group.getCurrentlyAvailableFlowCapacity());
}
- if (clientData.isDownloading()) {
+ if (clientData.isGateOpen()) {
//System.out.println("Downloading file"+clientData.getFileNumber()+"Current time"+System.currentTimeMillis()/1000);
group.allocateFlowCapacity(clientData);
}
- else if (clientData.isStopped()) {
+ else if (clientData.isGateClosed()) {
clientData.init(group.getCurrentlyAvailableFlowCapacity());
}
else if (clientData.isPaused()) {
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Property changes on: irrigation/trunk/src/main/java/edu/asu/commons/irrigation/server/ServerDataModel.java
___________________________________________________________________
Added: svn:keywords
+ Date Id Revision
Added: irrigation/trunk/src/main/resources/configuration/asu-fall-2009/irrigation.xml
===================================================================
--- irrigation/trunk/src/main/resources/configuration/asu-fall-2009/irrigation.xml (rev 0)
+++ irrigation/trunk/src/main/resources/configuration/asu-fall-2009/irrigation.xml 2009-10-08 22:10:47 UTC (rev 290)
@@ -0,0 +1,620 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<comment>Irrigation XML-ized experiment round configuration</comment>
+
+<!--<entry key="hostname">localhost</entry>-->
+<entry key="hostname">localhost</entry>
+<entry key="port">16001</entry>
+<entry key="round0">round0.xml</entry>
+<entry key="round1">round1.xml</entry>
+<entry key="round2">round2.xml</entry>
+<entry key="round3">round3.xml</entry>
+<entry key="round4">round4.xml</entry>
+<entry key="round5">round5.xml</entry>
+<entry key="round6">round6.xml</entry>
+<entry key="round7">round7.xml</entry>
+<entry key="round8">round8.xml</entry>
+<entry key="round9">round9.xml</entry>
+<entry key="round10">round10.xml</entry>
+<entry key="round11">round11.xml</entry>
+<entry key="round12">round12.xml</entry>
+<entry key="round13">round13.xml</entry>
+<entry key="round14">round14.xml</entry>
+<entry key="round15">round15.xml</entry>
+<entry key="round16">round16.xml</entry>
+<entry key="round17">round17.xml</entry>
+<entry key="round18">round18.xml</entry>
+<entry key="round19">round19.xml</entry>
+<entry key="round20">round20.xml</entry>
+<entry key="round21">round21.xml</entry>
+
+
+<entry key="wait-for-participants">true</entry>
+<entry key="number-of-rounds">22</entry>
+
+<entry key="undisrupted-bandwidth">true</entry>
+
+<entry key="q1">4</entry>
+<entry key="q2">identity</entry>
+<entry key="q3">49</entry>
+<entry key="q4">76</entry>
+<entry key="q5">4</entry>
+<entry key="q6">5</entry>
+<entry key="q7">25</entry>
+<entry key="q8">4</entry>
+<entry key="q9">25</entry>
+<entry key="q10">30</entry>
+<entry key="q11">1.50</entry>
+
+
+<entry key="facilitator-instructions">
+<![CDATA[
+<h3>Facilitator Instructions</h3>
+<p>
+Welcome to the facilitator interface. This interface allows you to control
+the experiment. You may only modify configuration parameters <b>before</b>
+you start the experiment by selecting the Configuration menu. When all the
+participants are ready to begin the experiment, you can start the experiment
+by selecting Experiment -> Start. After a round has been completed you
+will be able to view the statistics for all of the participants. You can
+begin the next round by selecting Round -> Start.
+</p>
+]]>
+</entry>
+
+
+
+<entry key="general-instructions0">
+<![CDATA[
+<center><h3>Welcome to the experiment. Please do not close this window or open any
+other applications.</h3></center>
+]]>
+</entry>
+
+<entry key="general-instructions1">
+<![CDATA[
+<h3>General Instructions</h3>
+<p>Welcome. You have already earned 5 dollars by showing up for this exercise.
+You can earn more, up to an extra 25 dollars, by participating in the exercise
+which will last for about one hour. You will participate in this exercise as a
+part of a group. Each group has five participants. Your group has been formed
+by randomly assigning you to FOUR other participants in the room. The amount
+of money you earn will depend on the decisions made by you and the rest of the
+group. That is, your earnings will depend on your decisions as well as the
+other members of your group.
+</p>
+<p>
+This exercise mimics decisions people make in irrigation systems. In each round you
+will receive 10 tokens which you can choose to keep or invest in the irrigation
+infrastructure (for example canals and water diversion structures). Depending on the
+state of repair of the irrigation infrastructure, it will be capable of directing
+water to your field when you use your water diversion structure (called an
+irrigation gate). Depending on the amount of water you can get to your field, you
+can grow crops. Depending on the number of crops you grow you earn tokens. Each
+token is worth 5 cents and you will be paid cash in private at the end of the
+experiment based on the number of tokens you earned.
+</p>
+<p>
+The experiment consists of a number of rounds. In each round you will first make a
+decision as to how much to invest in the irrigation infrastructure. Without periodic
+investment, the irrigation infrastructure will break down over time. Based on the
+combined contributions of all 5 participants in your group in each round, as
+explained below, your group can maintain the performance of the irrigation
+infrastructure. The condition of the irrigation infrastructure determines
+its capacity to deliver water which you can use to grow crops.
+</p>
+]]>
+</entry>
+
+<entry key="general-instructionsq1">
+<![CDATA[
+<br><br>
+To continue to the next page, please answer the following question:<br>
+<form>
+How many OTHER people in the room will be in your group?<br>
+<input type="radio" name="q1" value="0">0<br>
+<input type="radio" name="q1" value="1">1<br>
+<input type="radio" name="q1" value="4">4<br>
+<input type="radio" name="q1" value="Everybody">Everybody<br>
+<br><br>
+<input type="submit" name="submit" value="Submit">
+</form>
+]]>
+</entry>
+
+<entry key="general-instructions2">
+<![CDATA[
+<h3>Chat</h3>
+<p>Each round will start with a chat period of 40 seconds where you can send text
+messages to the other participants. You may discuss any aspect of the exercise.
+<b>However</b>, you are <b>not allowed</b> to promise the other participants
+side-payments or threaten them with any consequence after the experiment is
+finished. You are also <b>not allowed</b> to reveal your real identity. We will be
+monitoring the chat traffic. If we see any member of a group violating the rules,
+we will have to remove that <b>entire group</b> from the experiment room. That
+group will have to wait until the entire experiment is finished to receive
+their payment.<br><br>
+
+You will see a text box appear on your screen when a chat period starts. The amount
+of time left in the chat period will be shown at the <b>top left of the screen</b>.<br>
+]]>
+</entry>
+
+<entry key="general-instructionsq2">
+<![CDATA[
+<br><br>
+To continue to the next page, please answer the following question:<br>
+<form>
+Which of the following topics are you <b>not allowed</b> to discuss in chat?<br>
+<input type="radio" name="q2" value="weather">the weather<br>
+<input type="radio" name="q2"...
[truncated message content] |