[virtualcommons-svn] commit/foraging: alllee: adding voting results to summary processor
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-07-26 22:21:24
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/d06723a1082b/ changeset: d06723a1082b branch: asu-foraging-2012 user: alllee date: 2012-07-27 00:21:13 summary: adding voting results to summary processor affected #: 1 file diff -r 6a5549259e2e78d180f7215664a39475425db8e9 -r d06723a1082b35f37479ad60f212a1909546b872 src/main/java/edu/asu/commons/foraging/data/SummaryProcessor.java --- a/src/main/java/edu/asu/commons/foraging/data/SummaryProcessor.java +++ b/src/main/java/edu/asu/commons/foraging/data/SummaryProcessor.java @@ -14,11 +14,12 @@ import edu.asu.commons.event.PersistableEvent; import edu.asu.commons.experiment.SaveFileProcessor; import edu.asu.commons.experiment.SavedRoundData; +import edu.asu.commons.foraging.event.RuleVoteRequest; import edu.asu.commons.foraging.event.TokenCollectedEvent; import edu.asu.commons.foraging.model.ClientData; import edu.asu.commons.foraging.model.GroupDataModel; import edu.asu.commons.foraging.model.ServerDataModel; -import edu.asu.commons.util.Utils; +import edu.asu.commons.net.Identifier; /** * $Id$ @@ -35,7 +36,6 @@ writer.println("Participant, Group, Collected Tokens, Sanction costs, Sanction penalties"); for (GroupDataModel group: groups) { int totalConsumedGroupTokens = 0; - ArrayList<String> clientTokens = new ArrayList<String>(); ArrayList<ClientData> clientDataList = new ArrayList<ClientData>(group.getClientDataMap().values()); Collections.sort(clientDataList, new Comparator<ClientData>() { @Override @@ -48,16 +48,6 @@ totalConsumedGroupTokens += data.getTotalTokens(); } writer.println(String.format("Group %s, %s, %s", group, group.getResourceDistributionSize(), totalConsumedGroupTokens)); - /* - writer.println( - String.format("%s, %s, %s, %s", - group, - Utils.join(',', clientTokens), - group.getResourceDistributionSize(), - totalConsumedGroupTokens, - Utils.join(',', group.getResourceDistribution().keySet()) - )); - */ } Map<GroupDataModel, SortedSet<ChatRequest>> chatRequestMap = new HashMap<GroupDataModel, SortedSet<ChatRequest>>(); SortedSet<ChatRequest> allChatRequests = savedRoundData.getChatRequests(); @@ -86,6 +76,7 @@ } writer.println("========================================="); writer.println("Time, Participant, Token Collected?, Chat"); + Map<Identifier, RuleVoteRequest> ruleVoteRequests = new HashMap<Identifier, RuleVoteRequest>(); for (PersistableEvent action: savedRoundData.getActions()) { if (action instanceof ChatRequest) { writer.println(String.format("%s, %s, %s, %s", @@ -94,7 +85,25 @@ else if (action instanceof TokenCollectedEvent) { writer.println(String.format("%s, %s, %s", savedRoundData.toSecondString(action), action.getId(), "token collected")); - + } + else if (action instanceof RuleVoteRequest) { + ruleVoteRequests.put(action.getId(), (RuleVoteRequest) action); + } + } + if (! ruleVoteRequests.isEmpty()) { + for (GroupDataModel group: groups) { + ArrayList<ClientData> clientDataList = new ArrayList<ClientData>(group.getClientDataMap().values()); + Collections.sort(clientDataList, new Comparator<ClientData>() { + @Override + public int compare(ClientData a, ClientData b) { + return Integer.valueOf(a.getAssignedNumber()).compareTo(b.getAssignedNumber()); + } + }); + writer.println("=== Voting results for " + group.toString() + "==="); + for (ClientData data: clientDataList) { + RuleVoteRequest request = ruleVoteRequests.get(data.getId()); + writer.println(String.format("%s, %s", data.getId(), request.getRule())); + } } } } 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. |