/* * Copyright (C) 2013-2014 Sony Computer Science Laboratories, Inc. All Rights Reserved. * Copyright (C) 2014 Sony Corporation. All Rights Reserved. */ package com.sonycsl.test.mock; import com.sonycsl.wamp.WampPeer; import com.sonycsl.wamp.message.WampMessage; import com.sonycsl.wamp.message.WampMessageFactory; import com.sonycsl.wamp.role.WampRole; import org.json.JSONObject; import java.util.LinkedList; import java.util.Queue; public class MockWampDealer extends WampRole { @Override public String getRoleName() { return "mockDealer"; } private Queue<WampMessage> mMessageQueue = new LinkedList<WampMessage>(); public WampMessage getMessage() { return mMessageQueue.remove(); } @Override protected boolean resolveTxMessageImpl(WampPeer receiver, WampMessage msg) { return false; } @Override protected boolean resolveRxMessageImpl(WampPeer transmitter, WampMessage msg, OnReplyListener listener) { if (msg.isRegisterMessage()) { listener.onReply(transmitter, WampMessageFactory.createRegistered(msg.asRegisterMessage().getRequestId(), 0)); mMessageQueue.add(msg); return true; } if (msg.isCallMessage()) { listener.onReply(transmitter, WampMessageFactory.createResult(msg.asCallMessage().getRequestId(), new JSONObject())); mMessageQueue.add(msg); return true; } if (msg.isUnregisterMessage()) { listener.onReply(transmitter, WampMessageFactory .createUnregistered(msg.asUnregisterMessage().getRequestId())); mMessageQueue.add(msg); return true; } return false; } }