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");
