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 06:37:03 UTC

svn commit: r1399091 [1/2] - in /incubator/openmeetings/trunk/singlewebapp: WebContent/WEB-INF/ src/org/apache/openmeetings/axis/services/ src/org/apache/openmeetings/backup/ src/org/apache/openmeetings/data/ src/org/apache/openmeetings/data/basic/ src...

Author: solomax
Date: Wed Oct 17 04:37:02 2012
New Revision: 1399091

URL: http://svn.apache.org/viewvc?rev=1399091&view=rev
Log:
Wicket: basic search is added (underlying methods are implemented for users only)

Added:
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/RoomDAO.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/OmDataView.java
Modified:
    incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/CalendarWebService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ConfigurationDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/PollManagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
    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/documents/GenerateImage.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/CalendarService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/UploadController.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.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/components/admin/ldaps/LdapsPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomsPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UsersPanel.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/data/OmDataProvider.java

Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml Wed Oct 17 04:37:02 2012
@@ -178,6 +178,7 @@
 	<bean id="appointmentCategoryDaoImpl"
 		class="org.apache.openmeetings.data.calendar.daos.AppointmentCategoryDaoImpl" />
 	<bean id="roommanagement" class="org.apache.openmeetings.data.conference.Roommanagement" />
+	<bean id="roomDAO" class="org.apache.openmeetings.data.conference.RoomDAO" />
 	<bean id="organisationmanagement" class="org.apache.openmeetings.data.user.Organisationmanagement" />
 	<bean id="organisationDAO" class="org.apache.openmeetings.data.user.dao.OrganisationDAO" />
 	<bean id="organisationUserDAO" class="org.apache.openmeetings.data.user.dao.OrganisationUserDAO" />

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/CalendarWebService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/CalendarWebService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/CalendarWebService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/CalendarWebService.java Wed Oct 17 04:37:02 2012
@@ -37,6 +37,7 @@ import org.apache.openmeetings.data.cale
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDaoImpl;
 import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.data.user.dao.UserContactsDaoImpl;
@@ -75,6 +76,8 @@ public class CalendarWebService {
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private AuthLevelmanagement authLevelManagement;
 	@Autowired
 	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
@@ -476,7 +479,7 @@ public class CalendarWebService {
 				room.setName(appointmentName);
 				room.setRoomtype(rt);
 
-				roommanagement.updateRoomObject(room);
+				roomDao.update(room, users_id);
 			}
 
 			Users user = userManagement.getUserById(users_id);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java Wed Oct 17 04:37:02 2012
@@ -34,6 +34,7 @@ import org.apache.openmeetings.data.bean
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.management.MeetingMemberLogic;
 import org.apache.openmeetings.data.conference.Invitationmanagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.flvrecord.FlvRecordingDaoImpl;
 import org.apache.openmeetings.data.user.Usermanagement;
@@ -86,6 +87,8 @@ public class RoomWebService {
 	private ClientListManager clientListManager;
 	@Autowired
 	private MeetingMemberLogic meetingMemberLogic;
+	@Autowired
+	private RoomDAO roomDao;
 
 	/**
 	 * Returns an Object of Type RoomsList which contains a list of
@@ -2234,7 +2237,7 @@ public class RoomWebService {
 													// isMonthly, isYearly,
 						1L, // categoryId
 						reminderTypeId, // 1=none, 2=simple mail, 3=ICAL
-						roommanagement.getRoomById(rooms_id), 1L, // language_id
+						roomDao.get(rooms_id), 1L, // language_id
 						isPasswordProtected, // isPasswordProtected
 						password, // password
 						false, us.getOmTimeZone().getJname());

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java Wed Oct 17 04:37:02 2012
@@ -20,21 +20,21 @@ package org.apache.openmeetings.backup;
 
 import java.util.Map;
 
-import org.apache.openmeetings.data.conference.Roommanagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.simpleframework.xml.stream.InputNode;
 import org.simpleframework.xml.stream.OutputNode;
 
 public class RoomConverter extends OmConverter<Rooms> {
-	private Roommanagement roommanagement;
+	private RoomDAO roomDao;
 	private Map<Long, Long> idMap;
 	
 	public RoomConverter() {
 		//default constructor is for export
 	}
 	
-	public RoomConverter(Roommanagement roommanagement, Map<Long, Long> idMap) {
-		this.roommanagement = roommanagement;
+	public RoomConverter(RoomDAO roomDao, Map<Long, Long> idMap) {
+		this.roomDao = roomDao;
 		this.idMap = idMap;
 	}
 	
@@ -42,7 +42,7 @@ public class RoomConverter extends OmCon
 		long oldOrgId = getlongValue(node);
 		long newId = idMap.containsKey(oldOrgId) ? idMap.get(oldOrgId) : oldOrgId;
 
-		return roommanagement.getRoomById(newId);
+		return roomDao.get(newId);
 	}
 
 	public void write(OutputNode node, Rooms value) throws Exception {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/OmDAO.java Wed Oct 17 04:37:02 2012
@@ -34,41 +34,58 @@ public interface OmDAO<T extends OmEntit
 	/**
 	 * Get an instance of an {@link T}
 	 * 
-	 * @param id
-	 * @return
+	 * @param id - id of instance to retrieve
+	 * @return instance with the id gived
 	 */
-	public T get(long id);
+	T get(long id);
 
 	/**
 	 * Get a list of instances of {@link T}
 	 * 
-	 * @param start
-	 * @param count
-	 * @return
+	 * @param start - the start to range to retrieve
+	 * @param count - maximum instance count to retrieve
+	 * @return list of instances in the range specified
 	 */
-	public List<T> get(int start, int count);
+	List<T> get(int start, int count);
+
+	/**
+	 * Get a list of instances of {@link T}
+	 * 
+	 * @param search - string search criteria to filter entities
+	 * @param start - the start to range to retrieve
+	 * @param count - maximum instance count to retrieve
+	 * @return list of instances in the range specified
+	 */
+	List<T> get(String search, int start, int count);
 
 	/**
 	 * Count the number of instances of {@link T}
 	 * 
-	 * @return
+	 * @return count of instances
 	 */
-	public long count();
+	long count();
+
+	/**
+	 * Count the number of instances of {@link T}
+	 * 
+	 * @param search - string search criteria to filter entities
+	 * @return count of instances satisfying given search criteria
+	 */
+	long count(String search);
 
 	/**
 	 * Update an instance of {@link T}
 	 * 
-	 * @param entity
-	 * @param userId
+	 * @param entity - entity to be updated
+	 * @param userId - user performed update
 	 */
-	public void update(T entity, long userId);
+	void update(T entity, long userId);
 
 	/**
 	 * Delete an instance of {@link T}
 	 * 
-	 * @param entity
-	 * @param userId
+	 * @param entity - entity to be deleted
+	 * @param userId - user performed delete
 	 */
-	public void delete(T entity, long userId);
-
+	void delete(T entity, long userId);
 }

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java Wed Oct 17 04:37:02 2012
@@ -56,6 +56,16 @@ public class FieldLanguagesValuesDaoImpl
 				Long.class, "1"), first, count);
 	}
 
