You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2013/01/20 01:56:28 UTC
svn commit: r1435774 [2/2] - in /incubator/openmeetings/trunk/singlewebapp:
WebContent/WEB-INF/ src/META-INF/ src/org/apache/openmeetings/axis/services/
src/org/apache/openmeetings/backup/
src/org/apache/openmeetings/data/calendar/management/ src/org/a...
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/IClientSession.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/IClientSession.java?rev=1435774&r1=1435773&r2=1435774&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/IClientSession.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/IClientSession.java Sun Jan 20 00:56:27 2013
@@ -1,9 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.openmeetings.session;
import java.util.Date;
-import java.util.List;
+import org.red5.server.api.IClient;
+/**
+ * holds information about the current rtmp connection.
+ * Each rtmp connection has its own {@link IClientSession}.
+ * So each conference session might have multiple connections.
+ *
+ * There are different implementations of the storage of this object.
+ *
+ * @author sebawagner
+ *
+ */
public interface IClientSession {
public abstract void setUserObject(Long user_id, String username,
@@ -16,14 +44,26 @@ public interface IClientSession {
public abstract void setConnectedSince(Date connectedSince);
+ /**
+ * true indicates that this user is Moderating
+ * in Events rooms (only 1 Video) this means that this user is currently
+ * sharing its video/audio
+ *
+ */
public abstract Boolean getIsMod();
public abstract void setIsMod(Boolean isMod);
+ /**
+ * login name
+ */
public abstract String getUsername();
public abstract void setUsername(String username);
+ /**
+ * a unique id generated by red5, this is the FK key and link to the {@link IClient}
+ */
public abstract String getStreamid();
public abstract void setStreamid(String streamid);
@@ -40,10 +80,18 @@ public interface IClientSession {
public abstract void setUsercolor(String usercolor);
+ /**
+ * no longer needed since broadCastId is now the new unique id
+ * @deprecated
+ */
public abstract Integer getUserpos();
public abstract void setUserpos(Integer userpos);
+ /**
+ * client IP
+ */
+ // FIXME: Move to {@link ClientSession}
public abstract String getUserip();
public abstract void setUserip(String userip);
@@ -52,6 +100,9 @@ public interface IClientSession {
public abstract void setSwfurl(String swfurl);
+ /**
+ * client Port
+ */
public abstract int getUserport();
public abstract void setUserport(int userport);
@@ -84,10 +135,19 @@ public interface IClientSession {
public abstract void setPicture_uri(String picture_uri);
+ /**
+ * some vars _not_ directly connected to the user-record from the database
+ * cause a user is not _forced_ to login he can also be an invited user, so user_id
+ * might be null or 0 even if somebody is already in a conference room
+ *
+ */
public abstract Long getUser_id();
public abstract void setUser_id(Long user_id);
+ /**
+ * current room id while conferencing
+ */
public abstract Long getRoom_id();
public abstract void setRoom_id(Long room_id);
@@ -104,18 +164,46 @@ public interface IClientSession {
public abstract void setRoomRecordingName(String roomRecordingName);
+ /**
+ * avsettings can be:
+ * av - video and audio
+ * a - audio only
+ * v - video only
+ * n - no av only static Image
+ */
public abstract String getAvsettings();
public abstract void setAvsettings(String avsettings);
+ /**
+ * this is the id this user is currently using to broadcast a stream
+ * default value is -2 cause otherwise this can due to disconnect
+ */
public abstract long getBroadCastID();
public abstract void setBroadCastID(long broadCastID);
+ /**
+ * an unique PUBLIC id,
+ * this ID is needed as people can reconnect and will get a new
+ * streamid, but we need to know if this is still the same user
+ * this Public ID can be changing also if the user does change the
+ * security token (private SID)
+ * the private Session ID is not written to the RoomClient-Class
+ * as every instance of the RoomClient is send to all connected users
+ *
+ * publicSID can be empty if a audio/video user is connected but
+ * didn't choose any device settings or the connection really just
+ * has been initialized
+ */
public abstract String getPublicSID();
public abstract void setPublicSID(String publicSID);
+ /**
+ * Zombie Flag
+ * @return
+ */
public abstract Boolean getZombieCheckFlag();
public abstract void setZombieCheckFlag(Boolean zombieCheckFlag);
@@ -128,6 +216,10 @@ public interface IClientSession {
public abstract void setCanDraw(Boolean canDraw);
+ /**
+ * Indicates if this User is broadcasting his stream at all
+ * Only interesting in the Event Modus
+ */
public abstract Boolean getIsBroadcasting();
public abstract void setIsBroadcasting(Boolean isBroadcasting);
@@ -136,18 +228,22 @@ public interface IClientSession {
public abstract void setCanShare(Boolean canShare);
+ /**
+ * Vars to simulate external Users
+ * @return
+ */
public abstract String getExternalUserId();
public abstract void setExternalUserId(String externalUserId);
+ /**
+ * Vars to simulate external Users
+ * @return
+ */
public abstract String getExternalUserType();
public abstract void setExternalUserType(String externalUserType);
- public abstract List<String> getSharerSIDs();
-
- public abstract void setSharerSIDs(List<String> sharerSIDs);
-
public abstract Boolean getIsSuperModerator();
public abstract void setIsSuperModerator(Boolean isSuperModerator);
@@ -172,6 +268,9 @@ public interface IClientSession {
public abstract void setVY(int vy);
+ /**
+ * StreamPublishName is used in the screen sharing client to publish the stream
+ */
public abstract String getStreamPublishName();
public abstract void setStreamPublishName(String streamPublishName);
@@ -200,6 +299,10 @@ public interface IClientSession {
public abstract void setStartStreaming(boolean startStreaming);
+ /**
+ * Session values for handling the Interviwe Room Type
+ * @return
+ */
public abstract Integer getInterviewPodId();
public abstract void setInterviewPodId(Integer interviewPodId);
@@ -217,8 +320,12 @@ public interface IClientSession {
public abstract void setAllowRecording(Boolean allowRecording);
/**
- * @see Client#isAVClient
- * @return
+ * If true this client is only used to stream audio/video events,
+ * he should not receive any sync events / push messages <br/>
+ * <br/>
+ * true the user is an audio/video connection<br/>
+ * false the user is a regular user with full session object<br/>
+ *
*/
public abstract boolean getIsAVClient();
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.java?rev=1435774&r1=1435773&r2=1435774&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.java Sun Jan 20 00:56:27 2013
@@ -18,7 +18,7 @@
*/
package org.apache.openmeetings.web.components.admin.rooms;
-import org.apache.openmeetings.data.conference.RoomDAO;
+import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.persistence.beans.rooms.Rooms;
import org.apache.openmeetings.web.components.admin.AdminPanel;
import org.apache.openmeetings.web.components.admin.SearchableDataView;
@@ -46,7 +46,7 @@ public class RoomsPanel extends AdminPan
@SuppressWarnings("unchecked")
public RoomsPanel(String id) {
super(id);
- SearchableDataView<Rooms> dataView = new SearchableDataView<Rooms>("roomList", new SearchableDataProvider<Rooms>(RoomDAO.class)) {
+ SearchableDataView<Rooms> dataView = new SearchableDataView<Rooms>("roomList", new SearchableDataProvider<Rooms>(RoomDao.class)) {
private static final long serialVersionUID = 8715559628755439596L;
@Override
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarForm.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarForm.java?rev=1435774&r1=1435773&r2=1435774&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarForm.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarForm.java Sun Jan 20 00:56:27 2013
@@ -22,8 +22,8 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDao;
-import org.apache.openmeetings.data.conference.RoomDAO;
import org.apache.openmeetings.data.conference.Roommanagement;
+import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.data.user.dao.UsersDao;
import org.apache.openmeetings.persistence.beans.calendar.Appointment;
import org.apache.openmeetings.persistence.beans.calendar.AppointmentReminderTyps;
@@ -112,7 +112,7 @@ public class CalendarForm extends Form<A
private List<Rooms> getRoomList() {
//FIXME need to be reviewed
List<Rooms> result = new ArrayList<Rooms>();
- RoomDAO dao = Application.getBean(RoomDAO.class);
+ RoomDao dao = Application.getBean(RoomDao.class);
result.addAll(dao.getPublicRooms());
for (Organisation_Users ou : Application.getBean(UsersDao.class).get(WebSession.getUserId()).getOrganisation_users()) {
result.addAll(dao.getOrganisationRooms(ou.getOrganisation().getOrganisation_id()));