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;