public void add()

in openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java [177:256]


	public void add(Activity a, IPartialPageRequestHandler handler) {
		if (!isVisible()) {
			return;
		}
		final boolean self = getUserId().equals(a.getSender());
		if (shouldSkip(self, a)) {
			return;
		}
		if (a.getType().isAction()) {
			remove(handler, activities.entrySet().parallelStream()
				.filter(e -> a.getSender().equals(e.getValue().getSender()) && a.getType() == e.getValue().getType())
				.map(e -> e.getValue().getId())
				.toArray(String[]::new));
		}
		activities.put(a.getId(), a);
		String text = "";
		final String name = self ? getString("1362") : a.getName();
		final String fmt = ((BasePage)getPage()).isRtl() ? ACTIVITY_FMT_RTL : ACTIVITY_FMT;
		switch (a.getType()) {
			case ROOM_ENTER:
				text = String.format(fmt, name, getString("activities.msg.enter"), df.format(a.getCreated()));
				break;
			case ROOM_EXIT:
				text = String.format(fmt, name, getString("activities.msg.exit"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_MODERATOR:
				text = String.format(fmt, name, getString("activities.request.right.moderator"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_PRESENTER:
				text = String.format(fmt, name, getString("activities.request.right.presenter"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_WB:
				text = String.format(fmt, name, getString("activities.request.right.wb"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_SHARE:
				text = String.format(fmt, name, getString("activities.request.right.share"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_REMOTE:
				text = String.format(fmt, name, getString("activities.request.right.remote"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_A:
				text = String.format(fmt, name, getString("activities.request.right.audio"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_AV:
				text = String.format(fmt, name, getString("activities.request.right.video"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_MUTE_OTHERS:
				text = String.format(fmt, name, getString("activities.request.right.muteothers"), df.format(a.getCreated()));
				break;
			case REQ_RIGHT_HAVE_QUESTION:
				text = String.format(fmt, name, getString("activities.ask.question"), df.format(a.getCreated()));
				break;
			default:
				break;
		}
		final JSONObject aobj = new JSONObject()
			.put("id", a.getId())
			.put("uid", a.getUid())
			.put("cssClass", getClass(a))
			.put("text", text)
			.put("action", a.getType().isAction())
			.put("find", false);

		switch (a.getType()) {
			case REQ_RIGHT_MODERATOR, REQ_RIGHT_PRESENTER, REQ_RIGHT_WB, REQ_RIGHT_SHARE, REQ_RIGHT_REMOTE
					, REQ_RIGHT_A, REQ_RIGHT_AV, REQ_RIGHT_MUTE_OTHERS:
				aobj.put("accept", room.getClient().hasRight(Right.MODERATOR));
				aobj.put("decline", room.getClient().hasRight(Right.MODERATOR));
				break;
			case REQ_RIGHT_HAVE_QUESTION:
				aobj.put("find", !self);
			case ROOM_ENTER, ROOM_EXIT:
				aobj.put("accept", false);
				aobj.put("decline", false);
				break;
			default:
				break;
		}
		handler.appendJavaScript(new StringBuilder("Activities.add(").append(aobj.toString()).append(");"));
	}