+	public List<Fieldlanguagesvalues> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
+	public List<Fieldlanguagesvalues> get(Long language_id, String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
 	/**
 	 * Advanced query to set the language id
 	 * 
@@ -115,6 +125,11 @@ public class FieldLanguagesValuesDaoImpl
 		return q.getSingleResult();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java Wed Oct 17 04:37:02 2012
@@ -59,6 +59,16 @@ public class FieldValueDaoImpl implement
 				Long.class, "1"), start, count);
 	}
 
+	public List<Fieldvalues> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
+	public List<Fieldvalues> get(Long language_id, String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
 	public List<Fieldvalues> get(Long language_id, int start, int count) {
 		TypedQuery<Fieldvalues> q = em.createNamedQuery("getFieldByLanguage", Fieldvalues.class);
 		//q.setParameter("lang", language_id); //FIXME commented for now
@@ -83,6 +93,11 @@ public class FieldValueDaoImpl implement
 		return q.getSingleResult();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	public void update(Fieldvalues entity, long userId) {
 		entity.setDeleted(false);
 		if (entity.getFieldvalues_id() == null) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ConfigurationDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ConfigurationDaoImpl.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ConfigurationDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ConfigurationDaoImpl.java Wed Oct 17 04:37:02 2012
@@ -328,14 +328,6 @@ public class ConfigurationDaoImpl implem
 		return appName;
 	}
 
-	public List<Configuration> getNondeletedConfiguration(int first, int count) {
-		TypedQuery<Configuration> q = em.createNamedQuery(
-				"getNondeletedConfiguration", Configuration.class);
-		q.setFirstResult(first);
-		q.setMaxResults(count);
-		return q.getResultList();
-	}
-
 	public Configuration get(long id) {
 		try {
 			if (id <= 0) {
@@ -352,13 +344,27 @@ public class ConfigurationDaoImpl implem
 	}
 
 	public List<Configuration> get(int start, int count) {
-		return getNondeletedConfiguration(start, count);
+		TypedQuery<Configuration> q = em.createNamedQuery(
+				"getNondeletedConfiguration", Configuration.class);
+		q.setFirstResult(start);
+		q.setMaxResults(count);
+		return q.getResultList();
 	}
 
+	public List<Configuration> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
 	public long count() {
 		return selectMaxFromConfigurations();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	public void update(Configuration entity, long userId) {
 		if (entity.getConfiguration_id() == null
 				|| entity.getConfiguration_id() <= 0) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/LdapConfigDaoImpl.java Wed Oct 17 04:37:02 2012
@@ -280,22 +280,28 @@ public class LdapConfigDaoImpl implement
 		return null;
 	}
 
-	public List<LdapConfig> getNondeletedLdapConfig(int first, int count) {
+	public List<LdapConfig> get(int start, int count) {
 		TypedQuery<LdapConfig> q = em.createNamedQuery(
 				"getNondeletedLdapConfigs", LdapConfig.class);
-		q.setFirstResult(first);
+		q.setFirstResult(start);
 		q.setMaxResults(count);
 		return q.getResultList();
 	}
 
-	public List<LdapConfig> get(int start, int count) {
-		return getNondeletedLdapConfig(start, count);
+	public List<LdapConfig> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
 	}
-
+	
 	public long count() {
 		return selectMaxFromLdapConfig();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	public void update(LdapConfig entity, long userId) {
 		try {
 			if (entity.getLdapConfigId() <= 0) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java Wed Oct 17 04:37:02 2012
@@ -81,6 +81,11 @@ public class ServerDaoImpl implements Om
 		return q.getResultList();
 	}
 	
+	public List<Server> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -93,6 +98,11 @@ public class ServerDaoImpl implements Om
 		return q.getSingleResult();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	/*
 	 * (non-Javadoc)
 	 * 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java Wed Oct 17 04:37:02 2012
@@ -29,6 +29,7 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.MeetingMemberDaoImpl;
 import org.apache.openmeetings.data.conference.Invitationmanagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
@@ -62,6 +63,8 @@ public class AppointmentLogic {
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private Invitationmanagement invitationManagement;
 	@Autowired
 	private MeetingMemberDaoImpl meetingMemberDao;
@@ -104,7 +107,7 @@ public class AppointmentLogic {
 	public Appointment getAppointmentByRoom(Long room_id) throws Exception {
 		log.debug("getAppointmentByRoom");
 
-		Rooms room = roommanagement.getRoomById(room_id);
+		Rooms room = roomDao.get(room_id);
 
 		if (room == null)
 			throw new Exception("Room does not exist in database!");
@@ -193,7 +196,7 @@ public class AppointmentLogic {
 			log.debug("Appointmentlogic.saveAppointment : Room - " + room_id);
 			log.debug("Appointmentlogic.saveAppointment : Reminder - " + remind);
 	
-			Rooms room = roommanagement.getRoomById(room_id);
+			Rooms room = roomDao.get(room_id);
 
 			// Re-factor the given time ignoring the Date is always UTC!
 			TimeZone timezone = timezoneUtil.getTimezoneByUser(user);
@@ -361,7 +364,7 @@ public class AppointmentLogic {
 			// Deleting Room
 			boolean isAppRoom = room.getAppointment();
 			if (isAppRoom) {
-				roommanagement.deleteRoom(room);
+				roomDao.delete(room, users_id);
 			}
 
 			return appointmentId;

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java Wed Oct 17 04:37:02 2012
@@ -83,7 +83,7 @@ public class Invitationmanagement {
 	@Autowired
 	private ManageCryptStyle manageCryptStyle;
 	@Autowired
-	private Roommanagement roommanagement;
+	private RoomDAO roomDao;
 	@Autowired
 	private UsersDaoImpl usersDao;
 	@Autowired
@@ -180,7 +180,7 @@ public class Invitationmanagement {
 				invitation.setInvitedBy(us);
 				invitation.setInvitedname(username);
 				invitation.setInvitedEMail(email);
-				invitation.setRoom(roommanagement.getRoomById(rooms_id));
+				invitation.setRoom(roomDao.get(rooms_id));
 				invitation.setConferencedomain(conferencedomain);
 				invitation.setStarttime(new Date());
 				invitation.setAppointmentId(appointmentId);
@@ -569,7 +569,7 @@ public class Invitationmanagement {
 				invitation.setBaseUrl(baseurl);
 				invitation.setInvitedname(username);
 				invitation.setInvitedEMail(email);
-				invitation.setRoom(roommanagement.getRoomById(rooms_id));
+				invitation.setRoom(roomDao.get(rooms_id));
 				invitation.setConferencedomain(conferencedomain);
 				invitation.setStarttime(new Date());
 				invitation.setAppointmentId(appointmentId);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/PollManagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/PollManagement.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/PollManagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/PollManagement.java Wed Oct 17 04:37:02 2012
@@ -50,7 +50,7 @@ public class PollManagement {
 	@Autowired
 	private Usermanagement usermanagement;
 	@Autowired
-	private Roommanagement roommanagement;
+	private RoomDAO roomDao;
 
 	public Long addPollType(Long labelId, Boolean isNumeric) {
 		log.debug("Adding poll type: " + labelId + ", " + isNumeric);
@@ -82,7 +82,7 @@ public class PollManagement {
 		roomP.setPollName(pollName);
 		roomP.setPollQuestion(pollQuestion);
 		roomP.setPollType(getPollType(pollTypeId));
-		roomP.setRoom(roommanagement.getRoomById(rc.getRoom_id()));
+		roomP.setRoom(roomDao.get(rc.getRoom_id()));
 		
 		em.persist(roomP);
 		return roomP;

Added: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/RoomDAO.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/RoomDAO.java?rev=1399091&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/RoomDAO.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/RoomDAO.java Wed Oct 17 04:37:02 2012
@@ -0,0 +1,86 @@
+package org.apache.openmeetings.data.conference;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.TypedQuery;
+
+import org.apache.openmeetings.data.OmDAO;
+import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
+import org.apache.openmeetings.persistence.beans.rooms.Rooms;
+import org.apache.openmeetings.sip.api.impl.asterisk.AsteriskDbSipClient;
+import org.apache.openmeetings.sip.api.request.SIPCreateConferenceRequest;
+import org.apache.openmeetings.sip.api.result.SipCreateConferenceRequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class RoomDAO implements OmDAO<Rooms> {
+	@PersistenceContext
+	private EntityManager em;
+	@Autowired
+	private ConfigurationDaoImpl cfgDao;
+	@Autowired
+	private AsteriskDbSipClient asteriskDbSipClient;
+
+	public Rooms get(long id) {
+		TypedQuery<Rooms> q = em.createNamedQuery("getRoomById", Rooms.class);
+		q.setParameter("id", id);
+		List<Rooms> l = q.getResultList();
+		return l.isEmpty() ? null : l.get(0);
+	}
+
+	public List<Rooms> get(int start, int count) {
+		TypedQuery<Rooms> q = em.createNamedQuery("getNondeletedRooms", Rooms.class);
+		q.setFirstResult(start);
+		q.setMaxResults(count);
+		return q.getResultList();
+	}
+
+	public List<Rooms> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public long count() {
+		TypedQuery<Long> q = em.createNamedQuery("countRooms", Long.class);
+		return q.getSingleResult();
+	}
+
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+
+	public void update(Rooms entity, long userId) {
+		if (entity.getRooms_id() == null) {
+	        /* Red5SIP integration *******************************************************************************/
+			String sipEnabled = cfgDao.getConfValue("red5sip.enable", String.class, "no");
+	        if("yes".equals(sipEnabled)) {
+	            if(entity.getSipNumber() != null && !entity.getSipNumber().isEmpty()) {
+	                asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest(entity.getSipNumber()));
+	            } else {
+	                SipCreateConferenceRequestResult requestResult = asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest());
+	                if(!requestResult.hasError()) {
+	                	entity.setSipNumber(requestResult.getConferenceNumber());
+	                	entity.setConferencePin(requestResult.getConferencePin());
+	                }
+	            }
+	        }
+	        /*****************************************************************************************************/
+			entity.setStarttime(new Date());
+			entity = em.merge(entity);
+		} else {
+			entity.setUpdatetime(new Date());
+			em.persist(entity);
+		}
+	}
+
+	public void delete(Rooms entity, long userId) {
+		entity.setDeleted(true);
+		update(entity, userId);
+	}
+
+}

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java Wed Oct 17 04:37:02 2012
@@ -38,7 +38,6 @@ import org.apache.openmeetings.data.bean
 import org.apache.openmeetings.data.conference.dao.RoomModeratorsDaoImpl;
 import org.apache.openmeetings.data.user.Organisationmanagement;
 import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
