[virtualcommons-svn] commit/foraging: alllee: using SetImposedStrategyEvent to signal the imposed s
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-02-29 22:47:36
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/2baf677ee041/ changeset: 2baf677ee041 user: alllee date: 2012-02-29 23:47:31 summary: using SetImposedStrategyEvent to signal the imposed strategy to each client. affected #: 7 files diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java --- a/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java +++ b/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java @@ -46,7 +46,7 @@ // these are the subjects that have sanctioned us. private Map<Identifier, Duration> sanctioners = new HashMap<Identifier, Duration>(); - private List<Strategy> selectedRules = new ArrayList<Strategy>(); + private List<Strategy> selectedStrategies = new ArrayList<Strategy>(); private ForagingClient client; private volatile boolean explicitCollectionMode = false; @@ -271,13 +271,17 @@ return explicitCollectionMode; } - // FIXME: deprecate and remove these later - public void setSelectedRules(List<Strategy> selectedRules) { - this.selectedRules = selectedRules; + public void setSelectedStrategies(List<Strategy> selectedStrategies) { + this.selectedStrategies = selectedStrategies; } + public List<Strategy> getSelectedStrategies() { + return selectedStrategies; + } + + @Deprecated public List<Strategy> getSelectedRules() { - return selectedRules; + return selectedStrategies; } public Point3D getPoint3D(Identifier id) { diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/client/ForagingClient.java --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java @@ -2,6 +2,7 @@ import java.awt.BorderLayout; import java.awt.Color; +import java.util.Arrays; import java.util.LinkedList; import javax.swing.JFrame; @@ -33,7 +34,7 @@ import edu.asu.commons.foraging.event.RoundStartedEvent; import edu.asu.commons.foraging.event.RuleSelectedUpdateEvent; import edu.asu.commons.foraging.event.RuleVoteRequest; -import edu.asu.commons.foraging.event.ShowImposedStrategyRequest; +import edu.asu.commons.foraging.event.SetImposedStrategyEvent; import edu.asu.commons.foraging.event.ShowSurveyInstructionsRequest; import edu.asu.commons.foraging.event.ShowTrustGameRequest; import edu.asu.commons.foraging.event.ShowVoteScreenRequest; @@ -162,9 +163,9 @@ getGameWindow().showTrustGame(); } }); - addEventProcessor(new EventTypeProcessor<ShowImposedStrategyRequest>(ShowImposedStrategyRequest.class) { - @Override public void handle(ShowImposedStrategyRequest request) { - getGameWindow2D().showImposedStrategy(request.getStrategy()); + addEventProcessor(new EventTypeProcessor<SetImposedStrategyEvent>(SetImposedStrategyEvent.class) { + @Override public void handle(SetImposedStrategyEvent event) { + dataModel.setSelectedStrategies(Arrays.asList(event.getStrategy())); } }); addEventProcessor(new EventTypeProcessor<ShowVotingInstructionsRequest>(ShowVotingInstructionsRequest.class) { @@ -175,7 +176,7 @@ addEventProcessor(new EventTypeProcessor<RuleSelectedUpdateEvent>(RuleSelectedUpdateEvent.class) { @Override public void handle(RuleSelectedUpdateEvent event) { - dataModel.setSelectedRules(event.getSelectedStrategies()); + dataModel.setSelectedStrategies(event.getSelectedStrategies()); getGameWindow2D().showVotingResults(event.getSelectedStrategies(), event.getVotingResults()); } }); diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/event/SetImposedStrategyEvent.java --- /dev/null +++ b/src/main/java/edu/asu/commons/foraging/event/SetImposedStrategyEvent.java @@ -0,0 +1,22 @@ +package edu.asu.commons.foraging.event; + +import edu.asu.commons.event.AbstractEvent; +import edu.asu.commons.foraging.rules.Strategy; +import edu.asu.commons.net.Identifier; + +public class SetImposedStrategyEvent extends AbstractEvent { + + private static final long serialVersionUID = -6046837892041909032L; + + private Strategy strategy; + + public SetImposedStrategyEvent(Identifier id, Strategy strategy) { + super(id); + this.strategy = strategy; + } + + public Strategy getStrategy() { + return strategy; + } + +} diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/event/ShowImposedStrategyRequest.java --- a/src/main/java/edu/asu/commons/foraging/event/ShowImposedStrategyRequest.java +++ /dev/null @@ -1,26 +0,0 @@ -package edu.asu.commons.foraging.event; - -import edu.asu.commons.event.AbstractEvent; -import edu.asu.commons.foraging.rules.Strategy; -import edu.asu.commons.net.Identifier; - -public class ShowImposedStrategyRequest extends AbstractEvent { - - private static final long serialVersionUID = -6046837892041909032L; - - private Strategy strategy; - - public ShowImposedStrategyRequest(Identifier id) { - super(id); - } - - public ShowImposedStrategyRequest(Identifier id, Strategy strategy) { - super(id); - this.strategy = strategy; - } - - public Strategy getStrategy() { - return strategy; - } - -} diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/facilitator/Facilitator.java --- a/src/main/java/edu/asu/commons/foraging/facilitator/Facilitator.java +++ b/src/main/java/edu/asu/commons/foraging/facilitator/Facilitator.java @@ -25,7 +25,6 @@ import edu.asu.commons.foraging.event.FacilitatorUpdateEvent; import edu.asu.commons.foraging.event.ImposeStrategyEvent; import edu.asu.commons.foraging.event.QuizCompletedEvent; -import edu.asu.commons.foraging.event.ShowImposedStrategyRequest; import edu.asu.commons.foraging.event.ShowSurveyInstructionsRequest; import edu.asu.commons.foraging.event.ShowTrustGameRequest; import edu.asu.commons.foraging.event.ShowVoteScreenRequest; @@ -240,12 +239,4 @@ return imposedStrategyDistribution; } - public void sendShowImposedStrategy() { - if (imposedStrategyDistribution == null || imposedStrategyDistribution.isEmpty()) { - facilitatorWindow.addMessage("No imposed strategies selected, please select a strategy first."); - return; - } - transmit(new ShowImposedStrategyRequest(getId())); - } - } diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java --- a/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java +++ b/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java @@ -228,17 +228,11 @@ imposedStrategies.clear(); } }); - createMenuItem(menu, "Send imposed strategy", new ActionListener() { + createMenuItem(menu, "Send imposed strategy distribution", new ActionListener() { public void actionPerformed(ActionEvent e) { facilitator.sendImposeStrategyEvent(imposedStrategies); } }); - - createMenuItem(menu, "Show imposed strategy", new ActionListener() { - public void actionPerformed(ActionEvent e) { - facilitator.sendShowImposedStrategy(); - } - }); menuBar.add(menu); // survey menu diff -r d5cbf4f5202e68ef393a27522752ce044631a1fc -r 2baf677ee041c76f26bcb355d9a37589c1d50581 src/main/java/edu/asu/commons/foraging/server/ForagingServer.java --- a/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java +++ b/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java @@ -62,7 +62,7 @@ import edu.asu.commons.foraging.event.RuleSelectedUpdateEvent; import edu.asu.commons.foraging.event.RuleVoteRequest; import edu.asu.commons.foraging.event.SanctionAppliedEvent; -import edu.asu.commons.foraging.event.ShowImposedStrategyRequest; +import edu.asu.commons.foraging.event.SetImposedStrategyEvent; import edu.asu.commons.foraging.event.SurveyIdSubmissionRequest; import edu.asu.commons.foraging.event.SynchronizeClientEvent; import edu.asu.commons.foraging.event.TrustGameResultsFacilitatorEvent; @@ -605,28 +605,17 @@ StringBuilder builder = new StringBuilder(); for (GroupDataModel group: groups) { builder.append('[').append(group).append(':').append(group.getImposedStrategy()).append(']'); + for (Identifier id: group.getClientIdentifiers()) { + transmit(new SetImposedStrategyEvent(id, group.getImposedStrategy())); + } } sendFacilitatorMessage("Server has imposed strategies for all groups: " + builder); - } catch (IllegalArgumentException exception) { sendFacilitatorMessage("Couldn't allocate strategy distribution: " + event, exception); } } }); - addEventProcessor(new EventTypeProcessor<ShowImposedStrategyRequest>(ShowImposedStrategyRequest.class) { - @Override - public void handle(ShowImposedStrategyRequest request) { - if (! request.getId().equals(getFacilitatorId())) { - sendFacilitatorMessage("Ignoring request to show imposed strategies from: " + request.getId()); - return; - } - for (Identifier id: clients.keySet()) { - transmit(new ShowImposedStrategyRequest(id, serverDataModel.getGroup(id).getImposedStrategy())); - } - sendFacilitatorMessage("Notified all groups of imposed strategy."); - } - }); addEventProcessor(new EventTypeProcessor<ShowRequest>(ShowRequest.class, true) { @Override public void handle(ShowRequest request) { Repository URL: https://bitbucket.org/virtualcommons/foraging/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |