You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2012/10/17 16:47:28 UTC
svn commit: r1399283 - in /incubator/openmeetings/trunk/singlewebapp: ./
.settings/ src/org/apache/openmeetings/data/user/
src/org/apache/openmeetings/data/user/dao/
src/org/apache/openmeetings/persistence/beans/domain/
src/org/apache/openmeetings/pers...
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;