Author: solomax
Date: Thu Jan 21 06:34:47 2016
New Revision: 1725877

URL: http://svn.apache.org/viewvc?rev=1725877&view=rev
Log:
[OPENMEETINGS-794] invitations seems to work as expected

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
    
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 Thu Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
 
        public List<Room> getRoomsPublicWithoutType(String SID) {
                try {
-
                        Long userId = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
        
@@ -255,8 +254,7 @@ public class ConferenceService {
         * @param asc
         * @return - list of rooms being searched
         */
-       public SearchResult<Room> getRooms(String SID, int start, int max,
-                       String orderby, boolean asc, String search) {
+       public SearchResult<Room> getRooms(String SID, int start, int max, 
String orderby, boolean asc, String search) {
                log.debug("getRooms");
 
                Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
                return null;
        }
 
-       public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int 
start,
-                       int max, String orderby, boolean asc) {
+       public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int 
start, int max, String orderby, boolean asc) {
                log.debug("getRooms");
 
                Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
                return null;
        }
 
-       public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
-                       Long roomId) {
+       public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long 
roomId) {
                try {
-
                        Long userId = sessiondataDao.checkSession(SID);
-
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
                                return roomModeratorDao.getByRoomId(roomId);
-
                        }
-
                } catch (Exception err) {
                        log.error("[getRoomModeratorsByRoomId]", err);
                }
-
                return null;
        }
 
@@ -306,12 +296,7 @@ public class ConferenceService {
                try {
                        Room room = roomDao.get(roomId);
                        
-                       if (room.getNumberOfPartizipants() <= 
this.sessionManager
-                                       .getClientListByRoom(roomId).size()) {
-                               return true;
-                       }
-                       
-                       return false;
+                       return room.getNumberOfPartizipants() <= 
sessionManager.getClientListByRoom(roomId).size();
                } catch (Exception err) {
                        log.error("[isRoomFull]", err);
                }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
 
 import org.apache.openmeetings.db.dao.room.IInvitationManager;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.CalendarHelper;
 import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
 import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
 public class InvitationService implements IPendingServiceCallback {
        private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
        @Autowired
+       private ISessionManager sessionManager;
+       @Autowired
        private SessiondataDao sessiondataDao;
        @Autowired
        private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
                return null;
        }
 
-       public String sendInvitationByHash(String SID, String invitationHash, 
String message, String subject
-                       , Long languageId) throws Exception {
+       public String sendInvitationByHash(String SID, String invitationHash, 
String message, String subject, Long languageId) throws Exception {
                Long userId = sessiondataDao.checkSession(SID);
 
                if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
                return "Success";
        }
        
-       public Object getInvitationByHash(String hashCode) {
-               return invitationManager.getInvitationByHashCode(hashCode, 
true);
+       public Object getInvitationByHash(String SID, String hashCode) {
+               Object o = invitationManager.getInvitationByHashCode(hashCode, 
true);
+               if (o instanceof Invitation) {
+                       Invitation i = (Invitation)o;
+                       if (i.isAllowEntry()) {
+                               User u = i.getInvitee();
+                               Long userId = -u.getId(); //TODO check this, 
extremely weird
+                               sessiondataDao.updateUser(SID, userId);
+                               IConnection current = Red5.getConnectionLocal();
+                               String streamId = current.getClient().getId();
+                               Client client = 
sessionManager.getClientByStreamId(streamId, null);
+
+                               client.setFirstname(u.getFirstname());
+                               client.setLastname(u.getLastname());
+                               client.setUserId(userId);
+                               client.setUsername(u.getLogin());
+                               client.setEmail(u.getAddress() == null ? null : 
u.getAddress().getEmail());
+                               client.setPicture_uri(u.getPictureuri());
+                               client.setLanguage("" + u.getLanguageId());
+                               client.setExternalUserId(u.getExternalId());
+                               client.setExternalUserType(u.getExternalType());
+
+                               sessionManager.updateClientByStreamId(streamId, 
client, false, null);
+                       }
+               }
+               return o;
        }
 
        public Object checkInvitationPass(String hashCode, String pass) {

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 Thu Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
 import java.util.Date;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -70,7 +69,6 @@ import org.springframework.beans.factory
  * 
  */
 public class MainService implements IPendingServiceCallback {
-
        private static final Logger log = 
Red5LoggerFactory.getLogger(MainService.class, 
OpenmeetingsVariables.webAppRootKey);
 
        @Autowired
@@ -220,6 +218,7 @@ public class MainService implements IPen
                                        
currentClient.setFirstname(u.getFirstname());
                                        
currentClient.setLastname(u.getLastname());
                                        
currentClient.setPicture_uri(u.getPictureuri());
+                                       currentClient.setEmail(u.getAddress() 
== null ? null : u.getAddress().getEmail());
                                        
sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
                                        
                                        
scopeApplicationAdapter.sendMessageToCurrentScope("roomConnect", currentClient, 
false);
@@ -233,7 +232,6 @@ public class MainService implements IPen
        
        public Object secureLoginByRemote(String SID, String secureHash) {
                try {
-
                        log.debug("############### secureLoginByRemote " + 
secureHash);
 
                        String clientURL = 
Red5.getConnectionLocal().getRemoteAddress();
@@ -243,14 +241,11 @@ public class MainService implements IPen
                        SOAPLogin soapLogin = soapLoginDao.get(secureHash);
 
                        if (soapLogin.isUsed()) {
-
                                if (soapLogin.getAllowSameURLMultipleTimes()) {
-
                                        if 
(!soapLogin.getClientURL().equals(clientURL)) {
                                                log.debug("does not equal " + 
clientURL);
                                                return -42L;
                                        }
-
                                } else {
                                        log.debug("Already used " + secureHash);
                                        return -42L;
@@ -427,33 +422,6 @@ public class MainService implements IPen
        }
 
        /**
-        * this function returns a user object with group objects set only
-        * the group is not available for users that are using a HASH mechanism
-        * cause the SOAP/REST API does not guarantee that the user connected 
to the HASH
-        * has a valid user object set
-        * 
-        * @param SID
-        */
-       public User markSessionAsLogedIn(String SID) {
-               try {
-                       sessiondataDao.updateUserWithoutSession(SID, -1L);
-                       
-                       Long defaultRpcUserid = configurationDao.getConfValue(
-                                       "default.rpc.userid", Long.class, "-1");
-                       User defaultRpcUser = userDao.get(defaultRpcUserid);
-                       
-                       User user = new User();
-                       user.setGroupUsers(defaultRpcUser.getGroupUsers());
-                       
-                       return user;
-                       
-               } catch (Exception err) {
-                       log.error("[markSessionAsLogedIn]", err);
-               }
-               return null;
-       }
-
-       /**
         * clear this session id
         * 
         * @param SID
@@ -463,8 +431,7 @@ public class MainService implements IPen
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        IConnection current = Red5.getConnectionLocal();
-                       Client currentClient = this.sessionManager
-                                       
.getClientByStreamId(current.getClient().getId(), null);
+                       Client currentClient = 
sessionManager.getClientByStreamId(current.getClient().getId(), null);
                        
                        
scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), 
false);
                        
@@ -494,35 +461,6 @@ public class MainService implements IPen
                return null;
        }
 
-       /**
-        * TODO: Is this function in usage?
-        * 
-        * @deprecated
-        * @param SID
-        * @param domain
-        * @return - empty map
-        */
-       @Deprecated
-       public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
-                       String domain) {
-               Long users_id = sessiondataDao.checkSession(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                       LinkedHashMap<Integer, Client> lMap = new 
LinkedHashMap<Integer, Client>();
-                       // Integer counter = 0;
-                       // for (Iterator<String> it =
-                       // 
Application.getClientList().keySet().iterator();it.hasNext();) {
-                       // RoomClient rc = 
Application.getClientList().get(it.next());
-                       // //if (rc.getDomain().equals(domain)) {
-                       // lMap.put(counter, rc);
-                       // counter++;
-                       // //}
-                       // }
-                       return lMap;
-               } else {
-                       return null;
-               }
-       }
-
        public void resultReceived(IPendingServiceCall arg0) {
                log.debug("[resultReceived]" + arg0);
        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 Thu Jan 21 06:34:47 2016
@@ -360,6 +360,7 @@
        </netRemoteCallHib>       
        
        <netRemoteCallHib name="getInvitationByHash" activeErrorHandler="true" 
funcname="invitationservice.getInvitationByHash">
+               <netparam><method name="getValue">return 
canvas.sessionId;</method></netparam>
                <netparam name="invitationHash"><method name="getValue">return 
canvas.invitationHash;</method></netparam>
                <handler name="ondata" args="value">
                <![CDATA[
@@ -400,7 +401,7 @@
                                }
                                
                                canvas.showNickNameDialog = 
value.showNickNameDialog;
-                               if ($debug) Debug.write("markSessionAsLogedIn9 
",canvas.showNickNameDialog);
+                               if ($debug) Debug.write("secureLoginByRemote1: 
",canvas.showNickNameDialog);
                                
                                canvas.initroomid = value.roomId;
                                canvas.becomemoderator = value.becomemoderator;
@@ -465,6 +466,7 @@
                                        if ($debug) Debug.write("!!!!!!!!!!! 
Nickname HIB ", value.address.email);
                                        new lz.chooseNickName(canvas);
                                }
+                               hib.userobject.id = value.userId;
                                hib.userobject.firstname = fName;
                                hib.userobject.lastname = lName;
                                
@@ -547,55 +549,13 @@
                </handler>  
        </netRemoteCallHib>
                
-       <!--
-               There must be a temporary SIP-Account created at this moment
-        -->  
-       <netRemoteCallHib name="markSessionAsLogedIn" 
funcname="xmlcrm.markSessionAsLogedIn" >
-               <netparam><method name="getValue">return 
canvas.sessionId;</method></netparam>
-               <handler name="ondata" args="value">
-               <![CDATA[
-                       //The onResult-Handler will be called be the 
rtmpconnection
-                                               
-                       if (value == null) {
-                               new lz.errorPopup(canvas,{error:"Missing User 
Object, set the Configuration value of the key 'default.rpc.userid' to a valid 
user Id that has at least one Organization assigned in the OpenMeetings 
Administrion Configuration Panel "});
-                       }
-                       
-                       if ($debug) Debug.write("markSessionAsLogedIn1 ",value);
-                        
-                       hib.userobject = value;
-                        
-                       canvas.userId = hib.userobject.id;
-                       
-                       if (value.groupUsers.length == 0 && 
!canvas.isRemoteUser()) {
-                               new lz.errorPopup(canvas,{error:"Missing Group 
in User Object, set the Configuration value of the key 'default.rpc.userid' to 
a valid user Id that has at least one Organization assigned in the OpenMeetings 
Administrion Configuration Panel "});
-                       }
-                       
-                       if ($debug) Debug.write("markSessionAsLogedIn2 
",canvas.sessionId);
-                       if ($debug) Debug.write("markSessionAsLogedIn3 
",canvas.initroomid);
-                       if ($debug) Debug.write("markSessionAsLogedIn4 
",canvas.isinitRoomDirect);
-                       if ($debug) Debug.write("markSessionAsLogedIn5 
",canvas.remoteUserLogin);
-                       if ($debug) Debug.write("markSessionAsLogedIn6 
",canvas.directUserLogin);
-                       if ($debug) Debug.write("markSessionAsLogedIn7 
",canvas.directRoomId);
-                       if ($debug) Debug.write("markSessionAsLogedIn8 
",canvas.secureRemoteUserLogin);
-                       
-                       if (canvas.secureRemoteUserLogin) {
-                               
-                               if ($debug) Debug.write("markSessionAsLogedIn 
== CALL ",canvas.secureHash);
-                        
-                               parent.secureLoginByRemote.doCall();
-                               
-                       } else if (canvas.isinitRoomDirect){
-                               parent.getInvitationByHash.doCall();   
-                       } else if (canvas.remoteUserLogin) {
-                               parent.loginUserByRemote.doCall();   
-                       } else if (canvas.directUserLogin) {
-                               //show Nick Name or Password Protection Dialog
-                               canvas.initroomid = Number(canvas.directRoomId);
-                               parent.getRoomById.doCall();
-                       }
-               ]]>
-               </handler>  
-       </netRemoteCallHib> 
+       <method name="setUser" args="user">
+               if (!user) {
+                       new lz.errorPopup(canvas,{error:"Missing User Object"});
+               }
+               hib.userobject = user;
+               canvas.userId = hib.userobject.id;
+       </method>
        
        <netRemoteCallHib name="getGeneralOptions" 
funcname="xmlcrm.getGeneralOptions">
                <handler name="ondata" args="value">
@@ -632,19 +592,17 @@
                                parent.loginWicket.doCall();
                        } else { 
                                if (canvas.thishib.loaderVar != null) {
-                                  canvas.thishib.loaderVar.close();
+                                       canvas.thishib.loaderVar.close();
                                }
                                //do not show loggin-PopUp for the 
test-Application
                                if (parent.testAppLoading){ 
                                        canvas.loadNextStepTestApp();
-                               } else {
-                                       if (canvas.isRemoteUser()){
-                                               if (canvas.thishib.loaderVar != 
null) {
-                                                 
canvas.thishib.loaderVar.setProgress();
-                                               }
-                                               if($debug) 
Debug.write("isinitRoomDirect or remoteUserLogin is true");
-                                               
parent.markSessionAsLogedIn.doCall();
-                                       }
+                               } else if (!!canvas.invitationHash) {
+                                       parent.getInvitationByHash.doCall();   
+                               } else if (canvas.secureRemoteUserLogin) {
+                                       if ($debug) 
Debug.write("secureLoginByRemote:: ",canvas.secureHash);
+                                       hib.userobject = {};
+                                       parent.secureLoginByRemote.doCall();
                                }
                        }
                ]]>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
 Thu Jan 21 06:34:47 2016
@@ -35,7 +35,7 @@
        
        <method name="initialAddItem" args="object">
        <![CDATA[
-               if ($debug) 
Debug.write("restrictedUserListInner::initialAddItem : ",object.publicSID);
+               if ($debug) 
Debug.write("restrictedUserListInner::initialAddItem : ", object);
                
                object.firstname = object.firstname == null ? "" : 
object.firstname;
                object.lastname = object.lastname == null ? "" : 
object.lastname;
@@ -276,7 +276,7 @@
                                if (records.length > i) {
                                        
                                        
list.subviews[i].setAttribute("clickable",true);
-                                       list.subviews[i].setAttribute("refObj", 
records[i]);
+                                       list.subviews[i].update(records[i]);
                                        
                                        if (records[i]["isselected"] && 
records[i].isselected) {
                                                list.subviews[i].isselected = 
true;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
 Thu Jan 21 06:34:47 2016
@@ -42,7 +42,7 @@
        
        <method name="update" args="obj, full=true">
        <![CDATA[
-               if ($debug) Debug.write("!!!! update ", this.userId);
+               if ($debug) Debug.write("!!!! update ", obj, this.userId);
                setAttribute('firstname', obj.firstname);
                setAttribute('lastname', obj.lastname);
                if (full) {
@@ -66,6 +66,7 @@
                this.isMod = refObj.isMod;
                updateUserStatus();
                this._content._iconsModerator.oninit.sendEvent();
+               this._content._userName.setAttribute('text', getUName());
        ]]>
        </method>
        
@@ -133,10 +134,30 @@
        <method name="userTyping" args="v">
                this._content._user_typing.setAttribute("visible", v);
        </method>
+       
+       <method name="getUName">
+       <![CDATA[
+               var n = "", delim = "";
+               if (!!firstname) {
+                       n = firstname;
+                       delim = " ";
+               }
+               if (!!lastname) {
+                       n += delim + lastname;
+               }
+               if ($debug) Debug.write(" :: getUName :: ", !n, !!refObj, 
refObj);
+               if (!n && !!refObj && !!refObj.email) {
+                       n = refObj.email;
+               }
+               if ($debug) Debug.write(" :: getUName :: ", n);
+               return n;
+       ]]>
+       </method>
+       
        <view name="_content" width="254">
                <view name="_contentIsCurrent" visible="${ parent.parent.refObj 
!= null &amp;&amp; canvas.publicSID == parent.parent.refObj.publicSID }" 
width="254" height="40" bgcolor="0x7CFC00"/>
                  
-               <labelText name="_userName" x="2" y="2" text="${ 
(parent.parent.firstname == null ? '' : parent.parent.firstname) + ' ' + 
(parent.parent.lastname == null ? '' : parent.parent.lastname) }" />
+               <labelText name="_userName" x="2" y="2" text="$once{ 
parent.parent.getUName() }" />
                           
                <typingIcon name="_user_typing" x="132" y="2" width="30" 
height="16" visible="false"/>
                <miniIcons name="_restartDevice" x="220" y="0" width="16" 
height="16" resource="resyncuser_rsc" showhandcursor="true"

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
 Thu Jan 21 06:34:47 2016
@@ -59,9 +59,8 @@
                        this.checkInvitationPass.doCall();
                </method>
                
-               <netRemoteCallHib name="isRoomFull" 
funcname="conferenceservice.isRoomFull" 
-                                                       remotecontext="$once{ 
canvas.thishib }" activeErrorHandler="true" >     
-               <netparam name="pass"><method name="getValue">return 
canvas.thishib.currentInvitation.room.id;</method></netparam>
+               <netRemoteCallHib name="isRoomFull" 
funcname="conferenceservice.isRoomFull" remotecontext="$once{ canvas.thishib }" 
activeErrorHandler="true" >         
+               <netparam name="roomId"><method name="getValue">return 
canvas.thishib.currentInvitation.room.id;</method></netparam>
                <handler name="ondata" args="value">
                        <![CDATA[
                        //The onResult-Handler will be called be the 
rtmpconnection
@@ -78,8 +77,7 @@
                </handler>   
        </netRemoteCallHib> 
                
-               <netRemoteCallHib name="checkInvitationPass" 
funcname="invitationservice.checkInvitationPass" 
-                                                       remotecontext="$once{ 
canvas.thishib }" activeErrorHandler="true" >     
+               <netRemoteCallHib name="checkInvitationPass" 
funcname="invitationservice.checkInvitationPass" remotecontext="$once{ 
canvas.thishib }" activeErrorHandler="true" >       
                <netparam name="invitationHash"><method name="getValue">return 
canvas.invitationHash;</method></netparam>
                <netparam name="pass"><method name="getValue">return 
parent.parent._password.getText();</method></netparam>
                        
@@ -96,6 +94,7 @@
        </netRemoteCallHib>     
            
                <method name="setRoomValues">
+                       
canvas.thishib.setUser(canvas.thishib.currentInvitation.invitee);
                        
canvas.setRoomValues(canvas.thishib.currentInvitation.room);
                </method>
                

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
                                "The Name of the Font used for exporting/render 
Images from Whiteboard"
                                        + "The Font has to exist on the Server 
which runs Red5");
 
-               cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of 
the Control User in OpenMeetings");
-
                cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, 
"Base URL your OPenmeetings installation will be accessible at.");
                
                // ***************************************

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Thu Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
                return userId > -1;
        }
 
-       public boolean signIn(String secureHash) {
+       public boolean signIn(String secureHash, boolean markUsed) {
                //FIXME code is duplicated from MainService, need to be unified
                SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
                SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
                                                
user.setPictureuri(remoteUser.getPictureUrl());
                                        }
                                        user = userDao.update(user, null);
-
-                                       soapLogin.setUsed(true);
-                                       soapLogin.setUseDate(new Date());
-                                       //soapLogin.setClientURL(clientURL); 
//FIXME
-                                       soapDao.update(soapLogin);
-
+                                       if (markUsed) {
+                                               soapLogin.setUsed(true);
+                                               soapLogin.setUseDate(new 
Date());
+                                               
//soapLogin.setClientURL(clientURL); //FIXME
+                                               soapDao.update(soapLogin);
+                                       }
                                        sessionDao.updateUser(SID, 
user.getId());
                                        setUser(user);
                                        recordingId = 
soapLogin.getRecordingId();

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
        public RecordingPage(PageParameters p) {
                String hash = p.get("hash").toString();
                Recording r = null;
-               if (WebSession.get().signIn(hash)) {
+               if (WebSession.get().signIn(hash, true)) {
                        Long recId = getRecordingId();
                        if (recId != null) {
                                r = getBean(RecordingDao.class).get(recId);

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
 Thu Jan 21 06:34:47 2016
@@ -19,14 +19,10 @@
 package org.apache.openmeetings.web.pages;
 
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.SECURE_HASH;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
-import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.StringValue;
 
 public class SwfPage extends BaseNotInitedPage {
        private static final long serialVersionUID = 1L;
@@ -36,14 +32,6 @@ public class SwfPage extends BaseNotInit
        }
 
        public SwfPage(PageParameters pp) {
-               StringValue shash = pp.get(SECURE_HASH);
-               if (!shash.isEmpty()) {
-                       SOAPLogin soapLogin = 
getBean(SOAPLoginDao.class).get(shash.toString());
-                       Long roomId = soapLogin.getRoomId();
-                       if (roomId != null) {
-                               pp = pp.mergeWith(RoomPanel.addServer(roomId, 
false));
-                       }
-               }
                add(new RoomPanel("room", pp));
        }
 

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Thu Jan 21 06:34:47 2016
@@ -40,6 +40,7 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.server.ServerDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.db.entity.server.Server;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
@@ -138,7 +139,12 @@ public class RoomPanel extends BasePanel
                        if (!room.isEmpty()) {
                                roomId = room.toLong();
                        } else if (!secureHash.isEmpty()) {
-                               roomId = 
getBean(SOAPLoginDao.class).get(secureHash.toString()).getRoomId();
+                               SOAPLogin soapLogin = 
getBean(SOAPLoginDao.class).get(secureHash.toString());
+                               if 
(WebSession.get().signIn(secureHash.toString(), false)) {
+                                       roomId = soapLogin.getRoomId();
+                                       pp = 
pp.mergeWith(RoomPanel.addServer(roomId, false));
+                               }
+                               //TODO access denied
                        } else if (!invitationHash.isEmpty()) {
                                roomId = 
getBean(InvitationDao.class).getInvitationByHashCode(invitationHash.toString(), 
true).getRoom().getId();
                        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
                        return getRecording(id);
                } else {
                        ws.invalidate();
-                       if (ws.signIn(_id.toString())) {
+                       if (ws.signIn(_id.toString(), true)) {
                                return getRecording(getRecordingId());
                        }
                }

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 Thu Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
 
        public List<Room> getRoomsPublicWithoutType(String SID) {
                try {
-
                        Long userId = sessiondataDao.checkSession(SID);
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
        
@@ -255,8 +254,7 @@ public class ConferenceService {
         * @param asc
         * @return - list of rooms being searched
         */
-       public SearchResult<Room> getRooms(String SID, int start, int max,
-                       String orderby, boolean asc, String search) {
+       public SearchResult<Room> getRooms(String SID, int start, int max, 
String orderby, boolean asc, String search) {
                log.debug("getRooms");
 
                Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
                return null;
        }
 
-       public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int 
start,
-                       int max, String orderby, boolean asc) {
+       public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int 
start, int max, String orderby, boolean asc) {
                log.debug("getRooms");
 
                Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
                return null;
        }
 
-       public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
-                       Long roomId) {
+       public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long 
roomId) {
                try {
-
                        Long userId = sessiondataDao.checkSession(SID);
-
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
                                return roomModeratorDao.getByRoomId(roomId);
-
                        }
-
                } catch (Exception err) {
                        log.error("[getRoomModeratorsByRoomId]", err);
                }
-
                return null;
        }
 
@@ -306,12 +296,7 @@ public class ConferenceService {
                try {
                        Room room = roomDao.get(roomId);
                        
-                       if (room.getNumberOfPartizipants() <= 
this.sessionManager
-                                       .getClientListByRoom(roomId).size()) {
-                               return true;
-                       }
-                       
-                       return false;
+                       return room.getNumberOfPartizipants() <= 
sessionManager.getClientListByRoom(roomId).size();
                } catch (Exception err) {
                        log.error("[isRoomFull]", err);
                }

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
 
 import org.apache.openmeetings.db.dao.room.IInvitationManager;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.CalendarHelper;
 import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
 import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
 public class InvitationService implements IPendingServiceCallback {
        private static final Logger log = 
Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
        @Autowired
+       private ISessionManager sessionManager;
+       @Autowired
        private SessiondataDao sessiondataDao;
        @Autowired
        private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
                return null;
        }
 
-       public String sendInvitationByHash(String SID, String invitationHash, 
String message, String subject
-                       , Long languageId) throws Exception {
+       public String sendInvitationByHash(String SID, String invitationHash, 
String message, String subject, Long languageId) throws Exception {
                Long userId = sessiondataDao.checkSession(SID);
 
                if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
                return "Success";
        }
        
-       public Object getInvitationByHash(String hashCode) {
-               return invitationManager.getInvitationByHashCode(hashCode, 
true);
+       public Object getInvitationByHash(String SID, String hashCode) {
+               Object o = invitationManager.getInvitationByHashCode(hashCode, 
true);
+               if (o instanceof Invitation) {
+                       Invitation i = (Invitation)o;
+                       if (i.isAllowEntry()) {
+                               User u = i.getInvitee();
+                               Long userId = -u.getId(); //TODO check this, 
extremely weird
+                               sessiondataDao.updateUser(SID, userId);
+                               IConnection current = Red5.getConnectionLocal();
+                               String streamId = current.getClient().getId();
+                               Client client = 
sessionManager.getClientByStreamId(streamId, null);
+
+                               client.setFirstname(u.getFirstname());
+                               client.setLastname(u.getLastname());
+                               client.setUserId(userId);
+                               client.setUsername(u.getLogin());
+                               client.setEmail(u.getAddress() == null ? null : 
u.getAddress().getEmail());
+                               client.setPicture_uri(u.getPictureuri());
+                               client.setLanguage("" + u.getLanguageId());
+                               client.setExternalUserId(u.getExternalId());
+                               client.setExternalUserType(u.getExternalType());
+
+                               sessionManager.updateClientByStreamId(streamId, 
client, false, null);
+                       }
+               }
+               return o;
        }
 
        public Object checkInvitationPass(String hashCode, String pass) {

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 Thu Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
 import java.util.Date;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -63,7 +62,6 @@ import org.springframework.beans.factory
  * 
  */
 public class MainService implements IPendingServiceCallback {
-
        private static final Logger log = 
Red5LoggerFactory.getLogger(MainService.class, 
OpenmeetingsVariables.webAppRootKey);
 
        @Autowired
@@ -136,7 +134,6 @@ public class MainService implements IPen
 
        public Object secureLoginByRemote(String SID, String secureHash) {
                try {
-
                        log.debug("############### secureLoginByRemote " + 
secureHash);
 
                        String clientURL = 
Red5.getConnectionLocal().getRemoteAddress();
@@ -146,14 +143,11 @@ public class MainService implements IPen
                        SOAPLogin soapLogin = soapLoginDao.get(secureHash);
 
                        if (soapLogin.isUsed()) {
-
                                if (soapLogin.getAllowSameURLMultipleTimes()) {
-
                                        if 
(!soapLogin.getClientURL().equals(clientURL)) {
                                                log.debug("does not equal " + 
clientURL);
                                                return -42L;
                                        }
-
                                } else {
                                        log.debug("Already used " + secureHash);
                                        return -42L;
@@ -330,33 +324,6 @@ public class MainService implements IPen
        }
 
        /**
-        * this function returns a user object with group objects set only
-        * the group is not available for users that are using a HASH mechanism
-        * cause the SOAP/REST API does not guarantee that the user connected 
to the HASH
-        * has a valid user object set
-        * 
-        * @param SID
-        */
-       public User markSessionAsLogedIn(String SID) {
-               try {
-                       sessiondataDao.updateUserWithoutSession(SID, -1L);
-                       
-                       Long defaultRpcUserid = configurationDao.getConfValue(
-                                       "default.rpc.userid", Long.class, "-1");
-                       User defaultRpcUser = userDao.get(defaultRpcUserid);
-                       
-                       User user = new User();
-                       user.setGroupUsers(defaultRpcUser.getGroupUsers());
-                       
-                       return user;
-                       
-               } catch (Exception err) {
-                       log.error("[markSessionAsLogedIn]", err);
-               }
-               return null;
-       }
-
-       /**
         * clear this session id
         * 
         * @param SID
@@ -366,8 +333,7 @@ public class MainService implements IPen
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        IConnection current = Red5.getConnectionLocal();
-                       Client currentClient = this.sessionManager
-                                       
.getClientByStreamId(current.getClient().getId(), null);
+                       Client currentClient = 
sessionManager.getClientByStreamId(current.getClient().getId(), null);
                        
                        
scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), 
false);
                        
@@ -397,35 +363,6 @@ public class MainService implements IPen
                return null;
        }
 
-       /**
-        * TODO: Is this function in usage?
-        * 
-        * @deprecated
-        * @param SID
-        * @param domain
-        * @return - empty map
-        */
-       @Deprecated
-       public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
-                       String domain) {
-               Long users_id = sessiondataDao.checkSession(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                       LinkedHashMap<Integer, Client> lMap = new 
LinkedHashMap<Integer, Client>();
-                       // Integer counter = 0;
-                       // for (Iterator<String> it =
-                       // 
Application.getClientList().keySet().iterator();it.hasNext();) {
-                       // RoomClient rc = 
Application.getClientList().get(it.next());
-                       // //if (rc.getDomain().equals(domain)) {
-                       // lMap.put(counter, rc);
-                       // counter++;
-                       // //}
-                       // }
-                       return lMap;
-               } else {
-                       return null;
-               }
-       }
-
        public void resultReceived(IPendingServiceCall arg0) {
                log.debug("[resultReceived]" + arg0);
        }

Modified: 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
                                "The Name of the Font used for exporting/render 
Images from Whiteboard"
                                        + "The Font has to exist on the Server 
which runs Red5");
 
-               cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of 
the Control User in OpenMeetings");
-
                cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, 
"Base URL your OPenmeetings installation will be accessible at.");
                
                // ***************************************

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Thu Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
                return userId > -1;
        }
 
-       public boolean signIn(String secureHash) {
+       public boolean signIn(String secureHash, boolean markUsed) {
                //FIXME code is duplicated from MainService, need to be unified
                SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
                SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
                                                
user.setPictureuri(remoteUser.getPictureUrl());
                                        }
                                        user = userDao.update(user, null);
-
-                                       soapLogin.setUsed(true);
-                                       soapLogin.setUseDate(new Date());
-                                       //soapLogin.setClientURL(clientURL); 
//FIXME
-                                       soapDao.update(soapLogin);
-
+                                       if (markUsed) {
+                                               soapLogin.setUsed(true);
+                                               soapLogin.setUseDate(new 
Date());
+                                               
//soapLogin.setClientURL(clientURL); //FIXME
+                                               soapDao.update(soapLogin);
+                                       }
                                        sessionDao.updateUser(SID, 
user.getId());
                                        setUser(user);
                                        recordingId = 
soapLogin.getRecordingId();

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
        public RecordingPage(PageParameters p) {
                String hash = p.get("hash").toString();
                Recording r = null;
-               if (WebSession.get().signIn(hash)) {
+               if (WebSession.get().signIn(hash, true)) {
                        Long recId = getRecordingId();
                        if (recId != null) {
                                r = getBean(RecordingDao.class).get(recId);

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
                        return getRecording(id);
                } else {
                        ws.invalidate();
-                       if (ws.signIn(_id.toString())) {
+                       if (ws.signIn(_id.toString(), true)) {
                                return getRecording(getRecordingId());
                        }
                }


Reply via email to