Author: solomax
Date: Wed Oct 17 14:47:27 2012
New Revision: 1399283

URL: http://svn.apache.org/viewvc?rev=1399283&view=rev
Log:
- JRebel eclipse config is partially commited
- Deprecated configurationDaoImpl.getConfKey is partially replaced
- Wicket: Search to the group page is added

Added:
    
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.core.resources.prefs
Modified:
    incubator/openmeetings/trunk/singlewebapp/.project
    
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.wst.common.component
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/AddUsersForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java

Modified: incubator/openmeetings/trunk/singlewebapp/.project
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/.project?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/.project (original)
+++ incubator/openmeetings/trunk/singlewebapp/.project Wed Oct 17 14:47:27 2012
@@ -43,6 +43,16 @@
                        <arguments>
                        </arguments>
                </buildCommand>
+               <buildCommand>
+                       
<name>org.zeroturnaround.eclipse.remoting.remotingBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.zeroturnaround.eclipse.rebelXmlBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
        </buildSpec>
        <natures>
                
<nature>org.springframework.ide.eclipse.core.springnature</nature>
@@ -52,6 +62,8 @@
                <nature>org.eclipse.jdt.core.javanature</nature>
                <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
                <nature>org.apache.ivyde.eclipse.ivynature</nature>
+               
<nature>org.zeroturnaround.eclipse.remoting.remotingNature</nature>
+               <nature>org.zeroturnaround.eclipse.jrebelNature</nature>
        </natures>
        <filteredResources>
                <filter>

Added: 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.core.resources.prefs
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.core.resources.prefs?rev=1399283&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.core.resources.prefs
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.core.resources.prefs
 Wed Oct 17 14:47:27 2012
@@ -0,0 +1,14 @@
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+eclipse.preferences.version=1
+encoding//WebContent/openmeetings/WEB-INF/classes/rebel-remote.xml=UTF-8
+encoding//WebContent/openmeetings/WEB-INF/classes/rebel.xml=UTF-8

Modified: 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.wst.common.component
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.wst.common.component?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.wst.common.component
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/.settings/org.eclipse.wst.common.component
 Wed Oct 17 14:47:27 2012
@@ -1,14 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="ROOT">
-        <wb-resource deploy-path="/" source-path="/WebContent"/>
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/client"/>
-        <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/src/screenviewer"/>
-               <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/screensharing"/>
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/server"/>
-        <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/WebContent/WEB-INF"/>
-        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-        <property name="java-output-path"/>
-        <property name="context-root" value="/"/>
-    </wb-module>
-</project-modules>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="ROOT">
+        <wb-resource deploy-path="/" source-path="/WebContent"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/client"/>
+        <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/src/screenviewer"/>
+               <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/screensharing"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/server"/>
+        <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/WebContent/WEB-INF"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+        <wb-resource deploy-path="/WEB-INF/classes" 
source-path="/WebContent/openmeetings/WEB-INF/classes"/>
+        <property name="java-output-path"/>
+        <property name="context-root" value="/"/>
+    </wb-module>
+</project-modules>

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
 Wed Oct 17 14:47:27 2012
@@ -62,6 +62,7 @@ import org.apache.openmeetings.remote.re
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.sip.xmlrpc.OpenXGHttpClient;
 import org.apache.openmeetings.templates.ResetPasswordTemplate;