-import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.persistence.beans.basic.Server;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
 import org.apache.openmeetings.persistence.beans.rooms.RoomTypes;
@@ -86,6 +85,8 @@ public class Roommanagement {
 	private ClientListManager clientListManager;
     @Autowired
 	private ConfigurationDaoImpl configurationDaoImpl;
+    @Autowired
+	private RoomDAO roomDao;
 
 	/**
 	 * add a new Record to the table roomtypes
@@ -108,33 +109,6 @@ public class Roommanagement {
 		return null;
 	}
 
-	public Long addRoom(Rooms room) {
-		try {
-            /* Red5SIP integration *******************************************************************************/
-			Configuration conf = configurationDaoImpl
-					.getConfKey("red5sip.enable");
-            if(conf != null && conf.getConf_value().equals("yes")) {
-                if(room.getSipNumber() != null && !room.getSipNumber().isEmpty()) {
-                    asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest(room.getSipNumber()));
-                } else {
-                    SipCreateConferenceRequestResult requestResult = asteriskDbSipClient.createSIPConference(new SIPCreateConferenceRequest());
-                    if(!requestResult.hasError()) {
-                        room.setSipNumber(requestResult.getConferenceNumber());
-                        room.setConferencePin(requestResult.getConferencePin());
-                    }
-                }
-            }
-            /*****************************************************************************************************/
-			room.setStarttime(new Date());
-			room = em.merge(room);
-			long returnId = room.getRooms_id();
-			return returnId;
-		} catch (Exception ex2) {
-			log.error("[addRoomType] ", ex2);
-		}
-		return null;
-	}
-
 	/**
 	 * get all availible RoomTypes
 	 * 
@@ -184,7 +158,7 @@ public class Roommanagement {
 	public Rooms getRoomById(long user_level, long rooms_id) {
 		try {
 			if (authLevelManagement.checkUserLevel(user_level)) {
-				return this.getRoomById(rooms_id);
+				return roomDao.get(rooms_id);
 			} else
 				log.error("getRoombyId : Userlevel" + user_level
 						+ " not allowed");
@@ -197,7 +171,7 @@ public class Roommanagement {
 	public Rooms getRoomWithCurrentUsersById(long user_level, long rooms_id) {
 		try {
 			if (authLevelManagement.checkUserLevel(user_level)) {
-				Rooms room = this.getRoomById(rooms_id);
+				Rooms room = roomDao.get(rooms_id);
 
 				if (room != null) {
 					room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id()));
@@ -214,42 +188,6 @@ public class Roommanagement {
 	/**
 	 * Get a Rooms-Object or NULL
 	 * 
-	 * @param rooms_id
-	 * @return Rooms-Object or NULL
-	 */
-	public Rooms getRoomById(long rooms_id) {
-		log.debug("getRoombyId : " + rooms_id);
-		try {
-
-			if (rooms_id == 0) {
-				return null;
-			}
-
-			String hql = "select c from Rooms as c where c.rooms_id = :rooms_id AND c.deleted <> :deleted";
-			Rooms room = null;
-
-			TypedQuery<Rooms> query = em.createQuery(hql, Rooms.class);
-			query.setParameter("rooms_id", rooms_id);
-			query.setParameter("deleted", true);
-			List<Rooms> ll = query.getResultList();
-			if (ll.size() > 0) {
-				room = ll.get(0);
-			}
-
-			if (room != null) {
-				return room;
-			} else {
-				log.info("Could not find room " + rooms_id);
-			}
-		} catch (Exception ex2) {
-			log.error("[getRoomById] ", ex2);
-		}
-		return null;
-	}
-
-	/**
-	 * Get a Rooms-Object or NULL
-	 * 
 	 * @param externalRoomId
 	 * @return Rooms-Object or NULL
 	 */
@@ -310,13 +248,6 @@ public class Roommanagement {
 		return null;
 	}
 	
