[virtualcommons-svn] commit/irrigation: alllee: sending target list in restricted visibility condit
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-03-27 04:11:25
|
1 new commit in irrigation: https://bitbucket.org/virtualcommons/irrigation/changeset/46eb9a52d1c9/ changeset: 46eb9a52d1c9 branch: stable user: alllee date: 2012-03-27 06:11:25 summary: sending target list in restricted visibility condition, fixing facilitator debriefing affected #: 2 files diff -r 0c1a63e38a60efa3150f803fdec12e9c17ba9ae0 -r 46eb9a52d1c9766dee5d38efdaedbb4498627bb9 src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java --- a/src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java +++ b/src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java @@ -229,7 +229,9 @@ * @param event */ public void endRound(FacilitatorEndRoundEvent event) { - setInstructions(event.getServerDataModel().generateFacilitatorDebriefing()); + // reset the StringBuilder as it will be appended to + builder = new StringBuilder(event.getServerDataModel()); + setInstructions(builder.toString()); } public void addInstructions(String instructions) { diff -r 0c1a63e38a60efa3150f803fdec12e9c17ba9ae0 -r 46eb9a52d1c9766dee5d38efdaedbb4498627bb9 src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java --- a/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java +++ b/src/main/java/edu/asu/commons/irrigation/server/IrrigationServer.java @@ -228,28 +228,28 @@ Identifier source = request.getSource(); Identifier target = request.getTarget(); ClientData sendingClient = clients.get(source); + ArrayList<ClientData> allTargets = new ArrayList<ClientData>(); if (Identifier.ALL.equals(target)) { // relay to all clients in this client's group. - sendFacilitatorMessage(String.format("%s -> ALL: [ %s ]", request.getSource(), request)); boolean restrictedVisibility = getRoundConfiguration().isRestrictedVisibility(); for (ClientData clientData: clients.get(source).getGroupDataModel().getClientDataMap().values()) { Identifier targetId = clientData.getId(); - if (targetId.equals(source)) { + if (targetId.equals(source) || (restrictedVisibility && ! sendingClient.isImmediateNeighbor(clientData))) { + // don't send the message if the target is the source or we're in a restricted visibility + // condition and the client isn't an immediate neighbor. continue; } - if (restrictedVisibility && ! sendingClient.isImmediateNeighbor(clientData)) { - sendFacilitatorMessage(String.format("%s was out of range of %s, not sending message [%s]", clientData, sendingClient, request.getMessage())); - continue; - } + allTargets.add(clientData); ChatEvent chatEvent = new ChatEvent(targetId, request.getMessage(), source, true); transmit(chatEvent); } } else { - sendFacilitatorMessage(String.format("%s->%s: [%s]", request.getSource(), request.getTarget(), request.toString())); - ChatEvent chatEvent = new ChatEvent(request.getTarget(), request.getMessage(), request.getSource()); + allTargets.add(clients.get(target)); + ChatEvent chatEvent = new ChatEvent(target, request.getMessage(), source); transmit(chatEvent); } + sendFacilitatorMessage(String.format("%s->%s: %s", source, allTargets, request.toString())); persister.store(request); } }); Repository URL: https://bitbucket.org/virtualcommons/irrigation/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |