Author: solomax
Date: Wed May 23 03:38:44 2012
New Revision: 1341739

URL: http://svn.apache.org/viewvc?rev=1341739&view=rev
Log:
OPENMEETINGS-283 partially fixed, language export works 1000 times faster

Modified:
    incubator/openmeetings/trunk/singlewebapp/.classpath
    incubator/openmeetings/trunk/singlewebapp/build.properties
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Configurationmanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/NetworkTestingServlet.java

Modified: incubator/openmeetings/trunk/singlewebapp/.classpath
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/.classpath?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/.classpath (original)
+++ incubator/openmeetings/trunk/singlewebapp/.classpath Wed May 23 03:38:44 
2012
@@ -52,9 +52,7 @@
        <classpathentry kind="lib" 
path="build/red5/dist/lib/jaudiotagger-2.0.4-SNAPSHOT.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/javaee-api-5.1.2.om.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/jcl-over-slf4j-1.6.1.jar"/>
-       <classpathentry kind="lib" 
path="build/red5/dist/lib/jruby-complete-1.1.6.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/jul-to-slf4j-1.6.1.jar"/>
-       <classpathentry kind="lib" path="build/red5/dist/lib/jython-2.5.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/log4j-over-slf4j-1.6.1.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/logback-classic-0.9.28.jar"/>
        <classpathentry kind="lib" 
path="build/red5/dist/lib/logback-core-0.9.28.jar"/>

Modified: incubator/openmeetings/trunk/singlewebapp/build.properties
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/build.properties?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/build.properties (original)
+++ incubator/openmeetings/trunk/singlewebapp/build.properties Wed May 23 
03:38:44 2012
@@ -1,6 +1,6 @@
 project.version=2.0.0
 project.status=SNAPSHOT
-red5.revision=4368
+red5.revision=4374
 laszlo.debug=false
 laszlo.proxied=solo
 db=derby

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Configurationmanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Configurationmanagement.java?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Configurationmanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Configurationmanagement.java
 Wed May 23 03:38:44 2012