-	public List<Rooms> getNondeletedRooms(int first, int count) {
-		TypedQuery<Rooms> q = em.createNamedQuery("getNondeletedRooms", Rooms.class);
-		q.setFirstResult(first);
-		q.setMaxResults(count);
-		return q.getResultList();
-	}
-
 	public SearchResult<Rooms> getRoomsWithCurrentUsers(long user_level, int start,
 			int max, String orderby, boolean asc) {
 		try {
@@ -710,9 +641,9 @@ public class Roommanagement {
      * @return number of participants
      */
     public Integer getSipConferenceMembersNumber(Long rooms_id) {
-		Configuration conf = configurationDaoImpl.getConfKey("red5sip.enable");
-        if(conf != null && conf.getConf_value().equals("yes")) {
-            Rooms rooms = this.getRoomById(rooms_id);
+		String sipEnabled = configurationDaoImpl.getConfValue("red5sip.enable", String.class, "no");
+        if("yes".equals(sipEnabled)) {
+            Rooms rooms = roomDao.get(rooms_id);
             if(rooms != null) {
                 return asteriskDbSipClient.getConferenceMembersNumber(rooms.getSipNumber());
             } else {
@@ -800,9 +731,8 @@ public class Roommanagement {
 				}
 
                 /* Red5SIP integration *******************************************************************************/
-				Configuration conf = configurationDaoImpl
-						.getConfKey("red5sip.enable");
-                if(conf != null && conf.getConf_value().equals("yes")) {
+				String sipEnabled = configurationDaoImpl.getConfValue("red5sip.enable", String.class, "no");
+                if("yes".equals(sipEnabled)) {
                     SipCreateConferenceRequestResult requestResult = asteriskDbSipClient
                             .createSIPConference(new SIPCreateConferenceRequest(sipNumber));
 
@@ -965,7 +895,7 @@ public class Roommanagement {
 		try {
 			if (authLevelManagement.checkAdminLevel(user_level)) {
 				Rooms_Organisation rOrganisation = new Rooms_Organisation();
-				rOrganisation.setRoom(this.getRoomById(rooms_id));
+				rOrganisation.setRoom(roomDao.get(rooms_id));
 				log.debug("addRoomToOrganisation rooms '"
 						+ rOrganisation.getRoom().getName() + "'");
 				rOrganisation.setStarttime(new Date());
@@ -1287,7 +1217,7 @@ public class Roommanagement {
 
 				if (this.checkUserOrgRoom(user_id, rooms_id)) {
 
-					Rooms r = this.getRoomById(rooms_id);
+					Rooms r = roomDao.get(rooms_id);
 					r.setComment(comment);
 					r.setIspublic(ispublic);
 					r.setName(name);
@@ -1371,7 +1301,7 @@ public class Roommanagement {
 		try {
 			log.debug("*** updateRoom numberOfPartizipants: "
 					+ numberOfPartizipants);
-			Rooms r = this.getRoomById(rooms_id);
+			Rooms r = roomDao.get(rooms_id);
 			r.setComment(comment);
 
 			r.setIspublic(ispublic);
@@ -1443,7 +1373,7 @@ public class Roommanagement {
 			log.debug("*** updateRoom numberOfPartizipants: "
 					+ numberOfPartizipants);
 			if (authLevelManagement.checkModLevel(user_level)) {
-				Rooms r = this.getRoomById(rooms_id);
+				Rooms r = roomDao.get(rooms_id);
 				r.setComment(comment);
 
 				r.setIspublic(ispublic);
@@ -1554,7 +1484,8 @@ public class Roommanagement {
 		try {
 			if (authLevelManagement.checkWebServiceLevel(user_level)) {
 				this.deleteAllRoomsOrganisationOfRoom(rooms_id);
-				return this.deleteRoom(this.getRoomById(rooms_id));
+				roomDao.delete(roomDao.get(rooms_id), 1L);
+				return rooms_id;
 			}
 		} catch (Exception ex2) {
 			log.error("[deleteRoomById] ", ex2);
@@ -1563,30 +1494,6 @@ public class Roommanagement {
 	}
 
 	/**
-	 * deletes a Room by given Room-Object
-	 * 
-	 * @param r
-	 */
-	public Long deleteRoom(Rooms r) {
-		log.debug("deleteRoom");
-		try {
-			r.setDeleted(true);
-			r.setUpdatetime(new Date());
-			if (r.getRooms_id() == null) {
-				em.persist(r);
-			} else {
-				if (!em.contains(r)) {
-					em.merge(r);
-				}
-			}
-			return r.getRooms_id();
-		} catch (Exception ex2) {
-			log.error("[deleteRoomsOrganisation] ", ex2);
-		}
-		return null;
-	}
-
-	/**
 	 * delete all Rooms_Organisation by a rooms_id
 	 * 
 	 * @param rooms_id
@@ -1675,36 +1582,16 @@ public class Roommanagement {
 		return null;
 	}
 
-	/**
-	 * Update Room Object
-	 */
-	// --------------------------------------------------------------------------------------------
-	public void updateRoomObject(Rooms room) {
-		log.debug("updateRoomObject " + room.getIsClosed());
-
-		try {
-			if (room.getRooms_id() == null) {
-				em.persist(room);
-			} else {
-				if (!em.contains(room)) {
-					em.merge(room);
-				}
-			}
-		} catch (Exception e) {
-			log.error("Error updateRoomObject : ", e);
-		}
-	}
-
 	// --------------------------------------------------------------------------------------------
 
 	public void closeRoom(Long rooms_id, Boolean status) {
 		try {
 
-			Rooms room = this.getRoomById(rooms_id);
+			Rooms room = roomDao.get(rooms_id);
 
 			room.setIsClosed(status);
 
-			this.updateRoomObject(room);
+			roomDao.update(room, 1L);
 
 		} catch (Exception e) {
 			log.error("Error updateRoomObject : ", e);
@@ -1779,7 +1666,7 @@ public class Roommanagement {
 						);
 
 				if (rooms_id != null) {
-					return this.getRoomById(rooms_id);
+					return roomDao.get(rooms_id);
 				}
 			}
 		} catch (Exception ex2) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Organisationmanagement.java Wed Oct 17 04:37:02 2012
@@ -451,7 +451,7 @@ public class Organisationmanagement {
 			List<Organisation_Users> l = u.getOrganisation_users();
 			l.add(orgUser);
 			u.setOrganisation_users(l);
-			usersDao.updateUser(u);
+			usersDao.update(u, 1L);
 			
 			return orgUser.getOrganisation_users_id();
 		} catch (Exception ex2) {
@@ -497,7 +497,7 @@ public class Organisationmanagement {
 					}
 				}
 				u.setOrganisation_users(l);
-				usersDao.updateUser(u);
+				usersDao.update(u, 1L);
 
 				return id;
 			} else {

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -1480,7 +1480,7 @@ public class Usermanagement {
 		log.debug("User: " + us.getLogin());
 		us.setResethash(manageCryptStyle.getInstanceOfCrypt().createPassPhrase(
 				loginData));
-		usersDao.updateUser(us);
+		usersDao.update(us, 1L);
 		String reset_link = appLink + "?lzproxied=solo&hash="
 				+ us.getResethash();
 
@@ -1646,7 +1646,7 @@ public class Usermanagement {
 			user.setPassword(encrypted);
 		}
 
-		usersDao.updateUser(user);
+		usersDao.update(user, 1L);
 
 	}
 
@@ -1760,7 +1760,7 @@ public class Usermanagement {
 	}
 
 	public void updateUser(Users user) {
-		usersDao.updateUser(user);
+		usersDao.update(user, 1L);
 	}
 
 	/**

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -55,11 +55,21 @@ public class OrganisationDAO implements 
 		return q.getResultList();
 	}
 
+	public List<Organisation> get(String search, int start, int count) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
 	public long count() {
 		TypedQuery<Long> q = em.createNamedQuery("countOrganisations", Long.class);
 		return q.getSingleResult();
 	}
 
+	public long count(String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	public void update(Organisation entity, long userId) {
 		if (entity.getOrganisation_id() == null) {
 			entity.setInsertedby(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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -47,6 +47,15 @@ public class OrganisationUserDAO impleme
 		throw new RuntimeException("Should not be used");
 	}
 
+	public List<Organisation_Users> get(String search, int start, int count) {
+		throw new RuntimeException("Should not be used");
+	}
+	
+	public List<Organisation_Users> get(long orgId, String search, int start, int count) {
+		//TODO autogenerated
+		return null;
+	}
+	
 	public List<Organisation_Users> get(long orgId, int start, int count) {
 		TypedQuery<Organisation_Users> q = em.createNamedQuery("getOrganisationUsersByOrgId", Organisation_Users.class);
 		q.setParameter("id", orgId);
@@ -69,6 +78,15 @@ public class OrganisationUserDAO impleme
 		throw new RuntimeException("Should not be used");
 	}
 
+	public long count(String search) {
+		throw new RuntimeException("Should not be used");
+	}
+	
+	public long count(long orgId, String search) {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
 	public long count(long orgId) {
 		TypedQuery<Long> q = em.createNamedQuery("countOrganisationUsers", Long.class);
 		q.setParameter("id", orgId);
@@ -87,7 +105,7 @@ public class OrganisationUserDAO impleme
 			//entity has been detached need to re-fetch
 			Organisation_Users ou = u.getOrganisation_users().remove(idx);
 			em.remove(ou);
-			usersDao.updateUser(u);
+			usersDao.update(u, userId);
 		}
 	}
 

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -26,10 +26,6 @@ import javax.persistence.NoResultExcepti
 import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
 import javax.persistence.TypedQuery;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.openjpa.persistence.OpenJPAPersistence;
@@ -40,6 +36,7 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl;
 import org.apache.openmeetings.persistence.beans.adresses.Adresses;
 import org.apache.openmeetings.persistence.beans.user.Users;
+import org.apache.openmeetings.utils.DaoHelper;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -108,9 +105,50 @@ public class UsersDaoImpl implements OmD
 	 * @see org.apache.openmeetings.data.OmDAO#get(int, int)
 	 */
 	public List<Users> get(int first, int count) {
-		return getNondeletedUsers(first, count);
+		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);
+		q.setFirstResult(start);
+		q.setMaxResults(count);
+		return q.getResultList();
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.openmeetings.data.OmDAO#count()
+	 */
+	public long count() {
+		// get all users
+		TypedQuery<Long> q = em.createQuery(
+				"select count(u) from Users u where u.deleted = false",
+				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);
+		return q.getSingleResult();
+	}
+	
 	// FIXME need to be generalized with other copy/pasted methods
 	public List<Users> get(String search) {
 		String[] searchItems = search.split(" ");
@@ -150,7 +188,13 @@ public class UsersDaoImpl implements OmD
 	 * .beans.OmEntity, long)
 	 */
 	public void update(Users u, long userId) {
-		updateUser(u);
+		if (u.getUser_id() == null) {
+			u.setStarttime(new Date());
+			em.persist(u);
+		} else {
+			u.setUpdatetime(new Date());
+			u =	em.merge(u);
+		}
 	}
 
 	/*
@@ -192,22 +236,6 @@ public class UsersDaoImpl implements OmD
 		return null;
 	}
 
-	public void updateUser(Users user) {
-		try {
-			if (user.getUser_id() == null) {
-				user.setStarttime(new Date());
-				em.persist(user);
-			} else {
-				user.setUpdatetime(new Date());
-				if (!em.contains(user)) {
-					em.merge(user);
-				}
-			}
-		} catch (Exception ex2) {
-			log.error("[updateUser] ", ex2);
-		}
-	}
-
 	public Long deleteUserID(long userId) {
 		try {
 			if (userId != 0) {
@@ -234,40 +262,10 @@ public class UsersDaoImpl implements OmD
 		return null;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.apache.openmeetings.data.OmDAO#count()
-	 */
-	public long count() {
-		// get all users
-		TypedQuery<Long> query = em.createQuery(
-				"select count(c.user_id) from Users c where c.deleted = false",
-				Long.class);
-		List<Long> ll = query.getResultList();
-		return ll.get(0);
-	}
-
-	public List<Users> getNondeletedUsers(int first, int count) {
-		TypedQuery<Users> q = em.createNamedQuery("getNondeletedUsers",
-				Users.class);
-		q.setFirstResult(first);
-		q.setMaxResults(count);
-		return q.getResultList();
-	}
-
 	public List<Users> getAllUsers() {
 		try {
-			// get all non-deleted users
-			CriteriaBuilder cb = em.getCriteriaBuilder();
-			CriteriaQuery<Users> cq = cb.createQuery(Users.class);
-			Root<Users> c = cq.from(Users.class);
-			Predicate condition = cb.equal(c.get("deleted"), false);
-			cq.where(condition);
-			TypedQuery<Users> q = em.createQuery(cq);
-			List<Users> ll = q.getResultList();
-
-			return ll;
+			TypedQuery<Users> q = em.createNamedQuery("getNondeletedUsers", Users.class);
+			return q.getResultList();
 		} catch (Exception ex2) {
 			log.error("[getAllUsers] ", ex2);
 		}
@@ -432,7 +430,7 @@ public class UsersDaoImpl implements OmD
 				us.setPassword(manageCryptStyle.getInstanceOfCrypt()
 						.createPassPhrase(pass));
 				us.setResethash("");
-				updateUser(us);
+				update(us, 1L);
 				return new Long(-8);
 			} else {
 				return u;

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/documents/GenerateImage.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/documents/GenerateImage.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/documents/GenerateImage.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/documents/GenerateImage.java Wed Oct 17 04:37:02 2012
@@ -114,7 +114,7 @@ public class GenerateImage {
 		Users us = usersDao.get(users_id);
 		us.setUpdatetime(new java.util.Date());
 		us.setPictureuri(pictureuri);
-		usersDao.updateUser(us);
+		usersDao.update(us, users_id);
 
 		//FIXME: After uploading a new picture all other clients should refresh
 		//scopeApplicationAdapter.updateUserSessionObject(users_id, pictureuri);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java Wed Oct 17 04:37:02 2012
@@ -49,11 +49,10 @@ import org.simpleframework.xml.Root;
 
 @Entity
 @NamedQueries({
-	@NamedQuery(name = "getNondeletedRooms", query = "SELECT u FROM Rooms u "
-			+ "WHERE u.deleted = false"),
-	@NamedQuery(name = "getBackupRooms", query = "SELECT c FROM Rooms c "
-			+ "LEFT JOIN FETCH c.moderators "
-			+ "WHERE c.deleted <> true ")
+	@NamedQuery(name = "getNondeletedRooms", query = "SELECT r FROM Rooms r WHERE r.deleted = false")
+	, @NamedQuery(name = "getRoomById", query = "SELECT r FROM Rooms r WHERE r.deleted = false AND r.rooms_id = :id")
+	, @NamedQuery(name = "countRooms", query = "SELECT COUNT(r) FROM Rooms r WHERE r.deleted = false")
+	, @NamedQuery(name = "getBackupRooms", query = "SELECT r FROM Rooms r LEFT JOIN FETCH r.moderators WHERE r.deleted = false ")
 })
 @Table(name = "rooms")
 @Root(name = "room")

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/CalendarService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/CalendarService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/CalendarService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/CalendarService.java Wed Oct 17 04:37:02 2012
@@ -29,6 +29,7 @@ import org.apache.openmeetings.data.cale
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDaoImpl;
 import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.persistence.beans.calendar.Appointment;
@@ -58,6 +59,8 @@ public class CalendarService {
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private AuthLevelmanagement authLevelManagement;
 	@Autowired
 	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
@@ -238,11 +241,11 @@ public class CalendarService {
 				Rooms room = app.getRoom();
 				if (roomId > 0) {
 					if ( room.getRooms_id() != roomId) {
-						app.setRoom(roommanagement.getRoomById(roomId));
+						app.setRoom(roomDao.get(roomId));
 						appointmentDao.updateAppointment(app);
 						boolean isAppRoom = room.getAppointment();
 						if (isAppRoom) {
-							roommanagement.deleteRoom(room);
+							roomDao.delete(room, users_id);
 						}
 					}
 				} else {
@@ -254,7 +257,7 @@ public class CalendarService {
 						room.setName(appointmentName);
 						room.setRoomtype(rt);
 	
-						roommanagement.updateRoomObject(room);
+						roomDao.update(room, users_id);
 					}
 				}
 				Users user = userManagement.getUserById(users_id);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java Wed Oct 17 04:37:02 2012
@@ -33,6 +33,7 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.dao.ServerDaoImpl;
 import org.apache.openmeetings.data.beans.basic.SearchResult;
 import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.conference.dao.RoomModeratorsDaoImpl;
 import org.apache.openmeetings.data.user.Usermanagement;
@@ -71,6 +72,8 @@ public class ConferenceService {
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private RoomModeratorsDaoImpl roomModeratorsDao;
 	@Autowired
 	private AuthLevelmanagement authLevelManagement;
@@ -283,7 +286,7 @@ public class ConferenceService {
 	public Appointment getAppointMentDataForRoom(Long room_id) {
 		log.debug("getAppointMentDataForRoom");
 
-		Rooms room = roommanagement.getRoomById(room_id);
+		Rooms room = roomDao.get(room_id);
 
 		if (room.getAppointment() == false)
 			return null;
@@ -313,7 +316,7 @@ public class ConferenceService {
 			RoomClient currentClient = this.clientListManager
 					.getClientByStreamId(streamid);
 	
-			Rooms room = roommanagement.getRoomById(room_id);
+			Rooms room = roomDao.get(room_id);
 	
 			if (room.getAppointment() == false) {
 				throw new IllegalStateException("Room has no appointment");
@@ -370,7 +373,7 @@ public class ConferenceService {
 					Appointment ment = points.get(i);
 
 					Long rooms_id = ment.getRoom().getRooms_id();
-					Rooms rooom = roommanagement.getRoomById(rooms_id);
+					Rooms rooom = roomDao.get(rooms_id);
 
 					if (!rooom.getRoomtype().getRoomtypes_id()
 							.equals(room_types_id))
@@ -409,7 +412,7 @@ public class ConferenceService {
 						Appointment ment = appointments.get(i);
 
 						Long rooms_id = ment.getRoom().getRooms_id();
-						Rooms rooom = roommanagement.getRoomById(rooms_id);
+						Rooms rooom = roomDao.get(rooms_id);
 
 						rooom.setCurrentusers(this
 								.getRoomClientsListByRoomId(rooom.getRooms_id()));
@@ -697,9 +700,9 @@ public class ConferenceService {
 			}
 			if (roomId > -1 && serverId > -1) {
 				try {
-					Rooms room = roommanagement.getRoomById(roomId);
+					Rooms room = roomDao.get(roomId);
 					room.setServer(serverDao.get(serverId));
-					roommanagement.updateRoomObject(room);
+					roomDao.update(room, users_id);
 				} catch (Exception e) {
 					log.error("Error while setting server.");
 				}
@@ -753,7 +756,7 @@ public class ConferenceService {
 	 */
 	public boolean isRoomFull(Long room_id) {
 		try {
-			Rooms room = roommanagement.getRoomById(room_id);
+			Rooms room = roomDao.get(room_id);
 			
 			if (room.getNumberOfPartizipants() <= this.clientListManager
 					.getClientListByRoom(room_id).size()) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java Wed Oct 17 04:37:02 2012
@@ -29,7 +29,7 @@ import java.util.Set;
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.basic.AuthLevelmanagement;
 import org.apache.openmeetings.data.basic.Sessionmanagement;
-import org.apache.openmeetings.data.conference.Roommanagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.flvrecord.FlvRecordingDaoImpl;
 import org.apache.openmeetings.data.flvrecord.FlvRecordingLogDaoImpl;
 import org.apache.openmeetings.data.flvrecord.FlvRecordingMetaDataDaoImpl;
@@ -88,7 +88,7 @@ public class FLVRecorderService implemen
 	@Autowired
 	private UsersDaoImpl usersDaoImpl;
 	@Autowired
-	private Roommanagement roommanagement;
+	private RoomDAO roomDao;
 	@Autowired
 	private FlvRecorderConverterTask flvRecorderConverterTask;
 	@Autowired
@@ -717,8 +717,7 @@ public class FLVRecorderService implemen
 				}
 
 				if (flvRecording.getRoom_id() != null) {
-					flvRecording.setRoom(this.roommanagement
-							.getRoomById(flvRecording.getRoom_id()));
+					flvRecording.setRoom(roomDao.get(flvRecording.getRoom_id()));
 				}
 
 				flvRecording.setFlvRecordingLog(this.flvRecordingLogDaoImpl

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java Wed Oct 17 04:37:02 2012
@@ -38,6 +38,7 @@ import org.apache.openmeetings.data.bean
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.MeetingMemberDaoImpl;
 import org.apache.openmeetings.data.conference.Invitationmanagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.user.Organisationmanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
@@ -105,6 +106,8 @@ public class UserService {
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private MeetingMemberDaoImpl meetingMemberDao;
 	@Autowired
 	private PrivateMessagesDaoImpl privateMessagesDao;
@@ -1023,7 +1026,7 @@ public class UserService {
 							false, // chatModerated
 							from.getServer());
 
-					room = roommanagement.getRoomById(room_id);
+					room = roomDao.get(room_id);
 
 					String sendJNameTimeZone = from.getOmTimeZone().getJname();
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Wed Oct 17 04:37:02 2012
@@ -37,11 +37,11 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.MeetingMemberDaoImpl;
 import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.logs.ConferenceLogDaoImpl;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
-import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.persistence.beans.calendar.Appointment;
 import org.apache.openmeetings.persistence.beans.calendar.MeetingMember;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
@@ -97,6 +97,8 @@ public class ScopeApplicationAdapter ext
 	@Autowired
 	private UsersDaoImpl usersDao;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private MeetingMemberDaoImpl meetingMemberDao;
 
 	public static String lineSeperator = System.getProperty("line.separator");
@@ -120,12 +122,7 @@ public class ScopeApplicationAdapter ext
 
 			// Only load this Class one time
 			// Initially this value might by empty, because the DB is empty yet
-			Configuration conf = configurationDaoImpl
-					.getConfKey("crypt_ClassName");
-			if (conf != null) {
-				ScopeApplicationAdapter.configKeyCryptClassName = conf
-						.getConf_value();
-			}
+			getCryptKey();
 
 			// init your handler here
 
@@ -1247,8 +1244,7 @@ public class ScopeApplicationAdapter ext
 				return 2L;
 			} else {
 				// No moderator in this room at the moment
-				Rooms room = roommanagement.getRoomById(currentClient
-						.getRoom_id());
+				Rooms room = roomDao.get(currentClient.getRoom_id());
 
 				if (room.getIsModeratedRoom()) {
 					return 3L;
@@ -1358,7 +1354,7 @@ public class ScopeApplicationAdapter ext
 		try {
 
 			// appointed meeting or moderated Room?
-			Rooms room = roommanagement.getRoomById(room_id);
+			Rooms room = roomDao.get(room_id);
 
 			// not really - default logic
 			if (room.getAppointment() == null || room.getAppointment() == false) {
@@ -1461,7 +1457,7 @@ public class ScopeApplicationAdapter ext
 			this.clientListManager.updateClientByStreamId(streamid,
 					currentClient);
 
-            Rooms room = roommanagement.getRoomById(room_id);
+            Rooms room = roomDao.get(room_id);
             if (room.getShowMicrophoneStatus()) {
             	currentClient.setCanGiveAudio(true);
             }
@@ -2897,13 +2893,10 @@ public class ScopeApplicationAdapter ext
 		try {
 
 			if (ScopeApplicationAdapter.configKeyCryptClassName == null) {
-				Configuration conf = configurationDaoImpl
-						.getConfKey(
-						"crypt_ClassName");
-
-				if (conf != null) {
-					ScopeApplicationAdapter.configKeyCryptClassName = conf
-							.getConf_value();
+				String cryptClass = configurationDaoImpl.getConfValue("crypt_ClassName", String.class, null);
+
+				if (cryptClass != null) {
+					ScopeApplicationAdapter.configKeyCryptClassName = cryptClass;
 				}
 			}
 
@@ -2915,13 +2908,7 @@ public class ScopeApplicationAdapter ext
 	}
 
     public String getExclusiveAudioKeyCode() {
-		Configuration conf = configurationDaoImpl
-				.getConfKey("exclusive.audio.keycode");
-        if (null != conf) {
-            return conf.getConf_value();
-        } else {
-            return null;
-        }
+		return configurationDaoImpl.getConfValue("exclusive.audio.keycode", String.class, null);
     }
 
 	public synchronized IScope getRoomScope(String room) {
@@ -2973,7 +2960,7 @@ public class ScopeApplicationAdapter ext
         IConnection current = Red5.getConnectionLocal();
         String streamid = current.getClient().getId();
         RoomClient currentClient = this.clientListManager.getClientByStreamId(streamid);
-        Rooms rooms = roommanagement.getRoomById(currentClient.getRoom_id());
+        Rooms rooms = roomDao.get(currentClient.getRoom_id());
         log.debug("asterisk -rx \"originate Local/" + number + "@rooms extension " + rooms.getSipNumber() + "@rooms\"");
         try {
             Runtime.getRuntime().exec(new String[]{"asterisk", "-rx", "originate Local/" + number + "@rooms extension " + rooms.getSipNumber() + "@rooms"});
@@ -2983,7 +2970,7 @@ public class ScopeApplicationAdapter ext
     }
 
     public synchronized String getSipNumber(Long room_id) {
-        Rooms rooms = roommanagement.getRoomById(room_id);
+        Rooms rooms = roomDao.get(room_id);
         if(rooms != null) {
             log.debug("getSipNumber: room_id: {}, sipNumber: {}", new Object[]{room_id, rooms.getSipNumber()});
             return rooms.getSipNumber();

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java Wed Oct 17 04:37:02 2012
@@ -66,6 +66,7 @@ import org.apache.openmeetings.data.cale
 import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.MeetingMemberDaoImpl;
 import org.apache.openmeetings.data.conference.PollManagement;
+import org.apache.openmeetings.data.conference.RoomDAO;
 import org.apache.openmeetings.data.conference.Roommanagement;
 import org.apache.openmeetings.data.conference.dao.RoomModeratorsDaoImpl;
 import org.apache.openmeetings.data.file.dao.FileExplorerItemDaoImpl;
@@ -146,6 +147,8 @@ public class BackupImportController exte
 	@Autowired
 	private Roommanagement roommanagement;
 	@Autowired
+	private RoomDAO roomDao;
+	@Autowired
 	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
 	@Autowired
 	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
@@ -325,8 +328,8 @@ public class BackupImportController exte
 				// otherwise
 				r.setRooms_id(null);
 
-				Long newRoomId = roommanagement.addRoom(r);
-				roomsMap.put(roomId, newRoomId);
+				roomDao.update(r, 1L);
+				roomsMap.put(roomId, r.getRooms_id());
 				
 				for (RoomModerators rm : r.getModerators()) {
 					roomModeratorsDao.addRoomModeratorByObj(rm);
@@ -349,7 +352,7 @@ public class BackupImportController exte
 			Serializer serializer = new Persister(strategy);
 	
 			registry.bind(Organisation.class, new OrganisationConverter(organisationmanagement, organisationsMap));
-			registry.bind(Rooms.class, new RoomConverter(roommanagement, roomsMap));
+			registry.bind(Rooms.class, new RoomConverter(roomDao, roomsMap));
 			
 			List<Rooms_Organisation> list = readList(serializer, f, "rooms_organisation.xml", "room_organisations", Rooms_Organisation.class);
 			for (Rooms_Organisation ro : list) {
@@ -371,7 +374,7 @@ public class BackupImportController exte
 			registry.bind(AppointmentCategory.class, new AppointmentCategoryConverter(appointmentCategoryDaoImpl));
 			registry.bind(Users.class, new UserConverter(userManagement, usersMap));
 			registry.bind(AppointmentReminderTyps.class, new AppointmentReminderTypeConverter(appointmentReminderTypDaoImpl));
-			registry.bind(Rooms.class, new RoomConverter(roommanagement, roomsMap));
+			registry.bind(Rooms.class, new RoomConverter(roomDao, roomsMap));
 			registry.bind(Date.class, DateConverter.class);
 			
 			List<Appointment> list = readList(serializer, f, "appointements.xml", "appointments", Appointment.class);
@@ -498,7 +501,7 @@ public class BackupImportController exte
 			Serializer serializer = new Persister(strategy);
 	
 			registry.bind(Users.class, new UserConverter(userManagement, usersMap));
-			registry.bind(Rooms.class, new RoomConverter(roommanagement, roomsMap));
+			registry.bind(Rooms.class, new RoomConverter(roomDao, roomsMap));
 			registry.bind(Date.class, DateConverter.class);
 			
 			List<PrivateMessages> list = readList(serializer, f, "privateMessages.xml", "privatemessages", PrivateMessages.class, true);
@@ -545,7 +548,7 @@ public class BackupImportController exte
 			Serializer serializer = new Persister(strategy);
 	
 			registry.bind(Users.class, new UserConverter(userManagement, usersMap));
-			registry.bind(Rooms.class, new RoomConverter(roommanagement, roomsMap));
+			registry.bind(Rooms.class, new RoomConverter(roomDao, roomsMap));
 			registry.bind(PollType.class, new PollTypeConverter(pollManagement));
 			registry.bind(Date.class, DateConverter.class);
 			

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/UploadController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/UploadController.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/UploadController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/UploadController.java Wed Oct 17 04:37:02 2012
@@ -298,7 +298,7 @@ public class UploadController extends Ab
 				Users us = usersDao.get(userId);
 				us.setUpdatetime(new java.util.Date());
 				us.setPictureuri(pictureuri);
-				usersDao.updateUser(us);
+				usersDao.update(us, userId);
 
 				//FIXME: After updating the picture url all other users should refresh
 			} else {

Added: 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=1399091&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/DaoHelper.java Wed Oct 17 04:37:02 2012
@@ -0,0 +1,44 @@
+package org.apache.openmeetings.utils;
+
+import org.apache.commons.lang.StringUtils;
+
+public class DaoHelper {
+
+	public static StringBuilder getWhereClause(String search, String alias, String... fields) {
+		StringBuilder sb = new StringBuilder();
+		getWhereClause(sb, search, alias, fields);
+		return sb;
+	}
+	
+	public static void getWhereClause(StringBuilder sb, String search, String alias, String... fields) {
+		if (search != null) {
+			boolean notEmpty = false;
+			String[] searchItems = search.split(" ");
+			for (int i = 0; i < searchItems.length; ++i) {
+				if (searchItems[i].isEmpty()) {
+					continue;
+				}
+				if (i == 0) {
+					notEmpty = true;
+					sb.append(" (");
+				} else {
+					sb.append(" OR ");
+				}
+				StringBuilder placeholder = new StringBuilder();
+				placeholder.append("%").append(StringUtils.lowerCase(searchItems[i])).append("%");
+	
+				sb.append("(");
+				for (int j = 0; j < fields.length; ++j) {
+					if (j != 0) {
+						sb.append(" OR ");
+					}
+					sb.append("lower(").append(alias).append(".").append(fields[j]).append(") LIKE '").append(placeholder).append("' ");
+				}
+				sb.append(")");
+			}
+			if (notEmpty) {
+				sb.append(") ");
+			}
+		}
+	}
+}

Added: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/OmDataView.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/OmDataView.java?rev=1399091&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/OmDataView.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/OmDataView.java Wed Oct 17 04:37:02 2012
@@ -0,0 +1,20 @@
+package org.apache.openmeetings.web.components.admin;
+
+import org.apache.openmeetings.persistence.beans.OmEntity;
+import org.apache.openmeetings.web.data.OmDataProvider;
+import org.apache.wicket.markup.repeater.data.DataView;
+
+public abstract class OmDataView<T extends OmEntity> extends DataView<T> {
+	private static final long serialVersionUID = -6251644410385789409L;
+	private OmDataProvider<T> dp;
+	
+	public OmDataView(String id, OmDataProvider<T> dp) {
+		super(id, dp);
+		this.dp = dp;
+	}
+	
+	@Override
+	public OmDataProvider<T> getDataProvider() {
+		return dp;
+	}
+}

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html Wed Oct 17 04:37:02 2012
@@ -24,6 +24,9 @@
 		<form wicket:id="pagingForm">
 			<select wicket:id="entitiesPerPage"></select>
 			<span wicket:id="navigator">[dataview navigator]</span>
+			<form wicket:id="searchForm" style="display: inline-block;">
+				<input type="text" wicket:id="searchText" wicket:ommessage="title:714"/><input type="submit" wicket:id="search" wicket:ommessage="value:715"/>
+			</form>
 		</form>
 	</wicket:panel>
 </html>
\ No newline at end of file

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java Wed Oct 17 04:37:02 2012
@@ -22,12 +22,14 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.openmeetings.persistence.beans.OmEntity;
+import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.PropertyModel;
 
 public abstract class PagedEntityListPanel extends AdminPanel {
@@ -35,7 +37,7 @@ public abstract class PagedEntityListPan
 	private int entitiesPerPage = 50;
 	private List<Integer> numbers = Arrays.asList(10, 25, 50, 75, 100, 200);
 	
-	public PagedEntityListPanel(String id, final DataView<? extends OmEntity> dataView) {
+	public PagedEntityListPanel(String id, final OmDataView<? extends OmEntity> dataView) {
 		super(id);
 		
 		dataView.setItemsPerPage(entitiesPerPage);
@@ -56,6 +58,18 @@ public abstract class PagedEntityListPan
 					}
 				}));
 		
+		final OmDataProvider<? extends OmEntity> dp = dataView.getDataProvider();
+		Form<Void> searchForm = new Form<Void>("searchForm");
+		f.add(searchForm);
+		searchForm.add(new TextField<String>("searchText", new PropertyModel<String>(dp, "search")).setOutputMarkupId(true));
+		searchForm.add(new AjaxButton("search", searchForm) {
+			private static final long serialVersionUID = -1659023337945692814L;
+
+			@Override
+			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+				PagedEntityListPanel.this.onEvent(target);
+			}
+		});
 		add(f);
 	}
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java Wed Oct 17 04:37:02 2012
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.comp
 import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
 import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
+import org.apache.openmeetings.web.components.admin.OmDataView;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
@@ -29,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;
 
 /**
  * add/update/delete {@link Configuration}
@@ -45,7 +45,7 @@ public class ConfigsPanel extends AdminP
 	public ConfigsPanel(String id) {
 		super(id);
 		
-		DataView<Configuration> dataView = new DataView<Configuration>("configList"
+		OmDataView<Configuration> dataView = new OmDataView<Configuration>("configList"
 			, new OmDataProvider<Configuration>(ConfigurationDaoImpl.class)) {
 			private static final long serialVersionUID = 8715559628755439596L;
 

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -25,6 +25,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.components.ConfirmCallListener;
+import org.apache.openmeetings.web.components.admin.OmDataView;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
@@ -51,7 +52,7 @@ public class GroupUsersPanel extends Pan
 		this.organisationId = orgId;
 		setOutputMarkupId(true);
 		
-		DataView<Organisation_Users> dataView = new DataView<Organisation_Users>("userList", new OmDataProvider<Organisation_Users>(OrganisationUserDAO.class){
+		OmDataView<Organisation_Users> dataView = new OmDataView<Organisation_Users>("userList", new OmDataProvider<Organisation_Users>(OrganisationUserDAO.class){
 			private static final long serialVersionUID = 1L;
 
 			public long size() {

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.comp
 import org.apache.openmeetings.data.user.dao.OrganisationDAO;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
+import org.apache.openmeetings.web.components.admin.OmDataView;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
@@ -65,7 +66,7 @@ public class GroupsPanel extends AdminPa
 		};
         add(form.add(addUsersBtn.setOutputMarkupId(true)));
 
-		DataView<Organisation> dataView = new DataView<Organisation>("groupList", new OmDataProvider<Organisation>(OrganisationDAO.class)) {
+        OmDataView<Organisation> dataView = new OmDataView<Organisation>("groupList", new OmDataProvider<Organisation>(OrganisationDAO.class)) {
 			private static final long serialVersionUID = 8715559628755439596L;
 
 			@Override

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=1399091&r1=1399090&r2=1399091&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 04:37:02 2012
@@ -27,6 +27,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.lang.Fieldvalues;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
+import org.apache.openmeetings.web.components.admin.OmDataView;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
@@ -62,7 +63,7 @@ public class LangPanel extends AdminPane
 		form.showNewRecord();
 		add(form);
 
-		final DataView<Fieldvalues> dataView = new DataView<Fieldvalues>(
+		final OmDataView<Fieldvalues> dataView = new OmDataView<Fieldvalues>(
 				"langList", new OmDataProvider<Fieldvalues>(
 						FieldValueDaoImpl.class) {
 					private static final long serialVersionUID = -6822789354860988626L;

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapsPanel.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapsPanel.java?rev=1399091&r1=1399090&r2=1399091&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapsPanel.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapsPanel.java Wed Oct 17 04:37:02 2012
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.comp
 import org.apache.openmeetings.data.basic.dao.LdapConfigDaoImpl;
 import org.apache.openmeetings.persistence.beans.basic.LdapConfig;
 import org.apache.openmeetings.web.components.admin.AdminPanel;
+import org.apache.openmeetings.web.components.admin.OmDataView;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
 import org.apache.openmeetings.web.data.OmDataProvider;
 import org.apache.wicket.AttributeModifier;
@@ -29,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;
 
 /**
  * {@link AdminPanel} to list and modify {@link LdapConfig}
@@ -44,7 +44,7 @@ public class LdapsPanel extends AdminPan
 	
 	public LdapsPanel(String id) {
 		super(id);
-		DataView<LdapConfig> dataView = new DataView<LdapConfig>("ldapList"
+		OmDataView<LdapConfig> dataView = new OmDataView<LdapConfig>("ldapList"
 			, new OmDataProvider<LdapConfig>(LdapConfigDaoImpl.class)) {
 			private static final long serialVersionUID = 8715559628755439596L;