Author: seba.wagner
Date: Tue Jan 13 03:38:33 2009
New Revision: 1771

Modified:
    trunk/webapp/filetest.keystore
    trunk/webapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java
    trunk/webapp/src/app/org/openmeetings/app/remote/WhiteBoardService.java
    trunk/webapp/src/app/org/openmeetings/app/remote/red5/Application.java

Log:
Some Debug connected to:
Issue 589 NullPointer Excpetion - missing or wrong RoomClients in List

Modified: trunk/webapp/filetest.keystore
==============================================================================
Binary files. No diff available.

Modified:  
trunk/webapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java
==============================================================================
---  
trunk/webapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java        
 
(original)
+++  
trunk/webapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java        
 
Tue Jan 13 03:38:33 2009
@@ -44,6 +44,10 @@
        //Reflect the Reverse Order!!
        public Fieldlanguagesvalues getFieldByIdAndLanguageByNavi(Long  
fieldvalues_id, Long language_id) {
                try {
+                       if (fieldvalues_id == null) {
+                               return null;
+                       }
+                       
                        Object idf = HibernateUtil.createSession();
                        Session session = HibernateUtil.getSession();
                        Transaction tx = session.beginTransaction();
@@ -80,9 +84,9 @@
                        }
                        
                } catch (HibernateException ex) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex);
+                       log.error("[getFieldByIdAndLanguage]: " , ex);
                } catch (Exception ex2) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex2);
+                       log.error("[getFieldByIdAndLanguage]: " , ex2);
                }
                return null;
        }
@@ -101,9 +105,9 @@
                        
                        return flv;
                } catch (HibernateException ex) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex);
+                       log.error("[getFieldByIdAndLanguage]: " , ex);
                } catch (Exception ex2) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex2);
+                       log.error("[getFieldByIdAndLanguage]: " , ex2);
                }
                return null;
        }
@@ -124,9 +128,9 @@
                        
                        return new Long(-28);
                } catch (HibernateException ex) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex);
+                       log.error("[getFieldByIdAndLanguage]: " , ex);
                } catch (Exception ex2) {
-                       log.error("[getFieldByIdAndLanguage]: " + ex2);
+                       log.error("[getFieldByIdAndLanguage]: " , ex2);
                }
                return new Long(-1);
        }       
@@ -217,9 +221,9 @@
                        
                        
                } catch (HibernateException ex) {
-                       log.error("[getConfKey]: " + ex);
+                       log.error("[getConfKey]: " , ex);
                } catch (Exception ex2) {
-                       log.error("[getConfKey]: " + ex2);
+                       log.error("[getConfKey]: " , ex2);
                }
                return null;
        }

Modified:  
trunk/webapp/src/app/org/openmeetings/app/remote/WhiteBoardService.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/remote/WhiteBoardService.java     
 
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/remote/WhiteBoardService.java     
 
Tue Jan 13 03:38:33 2009
@@ -395,7 +395,7 @@
  //            return number;
  //    }       
  //    
-       public void removeUserFromAllLists(IScope scope, RoomClient  
currentClient){
+       public synchronized void removeUserFromAllLists(IScope scope, 
RoomClient  
currentClient){
                try {
                        
                        Long room_id = currentClient.getRoom_id();

Modified:  
trunk/webapp/src/app/org/openmeetings/app/remote/red5/Application.java
==============================================================================
--- trunk/webapp/src/app/org/openmeetings/app/remote/red5/Application.java      
 
(original)
+++ trunk/webapp/src/app/org/openmeetings/app/remote/red5/Application.java      
 
Tue Jan 13 03:38:33 2009
@@ -309,6 +309,13 @@
                        log.debug("streamid "+streamid);
                        log.debug("ClientList.size() "+ClientList.size());
                        
+                       for (Iterator<String>  
iter=ClientList.keySet().iterator();iter.hasNext();) {
+                               String key = iter.next();
+                               
+                               RoomClient rcl = ClientList.get(key);
+                               log.debug("RoomClient "+rcl.getStreamid()+ " 
"+key+"  
Username "+rcl.getUsername());
+                       }
+                       
                        RoomClient currentClient = ClientList.get(streamid);
                        
                        IScope scope = current.getScope();
@@ -353,14 +360,6 @@
                                currentClient.setIsRecording(true);
                        }

-                       this.disconnectUser(currentClient);
-                       //If this Room is empty clear the Room Poll List
-                       HashMap<String,RoomClient> rcpList =  
this.getClientListByRoomAndDomain(room_id);
-                       log.debug("roomLeave rcpList size: "+rcpList.size());
-                       if (rcpList.size()==0){
-                               PollService.clearRoomPollList(room_id);
-//                             log.debug("clearRoomPollList cleared");
-                       }
                        
                        //Notify all clients of the same currentScope (room) 
with domain and  
room
                        //except the current disconnected cause it could throw 
an exception
@@ -401,7 +400,19 @@
                                                }
                                        }
                                }
-                       }                       
+                       }       
+                       
+                       
+                       //Remove User AFTER cause otherwise the currentClient 
Object is NULL ?!
+                       this.disconnectUser(currentClient);
+                       //If this Room is empty clear the Room Poll List
+                       HashMap<String,RoomClient> rcpList =  
this.getClientListByRoomAndDomain(room_id);
+                       log.debug("roomLeave rcpList size: "+rcpList.size());
+                       if (rcpList.size()==0){
+                               PollService.clearRoomPollList(room_id);
+//                             log.debug("clearRoomPollList cleared");
+                       }
+                       
                } catch (Exception err) {
                        log.error("[roomLeaveByScope]",err);
                }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to