@@ -59,6 +59,7 @@ public class Configurationmanagement {
        private UsersDaoImpl usersDao;
        @Autowired
        private AuthLevelmanagement authLevelManagement;
+       private String appName = null;
 
        public Configuration getConfKey(long user_level, String CONF_KEY) {
                try {
@@ -345,10 +346,8 @@ public class Configurationmanagement {
        }
 
        public String getAppName() {
-               String appName = Configurationmanagement.DEFAULT_APP_NAME;
-               Configuration application_name = getConfKey(3L, 
"application.name");
-               if (application_name != null) {
-                       appName = application_name.getConf_value();
+               if (appName == null) {
+                       appName = getConfValue("application.name", 
String.class, Configurationmanagement.DEFAULT_APP_NAME);
                }
                return appName;
        }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
 Wed May 23 03:38:44 2012
@@ -192,17 +192,13 @@ public class Fieldmanagment {
                        query.setParameter("start", new Long(start));
                        query.setParameter("max", new Long(start + max));
 
-                       List<Fieldlanguagesvalues> results = 
performReplace(query.getResultList());
+                       String appName = cfgManagement.getAppName();
                        List<Map<String, Object>> returnList = new 
LinkedList<Map<String, Object>>();
-                       if (results.size() != 0) {
-                               Iterator<Fieldlanguagesvalues> flIterator = 
results.iterator();
-                               while (flIterator.hasNext()) {
-                                       Fieldlanguagesvalues fl = 
flIterator.next();
-                                       Map<String, Object> map = new 
HashMap<String, Object>();
-                                       map.put("id", fl.getFieldvalues_id());
-                                       map.put("value", fl.getValue());
-                                       returnList.add(map);
-                               }
+                       for (Fieldlanguagesvalues fl : query.getResultList()) {
+                               Map<String, Object> map = new HashMap<String, 
Object>();
+                               map.put("id", fl.getFieldvalues_id());
+                               map.put("value", performReplace(fl.getValue(), 
appName));
+                               returnList.add(map);
                        }
                        FieldLanguage fieldLanguage = fieldLanguageDaoImpl
                                        .getFieldLanguageById(language_id);
@@ -393,13 +389,9 @@ public class Fieldmanagment {
 
        public List<Fieldvalues> getMixedFieldValuesList(Long language_id)
                        throws Exception {
-               List<Fieldvalues> ll = this.getFieldsValues();
-               for (Iterator<Fieldvalues> iter = ll.iterator(); 
iter.hasNext();) {
-                       Fieldvalues fv = iter.next();
-                       fv.setFieldlanguagesvalue(this.getFieldByIdAndLanguage(
-                                       fv.getFieldvalues_id(), language_id));
-               }
-               return ll;
+               TypedQuery<Fieldvalues> q = 
em.createNamedQuery("getFieldvaluesByLanguage", Fieldvalues.class);
+               q.setParameter("language_id", language_id);
+               return q.getResultList();
        }
 
        public Fieldvalues getFieldvaluesById(Long fieldvalues_id, Long 
language_id) {
@@ -532,11 +524,6 @@ public class Fieldmanagment {
                return fvList;
        }
 
-       private List<Fieldvalues> getFieldsValues() throws Exception {
-               return em.createNamedQuery("getFieldvaluesByLanguage", 
Fieldvalues.class)
-                                       .getResultList();
-       }
-
        private List<Fieldvalues> getFieldsValues(int start, int max,
                        String orderby, boolean asc, String search) throws 
Exception {
                String queryLanguage = "select c from Fieldvalues c where 
c.deleted = 'false'";
@@ -595,9 +582,20 @@ public class Fieldmanagment {
                return performReplace(f, appName);
        }
        
+       private String performReplace(String val, String appName) {
+               return val.replaceAll("\\$APP_NAME", appName);
+       }
+       
        private Fieldlanguagesvalues performReplace(Fieldlanguagesvalues f, 
String appName) {
-               f.setValue(f.getValue().replaceAll("\\$APP_NAME", appName));
-               return f;
+               Fieldlanguagesvalues r = new Fieldlanguagesvalues();
+               r.setDeleted(f.getDeleted());
+               r.setFieldlanguagesvalues_id(f.getFieldlanguagesvalues_id());
+               r.setFieldvalues_id(f.getFieldvalues_id());
+               r.setLanguage_id(f.getLanguage_id());
+               r.setStarttime(f.getStarttime());
+               r.setUpdatetime(f.getUpdatetime());
+               r.setValue(performReplace(f.getValue(), appName));
+               return r;
        }
        
        private <T extends Collection<Fieldlanguagesvalues>> T performReplace(T 
flv) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldvalues.java
 Wed May 23 03:38:44 2012
@@ -38,9 +38,10 @@ import javax.persistence.Transient;
 @Entity
 @NamedQueries({
                @NamedQuery(name = "getFieldvaluesByLanguage", query = "SELECT 
fv from Fieldvalues fv "
-                               + "LEFT JOIN fv.fieldlanguagesvalues flv "
-                               + "WHERE flv.deleted LIKE 'false' "
-                               + "AND fv.deleted LIKE 'false' ")})
+                       + "LEFT JOIN fv.fieldlanguagesvalues flv "
+                       + "WHERE flv.deleted LIKE 'false' "
+                       + "             AND fv.deleted LIKE 'false' "
+                       + "             AND flv.language_id = :language_id")})
 @Table(name = "fieldvalues")
 public class Fieldvalues implements Serializable {
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/NetworkTestingServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/NetworkTestingServlet.java?rev=1341739&r1=1341738&r2=1341739&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/NetworkTestingServlet.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/NetworkTestingServlet.java
 Wed May 23 03:38:44 2012
@@ -3,5 +3,6 @@ package org.openmeetings.servlet.outputh
 import javax.servlet.http.HttpServlet;
 
 public class NetworkTestingServlet extends HttpServlet {
+       private static final long serialVersionUID = 4015150455753870327L;
 
 }


Reply via email to