Revision: 4599
Author:   solomax666
Date:     Sun Nov 20 09:05:19 2011
Log:      Config value is cached to avoid multiple DB quering
http://code.google.com/p/openmeetings/source/detail?r=4599

Modified:
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Configurationmanagement.java /trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java

=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Configurationmanagement.java Wed Nov 16 06:36:51 2011 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Configurationmanagement.java Sun Nov 20 09:05:19 2011
@@ -1,7 +1,6 @@
 package org.openmeetings.app.data.basic;

 import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
 import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -285,6 +284,11 @@
                                        conf = em.merge(conf);
                                }
                        }
+                       if ("crypt_ClassName".equals(conf.getConf_key())) {
+                               ScopeApplicationAdapter.configKeyCryptClassName 
= conf.getConf_value();
+                       } else if 
("show.whiteboard.draw.status".equals(conf.getConf_key())) {
+ ScopeApplicationAdapter.whiteboardDrawStatus = "1".equals(conf.getConf_value());
+                       }
                        return conf.getConfiguration_id();
                } catch (Exception ex2) {
                        log.error("[updateConfByUID]: ", ex2);
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java Sun Nov 20 04:40:30 2011 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java Sun Nov 20 09:05:19 2011
@@ -99,9 +99,9 @@
        public static String profilesPrefix = "profile_";

        public static String configKeyCryptClassName = null;
-
+       public static Boolean whiteboardDrawStatus = null;
+
        private static long broadCastCounter = 0;
-
        public static boolean initComplete = false;

        public synchronized void resultReceived(IPendingServiceCall arg0) {
@@ -2501,10 +2501,7 @@
                                                whiteboardObj);
                        }

-                       Configuration conf = cfgManagement.getConfKey(3,
-                                       "show.whiteboard.draw.status");
-                       boolean showDrawStatus = conf != null
-                                       && "1".equals(conf.getConf_value());
+                       boolean showDrawStatus = getWhiteboardDrawStatus();

                        // Notify all Clients of that Scope (Room)
                        Collection<Set<IConnection>> conCollection = 
current.getScope()
@@ -2631,10 +2628,7 @@
                        sendObject.put("id", whiteboardId);
                        sendObject.put("param", whiteboardObjParam);

-                       Configuration conf = cfgManagement.getConfKey(3,
-                                       "show.whiteboard.draw.status");
-                       boolean showDrawStatus = conf != null
-                                       && "1".equals(conf.getConf_value());
+                       boolean showDrawStatus = getWhiteboardDrawStatus();

                        // Notify all Clients of that Scope (Room)
                        Collection<Set<IConnection>> conCollection = 
current.getScope()
@@ -3895,8 +3889,15 @@
                return roomClientList;
        }

+       private boolean getWhiteboardDrawStatus() {
+               if (ScopeApplicationAdapter.whiteboardDrawStatus == null) {
+ String drawStatus = cfgManagement.getConfValue("show.whiteboard.draw.status", String.class, "0");
+                       ScopeApplicationAdapter.whiteboardDrawStatus = 
"1".equals(drawStatus);
+               }
+               return ScopeApplicationAdapter.whiteboardDrawStatus;
+       }
+
        public String getCryptKey() {
-               // public String getCryptKey() {
                try {

                        if (ScopeApplicationAdapter.configKeyCryptClassName == 
null) {

--
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