You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/04/30 17:29:58 UTC
[46/50] [abbrv] openmeetings git commit: [OPENMEETINGS-551] existing
video streams are being played on room enter
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
deleted file mode 100644
index 1fc7406..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
+++ /dev/null
@@ -1,896 +0,0 @@
-/*
- * 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.db.entity.room;
-
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.openmeetings.db.entity.basic.IClient;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.util.CalendarPatterns;
-
-/**
- * Can be configured to be stored in memory or in database
- *
- * @author sebawagner
- */
-@Entity
-@NamedQueries({
- @NamedQuery(name = "deleteAll", query = "DELETE FROM Client"),
- @NamedQuery(name = "deletedById", query = "DELETE FROM Client c WHERE c.id = :id"),
- @NamedQuery(name = "deleteClientsByServer", query = "DELETE FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "deletedByServerAndStreamId", query = "DELETE FROM Client c WHERE c.server = :server AND c.streamid LIKE :streamid"),
- @NamedQuery(name = "countClients", query = "SELECT count(c.id) FROM Client c"),
- @NamedQuery(name = "countClientsByServer", query = "SELECT count(c.id) FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "countClientsByServerAndStreamId", query = "SELECT count(c.id) FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
- @NamedQuery(name = "getClientByServerAndStreamId", query = "SELECT c FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
- @NamedQuery(name = "getClientsByPublicSIDAndServer", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID AND c.server = :server"),
- @NamedQuery(name = "getClientsByPublicSID", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID"),
- @NamedQuery(name = "getClientsByServer", query = "SELECT c FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "getClients", query = "SELECT c FROM Client c"),
- @NamedQuery(name = "getClientsWithServer", query = "SELECT c FROM Client c LEFT JOIN FETCH c.server"),
- @NamedQuery(name = "getClientsByUserId", query = "SELECT c FROM Client c WHERE c.server = :server AND c.userId = :userId"),
- @NamedQuery(name = "getClientsByRoomId", query = "SELECT c FROM Client c WHERE c.roomId = :roomId"),
- @NamedQuery(name = "getRoomsIdsByServer", query = "SELECT c.roomId FROM Client c WHERE c.server = :server GROUP BY c.roomId")
-})
-@Table(name = "client")
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.FIELD)
-public class Client implements IClient {
- private static final long serialVersionUID = 1L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "id")
- private Long id;
-
- /**
- * @see Client#getUsername()
- */
- @Column(name = "username")
- private String username = "";
-
- /**
- * @see Client#getStreamid()
- */
- @Column(name = "streamid")
- private String streamid = "";
-
- /**
- * @see Client#getScope()
- */
- @Column(name = "scope")
- private String scope = "";
-
- /**
- * @see Client#getVWidth()
- */
- @Column(name = "vwidth")
- private int vWidth = 0;
-
- /**
- * @see Client#getVHeight()
- */
- @Column(name = "vheight")
- private int vHeight = 0;
-
- /**
- * @see Client#getVX()
- */
- @Column(name = "vx")
- private int vX = 0;
-
- /**
- * @see Client#getVY()
- */
- @Column(name = "vy")
- private int vY = 0;
-
- /**
- * @see Client#getStreamPublishName()
- */
- @Column(name = "stream_publish_name")
- private String streamPublishName = "";
-
- /**
- * @see Client#getPublicSID()
- */
- @Column(name = "public_sid")
- private String publicSID = "";
-
- /**
- * @see Client#getIsMod()
- */
- @Column(name = "is_mod", nullable = false)
- private boolean isMod = false;
-
- /**
- * @see Client#getIsSuperModerator()
- */
- @Column(name = "is_supermoderator", nullable = false)
- private boolean isSuperModerator = false;
-
- /**
- * @see Client#getCanDraw()
- */
- @Column(name = "can_draw", nullable = false)
- private boolean canDraw = false;
-
- /**
- * @see Client#getCanShare()
- */
- @Column(name = "can_share", nullable = false)
- private boolean canShare = false;
-
- /**
- * @see Client#getCanRemote()
- */
- @Column(name = "can_remote", nullable = false)
- private boolean canRemote = false;
-
- /**
- * @see Client#getCanGiveAudio()
- */
- @Column(name = "can_giveaudio", nullable = false)
- private boolean canGiveAudio = false;
-
- @Column(name = "can_video", nullable = false)
- private boolean canVideo = false;
-
- /**
- * @see Client#getConnectedSince()
- */
- @Column(name = "connected_since")
- private Date connectedSince;
-
- /**
- * @see Client#getFormatedDate()
- */
- @Column(name = "formated_date")
- private String formatedDate;
-
- /**
- * @see Client#isScreenClient()
- */
- @Column(name = "is_screenclient", nullable = false)
- private boolean screenClient;
-
- /**
- * @see Client#getUsercolor()
- */
- @Column(name = "usercolor")
- private String usercolor;
-
- /**
- * @see Client#getUserpos()
- */
- @Column(name = "userpos")
- private Integer userpos;
-
- /**
- * @see Client#getUserip()
- */
- @Column(name = "userip")
- private String userip;
-
- /**
- * @see Client#getUserport()
- */
- @Column(name = "userport")
- private int userport;
-
- /**
- * @see Client#getRoomId()
- */
- @Column(name = "room_id")
- private Long roomId;
-
- /**
- * @see Client#getRoomEnter()
- */
- @Column(name = "room_enter")
- private Date roomEnter = null;
-
- /**
- * @see Client#getBroadCastID()
- */
- @Column(name = "broadcast_id")
- private long broadCastID = -2;
-
- /**
- * @see Client#getUserId()
- */
- @Column(name = "user_id")
- private Long userId = null;
-
- /**
- * @see Client#getFirstname()
- */
- @Column(name = "firstname")
- private String firstname = "";
-
- /**
- * @see Client#getLastname()
- */
- @Column(name = "lastname")
- private String lastname = "";
-
- /**
- * @see Client#getMail()
- */
- @Column(name = "email")
- private String email;
-
- /**
- * @see Client#getLastLogin()
- */
- @Column(name = "last_login")
- private String lastLogin;
-
- /**
- * @see Client#getSecurityCode()
- */
- @Column(name = "security_code")
- private String securityCode;
-
- /**
- * @see Client#getPicture_uri()
- */
- @Column(name = "picture_uri")
- private String picture_uri;
-
- /**
- * @see Client#getLanguage()
- */
- @Column(name = "language")
- private String language = "";
-
- /**
- * @see Client#getAvsettings()
- */
- @Column(name = "avsettings")
- private String avsettings = "";
-
- /**
- * @see Client#getSwfurl()
- */
- // FIXME: Move to {@link ClientSession}
- @Column(name = "swfurl", length=2048)
- private String swfurl;
-
- @Column(name = "tcurl", length=2048)
- private String tcUrl;
-
- @Column(name = "nativeSsl", nullable = false)
- private boolean nativeSsl = false;
-
- /**
- * @see Client#getIsRecording()
- */
- @Column(name = "is_recording", nullable = false)
- private boolean isRecording = false;
-
- /**
- * @see Client#getRoomRecordingName()
- */
- @Column(name = "room_recording_name")
- private String roomRecordingName;
-
- /**
- * @see Client#getRecordingId()
- */
- @Column(name = "recording_id")
- private Long recordingId;
-
- /**
- * @see Client#getRecordingMetaDataId()
- */
- @Column(name = "recording_metadata_id")
- private Long recordingMetaDataId;
-
- /**
- * @see Client#isStartRecording()
- */
- @Column(name = "start_recording", nullable = false)
- private boolean startRecording = false;
-
- /**
- * @see Client#isStartStreaming()
- */
- @Column(name = "start_streaming", nullable = false)
- private boolean startStreaming = false;
-
- /**
- * @see Client#isScreenPublishStarted()
- */
- @Column(name = "screen_publish_started", nullable = false)
- private boolean screenPublishStarted = false;
-
- /**
- * @see Client#isStreamPublishStarted()
- */
- @Column(name = "stream_publish_started", nullable = false)
- private boolean streamPublishStarted = false;
-
- /**
- * @see Client#getIsBroadcasting()
- */
- @Column(name = "is_broadcasting", nullable = false)
- private boolean isBroadcasting = false;
-
- /**
- * @see Client#getExternalUserId()
- */
- @Column(name = "external_user_id")
- private String externalUserId;
-
- /**
- * @see Client#getExternalUserType()
- */
- @Column(name = "external_user_type")
- private String externalUserType;
-
- /**
- * @see Client#getInterviewPodId()
- */
- @Column(name = "interview_pod_id")
- private Integer interviewPodId = null;
-
- /**
- * @see Client#isAllowRecording()
- */
- @Column(name = "allow_recording", nullable = false)
- private boolean allowRecording = true;
-
- /**
- * @see Client#getZombieCheckFlag()
- */
- @Column(name = "zombie_check_flag", nullable = false)
- private boolean zombieCheckFlag = false;
-
- /**
- * @see Client#getMicMuted()
- */
- @Column(name = "mic_muted", nullable = false)
- private boolean micMuted = false;
-
- /**
- * @see Client#isSipTransport()
- */
- @Column(name = "sip_transport", nullable = false)
- private boolean sipTransport = false;
-
- @Column(name = "mobile", nullable = false)
- private boolean mobile = false;
-
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "server_id")
- private Server server;
-
- public Client() {}
-
- public Client(String streamid, String publicSID, Long roomId,
- Long userId, String firstname, String lastname,
- String username, String connectedSince, String scope) {
- super();
- this.streamid = streamid;
- this.publicSID = publicSID;
- this.roomId = roomId;
- this.userId = userId;
- this.firstname = firstname;
- this.lastname = lastname;
- this.username = username;
- this.connectedSince = CalendarPatterns.parseDateWithHour(connectedSince);
- this.scope = scope;
- }
-
- public void setUserObject(Long userId, String username, String firstname, String lastname) {
- this.userId = userId;
- this.username = username;
- this.firstname = firstname;
- this.lastname = lastname;
- }
-
- public void setUserObject(String username, String firstname, String lastname) {
- this.username = username;
- this.firstname = firstname;
- this.lastname = lastname;
- }
-
- @Override
- public Long getId() {
- return id;
- }
-
- @Override
- public void setId(Long id) {
- this.id = id;
- }
-
- public Date getConnectedSince() {
- return connectedSince;
- }
-
- public void setConnectedSince(Date connectedSince) {
- this.connectedSince = connectedSince;
- }
-
- public boolean getIsMod() {
- return isMod;
- }
-
- public void setIsMod(boolean isMod) {
- this.isMod = isMod;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getStreamid() {
- return streamid;
- }
-
- public void setStreamid(String streamid) {
- this.streamid = streamid;
- }
-
- public String getScope() {
- return scope;
- }
-
- public void setScope(String scope) {
- this.scope = scope;
- }
-
- public String getFormatedDate() {
- return formatedDate;
- }
-
- public void setFormatedDate(String formatedDate) {
- this.formatedDate = formatedDate;
- }
-
- public String getUsercolor() {
- return usercolor;
- }
-
- public void setUsercolor(String usercolor) {
- this.usercolor = usercolor;
- }
-
- public Integer getUserpos() {
- return userpos;
- }
-
- public void setUserpos(Integer userpos) {
- this.userpos = userpos;
- }
-
- public String getUserip() {
- return userip;
- }
-
- public void setUserip(String userip) {
- this.userip = userip;
- }
-
- public String getSwfurl() {
- return swfurl;
- }
-
- public void setSwfurl(String swfurl) {
- this.swfurl = swfurl;
- }
-
- public int getUserport() {
- return userport;
- }
-
- public void setUserport(int userport) {
- this.userport = userport;
- }
-
- public String getFirstname() {
- return firstname;
- }
-
- public void setFirstname(String firstname) {
- this.firstname = firstname;
- }
-
- public String getLanguage() {
- return language;
- }
-
- public void setLanguage(String language) {
- this.language = language;
- }
-
- public String getLastLogin() {
- return lastLogin;
- }
-
- public void setLastLogin(String lastLogin) {
- this.lastLogin = lastLogin;
- }
-
- public String getLastname() {
- return lastname;
- }
-
- public void setLastname(String lastname) {
- this.lastname = lastname;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getSecurityCode() {
- return securityCode;
- }
-
- public void setSecurityCode(String securityCode) {
- this.securityCode = securityCode;
- }
-
- public String getPicture_uri() {
- return picture_uri;
- }
-
- public void setPicture_uri(String picture_uri) {
- this.picture_uri = picture_uri;
- }
-
- public Long getUserId() {
- return userId;
- }
-
- public void setUserId(Long userId) {
- this.userId = userId;
- }
-
- public Long getRoomId() {
- return roomId;
- }
-
- public void setRoomId(Long roomId) {
- this.roomId = roomId;
- }
-
- public Date getRoomEnter() {
- return roomEnter;
- }
-
- public void setRoomEnter(Date roomEnter) {
- this.roomEnter = roomEnter;
- }
-
- public boolean getIsRecording() {
- return isRecording;
- }
-
- public void setIsRecording(boolean isRecording) {
- this.isRecording = isRecording;
- }
-
- public String getRoomRecordingName() {
- return roomRecordingName;
- }
-
- public void setRoomRecordingName(String roomRecordingName) {
- this.roomRecordingName = roomRecordingName;
- }
-
- public String getAvsettings() {
- return avsettings;
- }
-
- public void setAvsettings(String avsettings) {
- this.avsettings = avsettings;
- }
-
- public long getBroadCastID() {
- return broadCastID;
- }
-
- public void setBroadCastID(long broadCastID) {
- this.broadCastID = broadCastID;
- }
-
- public String getPublicSID() {
- return publicSID;
- }
-
- public void setPublicSID(String publicSID) {
- this.publicSID = publicSID;
- }
-
- public boolean getZombieCheckFlag() {
- return zombieCheckFlag;
- }
-
- public void setZombieCheckFlag(boolean zombieCheckFlag) {
- this.zombieCheckFlag = zombieCheckFlag;
- }
-
- public boolean getMicMuted() {
- return micMuted;
- }
-
- public void setMicMuted(boolean micMuted) {
- this.micMuted = micMuted;
- }
-
- public boolean getCanDraw() {
- return canDraw;
- }
-
- public void setCanDraw(boolean canDraw) {
- this.canDraw = canDraw;
- }
-
- public boolean getIsBroadcasting() {
- return isBroadcasting;
- }
-
- public void setIsBroadcasting(boolean isBroadcasting) {
- this.isBroadcasting = isBroadcasting;
- }
-
- public boolean getCanShare() {
- return canShare;
- }
-
- public void setCanShare(boolean canShare) {
- this.canShare = canShare;
- }
-
- public String getExternalUserId() {
- return externalUserId;
- }
-
- public void setExternalUserId(String externalUserId) {
- this.externalUserId = externalUserId;
- }
-
- public String getExternalUserType() {
- return externalUserType;
- }
-
- public void setExternalUserType(String externalUserType) {
- this.externalUserType = externalUserType;
- }
-
- public boolean getIsSuperModerator() {
- return isSuperModerator;
- }
-
- public void setIsSuperModerator(boolean isSuperModerator) {
- this.isSuperModerator = isSuperModerator;
- }
-
- public boolean isScreenClient() {
- return screenClient;
- }
-
- public void setScreenClient(boolean screenClient) {
- this.screenClient = screenClient;
- }
-
- public int getVWidth() {
- return vWidth;
- }
-
- public void setVWidth(int width) {
- vWidth = width;
- }
-
- public int getVHeight() {
- return vHeight;
- }
-
- public void setVHeight(int height) {
- vHeight = height;
- }
-
- public int getVX() {
- return vX;
- }
-
- public void setVX(int vx) {
- vX = vx;
- }
-
- public int getVY() {
- return vY;
- }
-
- public void setVY(int vy) {
- vY = vy;
- }
-
- public String getStreamPublishName() {
- return streamPublishName;
- }
-
- public void setStreamPublishName(String streamPublishName) {
- this.streamPublishName = streamPublishName;
- }
-
- public Long getRecordingId() {
- return recordingId;
- }
-
- public void setRecordingId(Long recordingId) {
- this.recordingId = recordingId;
- }
-
- public Long getRecordingMetaDataId() {
- return recordingMetaDataId;
- }
-
- public void setRecordingMetaDataId(Long recordingMetaDataId) {
- this.recordingMetaDataId = recordingMetaDataId;
- }
-
- public boolean isScreenPublishStarted() {
- return screenPublishStarted;
- }
-
- public void setScreenPublishStarted(boolean screenPublishStarted) {
- this.screenPublishStarted = screenPublishStarted;
- }
-
- public boolean isStartRecording() {
- return startRecording;
- }
-
- public void setStartRecording(boolean startRecording) {
- this.startRecording = startRecording;
- }
-
- public boolean isStartStreaming() {
- return startStreaming;
- }
-
- public void setStartStreaming(boolean startStreaming) {
- this.startStreaming = startStreaming;
- }
-
- public Integer getInterviewPodId() {
- return interviewPodId;
- }
-
- public void setInterviewPodId(Integer interviewPodId) {
- this.interviewPodId = interviewPodId;
- }
-
- public boolean getCanRemote() {
- return canRemote;
- }
-
- public void setCanRemote(boolean canRemote) {
- this.canRemote = canRemote;
- }
-
- public boolean getCanGiveAudio() {
- return canGiveAudio;
- }
-
- public void setCanGiveAudio(boolean canGiveAudio) {
- this.canGiveAudio = canGiveAudio;
- }
-
- public boolean getCanVideo() {
- return canVideo;
- }
-
- public void setCanVideo(boolean canVideo) {
- this.canVideo = canVideo;
- }
-
- public boolean isAllowRecording() {
- return allowRecording;
- }
-
- public void setAllowRecording(boolean allowRecording) {
- this.allowRecording = allowRecording;
- }
-
- public boolean isStreamPublishStarted() {
- return streamPublishStarted;
- }
-
- public void setStreamPublishStarted(boolean streamPublishStarted) {
- this.streamPublishStarted = streamPublishStarted;
- }
-
- public boolean isSipTransport() {
- return sipTransport;
- }
-
- public void setSipTransport(boolean sipTransport) {
- this.sipTransport = sipTransport;
- }
-
- public Server getServer() {
- return server;
- }
-
- public void setServer(Server server) {
- this.server = server;
- }
-
- public boolean isMobile() {
- return mobile;
- }
-
- public void setMobile(boolean mobile) {
- this.mobile = mobile;
- }
-
- public String getTcUrl() {
- return tcUrl;
- }
-
- public void setTcUrl(String tcUrl) {
- this.tcUrl = tcUrl;
- }
-
- public boolean isNativeSsl() {
- return nativeSsl;
- }
-
- public void setNativeSsl(boolean nativeSsl) {
- this.nativeSsl = nativeSsl;
- }
-
- @Override
- public String toString() {
- return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + screenClient
- + ", isMobile = " + mobile + ", roomId=" + roomId + ", broadCastID=" + broadCastID + ", userId="
- + userId + ", avsettings=" + avsettings + ", isRecording=" + isRecording + ", recordingId="
- + recordingId + ", recordingMetaDataId=" + recordingMetaDataId + ", screenPublishStarted="
- + screenPublishStarted + ", interviewPodId=" + interviewPodId + ", server=" + server + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
index 36cfd33..3e095cf 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
@@ -303,7 +303,7 @@ public class Room implements IDataProviderEntity {
private List<RoomGroup> roomGroups = new ArrayList<>();
@Transient
- private List<Client> currentusers;
+ private List<StreamClient> currentusers;
public String getComment() {
return comment;
@@ -371,11 +371,11 @@ public class Room implements IDataProviderEntity {
this.ispublic = ispublic;
}
- public List<Client> getCurrentusers() {
+ public List<StreamClient> getCurrentusers() {
return currentusers;
}
- public void setCurrentusers(List<Client> currentusers) {
+ public void setCurrentusers(List<StreamClient> currentusers) {
this.currentusers = currentusers;
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
new file mode 100644
index 0000000..2dc1fae
--- /dev/null
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
@@ -0,0 +1,896 @@
+/*
+ * 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.db.entity.room;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.entity.basic.IClient;
+import org.apache.openmeetings.db.entity.server.Server;
+import org.apache.openmeetings.util.CalendarPatterns;
+
+/**
+ * Can be configured to be stored in memory or in database
+ *
+ * @author sebawagner
+ */
+@Entity
+@NamedQueries({
+ @NamedQuery(name = "deleteAll", query = "DELETE FROM Client"),
+ @NamedQuery(name = "deletedById", query = "DELETE FROM Client c WHERE c.id = :id"),
+ @NamedQuery(name = "deleteClientsByServer", query = "DELETE FROM Client c WHERE c.server = :server"),
+ @NamedQuery(name = "deletedByServerAndStreamId", query = "DELETE FROM Client c WHERE c.server = :server AND c.streamid LIKE :streamid"),
+ @NamedQuery(name = "countClients", query = "SELECT count(c.id) FROM Client c"),
+ @NamedQuery(name = "countClientsByServer", query = "SELECT count(c.id) FROM Client c WHERE c.server = :server"),
+ @NamedQuery(name = "countClientsByServerAndStreamId", query = "SELECT count(c.id) FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
+ @NamedQuery(name = "getClientByServerAndStreamId", query = "SELECT c FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
+ @NamedQuery(name = "getClientsByPublicSIDAndServer", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID AND c.server = :server"),
+ @NamedQuery(name = "getClientsByPublicSID", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID"),
+ @NamedQuery(name = "getClientsByServer", query = "SELECT c FROM Client c WHERE c.server = :server"),
+ @NamedQuery(name = "getClients", query = "SELECT c FROM Client c"),
+ @NamedQuery(name = "getClientsWithServer", query = "SELECT c FROM Client c LEFT JOIN FETCH c.server"),
+ @NamedQuery(name = "getClientsByUserId", query = "SELECT c FROM Client c WHERE c.server = :server AND c.userId = :userId"),
+ @NamedQuery(name = "getClientsByRoomId", query = "SELECT c FROM Client c WHERE c.roomId = :roomId"),
+ @NamedQuery(name = "getRoomsIdsByServer", query = "SELECT c.roomId FROM Client c WHERE c.server = :server GROUP BY c.roomId")
+})
+@Table(name = "client")
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class StreamClient implements IClient {
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Long id;
+
+ /**
+ * @see StreamClient#getUsername()
+ */
+ @Column(name = "username")
+ private String username = "";
+
+ /**
+ * @see StreamClient#getStreamid()
+ */
+ @Column(name = "streamid")
+ private String streamid = "";
+
+ /**
+ * @see StreamClient#getScope()
+ */
+ @Column(name = "scope")
+ private String scope = "";
+
+ /**
+ * @see StreamClient#getVWidth()
+ */
+ @Column(name = "vwidth")
+ private int vWidth = 0;
+
+ /**
+ * @see StreamClient#getVHeight()
+ */
+ @Column(name = "vheight")
+ private int vHeight = 0;
+
+ /**
+ * @see StreamClient#getVX()
+ */
+ @Column(name = "vx")
+ private int vX = 0;
+
+ /**
+ * @see StreamClient#getVY()
+ */
+ @Column(name = "vy")
+ private int vY = 0;
+
+ /**
+ * @see StreamClient#getStreamPublishName()
+ */
+ @Column(name = "stream_publish_name")
+ private String streamPublishName = "";
+
+ /**
+ * @see StreamClient#getPublicSID()
+ */
+ @Column(name = "public_sid")
+ private String publicSID = "";
+
+ /**
+ * @see StreamClient#getIsMod()
+ */
+ @Column(name = "is_mod", nullable = false)
+ private boolean isMod = false;
+
+ /**
+ * @see StreamClient#getIsSuperModerator()
+ */
+ @Column(name = "is_supermoderator", nullable = false)
+ private boolean isSuperModerator = false;
+
+ /**
+ * @see StreamClient#getCanDraw()
+ */
+ @Column(name = "can_draw", nullable = false)
+ private boolean canDraw = false;
+
+ /**
+ * @see StreamClient#getCanShare()
+ */
+ @Column(name = "can_share", nullable = false)
+ private boolean canShare = false;
+
+ /**
+ * @see StreamClient#getCanRemote()
+ */
+ @Column(name = "can_remote", nullable = false)
+ private boolean canRemote = false;
+
+ /**
+ * @see StreamClient#getCanGiveAudio()
+ */
+ @Column(name = "can_giveaudio", nullable = false)
+ private boolean canGiveAudio = false;
+
+ @Column(name = "can_video", nullable = false)
+ private boolean canVideo = false;
+
+ /**
+ * @see StreamClient#getConnectedSince()
+ */
+ @Column(name = "connected_since")
+ private Date connectedSince;
+
+ /**
+ * @see StreamClient#getFormatedDate()
+ */
+ @Column(name = "formated_date")
+ private String formatedDate;
+
+ /**
+ * @see StreamClient#isScreenClient()
+ */
+ @Column(name = "is_screenclient", nullable = false)
+ private boolean screenClient;
+
+ /**
+ * @see StreamClient#getUsercolor()
+ */
+ @Column(name = "usercolor")
+ private String usercolor;
+
+ /**
+ * @see StreamClient#getUserpos()
+ */
+ @Column(name = "userpos")
+ private Integer userpos;
+
+ /**
+ * @see StreamClient#getUserip()
+ */
+ @Column(name = "userip")
+ private String userip;
+
+ /**
+ * @see StreamClient#getUserport()
+ */
+ @Column(name = "userport")
+ private int userport;
+
+ /**
+ * @see StreamClient#getRoomId()
+ */
+ @Column(name = "room_id")
+ private Long roomId;
+
+ /**
+ * @see StreamClient#getRoomEnter()
+ */
+ @Column(name = "room_enter")
+ private Date roomEnter = null;
+
+ /**
+ * @see StreamClient#getBroadCastID()
+ */
+ @Column(name = "broadcast_id")
+ private long broadCastID = -2;
+
+ /**
+ * @see StreamClient#getUserId()
+ */
+ @Column(name = "user_id")
+ private Long userId = null;
+
+ /**
+ * @see StreamClient#getFirstname()
+ */
+ @Column(name = "firstname")
+ private String firstname = "";
+
+ /**
+ * @see StreamClient#getLastname()
+ */
+ @Column(name = "lastname")
+ private String lastname = "";
+
+ /**
+ * @see StreamClient#getMail()
+ */
+ @Column(name = "email")
+ private String email;
+
+ /**
+ * @see StreamClient#getLastLogin()
+ */
+ @Column(name = "last_login")
+ private String lastLogin;
+
+ /**
+ * @see StreamClient#getSecurityCode()
+ */
+ @Column(name = "security_code")
+ private String securityCode;
+
+ /**
+ * @see StreamClient#getPicture_uri()
+ */
+ @Column(name = "picture_uri")
+ private String picture_uri;
+
+ /**
+ * @see StreamClient#getLanguage()
+ */
+ @Column(name = "language")
+ private String language = "";
+
+ /**
+ * @see StreamClient#getAvsettings()
+ */
+ @Column(name = "avsettings")
+ private String avsettings = "";
+
+ /**
+ * @see StreamClient#getSwfurl()
+ */
+ // FIXME: Move to {@link ClientSession}
+ @Column(name = "swfurl", length=2048)
+ private String swfurl;
+
+ @Column(name = "tcurl", length=2048)
+ private String tcUrl;
+
+ @Column(name = "nativeSsl", nullable = false)
+ private boolean nativeSsl = false;
+
+ /**
+ * @see StreamClient#getIsRecording()
+ */
+ @Column(name = "is_recording", nullable = false)
+ private boolean isRecording = false;
+
+ /**
+ * @see StreamClient#getRoomRecordingName()
+ */
+ @Column(name = "room_recording_name")
+ private String roomRecordingName;
+
+ /**
+ * @see StreamClient#getRecordingId()
+ */
+ @Column(name = "recording_id")
+ private Long recordingId;
+
+ /**
+ * @see StreamClient#getRecordingMetaDataId()
+ */
+ @Column(name = "recording_metadata_id")
+ private Long recordingMetaDataId;
+
+ /**
+ * @see StreamClient#isStartRecording()
+ */
+ @Column(name = "start_recording", nullable = false)
+ private boolean startRecording = false;
+
+ /**
+ * @see StreamClient#isStartStreaming()
+ */
+ @Column(name = "start_streaming", nullable = false)
+ private boolean startStreaming = false;
+
+ /**
+ * @see StreamClient#isScreenPublishStarted()
+ */
+ @Column(name = "screen_publish_started", nullable = false)
+ private boolean screenPublishStarted = false;
+
+ /**
+ * @see StreamClient#isStreamPublishStarted()
+ */
+ @Column(name = "stream_publish_started", nullable = false)
+ private boolean streamPublishStarted = false;
+
+ /**
+ * @see StreamClient#getIsBroadcasting()
+ */
+ @Column(name = "is_broadcasting", nullable = false)
+ private boolean isBroadcasting = false;
+
+ /**
+ * @see StreamClient#getExternalUserId()
+ */
+ @Column(name = "external_user_id")
+ private String externalUserId;
+
+ /**
+ * @see StreamClient#getExternalUserType()
+ */
+ @Column(name = "external_user_type")
+ private String externalUserType;
+
+ /**
+ * @see StreamClient#getInterviewPodId()
+ */
+ @Column(name = "interview_pod_id")
+ private Integer interviewPodId = null;
+
+ /**
+ * @see StreamClient#isAllowRecording()
+ */
+ @Column(name = "allow_recording", nullable = false)
+ private boolean allowRecording = true;
+
+ /**
+ * @see StreamClient#getZombieCheckFlag()
+ */
+ @Column(name = "zombie_check_flag", nullable = false)
+ private boolean zombieCheckFlag = false;
+
+ /**
+ * @see StreamClient#getMicMuted()
+ */
+ @Column(name = "mic_muted", nullable = false)
+ private boolean micMuted = false;
+
+ /**
+ * @see StreamClient#isSipTransport()
+ */
+ @Column(name = "sip_transport", nullable = false)
+ private boolean sipTransport = false;
+
+ @Column(name = "mobile", nullable = false)
+ private boolean mobile = false;
+
+ @ManyToOne(fetch = FetchType.LAZY)
+ @JoinColumn(name = "server_id")
+ private Server server;
+
+ public StreamClient() {}
+
+ public StreamClient(String streamid, String publicSID, Long roomId,
+ Long userId, String firstname, String lastname,
+ String username, String connectedSince, String scope) {
+ super();
+ this.streamid = streamid;
+ this.publicSID = publicSID;
+ this.roomId = roomId;
+ this.userId = userId;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ this.username = username;
+ this.connectedSince = CalendarPatterns.parseDateWithHour(connectedSince);
+ this.scope = scope;
+ }
+
+ public void setUserObject(Long userId, String username, String firstname, String lastname) {
+ this.userId = userId;
+ this.username = username;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+
+ public void setUserObject(String username, String firstname, String lastname) {
+ this.username = username;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+
+ @Override
+ public Long getId() {
+ return id;
+ }
+
+ @Override
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Date getConnectedSince() {
+ return connectedSince;
+ }
+
+ public void setConnectedSince(Date connectedSince) {
+ this.connectedSince = connectedSince;
+ }
+
+ public boolean getIsMod() {
+ return isMod;
+ }
+
+ public void setIsMod(boolean isMod) {
+ this.isMod = isMod;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getStreamid() {
+ return streamid;
+ }
+
+ public void setStreamid(String streamid) {
+ this.streamid = streamid;
+ }
+
+ public String getScope() {
+ return scope;
+ }
+
+ public void setScope(String scope) {
+ this.scope = scope;
+ }
+
+ public String getFormatedDate() {
+ return formatedDate;
+ }
+
+ public void setFormatedDate(String formatedDate) {
+ this.formatedDate = formatedDate;
+ }
+
+ public String getUsercolor() {
+ return usercolor;
+ }
+
+ public void setUsercolor(String usercolor) {
+ this.usercolor = usercolor;
+ }
+
+ public Integer getUserpos() {
+ return userpos;
+ }
+
+ public void setUserpos(Integer userpos) {
+ this.userpos = userpos;
+ }
+
+ public String getUserip() {
+ return userip;
+ }
+
+ public void setUserip(String userip) {
+ this.userip = userip;
+ }
+
+ public String getSwfurl() {
+ return swfurl;
+ }
+
+ public void setSwfurl(String swfurl) {
+ this.swfurl = swfurl;
+ }
+
+ public int getUserport() {
+ return userport;
+ }
+
+ public void setUserport(int userport) {
+ this.userport = userport;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ public String getLastLogin() {
+ return lastLogin;
+ }
+
+ public void setLastLogin(String lastLogin) {
+ this.lastLogin = lastLogin;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getSecurityCode() {
+ return securityCode;
+ }
+
+ public void setSecurityCode(String securityCode) {
+ this.securityCode = securityCode;
+ }
+
+ public String getPicture_uri() {
+ return picture_uri;
+ }
+
+ public void setPicture_uri(String picture_uri) {
+ this.picture_uri = picture_uri;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Long getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(Long roomId) {
+ this.roomId = roomId;
+ }
+
+ public Date getRoomEnter() {
+ return roomEnter;
+ }
+
+ public void setRoomEnter(Date roomEnter) {
+ this.roomEnter = roomEnter;
+ }
+
+ public boolean getIsRecording() {
+ return isRecording;
+ }
+
+ public void setIsRecording(boolean isRecording) {
+ this.isRecording = isRecording;
+ }
+
+ public String getRoomRecordingName() {
+ return roomRecordingName;
+ }
+
+ public void setRoomRecordingName(String roomRecordingName) {
+ this.roomRecordingName = roomRecordingName;
+ }
+
+ public String getAvsettings() {
+ return avsettings;
+ }
+
+ public void setAvsettings(String avsettings) {
+ this.avsettings = avsettings;
+ }
+
+ public long getBroadCastID() {
+ return broadCastID;
+ }
+
+ public void setBroadCastID(long broadCastID) {
+ this.broadCastID = broadCastID;
+ }
+
+ public String getPublicSID() {
+ return publicSID;
+ }
+
+ public void setPublicSID(String publicSID) {
+ this.publicSID = publicSID;
+ }
+
+ public boolean getZombieCheckFlag() {
+ return zombieCheckFlag;
+ }
+
+ public void setZombieCheckFlag(boolean zombieCheckFlag) {
+ this.zombieCheckFlag = zombieCheckFlag;
+ }
+
+ public boolean getMicMuted() {
+ return micMuted;
+ }
+
+ public void setMicMuted(boolean micMuted) {
+ this.micMuted = micMuted;
+ }
+
+ public boolean getCanDraw() {
+ return canDraw;
+ }
+
+ public void setCanDraw(boolean canDraw) {
+ this.canDraw = canDraw;
+ }
+
+ public boolean getIsBroadcasting() {
+ return isBroadcasting;
+ }
+
+ public void setIsBroadcasting(boolean isBroadcasting) {
+ this.isBroadcasting = isBroadcasting;
+ }
+
+ public boolean getCanShare() {
+ return canShare;
+ }
+
+ public void setCanShare(boolean canShare) {
+ this.canShare = canShare;
+ }
+
+ public String getExternalUserId() {
+ return externalUserId;
+ }
+
+ public void setExternalUserId(String externalUserId) {
+ this.externalUserId = externalUserId;
+ }
+
+ public String getExternalUserType() {
+ return externalUserType;
+ }
+
+ public void setExternalUserType(String externalUserType) {
+ this.externalUserType = externalUserType;
+ }
+
+ public boolean getIsSuperModerator() {
+ return isSuperModerator;
+ }
+
+ public void setIsSuperModerator(boolean isSuperModerator) {
+ this.isSuperModerator = isSuperModerator;
+ }
+
+ public boolean isScreenClient() {
+ return screenClient;
+ }
+
+ public void setScreenClient(boolean screenClient) {
+ this.screenClient = screenClient;
+ }
+
+ public int getVWidth() {
+ return vWidth;
+ }
+
+ public void setVWidth(int width) {
+ vWidth = width;
+ }
+
+ public int getVHeight() {
+ return vHeight;
+ }
+
+ public void setVHeight(int height) {
+ vHeight = height;
+ }
+
+ public int getVX() {
+ return vX;
+ }
+
+ public void setVX(int vx) {
+ vX = vx;
+ }
+
+ public int getVY() {
+ return vY;
+ }
+
+ public void setVY(int vy) {
+ vY = vy;
+ }
+
+ public String getStreamPublishName() {
+ return streamPublishName;
+ }
+
+ public void setStreamPublishName(String streamPublishName) {
+ this.streamPublishName = streamPublishName;
+ }
+
+ public Long getRecordingId() {
+ return recordingId;
+ }
+
+ public void setRecordingId(Long recordingId) {
+ this.recordingId = recordingId;
+ }
+
+ public Long getRecordingMetaDataId() {
+ return recordingMetaDataId;
+ }
+
+ public void setRecordingMetaDataId(Long recordingMetaDataId) {
+ this.recordingMetaDataId = recordingMetaDataId;
+ }
+
+ public boolean isScreenPublishStarted() {
+ return screenPublishStarted;
+ }
+
+ public void setScreenPublishStarted(boolean screenPublishStarted) {
+ this.screenPublishStarted = screenPublishStarted;
+ }
+
+ public boolean isStartRecording() {
+ return startRecording;
+ }
+
+ public void setStartRecording(boolean startRecording) {
+ this.startRecording = startRecording;
+ }
+
+ public boolean isStartStreaming() {
+ return startStreaming;
+ }
+
+ public void setStartStreaming(boolean startStreaming) {
+ this.startStreaming = startStreaming;
+ }
+
+ public Integer getInterviewPodId() {
+ return interviewPodId;
+ }
+
+ public void setInterviewPodId(Integer interviewPodId) {
+ this.interviewPodId = interviewPodId;
+ }
+
+ public boolean getCanRemote() {
+ return canRemote;
+ }
+
+ public void setCanRemote(boolean canRemote) {
+ this.canRemote = canRemote;
+ }
+
+ public boolean getCanGiveAudio() {
+ return canGiveAudio;
+ }
+
+ public void setCanGiveAudio(boolean canGiveAudio) {
+ this.canGiveAudio = canGiveAudio;
+ }
+
+ public boolean getCanVideo() {
+ return canVideo;
+ }
+
+ public void setCanVideo(boolean canVideo) {
+ this.canVideo = canVideo;
+ }
+
+ public boolean isAllowRecording() {
+ return allowRecording;
+ }
+
+ public void setAllowRecording(boolean allowRecording) {
+ this.allowRecording = allowRecording;
+ }
+
+ public boolean isStreamPublishStarted() {
+ return streamPublishStarted;
+ }
+
+ public void setStreamPublishStarted(boolean streamPublishStarted) {
+ this.streamPublishStarted = streamPublishStarted;
+ }
+
+ public boolean isSipTransport() {
+ return sipTransport;
+ }
+
+ public void setSipTransport(boolean sipTransport) {
+ this.sipTransport = sipTransport;
+ }
+
+ public Server getServer() {
+ return server;
+ }
+
+ public void setServer(Server server) {
+ this.server = server;
+ }
+
+ public boolean isMobile() {
+ return mobile;
+ }
+
+ public void setMobile(boolean mobile) {
+ this.mobile = mobile;
+ }
+
+ public String getTcUrl() {
+ return tcUrl;
+ }
+
+ public void setTcUrl(String tcUrl) {
+ this.tcUrl = tcUrl;
+ }
+
+ public boolean isNativeSsl() {
+ return nativeSsl;
+ }
+
+ public void setNativeSsl(boolean nativeSsl) {
+ this.nativeSsl = nativeSsl;
+ }
+
+ @Override
+ public String toString() {
+ return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + screenClient
+ + ", isMobile = " + mobile + ", roomId=" + roomId + ", broadCastID=" + broadCastID + ", userId="
+ + userId + ", avsettings=" + avsettings + ", isRecording=" + isRecording + ", recordingId="
+ + recordingId + ", recordingMetaDataId=" + recordingMetaDataId + ", screenPublishStarted="
+ + screenPublishStarted + ", interviewPodId=" + interviewPodId + ", server=" + server + "]";
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
index 37f8d92..0eeea98 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
@@ -52,7 +52,7 @@ import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.SearchResult;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -420,7 +420,7 @@ public class UserManager implements IUserManager {
sessionDao.clearSessionByRoomId(room_id);
- for (Client rcl : sessionManager.getClientListByRoom(room_id)) {
+ for (StreamClient rcl : sessionManager.getClientListByRoom(room_id)) {
if (rcl == null) {
return true;
}
@@ -449,7 +449,7 @@ public class UserManager implements IUserManager {
Sessiondata sd = sessionDao.check(sid);
// admins only
if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
- Client rcl = sessionManager.getClientByPublicSID(publicSID, null);
+ StreamClient rcl = sessionManager.getClientByPublicSID(publicSID, null);
if (rcl == null) {
return true;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index b213480..0d8e37d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -30,7 +30,7 @@ import java.util.List;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.user.IUserService;
import org.apache.openmeetings.db.entity.basic.IClient;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.web.admin.AdminPanel;
import org.apache.openmeetings.web.admin.SearchableDataView;
import org.apache.openmeetings.web.app.Application;
@@ -89,8 +89,8 @@ public class ConnectionsPanel extends AdminPanel {
@Override
protected void onSubmit(AjaxRequestTarget target) {
IClient _c = item.getModelObject();
- if (_c instanceof Client) {
- Client c = (Client)_c;
+ if (_c instanceof StreamClient) {
+ StreamClient c = (StreamClient)_c;
getBean(IUserService.class).kickUserByStreamId(getSid(), c.getStreamid()
, c.getServer() == null ? 0 : c.getServer().getId());
} else {
@@ -100,8 +100,8 @@ public class ConnectionsPanel extends AdminPanel {
target.add(container, details.setVisible(false));
}
};
- if (_c instanceof Client) {
- Client c = (Client)_c;
+ if (_c instanceof StreamClient) {
+ StreamClient c = (StreamClient)_c;
item.add(new Label("streamid"));
item.add(new Label("login", c.getUsername()));
item.add(new Label("since", c.getConnectedSince()));
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index aa234b5..1d7d12a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@ -34,7 +34,7 @@ import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.IUserService;
import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
@@ -82,12 +82,12 @@ public class RoomForm extends AdminBaseForm<Room> {
private final TextField<String> pin = new TextField<>("pin");
private final WebMarkupContainer moderatorContainer = new WebMarkupContainer("moderatorContainer");
private final WebMarkupContainer clientsContainer = new WebMarkupContainer("clientsContainer");
- private final ListView<Client> clients = new ListView<Client>("clients", new ArrayList<>()) {
+ private final ListView<StreamClient> clients = new ListView<StreamClient>("clients", new ArrayList<>()) {
private static final long serialVersionUID = 1L;
@Override
- protected void populateItem(final ListItem<Client> item) {
- Client client = item.getModelObject();
+ protected void populateItem(final ListItem<StreamClient> item) {
+ StreamClient client = item.getModelObject();
item.add(new Label("clientId", "" + client.getId()))
.add(new Label("clientLogin", "" + client.getUsername()))
.add(new ConfirmableAjaxBorder("clientDelete", getString("80"), getString("833")) {
@@ -95,7 +95,7 @@ public class RoomForm extends AdminBaseForm<Room> {
@Override
protected void onSubmit(AjaxRequestTarget target) {
- Client c = item.getModelObject();
+ StreamClient c = item.getModelObject();
getBean(IUserService.class).kickUserByStreamId(getSid(), c.getStreamid()
, c.getServer() == null ? 0 : c.getServer().getId());
@@ -329,7 +329,7 @@ public class RoomForm extends AdminBaseForm<Room> {
void updateClients(AjaxRequestTarget target) {
long roomId = (getModelObject().getId() != null ? getModelObject().getId() : 0);
- final List<Client> clientsInRoom = getBean(ISessionManager.class).getClientListByRoom(roomId);
+ final List<StreamClient> clientsInRoom = getBean(ISessionManager.class).getClientListByRoom(roomId);
clients.setDefaultModelObject(clientsInRoom);
target.add(clientsContainer);
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index ac7cfa8..2718c5f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -56,6 +56,7 @@ import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.Right;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Type;
import org.apache.openmeetings.util.InitializationContainer;
@@ -257,7 +258,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
}
}
- private static boolean hasVideo(org.apache.openmeetings.db.entity.room.Client rcl) {
+ private static boolean hasVideo(StreamClient rcl) {
return rcl != null && rcl.getAvsettings().contains("v");
}
@@ -266,7 +267,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
}
@Override
- public org.apache.openmeetings.db.entity.room.Client updateClient(org.apache.openmeetings.db.entity.room.Client rcl, boolean forceSize) {
+ public StreamClient updateClient(StreamClient rcl, boolean forceSize) {
if (rcl == null) {
return null;
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
index 17a0a57..d9e203e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
@@ -24,7 +24,7 @@ import static org.apache.openmeetings.web.app.Application.getBean;
import org.apache.openmeetings.core.remote.ScopeApplicationAdapter;
import org.apache.openmeetings.core.session.SessionManager;
import org.apache.openmeetings.db.dto.server.ClientSessionInfo;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.web.app.Application;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -32,13 +32,13 @@ import org.slf4j.Logger;
public class RoomBroadcaster {
private static final Logger log = Red5LoggerFactory.getLogger(RoomBroadcaster.class, webAppRootKey);
- public static Client getClient(String publicSid) {
+ public static StreamClient getClient(String publicSid) {
ClientSessionInfo csi = getBean(SessionManager.class).getClientByPublicSIDAnyServer(publicSid);
return csi == null ? null : csi.getRcl();
}
public static void broadcast(String publicSid, String method, Object obj) {
- Client rc = getClient(publicSid);
+ StreamClient rc = getClient(publicSid);
if (rc == null) {
return;
}
@@ -51,7 +51,7 @@ public class RoomBroadcaster {
}
public static void sendUpdatedClient(org.apache.openmeetings.db.entity.basic.Client client) {
- org.apache.openmeetings.db.entity.room.Client rcl = Application.get().updateClient(getClient(client.getUid()), true);
+ StreamClient rcl = Application.get().updateClient(getClient(client.getUid()), true);
log.debug("----------- sendUpdatedClient ");
if (rcl == null) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 0cf02f3..6341021 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -34,10 +34,11 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
-import org.apache.directory.api.util.Strings;
+import org.apache.openmeetings.core.util.RoomHelper;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.calendar.Appointment;
@@ -78,6 +79,7 @@ import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
+import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -122,7 +124,7 @@ public class RoomPanel extends BasePanel {
target.appendJavaScript(String.format("VideoManager.init(%s);", options));
WebSocketHelper.sendRoom(new RoomMessage(r.getId(), getUserId(), RoomMessage.Type.roomEnter));
// play video from other participants
- playVideos(target);
+ initVideos(target);
getMainPanel().getChat().roomEnter(r, target);
if (r.isFilesOpened()) {
sidebar.setFilesActive(target);
@@ -157,14 +159,21 @@ public class RoomPanel extends BasePanel {
//private String publishingUser = null;
}
- private void playVideos(AjaxRequestTarget target) {
- for (Client c: getRoomClients(getRoom().getId()) ){
+ private void initVideos(AjaxRequestTarget target) {
+ StringBuilder sb = new StringBuilder();
+ for (Client c: getRoomClients(getRoom().getId()) ) {
boolean self = getClient().getUid().equals(c.getUid());
- if (!self) {
- JSONObject json = c.toJson(self).put("sid", getSid());
- // TODO we should check if client is screenShare, see onEvent newStream case.
- target.appendJavaScript(String.format("VideoManager.play(%s);", json));
+ if (c.hasAnyActivity(Client.Activity.broadcastA, Client.Activity.broadcastV)) {
+ sb.append(String.format("VideoManager.play(%s);"
+ , RoomHelper.videoJson(c, self, getSid(), getBean(ISessionManager.class), false)));
}
+ if (c.hasActivity(Client.Activity.share)) {
+ sb.append(String.format("VideoManager.play(%s);"
+ , RoomHelper.videoJson(c, self, getSid(), getBean(ISessionManager.class), true)));
+ }
+ }
+ if (!Strings.isEmpty(sb)) {
+ target.appendJavaScript(sb);
}
}
@@ -399,15 +408,8 @@ public class RoomPanel extends BasePanel {
Client c = getOnlineClient(obj.getString("uid"));
boolean self = getClient().getUid().equals(c.getUid());
if (!self) {
- JSONObject json = c.toJson(self).put("sid", getSid());
- if (obj.optBoolean("screenShare", false)) {
- json.put("screenShare", true)
- .put("uid", obj.getString("suid")) // unique screen-sharing ID
- .put("broadcastId", obj.getString("broadcastId"))
- .put("width", obj.getInt("width"))
- .put("height", obj.getInt("height"));
- }
- handler.appendJavaScript(String.format("VideoManager.play(%s);", json));
+ handler.appendJavaScript(String.format("VideoManager.play(%s);"
+ , RoomHelper.videoJson(c, self, getSid(), getBean(ISessionManager.class), obj.optBoolean("screenShare", false))));
}
}
break;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index 37d7115..bdb1ea8 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -38,6 +38,7 @@ import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomPoll;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.util.message.RoomMessage.Type;
@@ -300,13 +301,13 @@ public class RoomMenuPanel extends Panel {
StringBuilder roomTitle = new StringBuilder();
if (room.getRecordingUser() != null) {
ISessionManager sessMngr = getBean(ISessionManager.class);
- org.apache.openmeetings.db.entity.room.Client recUser = sessMngr.getClientByPublicSID(room.getRecordingUser(), null); //TODO check server
+ StreamClient recUser = sessMngr.getClientByPublicSID(room.getRecordingUser(), null); //TODO check server
if (recUser != null) {
roomTitle.append(String.format("%s %s %s %s %s", getString("419")
, recUser.getUsername(), recUser.getFirstname(), recUser.getLastname(), df.format(recUser.getConnectedSince())));
roomClass.append(" screen");
}
- org.apache.openmeetings.db.entity.room.Client pubUser = sessMngr.getClientByPublicSID(room.getPublishingUser(), null); //TODO check server
+ StreamClient pubUser = sessMngr.getClientByPublicSID(room.getPublishingUser(), null); //TODO check server
if (pubUser != null) {
if (recUser != null) {
roomTitle.append('\n');
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
index 1b2d687..f9e1087 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
@@ -31,7 +31,7 @@ var Video = (function() {
vc.width(w).height(h);
swf.attr('width', w).attr('height', h);
}
- function _init(_box, _c) {
+ function _init(_box, _uid, _c) {
c = _c;
box = _box;
size = {width: c.width, height: c.height};
@@ -95,12 +95,13 @@ var Video = (function() {
o.cam = c.cam;
o.mic = c.mic;
o.mode = 'broadcast';
+ o.uid = c.uid;
} else {
o.mode = 'play';
+ o.uid = _uid;
}
o.width = c.width;
o.height = c.height;
- o.uid = c.uid;
o.sid = c.sid;
o.broadcastId = c.broadcastId;
swf = initVideo(vc, _id + '-swf', o);
@@ -134,7 +135,7 @@ var VideoManager = (function() {
, av = audio || video
, v = $('#' + _id);
if (av && v.length != 1 && !!c.self) {
- Video().init(box, c);
+ Video().init(box, options.uid, c);
} else if (av && v.length == 1) {
v.data().update(c);
} else if (!av && v.length == 1) {
@@ -142,7 +143,7 @@ var VideoManager = (function() {
}
}
function _play(c) {
- Video().init(box, c);
+ Video().init(box, options.uid, c);
}
function _close(uid) {
var _id = _getVid(uid), v = $('#' + _id);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
index 388277e..6a138b9 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
@@ -46,7 +46,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
index 1d2b86b..4304fe5 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
@@ -46,7 +46,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
index e1124ba..46237d3 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
@@ -45,7 +45,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
index 5263a8e..798ec15 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
@@ -46,7 +46,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
index 21367c0..2a62983 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
@@ -46,7 +46,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
index baa331f..a93c70d 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
@@ -46,7 +46,7 @@
<class>org.apache.openmeetings.db.entity.log.ConferenceLog</class>
<class>org.apache.openmeetings.db.entity.room.RoomPoll</class>
<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
- <class>org.apache.openmeetings.db.entity.room.Client</class>
+ <class>org.apache.openmeetings.db.entity.room.StreamClient</class>
<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
<class>org.apache.openmeetings.db.entity.room.Room</class>
<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
index 720a7fc..6963911 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.openmeetings.db.dao.room.ClientDao;
import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -58,7 +58,7 @@ public class TestDbSession extends AbstractJUnitDefaults {
serverDao.update(server, null);
}
- Client cl1 = new Client();
+ StreamClient cl1 = new StreamClient();
cl1.setStreamid("1");
cl1.setServer(null);
cl1.setUserId(1L);
@@ -66,7 +66,7 @@ public class TestDbSession extends AbstractJUnitDefaults {
cl1.setPublicSID("public1");
clientDao.add(cl1);
- Client cl2 = new Client();
+ StreamClient cl2 = new StreamClient();
cl2.setStreamid("2");
cl2.setServer(null);
cl2.setRoomId(1L);
@@ -74,7 +74,7 @@ public class TestDbSession extends AbstractJUnitDefaults {
cl2.setPublicSID("public2");
clientDao.add(cl2);
- Client cl3 = new Client();
+ StreamClient cl3 = new StreamClient();
cl3.setStreamid("3");
cl3.setServer(server);
cl3.setRoomId(3L);
@@ -82,21 +82,21 @@ public class TestDbSession extends AbstractJUnitDefaults {
cl3.setPublicSID("public3");
clientDao.add(cl3);
- Client clTest = clientDao.getClientByServerAndStreamId(null, "1");
+ StreamClient clTest = clientDao.getClientByServerAndStreamId(null, "1");
log.debug("cl1 " + cl1);
log.debug("clTest " + clTest);
assertEquals(clTest.getId(), cl1.getId());
- Client clTest3 = clientDao.getClientByServerAndStreamId(server, "3");
+ StreamClient clTest3 = clientDao.getClientByServerAndStreamId(server, "3");
log.debug("cl3 " + cl3);
log.debug("clTest3 " + clTest3);
assertEquals(clTest3.getId(), cl3.getId());
- Client clTest_NOT_3 = clientDao.getClientByServerAndStreamId(null, "3");
+ StreamClient clTest_NOT_3 = clientDao.getClientByServerAndStreamId(null, "3");
log.debug("clTest_NOT_3 " + clTest_NOT_3);
assertEquals(null, clTest_NOT_3);
@@ -110,51 +110,51 @@ public class TestDbSession extends AbstractJUnitDefaults {
long numberOfClients4 = clientDao.countClientsByServerAndStreamId(null, "3");
assertEquals(0, numberOfClients4);
- List<Client> clTest_Pub_1_list = clientDao.getClientsByPublicSIDAndServer(null, "public1");
+ List<StreamClient> clTest_Pub_1_list = clientDao.getClientsByPublicSIDAndServer(null, "public1");
assertEquals(cl1.getId(), clTest_Pub_1_list.get(0).getId());
- List<Client> clTest_Pub_3_list = clientDao.getClientsByPublicSIDAndServer(server, "public3");
+ List<StreamClient> clTest_Pub_3_list = clientDao.getClientsByPublicSIDAndServer(server, "public3");
assertEquals(cl3.getId(), clTest_Pub_3_list.get(0).getId());
- List<Client> clTest_Fail_list = clientDao.getClientsByPublicSIDAndServer(null, "public3");
+ List<StreamClient> clTest_Fail_list = clientDao.getClientsByPublicSIDAndServer(null, "public3");
assertEquals(0, clTest_Fail_list.size());
- List<Client> clTest_PubAll_1_list = clientDao.getClientsByPublicSID("public1");
+ List<StreamClient> clTest_PubAll_1_list = clientDao.getClientsByPublicSID("public1");
assertEquals(cl1.getId(), clTest_PubAll_1_list.get(0).getId());
- List<Client> clTest_PubAll_3_list = clientDao.getClientsByPublicSID("public3");
+ List<StreamClient> clTest_PubAll_3_list = clientDao.getClientsByPublicSID("public3");
assertEquals(cl3.getId(), clTest_PubAll_3_list.get(0).getId());
- List<Client> clTest_FailAll_list = clientDao.getClientsByPublicSID("public4");
+ List<StreamClient> clTest_FailAll_list = clientDao.getClientsByPublicSID("public4");
assertEquals(0, clTest_FailAll_list.size());
- List<Client> clientsByServerNull = clientDao.getClientsByServer(null);
+ List<StreamClient> clientsByServerNull = clientDao.getClientsByServer(null);
assertEquals(2, clientsByServerNull.size());
- List<Client> clientsByServer = clientDao.getClientsByServer(server);
+ List<StreamClient> clientsByServer = clientDao.getClientsByServer(server);
assertEquals(1, clientsByServer.size());
- List<Client> clientsAll = clientDao.getClients();
+ List<StreamClient> clientsAll = clientDao.getClients();
assertEquals(3, clientsAll.size());
//by userid
- List<Client> clTest_User_1_list = clientDao.getClientsByUserId(null, 1L);
+ List<StreamClient> clTest_User_1_list = clientDao.getClientsByUserId(null, 1L);
assertEquals(cl1.getId(), clTest_User_1_list.get(0).getId());
- List<Client> clTest_User_3_list = clientDao.getClientsByUserId(server, 3L);
+ List<StreamClient> clTest_User_3_list = clientDao.getClientsByUserId(server, 3L);
assertEquals(cl3.getId(), clTest_User_3_list.get(0).getId());
- List<Client> clTest_UserFail_list = clientDao.getClientsByUserId(null, 3L);
+ List<StreamClient> clTest_UserFail_list = clientDao.getClientsByUserId(null, 3L);
assertEquals(0, clTest_UserFail_list.size());
//by roomid
- List<Client> clTest_Room_1_list = clientDao.getClientsByRoomId(1L);
+ List<StreamClient> clTest_Room_1_list = clientDao.getClientsByRoomId(1L);
assertEquals(2, clTest_Room_1_list.size());
- List<Client> clTest_Room_3_list = clientDao.getClientsByRoomId(3L);
+ List<StreamClient> clTest_Room_3_list = clientDao.getClientsByRoomId(3L);
assertEquals(cl3.getId(), clTest_Room_3_list.get(0).getId());
- List<Client> clTest_RoomFail_list = clientDao.getClientsByRoomId(2L);
+ List<StreamClient> clTest_RoomFail_list = clientDao.getClientsByRoomId(2L);
assertEquals(0, clTest_RoomFail_list.size());
//count all
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
index 30a0ec1..946e15c 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
@@ -24,7 +24,7 @@ import java.util.List;
import org.apache.openmeetings.db.dao.room.ClientDao;
import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -58,7 +58,7 @@ public class TestDbSessionGetRoomIds extends AbstractJUnitDefaults {
serverDao.update(server, null);
}
- Client cl1 = new Client();
+ StreamClient cl1 = new StreamClient();
cl1.setStreamid("1");
cl1.setServer(server);
cl1.setUserId(1L);
@@ -66,7 +66,7 @@ public class TestDbSessionGetRoomIds extends AbstractJUnitDefaults {
cl1.setPublicSID("public1");
clientDao.add(cl1);
- Client cl2 = new Client();
+ StreamClient cl2 = new StreamClient();
cl2.setStreamid("2");
cl2.setServer(server);
cl2.setRoomId(1L);
@@ -74,7 +74,7 @@ public class TestDbSessionGetRoomIds extends AbstractJUnitDefaults {
cl2.setPublicSID("public2");
clientDao.add(cl2);
- Client cl3 = new Client();
+ StreamClient cl3 = new StreamClient();
cl3.setStreamid("3");
cl3.setServer(server);
cl3.setRoomId(3L);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a260f5a8/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
index e3dd291..4a50e47 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
@@ -27,7 +27,7 @@ import java.util.Random;
import org.apache.openmeetings.core.session.store.HashMapStore;
import org.apache.openmeetings.core.session.store.IClientPersistenceStore;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.crypt.CryptProvider;
@@ -54,7 +54,7 @@ public class TestHashMapSession extends AbstractJUnitDefaults {
String streamId = ""+i;
- Client rcm = new Client();
+ StreamClient rcm = new StreamClient();
rcm.setConnectedSince(new Date());
rcm.setStreamid(streamId);
rcm.setScope("scopeName");