Author: solomax
Date: Thu Sep 11 14:44:36 2014
New Revision: 1624307
URL: http://svn.apache.org/r1624307
Log:
[OPENMEETINGS-1085] initial work for room rights
Added:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/PollCreated.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/RoomMessage.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/UserEnter.java
Modified:
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/PollDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomModeratorsDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomModerator.java
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.html
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Modified:
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java
Thu Sep 11 14:44:36 2014
@@ -386,10 +386,10 @@ public class RoomManager implements IRoo
Boolean isSuperModerator =
Boolean.parseBoolean(roomModeratorObj.get("isSuperModerator").toString());
RoomModerator rm = new RoomModerator();
- rm.setRoomModeratorsId(roomModeratorsId);
+ rm.setId(roomModeratorsId);
rm.setRoomId(roomId);
rm.setUser(usersDao.get(userId));
- rm.setIsSuperModerator(isSuperModerator);
+ rm.setSuperModerator(isSuperModerator);
result.add(rm);
}
@@ -438,7 +438,7 @@ public class RoomManager implements IRoo
r.setIsDemoRoom(isDemoRoom);
r.setDemoTime(demoTime);
- r.setIsModeratedRoom(isModeratedRoom);
+ r.setModerated(isModeratedRoom);
r.setHideTopBar(hideTopBar);
r.setDeleted(false);
@@ -523,7 +523,7 @@ public class RoomManager implements IRoo
r.setIsDemoRoom(isDemoRoom);
r.setDemoTime(demoTime);
- r.setIsModeratedRoom(isModeratedRoom);
+ r.setModerated(isModeratedRoom);
r.setDeleted(false);
@@ -773,7 +773,7 @@ public class RoomManager implements IRoo
r.setAppointment(appointment);
- r.setIsModeratedRoom(isModeratedRoom);
+ r.setModerated(isModeratedRoom);
r.setHideTopBar(hideTopBar);
r.setIsClosed(isClosed);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
Thu Sep 11 14:44:36 2014
@@ -1112,7 +1112,7 @@ public class ScopeApplicationAdapter ext
// No moderator in this room at the moment
Room room =
roomDao.get(currentClient.getRoom_id());
- return room.getIsModeratedRoom() ? 3L : 1L;
+ return room.isModerated() ? 3L : 1L;
}
} catch (Exception err) {
@@ -1219,7 +1219,7 @@ public class ScopeApplicationAdapter ext
// not really - default logic
if (room.getAppointment() == null ||
room.getAppointment() == false) {
- if (room.getIsModeratedRoom()) {
+ if (room.isModerated()) {
// if this is a Moderated Room then the
Room can be only
// locked off by the Moderator Bit
@@ -1343,7 +1343,7 @@ public class ScopeApplicationAdapter ext
// default logic for non regular rooms
if (room.getAppointment() == null ||
room.getAppointment() == false) {
- if (room.getIsModeratedRoom()) {
+ if (room.isModerated()) {
// if this is a Moderated Room then the
Room can be only
// locked off by the Moderator Bit
// List<RoomClient>
clientModeratorListRoom =
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/PollDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/PollDao.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/PollDao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/PollDao.java
Thu Sep 11 14:44:36 2014
@@ -100,8 +100,14 @@ public class PollDao {
}
- public RoomPoll updatePoll(RoomPoll rp) {
- return em.merge(rp);
+ public RoomPoll update(RoomPoll p) {
+ if (p.getId() == null) {
+ p.setCreated(new Date());
+ em.persist(p);
+ } else {
+ p = em.merge(p);
+ }
+ return p;
}
public boolean closePoll(Long room_id){
@@ -198,7 +204,7 @@ public class PollDao {
} catch (NoResultException nre) {
//expected
} catch (Exception err) {
- log.error("[getPoll]", err);
+ log.error("[hasVoted]", err);
}
return false;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomModeratorsDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomModeratorsDao.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomModeratorsDao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomModeratorsDao.java
Thu Sep 11 14:44:36 2014
@@ -55,7 +55,7 @@ public class RoomModeratorsDao {
}
public RoomModerator update(RoomModerator rm, Long userId) {
- if (rm.getRoomModeratorsId() == 0) {
+ if (rm.getId() == 0) {
rm.setStarttime(new Date());
em.persist(rm);
} else {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
Thu Sep 11 14:44:36 2014
@@ -147,8 +147,8 @@ public class Room implements IDataProvid
// If this is true all participants of a meeting have to wait for the
// moderator to come into the room
@Column(name = "ismoderatedroom")
- @Element(data = true, required = false)
- private Boolean isModeratedRoom;
+ @Element(name="isModeratedRoom", data = true, required = false)
+ private boolean moderated;
@Column(name = "allow_user_questions")
@Element(data = true, required = false)
@@ -365,12 +365,12 @@ public class Room implements IDataProvid
this.demoTime = demoTime;
}
- public Boolean getIsModeratedRoom() {
- return isModeratedRoom;
+ public boolean isModerated() {
+ return moderated;
}
- public void setIsModeratedRoom(Boolean isModeratedRoom) {
- this.isModeratedRoom = isModeratedRoom;
+ public void setModerated(boolean moderated) {
+ this.moderated = moderated;
}
public Long getExternalRoomId() {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomModerator.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomModerator.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomModerator.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomModerator.java
Thu Sep 11 14:44:36 2014
@@ -40,8 +40,8 @@ import org.simpleframework.xml.Root;
@Entity
@NamedQueries({
- @NamedQuery(name = "getRoomModeratorById", query = "select c from
RoomModerator as c where c.roomModeratorsId = :roomModeratorsId"),
- @NamedQuery(name = "getRoomModeratorsByIds", query = "select c from
RoomModerator as c where c.roomModeratorsId IN :ids"),
+ @NamedQuery(name = "getRoomModeratorById", query = "select c from
RoomModerator as c where c.id = :id"),
+ @NamedQuery(name = "getRoomModeratorsByIds", query = "select c from
RoomModerator as c where c.id IN :ids"),
@NamedQuery(name = "getRoomModeratorByRoomId", query = "select c from
RoomModerator as c where c.roomId = :roomId AND c.deleted = false"),
@NamedQuery(name = "getRoomModeratorByUserAndRoomId", query = "select c
from RoomModerator as c "
+ "where c.roomId = :roomId AND c.deleted false AND
c.user.id = :user_id")
@@ -54,14 +54,14 @@ public class RoomModerator implements Se
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
- private long roomModeratorsId;
+ private Long id;
@Column(name = "roomId")
private Long roomId;
@Column(name="is_supermoderator")
@Element(name="is_supermoderator", data = true)
- private Boolean isSuperModerator;
+ private boolean superModerator;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn (name="user_id")
@@ -78,18 +78,18 @@ public class RoomModerator implements Se
@Column(name = "deleted")
private boolean deleted;
- public long getRoomModeratorsId() {
- return roomModeratorsId;
+ public Long getId() {
+ return id;
}
- public void setRoomModeratorsId(long roomModeratorsId) {
- this.roomModeratorsId = roomModeratorsId;
+ public void setId(Long id) {
+ this.id = id;
}
- public Boolean getIsSuperModerator() {
- return isSuperModerator;
+ public boolean isSuperModerator() {
+ return superModerator;
}
- public void setIsSuperModerator(Boolean isSuperModerator) {
- this.isSuperModerator = isSuperModerator;
+ public void setSuperModerator(boolean superModerator) {
+ this.superModerator = superModerator;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
Thu Sep 11 14:44:36 2014
@@ -507,7 +507,7 @@ public class ImportInitvalues {
r.setIsDemoRoom(false);
r.setDemoTime(null);
- r.setIsModeratedRoom(false);
+ r.setModerated(false);
r.setHideTopBar(false);
r.setDeleted(false);
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.html
Thu Sep 11 14:44:36 2014
@@ -20,10 +20,7 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
- <div>
- <span wicket:id="uploadFeedback"/>
- </div>
- <!-- wicket:id="form" -->
+ <div wicket:id="feedback"></div>
<form wicket:id="backupUpload" class="adminForm
adminBackupForm">
<fieldset class="ui-widget-content">
<legend
class="ui-widget-header"><wicket:ommessage key="1066" /></legend>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/backup/BackupPanel.java
Thu Sep 11 14:44:36 2014
@@ -45,7 +45,6 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
-import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.lang.Bytes;
import org.apache.wicket.util.resource.FileResourceStream;
@@ -53,7 +52,9 @@ import org.apache.wicket.util.time.Durat
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
+import com.googlecode.wicket.jquery.core.Options;
import com.googlecode.wicket.jquery.ui.widget.progressbar.ProgressBar;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
/**
* Panel component to manage Backup Import/Export
*
@@ -65,9 +66,7 @@ public class BackupPanel extends AdminPa
private static final long serialVersionUID = -1L;
- // Create feedback panels
- final FeedbackPanel uploadFeedback;
-
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
/**
* Form to handle upload files
*
@@ -128,13 +127,13 @@ public class BackupPanel extends AdminPa
, "Openmeetings - " +
dateString).start();
// repaint the feedback panel so that
it is hidden
- target.add(uploadFeedback,
progressBar.setVisible(true));
+ target.add(feedback,
progressBar.setVisible(true));
}
@Override
protected void onError(AjaxRequestTarget
target, Form<?> form) {
// repaint the feedback panel so errors
are shown
- target.add(uploadFeedback);
+ target.add(feedback);
}
});
add(timer = new
AbstractAjaxTimerBehavior(Duration.ONE_SECOND) {
@@ -150,8 +149,8 @@ public class BackupPanel extends AdminPa
timer.stop(target);
//TODO change text, localize
progressBar.setVisible(false);
- uploadFeedback.error(th);
- target.add(uploadFeedback);
+ feedback.error(th);
+ target.add(feedback);
} else {
progressBar.setModelObject(progressHolder.getProgress());
progressBar.refresh(target);
@@ -180,23 +179,23 @@ public class BackupPanel extends AdminPa
FileUpload upload =
fileUploadField.getFileUpload();
try {
if (upload == null ||
upload.getInputStream() == null) {
-
uploadFeedback.error("File is empty");
-
target.add(uploadFeedback);
+ feedback.error("File is
empty");
+ target.add(feedback);
return;
}
getBean(BackupImport.class).performImport(upload.getInputStream());
} catch (Exception e) {
log.error("Exception on panel
backup upload ", e);
- uploadFeedback.error(e);
+ feedback.error(e);
}
// repaint the feedback panel so that
it is hidden
- target.add(uploadFeedback);
+ target.add(feedback);
}
@Override
protected void onError(AjaxRequestTarget
target) {
// repaint the feedback panel so errors
are shown
- target.add(uploadFeedback);
+ target.add(feedback);
}
}));
add(new Label("cmdLineDesc",
WebSession.getString(1505)).setEscapeModelStrings(false));
@@ -230,11 +229,7 @@ public class BackupPanel extends AdminPa
public BackupPanel(String id) {
super(id);
- // Create feedback panels
- uploadFeedback = new FeedbackPanel("uploadFeedback");
- // Set Id so that it can be replaced dynamically
- uploadFeedback.setOutputMarkupId(true);
- add(uploadFeedback);
+ add(feedback);
BackupForm backupForm = new BackupForm("backupUpload");
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
Thu Sep 11 14:44:36 2014
@@ -20,9 +20,7 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
- <div>
- <span wicket:id="importFeedback"/>
- </div>
+ <div wicket:id="feedback"></div>
<script type="text/javascript">
function labelsInit() {
$('#addLanguage').dialog({
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
Thu Sep 11 14:44:36 2014
@@ -56,7 +56,6 @@ import org.apache.wicket.markup.html.bas
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
-import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.util.resource.AbstractResourceStream;
import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
@@ -65,6 +64,9 @@ import org.dom4j.Element;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
+import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
+
/**
* Language Editor, add/insert/update {@link Fieldlanguagesvalues} and
* add/delete {@link FieldLanguage} contains several Forms and one list
@@ -81,8 +83,7 @@ public class LangPanel extends AdminPane
final WebMarkupContainer listContainer;
private LangForm langForm;
private FileUploadField fileUploadField;
- // Create feedback panels
- private final FeedbackPanel importFeedback = new
FeedbackPanel("importFeedback");
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
@Override
public void onMenuPanelLoad(AjaxRequestTarget target) {
@@ -92,8 +93,7 @@ public class LangPanel extends AdminPane
public LangPanel(String id) {
super(id);
- // Create feedback panels
- add(importFeedback.setOutputMarkupId(true));
+ add(feedback);
FieldLanguageDao langDao = getBean(FieldLanguageDao.class);
language = langDao.get(1L);
@@ -175,18 +175,18 @@ public class LangPanel extends AdminPane
FileUpload download =
fileUploadField.getFileUpload();
try {
if (download == null ||
download.getInputStream() == null) {
- importFeedback.error("File is
empty");
+ feedback.error("File is empty");
return;
}
getBean(LanguageImport.class)
.addLanguageByDocument(language.getId(), download.getInputStream(),
getUserId());
} catch (Exception e) {
log.error("Exception on panel language
editor import ", e);
- importFeedback.error(e);
+ feedback.error(e);
}
// repaint the feedback panel so that it is
hidden
- target.add(importFeedback);
+ target.add(feedback);
}
});
@@ -233,13 +233,13 @@ public class LangPanel extends AdminPane
}
// repaint the feedback panel so that it is
hidden
- target.add(importFeedback);
+ target.add(feedback);
}
@Override
protected void onError(AjaxRequestTarget target,
Form<?> form) {
// repaint the feedback panel so errors are
shown
- target.add(importFeedback);
+ target.add(feedback);
}
});
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
Thu Sep 11 14:44:36 2014
@@ -261,10 +261,10 @@ public class RoomForm extends AdminBaseF
protected void populateItem(final
ListItem<RoomModerator> item) {
RoomModerator moderator = item.getModelObject();
Label name = new Label("uName",
moderator.getUser().getFirstname() + " " + moderator.getUser().getLastname());
- if (moderator.getRoomModeratorsId() == 0) {
+ if (moderator.getId() == 0) {
name.add(AttributeAppender.append("class", "newItem"));
}
- item.add(new CheckBox("isSuperModerator", new
PropertyModel<Boolean>(moderator, "isSuperModerator")))
+ item.add(new CheckBox("superModerator", new
PropertyModel<Boolean>(moderator, "superModerator")))
.add(new Label("userId", "" +
moderator.getUser().getId()))
.add(name)
.add(new Label("email",
moderator.getUser().getAdresses().getEmail()))
@@ -286,7 +286,7 @@ public class RoomForm extends AdminBaseF
}
}).setOutputMarkupId(true));
- add(new CheckBox("isModeratedRoom"));
+ add(new CheckBox("moderated"));
add(new TextField<String>("confno").setEnabled(false));
add(pin = new TextField<String>("pin"));
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
Thu Sep 11 14:44:36 2014
@@ -203,7 +203,7 @@
<fieldset
class="ui-widget-content">
<div class="formelement">
<div
class="info-text"><wicket:ommessage key="823" /></div>
- <label><wicket:ommessage
key="640" /></label><input type="checkbox" class="formcheckbox"
wicket:id="isModeratedRoom" />
+ <label><wicket:ommessage
key="640" /></label><input type="checkbox" class="formcheckbox"
wicket:id="moderated" />
</div>
<div class="formelement">
<label><wicket:ommessage
key="816" /></label><input type="hidden" wicket:id="moderator2add"
class="input"/>
@@ -224,7 +224,7 @@
<table
class="adminListTableSmall">
<tbody>
<tr wicket:id="moderators">
-
<td class="three_column_layout_column1"><div
class="three_column_layout_divcolumn1"><input type="checkbox"
wicket:id="isSuperModerator"/></div></td>
+
<td class="three_column_layout_column1"><div
class="three_column_layout_divcolumn1"><input type="checkbox"
wicket:id="superModerator"/></div></td>
<td class="three_column_layout_column2"><div
class="three_column_layout_divcolumn2"><span
wicket:id="userId"></span></div></td>
<td class="three_column_layout_column3"><div
class="three_column_layout_divcolumn3"><span
wicket:id="uName"></span></div></td>
<td class="three_column_layout_column4"><div
class="three_column_layout_divcolumn4" style="overflow: hidden;"><span
wicket:id="email"></span></div></td>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java
Thu Sep 11 14:44:36 2014
@@ -19,6 +19,8 @@
package org.apache.openmeetings.web.app;
import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.wicket.protocol.ws.api.registry.IKey;
@@ -30,10 +32,14 @@ import org.apache.wicket.protocol.ws.api
public class Client implements Serializable {
private static final long serialVersionUID = 1L;
+ public enum Right {
+ moderator
+ }
private String sessionId;
private int pageId;
private long userId;
private String uid;
+ private Set<Right> rights = new HashSet<Right>();
public Client() {
}
@@ -110,4 +116,12 @@ public class Client implements Serializa
return false;
return true;
}
+
+ public Set<Right> getRights() {
+ return rights;
+ }
+
+ public boolean hasRight(Right right) {
+ return rights.contains(Right.moderator) ? true :
rights.contains(right);
+ }
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.html?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.html
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.html
Thu Sep 11 14:44:36 2014
@@ -41,6 +41,7 @@
<td colspan="2" style="color:
red;"><wicket:ommessage key="23" /></td>
</tr>
</table>
+ <div wicket:id="feedback"></div>
</form>
</wicket:panel>
</html>
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/CreatePollDialog.java
Thu Sep 11 14:44:36 2014
@@ -32,6 +32,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.RoomPoll;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.room.message.PollCreated;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -40,9 +41,14 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.protocol.ws.WebSocketSettings;
+import org.apache.wicket.protocol.ws.api.WebSocketPushBroadcaster;
+import com.googlecode.wicket.jquery.core.Options;
import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
public class CreatePollDialog extends AbstractFormDialog<RoomPoll> {
private static final long serialVersionUID = 1L;
@@ -50,6 +56,7 @@ public class CreatePollDialog extends Ab
private final DialogButton cancel = new
DialogButton(WebSession.getString(25));
private final long roomId;
private final PollForm form;
+ private final KendoFeedbackPanel feedback = new
KendoFeedbackPanel("feedback", new Options("button", true));
public CreatePollDialog(String id, long roomId) {
super(id, WebSession.getString(18), new
CompoundPropertyModel<RoomPoll>(new RoomPoll()));
@@ -84,24 +91,28 @@ public class CreatePollDialog extends Ab
@Override
protected void onError(AjaxRequestTarget target) {
- // TODO Auto-generated method stub
-
+ target.add(feedback);
}
@Override
protected void onSubmit(AjaxRequestTarget target) {
- // TODO Auto-generated method stub
-
+ RoomPoll p =
getBean(PollDao.class).update(form.getModelObject());
+ WebSocketSettings webSocketSettings =
WebSocketSettings.Holder.get(getApplication());
+ WebSocketPushBroadcaster broadcaster = new
WebSocketPushBroadcaster(webSocketSettings.getConnectionRegistry());
+ broadcaster.broadcastAll(getApplication(), new
PollCreated(p.getId(), roomId));
}
private class PollForm extends Form<RoomPoll> {
private static final long serialVersionUID = 1L;
-
+
public PollForm(String id, IModel<RoomPoll> model) {
super(id, model);
- add(new RequiredTextField<String>("name"));
+ add(new
RequiredTextField<String>("name").setLabel(Model.of(WebSession.getString(1410))));
add(new TextArea<String>("question"));
- add(new DropDownChoice<PollType>("type",
getBean(PollDao.class).getPollTypes(getLanguage()), new
ChoiceRenderer<PollType>("label.fieldlanguagesvalue.value", "id")));
+ add(new DropDownChoice<PollType>("type",
getBean(PollDao.class).getPollTypes(getLanguage())
+ , new
ChoiceRenderer<PollType>("label.fieldlanguagesvalue.value", "id"))
+
.setRequired(true).setLabel(Model.of(WebSession.getString(21))));
+ add(feedback);
}
}
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1624307&r1=1624306&r2=1624307&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Thu Sep 11 14:44:36 2014
@@ -27,6 +27,7 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
+import java.sql.ClientInfoStatus;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -35,6 +36,7 @@ import java.util.List;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.room.PollDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
@@ -42,10 +44,12 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.file.FileItem.Type;
import org.apache.openmeetings.db.entity.record.FlvRecording;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.user.Organisation;
import org.apache.openmeetings.db.entity.user.Organisation_Users;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.WebSession;
@@ -58,6 +62,7 @@ import org.apache.openmeetings.web.commo
import org.apache.openmeetings.web.common.tree.MyRecordingTreeProvider;
import org.apache.openmeetings.web.common.tree.PublicRecordingTreeProvider;
import org.apache.openmeetings.web.pages.MainPage;
+import org.apache.openmeetings.web.room.message.PollCreated;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -66,6 +71,7 @@ import org.apache.wicket.ajax.json.JSONE
import org.apache.wicket.ajax.json.JSONObject;
import
org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.event.IEvent;
import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -76,6 +82,7 @@ import org.apache.wicket.markup.html.bas
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.protocol.ws.WebSocketSettings;
+import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload;
import org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry;
import org.apache.wicket.protocol.ws.api.registry.PageIdKey;
import org.apache.wicket.request.flow.RedirectToUrlException;
@@ -122,6 +129,7 @@ public class RoomPanel extends BasePanel
private final RoomMenuItem applyModer;
private final RoomMenuItem applyWB;
private final RoomMenuItem applyAV;
+ private final RoomMenuItem pollCreate;
private final RoomMenuItem pollVote;
private final RoomMenuItem pollResult;
private final RoomMenuItem sipDialer;
@@ -144,6 +152,15 @@ public class RoomPanel extends BasePanel
applyModer = new RoomMenuItem(WebSession.getString(784),
WebSession.getString(1481), false);
applyWB = new RoomMenuItem(WebSession.getString(785),
WebSession.getString(1492), false);
applyAV = new RoomMenuItem(WebSession.getString(786),
WebSession.getString(1482), false);
+ boolean pollExists = getBean(PollDao.class).hasPoll(roomId);
+ pollCreate = new RoomMenuItem(WebSession.getString(24),
WebSession.getString(1483), !pollExists) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick(MainPage page, AjaxRequestTarget
target) {
+ createPoll.open(target);
+ }
+ };
pollVote = new RoomMenuItem(WebSession.getString(42),
WebSession.getString(1485), false);
pollResult = new RoomMenuItem(WebSession.getString(37),
WebSession.getString(1484), false);
sipDialer = new RoomMenuItem(WebSession.getString(1447),
WebSession.getString(1488), false);
@@ -227,6 +244,17 @@ public class RoomPanel extends BasePanel
add(createPoll = new CreatePollDialog("createPoll", roomId));
}
+ @Override
+ public void onEvent(IEvent<?> event) {
+ if (event.getPayload() instanceof WebSocketPushPayload) {
+ WebSocketPushPayload wsEvent = (WebSocketPushPayload)
event.getPayload();
+ if (wsEvent.getMessage() instanceof PollCreated) {
+ //handleMessage(wsEvent.getHandler(),
(PollCreated) wsEvent.getMessage());
+ }
+ }
+ super.onEvent(event);
+ }
+
private JSONArray getStringLabels(long... ids) {
JSONArray arr = new JSONArray();
try {
@@ -243,6 +271,24 @@ public class RoomPanel extends BasePanel
protected void onBeforeRender() {
super.onBeforeRender();
c = addUserToRoom(roomId, getPage().getPageId());
+ User u = getBean(UserDao.class).get(getUserId());
+ //TODO do we need to check OrgModerationRights ????
+ if (AuthLevelUtil.hasAdminLevel(u.getRights())) {
+ c.getRights().add(Client.Right.moderator);
+ } else {
+ Room r = getBean(RoomDao.class).get(roomId);
+ if (!r.isModerated() && 1 ==
getRoomUsers(roomId).size()) {
+ c.getRights().add(Client.Right.moderator);
+ } else if (r.isModerated()) {
+ //TODO why do we need supermoderator ????
+ for (RoomModerator rm : r.getModerators()) {
+ if (getUserId() ==
rm.getUser().getId()) {
+
c.getRights().add(Client.Right.moderator);
+ break;
+ }
+ }
+ }
+ }
sendRoom(roomId, addUser(c));
}
@@ -353,14 +399,7 @@ public class RoomPanel extends BasePanel
actionItems.add(applyModer); //FIXME enable/disable
actionItems.add(applyWB); //FIXME enable/disable
actionItems.add(applyAV); //FIXME enable/disable
- actionItems.add(new RoomMenuItem(WebSession.getString(24),
WebSession.getString(1483)) {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void onClick(MainPage page, AjaxRequestTarget
target) {
- createPoll.open(target);
- }
- });
+ actionItems.add(pollCreate);
actionItems.add(pollResult); //FIXME enable/disable
actionItems.add(pollVote); //FIXME enable/disable
actionItems.add(sipDialer);
Added:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/PollCreated.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/PollCreated.java?rev=1624307&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/PollCreated.java
(added)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/PollCreated.java
Thu Sep 11 14:44:36 2014
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.message;
+
+
+public class PollCreated extends RoomMessage {
+ private static final long serialVersionUID = 1L;
+ private final Long pollId;
+ private final Long roomId;
+
+ public PollCreated(Long pollId, Long roomId) {
+ this.pollId = pollId;
+ this.roomId = roomId;
+ }
+
+ public long getPollId() {
+ return pollId;
+ }
+
+ public Long getRoomId() {
+ return roomId;
+ }
+}
Added:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/RoomMessage.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/RoomMessage.java?rev=1624307&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/RoomMessage.java
(added)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/RoomMessage.java
Thu Sep 11 14:44:36 2014
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.message;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.apache.wicket.protocol.ws.api.message.IWebSocketPushMessage;
+
+public class RoomMessage implements IWebSocketPushMessage, Serializable {
+ private static final long serialVersionUID = 1L;
+ private final Date timestamp;
+
+ public RoomMessage() {
+ this.timestamp = new Date();
+ }
+
+ public Date getTimestamp() {
+ return timestamp;
+ }
+}
Added:
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/UserEnter.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/UserEnter.java?rev=1624307&view=auto
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/UserEnter.java
(added)
+++
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/message/UserEnter.java
Thu Sep 11 14:44:36 2014
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.message;
+
+public class UserEnter extends RoomMessage {
+ private static final long serialVersionUID = 1L;
+ private final Long userId;
+ private final Long roomId;
+
+ public UserEnter(Long userId, Long roomId) {
+ this.userId = userId;
+ this.roomId = roomId;
+ }
+
+ public long getPollId() {
+ return userId;
+ }
+
+ public Long getRoomId() {
+ return roomId;
+ }
+}