/* license-start * * Copyright (C) 2008 - 2013 Crispico, <http://www.crispico.com/>. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details, at <http://www.gnu.org/licenses/>. * * Contributors: * Crispico - Initial API and implementation * * license-end */ package org.flowerplatform.web.communication; import java.util.ArrayList; import java.util.List; import org.flowerplatform.blazeds.channel.BlazedsCommunicationChannel; import org.flowerplatform.blazeds.channel.ServerSnapshotClientCommand; import org.flowerplatform.communication.command.AbstractClientCommand; import org.flowerplatform.web.security.sandbox.FlowerWebPrincipal; /** * A {@link WebCommunicationChannel} used to intercept sent commands. * * @author Mariana * @author Cristi */ public class RecordingTestWebCommunicationChannel extends BlazedsCommunicationChannel { public RecordingTestWebCommunicationChannel() { super(null, null); principal = new FlowerWebPrincipal(6); } private List<Object> recordedCommands = new ArrayList<Object>(); public List<Object> getRecordedCommands() { return recordedCommands; } /** * Records the command. */ @Override public void sendCommandWithPush(AbstractClientCommand command) { if (command instanceof ServerSnapshotClientCommand) { ServerSnapshotClientCommand cmd = (ServerSnapshotClientCommand) command; recordedCommands.add(cmd.getWrappedCommand()); } } @Override public boolean isDisposed() { return false; } private FlowerWebPrincipal principal; @Override public FlowerWebPrincipal getPrincipal() { return principal; } public void setPrincipal(FlowerWebPrincipal principal) { this.principal = principal; } }