@Override public boolean register(CommUser element) { uiObjects .put(element, new DeviceUI(element, model.getUsersAndDevices().get(element))); return true; }
CommRenderer(Builder b, CommModel m) { model = m; viewOptions = b.viewOptions(); reliableColor = b.reliableColor(); unreliableColor = b.unreliableColor(); helper = new RenderHelper(); uiObjects = Collections .synchronizedMap(new LinkedHashMap<CommUser, DeviceUI>()); for (final Entry<CommUser, CommDevice> entry : model.getUsersAndDevices() .entrySet()) { addUIObject(entry.getKey(), entry.getValue()); } model.getEventAPI().addListener(new Listener() { @Override public void handleEvent(Event e) { verify(e instanceof CommModelEvent); final CommModelEvent event = (CommModelEvent) e; if (e.getEventType() == CommModel.EventTypes.ADD_COMM_USER) { addUIObject(event.getUser(), event.getDevice()); } else { removeUIObject(event.getUser()); } } }, CommModel.EventTypes.ADD_COMM_USER, CommModel.EventTypes.REMOVE_COMM_USER); }
/** * Test immutable view. */ @Test public void testImmutableGetUsersAndDevices() { final List<CommUser> users = model.getUsersAndDevices().keySet().asList(); thrown.expect(UnsupportedOperationException.class); users.clear(); }
/** * Tests view on users and devices. */ @Test public void testGetUsersAndDevices() { final List<CommUser> users = model.getUsersAndDevices().keySet().asList(); assertSame(agent1, users.get(0)); assertSame(agent2, users.get(1)); assertSame(agent3, users.get(2)); assertSame(agent4, users.get(3)); assertSame(agent5, users.get(4)); assertSame(users, model.getUsersAndDevices().keySet().asList()); final CommUser agent6 = new RangedAgent(new Point(6, 6), 4); model.register(agent6); assertSame(agent6, model.getUsersAndDevices().keySet().asList().get(5)); }
/** * Test event dispatching. */ @Test public void testEvent() { final ListenerEventHistory history = new ListenerEventHistory(); model.getEventAPI().addListener(history, EventTypes.ADD_COMM_USER); final CommUser agent6 = new RangedAgent(new Point(6, 6), 4); model.register(agent6); assertEquals(1, history.getHistory().size()); assertTrue(history.getHistory().get(0) instanceof CommModelEvent); final CommModelEvent event = (CommModelEvent) history.getHistory().get(0); assertSame(agent6, event.getUser()); assertSame(model, event.getIssuer()); assertSame(agent6, model.getUsersAndDevices().inverse().get(event.getDevice())); }