+import org.apache.openmeetings.utils.DaoHelper;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.apache.openmeetings.utils.mail.MailHandler;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
@@ -169,34 +170,10 @@ public class Usermanagement {
                try {
                        SearchResult<Users> sresult = new SearchResult<Users>();
                        sresult.setObjectName(Users.class.getName());
-                       sresult.setRecords(usersDao.getAllUserMax(search));
+                       sresult.setRecords(usersDao.count(search));
 
-                       String[] searchItems = search.split(" ");
-
-                       log.debug("getUserContactsBySearch: " + search);
-                       // log.debug("getUserContactsBySearch: "+ userId);
-
-                       String hql = "select u from  Users u "
-                                       + "WHERE u.deleted = false ";
-
-                       hql += "AND ( ";
-                       for (int i = 0; i < searchItems.length; i++) {
-                               if (i != 0) {
-                                       hql += " OR ";
-                               }
-                               hql += "( " + "lower(u.lastname) LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR lower(u.firstname) 
LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR lower(u.login) 
LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR 
lower(u.adresses.email) LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + ") ";
-
-                       }
-
-                       hql += " ) ";
+                       String hql = DaoHelper.getSearchQuery("Users", "u", 
search, true, false, UsersDaoImpl.searchFields);
+                       hql += " ";
                        if (orderby != null && orderby.length() > 0) {
                                hql += "ORDER BY " + orderby;
                        }
@@ -1486,10 +1463,7 @@ public class Usermanagement {
 
                String email = us.getAdresses().getEmail();
 
-               Long default_lang_id = Long.valueOf(
-                               
configurationDaoImpl.getConfKey("default_lang_id")
-                                               .getConf_value())
-                               .longValue();
+               Long default_lang_id = 
configurationDaoImpl.getConfValue("default_lang_id", Long.class, "1");
 
                String template = 
resetPasswordTemplate.getResetPasswordTemplate(
                                reset_link, default_lang_id);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationDAO.java
 Wed Oct 17 14:47:27 2012
@@ -28,10 +28,12 @@ import javax.persistence.TypedQuery;
 
 import org.apache.openmeetings.data.OmDAO;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.apache.openmeetings.utils.DaoHelper;
 import org.springframework.transaction.annotation.Transactional;
 
 @Transactional
 public class OrganisationDAO implements OmDAO<Organisation> {
+       public final static String[] searchFields = {"name"};
        @PersistenceContext
        private EntityManager em;
 
@@ -56,8 +58,10 @@ public class OrganisationDAO implements 
        }
 
        public List<Organisation> get(String search, int start, int count) {
-               // TODO Auto-generated method stub
-               return null;
+               TypedQuery<Organisation> q = 
em.createQuery(DaoHelper.getSearchQuery("Organisation", "o", search, true, 
false, searchFields), Organisation.class);
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               return q.getResultList();
        }
        
        public long count() {
@@ -66,8 +70,8 @@ public class OrganisationDAO implements 
        }
 
        public long count(String search) {
-               // TODO Auto-generated method stub
-               return 0;
+               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("Organisation", "o", search, true, 
true, searchFields), Long.class);
+               return q.getSingleResult();
        }
        
        public void update(Organisation entity, long userId) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/OrganisationUserDAO.java
 Wed Oct 17 14:47:27 2012
@@ -27,6 +27,7 @@ import javax.persistence.TypedQuery;
 import org.apache.openmeetings.data.OmDAO;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.user.Users;
+import org.apache.openmeetings.utils.DaoHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -36,6 +37,7 @@ public class OrganisationUserDAO impleme
        private EntityManager em;
        @Autowired
        private UsersDaoImpl usersDao;
+       public final static String[] searchFields = {"user.lastname", 
"user.firstname", "user.login", "user.adresses.email"};
 
        public Organisation_Users get(long id) {
                TypedQuery<Organisation_Users> q = 
em.createNamedQuery("getOrganisationUsersById", Organisation_Users.class);
@@ -52,8 +54,10 @@ public class OrganisationUserDAO impleme
        }
        
        public List<Organisation_Users> get(long orgId, String search, int 
start, int count) {
-               //TODO autogenerated
-               return null;
+               TypedQuery<Organisation_Users> q = 
em.createQuery(DaoHelper.getSearchQuery("Organisation_Users", "ou", search, 
false, false, searchFields), Organisation_Users.class);
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               return q.getResultList();
        }
        
        public List<Organisation_Users> get(long orgId, int start, int count) {
@@ -83,8 +87,8 @@ public class OrganisationUserDAO impleme
        }
        
        public long count(long orgId, String search) {
-               // TODO Auto-generated method stub
-               return 0;
+               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("Organisation_Users", "ou", search, 
false, true, searchFields), Long.class);
+               return q.getSingleResult();
        }
        
        public long count(long orgId) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/UsersDaoImpl.java
 Wed Oct 17 14:47:27 2012
@@ -55,6 +55,8 @@ public class UsersDaoImpl implements OmD
        private static final Logger log = Red5LoggerFactory.getLogger(
                        UsersDaoImpl.class, 
OpenmeetingsVariables.webAppRootKey);
 
+       public final static String[] searchFields = {"lastname", "firstname", 
"login", "adresses.email"};
+
        @PersistenceContext
        private EntityManager em;
 
@@ -105,21 +107,14 @@ public class UsersDaoImpl implements OmD
         * @see org.apache.openmeetings.data.OmDAO#get(int, int)
         */
        public List<Users> get(int first, int count) {
-               TypedQuery<Users> q = em.createNamedQuery("getNondeletedUsers",
-                               Users.class);
+               TypedQuery<Users> q = em.createNamedQuery("getNondeletedUsers", 
Users.class);
                q.setFirstResult(first);
                q.setMaxResults(count);
                return q.getResultList();
        }
 
        public List<Users> get(String search, int start, int count) {
-               //FIXME copy/paste
-               StringBuilder sb = new StringBuilder("SELECT u FROM Users u 
WHERE u.deleted = false ");
-               StringBuilder where = DaoHelper.getWhereClause(search, "u", 
"lastname", "firstname", "login", "adresses.email");
-               if (where.length() > 0) {
-                       sb.append("AND ").append(where);
-               }
-               TypedQuery<Users> q = em.createQuery(sb.toString(), 
Users.class);
+               TypedQuery<Users> q = 
em.createQuery(DaoHelper.getSearchQuery("Users", "u", search, true, false, 
searchFields), Users.class);
                q.setFirstResult(start);
                q.setMaxResults(count);
                return q.getResultList();
@@ -132,51 +127,17 @@ public class UsersDaoImpl implements OmD
         */
        public long count() {
                // get all users
-               TypedQuery<Long> q = em.createQuery(
-                               "select count(u) from Users u where u.deleted = 
false",
-                               Long.class);
+               TypedQuery<Long> q = 
em.createNamedQuery("countNondeletedUsers", Long.class);
                return q.getSingleResult();
        }
 
        public long count(String search) {
-               //FIXME copy/paste
-               StringBuilder sb = new StringBuilder("SELECT COUNT(u) FROM 
Users u WHERE u.deleted = false ");
-               StringBuilder where = DaoHelper.getWhereClause(search, "u", 
"lastname", "firstname", "login", "adresses.email");
-               if (where.length() > 0) {
-                       sb.append("AND ").append(where);
-               }
-               TypedQuery<Long> q = em.createQuery(sb.toString(), Long.class);
+               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("Users", "u", search, true, true, 
searchFields), Long.class);
                return q.getSingleResult();
        }
        
-       // FIXME need to be generalized with other copy/pasted methods
        public List<Users> get(String search) {
-               String[] searchItems = search.split(" ");
-               StringBuilder hql = new StringBuilder(
-                               "SELECT u FROM Users u WHERE u.deleted = false 
");
-
-               hql.append("AND ( ");
-               for (int i = 0; i < searchItems.length; ++i) {
-                       if (searchItems[i].isEmpty()) {
-                               continue;
-                       }
-                       if (i != 0) {
-                               hql.append(" OR ");
-                       }
-                       StringBuilder placeholder = new StringBuilder();
-                       placeholder.append("%")
-                                       
.append(StringUtils.lowerCase(searchItems[i])).append("%");
-
-                       hql.append("(lower(u.lastname) LIKE 
'").append(placeholder)
-                                       .append("' OR lower(u.firstname) LIKE 
'")
-                                       .append(placeholder).append("' OR 
lower(u.login) LIKE '")
-                                       .append(placeholder)
-                                       .append("' OR lower(u.adresses.email) 
LIKE '")
-                                       .append(placeholder).append("' ) ");
-               }
-
-               hql.append(" ) ");
-               TypedQuery<Users> q = em.createQuery(hql.toString(), 
Users.class);
+               TypedQuery<Users> q = 
em.createQuery(DaoHelper.getSearchQuery("Users", "u", search, true, false, 
searchFields), Users.class);
                return q.getResultList();
        }
 
@@ -286,52 +247,6 @@ public class UsersDaoImpl implements OmD
                return null;
        }
 
-       public Long getAllUserMax(String search) {
-               try {
-
-                       String[] searchItems = search.split(" ");
-
-                       log.debug("getUserContactsBySearch: " + search);
-                       // log.debug("getUserContactsBySearch: "+ userId);
-
-                       String hql = "select count(u.user_id) from  Users u "
-                                       + "WHERE u.deleted = false ";
-
-                       hql += "AND ( ";
-                       for (int i = 0; i < searchItems.length; i++) {
-                               if (i != 0) {
-                                       hql += " OR ";
-                               }
-                               hql += "( " + "lower(u.lastname) LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR lower(u.firstname) 
LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR lower(u.login) 
LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + "OR 
lower(u.adresses.email) LIKE '"
-                                               + StringUtils.lowerCase("%" + 
searchItems[i] + "%")
-                                               + "' " + ") ";
-
-                       }
-                       hql += " )";
-
-                       log.debug("Show HQL: " + hql);
-
-                       TypedQuery<Long> query = em.createQuery(hql, 
Long.class);
-
-                       // log.debug("id: "+folderId);
-                       List<Long> ll = query.getResultList();
-
-                       // log.error((Long)ll.get(0));
-                       Long i = ll.get(0);
-
-                       return i;
-               } catch (Exception ex2) {
-                       log.error("[getAllUserMax]: ", ex2);
-               }
-               return null;
-       }
-
        /**
         * check for duplicates
         * 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 Wed Oct 17 14:47:27 2012
@@ -34,6 +34,7 @@ import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 
 import org.apache.openmeetings.persistence.beans.OmEntity;
+import org.apache.openmeetings.persistence.beans.user.Users;
 import org.simpleframework.xml.Element;
 import org.simpleframework.xml.Root;
 
@@ -64,6 +65,10 @@ public class Organisation_Users implemen
        @Column(name = "user_id")
        private Long user_id;
 
+       @ManyToOne(fetch = FetchType.EAGER)
+       @JoinColumn(name = "user_id", insertable = true, updatable = true)
+       private Users user;
+       
        @Column(name = "starttime")
        private Date starttime;
        
@@ -173,4 +178,12 @@ public class Organisation_Users implemen
                }
                return true;
        }
+
+       public Users getUser() {
+               return user;
+       }
+
+       public void setUser(Users user) {
+               this.user = user;
+       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 Wed Oct 17 14:47:27 2012
@@ -79,6 +79,7 @@ import org.simpleframework.xml.Root;
                                + "SET u.password = :password " //
                                + "WHERE u.user_id = :userId"), //
                @NamedQuery(name = "getNondeletedUsers", query = "SELECT u FROM 
Users u WHERE u.deleted = false"),
+               @NamedQuery(name = "countNondeletedUsers", query = "SELECT 
COUNT(u) FROM Users u WHERE u.deleted = false"),
                @NamedQuery(name = "getUsersByOrganisationId", query = "SELECT 
u FROM Users u WHERE u.deleted = false AND 
u.organisation_users.organisation.organisation_id = :organisation_id") })
 @Table(name = "users")
 @Root(name = "user")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
 Wed Oct 17 14:47:27 2012
@@ -22,6 +22,31 @@ import org.apache.commons.lang.StringUti
 
 public class DaoHelper {
 
+       public static String getSearchQuery(String table, String alias, String 
search, boolean filterDeleted, boolean count, String... fields) {
+               StringBuilder sb = new StringBuilder("SELECT ");
+               if (count) {
+                       sb.append("COUNT(").append(alias).append(")");
+               } else {
+                       sb.append(alias);
+               }
+               sb.append(" FROM ").append(table).append(" ").append(alias);
+               boolean whereAdded = false;
+               if (filterDeleted) {
+                       whereAdded = true;
+                       sb.append(" WHERE ").append(alias).append(".deleted = 
false ");
+               }
+               StringBuilder where = DaoHelper.getWhereClause(search, alias, 
fields);
+               if (where.length() > 0) {
+                       if (!whereAdded) {
+                               sb.append(" WHERE ");
+                       } else {
+                               sb.append("AND ");
+                       }
+                       sb.append(where);
+               }
+               return sb.toString();
+       }
+       
        public static StringBuilder getWhereClause(String search, String alias, 
String... fields) {
                StringBuilder sb = new StringBuilder();
                getWhereClause(sb, search, alias, fields);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/math/TimezoneUtil.java
 Wed Oct 17 14:47:27 2012
@@ -25,7 +25,6 @@ import java.util.TimeZone;
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl;
-import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.user.Users;
 import org.red5.logging.Red5LoggerFactory;
@@ -64,20 +63,15 @@ public class TimezoneUtil {
 
                // if user has not time zone get one from the server 
configuration
 
-               Configuration conf = 
configurationDaoImpl.getConfKey("default.timezone");
+               String defaultTzName = 
configurationDaoImpl.getConfValue("default.timezone", String.class, 
"Europe/Berlin");
 
-               if (conf != null) {
+               OmTimeZone omTimeZone = 
omTimeZoneDaoImpl.getOmTimeZone(defaultTzName);
 
-                       OmTimeZone omTimeZone = 
omTimeZoneDaoImpl.getOmTimeZone(conf
-                                       .getConf_value());
-
-                       TimeZone timeZoneByOmTimeZone = 
TimeZone.getTimeZone(omTimeZone
-                                       .getIcal());
-
-                       if (timeZoneByOmTimeZone != null) {
-                               return timeZoneByOmTimeZone;
-                       }
+               TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(omTimeZone
+                               .getIcal());
 
+               if (timeZoneByOmTimeZone != null) {
+                       return timeZoneByOmTimeZone;
                }
 
                // If everything fails take the servers default one
@@ -108,20 +102,15 @@ public class TimezoneUtil {
 
                // if user has not time zone get one from the server 
configuration
 
-               Configuration conf = 
configurationDaoImpl.getConfKey("default.timezone");
-
-               if (conf != null) {
+               String defaultTzName = 
configurationDaoImpl.getConfValue("default.timezone", String.class, 
"Europe/Berlin");
 
-                       OmTimeZone omTimeZoneDefault = 
omTimeZoneDaoImpl.getOmTimeZone(conf
-                                       .getConf_value());
+               OmTimeZone omTimeZoneDefault = 
omTimeZoneDaoImpl.getOmTimeZone(defaultTzName);
 
-                       TimeZone timeZoneByOmTimeZone = TimeZone
-                                       
.getTimeZone(omTimeZoneDefault.getIcal());
-
-                       if (timeZoneByOmTimeZone != null) {
-                               return timeZoneByOmTimeZone;
-                       }
+               TimeZone timeZoneByOmTimeZone = TimeZone
+                               .getTimeZone(omTimeZoneDefault.getIcal());
 
+               if (timeZoneByOmTimeZone != null) {
+                       return timeZoneByOmTimeZone;
                }
 
                // If everything fails take the servers default one
@@ -148,20 +137,15 @@ public class TimezoneUtil {
 
                // if user has not time zone get one from the server 
configuration
 
-               Configuration conf = 
configurationDaoImpl.getConfKey("default.timezone");
-
-               if (conf != null) {
+               String defaultTzName = 
configurationDaoImpl.getConfValue("default.timezone", String.class, 
"Europe/Berlin");
 
-                       OmTimeZone omTimeZoneDefault = 
omTimeZoneDaoImpl.getOmTimeZone(conf
-                                       .getConf_value());
+               OmTimeZone omTimeZoneDefault = 
omTimeZoneDaoImpl.getOmTimeZone(defaultTzName);
 
-                       TimeZone timeZoneByOmTimeZone = TimeZone
-                                       
.getTimeZone(omTimeZoneDefault.getIcal());
-
-                       if (timeZoneByOmTimeZone != null) {
-                               return timeZoneByOmTimeZone;
-                       }
+               TimeZone timeZoneByOmTimeZone = TimeZone
+                               .getTimeZone(omTimeZoneDefault.getIcal());
 
+               if (timeZoneByOmTimeZone != null) {
+                       return timeZoneByOmTimeZone;
                }
 
                // If everything fails take the servers default one

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/AddUsersForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/AddUsersForm.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/AddUsersForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/AddUsersForm.java
 Wed Oct 17 14:47:27 2012
@@ -25,7 +25,6 @@ import java.util.List;
 
 import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
-import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.user.Users;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupUsersPanel.java
 Wed Oct 17 14:47:27 2012
@@ -19,7 +19,6 @@
 package org.apache.openmeetings.web.components.admin.groups;
 
 import org.apache.openmeetings.data.user.dao.OrganisationUserDAO;
-import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.user.Users;
 import org.apache.openmeetings.web.app.Application;
@@ -36,7 +35,6 @@ import org.apache.wicket.markup.html.Web
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.markup.repeater.data.DataView;
 import org.apache.wicket.model.Model;
 
 public class GroupUsersPanel extends Panel {
@@ -56,11 +54,15 @@ public class GroupUsersPanel extends Pan
                        private static final long serialVersionUID = 1L;
 
                        public long size() {
-                               return 
Application.getBean(OrganisationUserDAO.class).count(organisationId);
+                               return search == null
+                                               ? 
Application.getBean(OrganisationUserDAO.class).count(organisationId)
+                                               : 
Application.getBean(OrganisationUserDAO.class).count(organisationId, search);
                        }
                        
                        public java.util.Iterator<? extends Organisation_Users> 
iterator(long first, long count) {
-                               return 
Application.getBean(OrganisationUserDAO.class).get(organisationId, (int)first, 
(int)count).iterator();
+                               return (search == null
+                                               ? 
Application.getBean(OrganisationUserDAO.class).get(organisationId, (int)first, 
(int)count)
+                                               : 
Application.getBean(OrganisationUserDAO.class).get(organisationId, search, 
(int)first, (int)count)).iterator();
                        }
                }) {
                        private static final long serialVersionUID = 
8715559628755439596L;
@@ -68,8 +70,8 @@ public class GroupUsersPanel extends Pan
                        @Override
                        protected void populateItem(Item<Organisation_Users> 
item) {
                                final Organisation_Users orgUser = 
item.getModelObject();
-                               if (orgUser.getUser_id() != null) {
-                                       Users u = 
Application.getBean(UsersDaoImpl.class).get(orgUser.getUser_id());
+                               Users u = orgUser.getUser();
+                               if (u != null) {
                                        item.add(new Label("label", 
Model.of(getUser(u))));
                                } else {
                                        item.add(new Label("label", 
Model.of("")));

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 Wed Oct 17 14:47:27 2012
@@ -30,7 +30,6 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.markup.repeater.data.DataView;
 
 public class GroupsPanel extends AdminPanel {
        private static final long serialVersionUID = -5170400556006464830L;

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
 Wed Oct 17 14:47:27 2012
@@ -36,7 +36,6 @@ import org.apache.wicket.ajax.AjaxReques
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.repeater.Item;
-import org.apache.wicket.markup.repeater.data.DataView;
 
 /**
  * Language Editor, add/insert/update {@link Fieldlanguagesvalues} and

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java?rev=1399283&r1=1399282&r2=1399283&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java
 Wed Oct 17 14:47:27 2012
@@ -30,7 +30,7 @@ import org.apache.wicket.model.IModel;
 public class OmDataProvider<T extends OmEntity> implements IDataProvider<T> {
        private static final long serialVersionUID = 4325721185888905204L;
        protected Class<? extends OmDAO<T>> clazz;
-       private String search = null;
+       protected String search = null;
        
        public OmDataProvider(Class<? extends OmDAO<T>> c) {
                this.clazz = c;


Reply via email to