private void doActionPresenter()

in openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java [247:312]


	private void doActionPresenter(Client c, WbAction a, JSONObject obj, boolean redo) {
		switch (a) {
			case CREATE_WB:
			{
				Whiteboard wb = wbm.add(roomId, c.getUser().getLanguageId());
				sendWbAll(WbAction.CREATE_WB, wb.getAddJson());
			}
				break;
			case REMOVE_WB:
			{
				long id = obj.optLong("wbId", -1);
				if (id > -1) {
					long prevId = obj.optLong("prevWbId", -1);
					wbm.remove(roomId, id, prevId);
					sendWbAll(WbAction.REMOVE_WB, obj);
				}
			}
				break;
			case ACTIVATE_WB:
			{
				long wbId = obj.optLong("wbId", -1);
				if (wbId > -1) {
					wbm.activate(roomId, wbId);
					sendWbAll(WbAction.ACTIVATE_WB, obj);
				}
			}
				break;
			case RENAME_WB:
			{
				Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1));
				if (wb != null) {
					wbm.update(roomId, wb.setName(obj.getString("name")));
					sendWbAll(WbAction.RENAME_WB, obj);
				}
			}
				break;
			case SET_SLIDE:
			{
				Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1));
				if (wb != null) {
					wb.setSlide(obj.optInt(ATTR_SLIDE, 0));
					wbm.update(roomId, wb);
					sendWbOthers(WbAction.SET_SLIDE, obj);
				}
			}
				break;
			case CLEAR_ALL:
			{
				wbm.clearAll(roomId, obj.getLong("wbId"), redo, addUndo);
			}
				break;
			case SET_SIZE:
			{
				Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId"));
				wb.setWidth(obj.getInt(ATTR_WIDTH));
				wb.setHeight(obj.getInt(ATTR_HEIGHT));
				wb.setZoom(obj.getDouble(ATTR_ZOOM));
				wb.setZoomMode(ZoomMode.valueOf(obj.getString("zoomMode")));
				wbm.update(roomId, wb);
				sendWbOthers(WbAction.SET_SIZE, wb.getAddJson());
			}
				break;
			default:
				break;
		}
	}