Re: svn commit: r1450608 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/conference/dao/ persistence/beans/basic/ persistence/beans/room/ remote/ session/ session/store/
Hi Maxim, I don't understand your changes to the HashMapStore. Why is there a reference to the ServerUtil in the HashMapStore at all? The HashMapStore should only be used if _no_ server is configured at all, no cluster, zero :) So actually getCurrentServer should not be used in the case where you are using memory based store (aka HashMapStore). And in that sense: public ListLong getRoomsIdsByServer(Server server) simply should always return the current list of all roomIds, not a subset of it. In case of HashMapStore there is no cluster or other server involved, so its logically impossible that this function will be called with any server. But maybe I don't understand the entire scope of the changes that you committed. Sebastian 2013/2/27 solo...@apache.org Author: solomax Date: Wed Feb 27 05:28:29 2013 New Revision: 1450608 URL: http://svn.apache.org/r1450608 Log: SIP: additional NPE check is added Cluster: getServerForSession is refactored to work as expected with no overhead Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/room/Room.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/SessionManager.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/store/HashMapStore.java Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java?rev=1450608r1=1450607r2=1450608view=diff == --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java Wed Feb 27 05:28:29 2013 @@ -75,8 +75,7 @@ public class RoomDao implements IDataPro } public ListRoom getPublicRooms() { - return em.createNamedQuery(getPublicRoomsOrdered, Room.class) - .getResultList(); + return em.createNamedQuery(getPublicRoomsOrdered, Room.class).getResultList(); } public ListLong getSipRooms(ListLong ids) { @@ -96,6 +95,11 @@ public class RoomDao implements IDataPro return q.getResultList(); } + public Long getRoomsCapacityByIds(ListLong ids) { + return ids == null || ids.isEmpty() ? 0 + : em.createNamedQuery(getRoomsCapacityByIds, Long.class).setParameter(ids, ids).getSingleResult(); + } + private boolean isSipEnabled() { return yes.equals(cfgDao.getConfValue(red5sip.enable, String.class, no)); } Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java?rev=1450608r1=1450607r2=1450608view=diff == --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java Wed Feb 27 05:28:29 2013 @@ -59,6 +59,10 @@ public class SipDao { } private ManagerResponse exec(ManagerAction action) { + if (connection == null) { + log.warn(There is no Asterisk configured); + return null; + } try { connection.login(); ManagerResponse r = connection.sendAction(action); @@ -73,6 +77,10 @@ public class SipDao { } private ResponseEvents execEvent(EventGeneratingAction action) { + if (connection == null) { + log.warn(There is no Asterisk configured); + return null; + } try { connection.login(on); ResponseEvents r = connection.sendEventGeneratingAction(action); Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java?rev=1450608r1=1450607r2=1450608view=diff
Re: svn commit: r1450608 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/conference/dao/ persistence/beans/basic/ persistence/beans/room/ remote/ session/ session/store/
Hello Sebastian, in your instructions to Denis you haven't mention MapStore should be switched So I have tested it with HashMapStore ... I'll revert changes to HashMapStore On Wed, Feb 27, 2013 at 1:10 PM, seba.wag...@gmail.com seba.wag...@gmail.com wrote: Hi Maxim, I don't understand your changes to the HashMapStore. Why is there a reference to the ServerUtil in the HashMapStore at all? The HashMapStore should only be used if _no_ server is configured at all, no cluster, zero :) So actually getCurrentServer should not be used in the case where you are using memory based store (aka HashMapStore). And in that sense: public ListLong getRoomsIdsByServer(Server server) simply should always return the current list of all roomIds, not a subset of it. In case of HashMapStore there is no cluster or other server involved, so its logically impossible that this function will be called with any server. But maybe I don't understand the entire scope of the changes that you committed. Sebastian 2013/2/27 solo...@apache.org Author: solomax Date: Wed Feb 27 05:28:29 2013 New Revision: 1450608 URL: http://svn.apache.org/r1450608 Log: SIP: additional NPE check is added Cluster: getServerForSession is refactored to work as expected with no overhead Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/room/Room.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/SessionManager.java openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/session/store/HashMapStore.java Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java?rev=1450608r1=1450607r2=1450608view=diff == --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/RoomDao.java Wed Feb 27 05:28:29 2013 @@ -75,8 +75,7 @@ public class RoomDao implements IDataPro } public ListRoom getPublicRooms() { - return em.createNamedQuery(getPublicRoomsOrdered, Room.class) - .getResultList(); + return em.createNamedQuery(getPublicRoomsOrdered, Room.class).getResultList(); } public ListLong getSipRooms(ListLong ids) { @@ -96,6 +95,11 @@ public class RoomDao implements IDataPro return q.getResultList(); } + public Long getRoomsCapacityByIds(ListLong ids) { + return ids == null || ids.isEmpty() ? 0 + : em.createNamedQuery(getRoomsCapacityByIds, Long.class).setParameter(ids, ids).getSingleResult(); + } + private boolean isSipEnabled() { return yes.equals(cfgDao.getConfValue(red5sip.enable, String.class, no)); } Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java?rev=1450608r1=1450607r2=1450608view=diff == --- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java (original) +++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/dao/SipDao.java Wed Feb 27 05:28:29 2013 @@ -59,6 +59,10 @@ public class SipDao { } private ManagerResponse exec(ManagerAction action) { + if (connection == null) { + log.warn(There is no Asterisk configured); + return null; + } try { connection.login(); ManagerResponse r = connection.sendAction(action); @@ -73,6 +77,10 @@ public class SipDao { } private ResponseEvents execEvent(EventGeneratingAction action) { + if (connection == null) { + log.warn(There is no Asterisk configured); + return null; + } try { connection.login(on); ResponseEvents r = connection.sendEventGeneratingAction(action); Modified: