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 2013/09/12 03:21:28 UTC
svn commit: r1522099 [1/4] - in /openmeetings/trunk/singlewebapp: ./ docs/
src/main/java/org/apache/openmeetings/axis/services/
src/main/java/org/apache/openmeetings/backup/
src/main/java/org/apache/openmeetings/data/calendar/beans/
src/main/java/org/a...
Author: solomax
Date: Thu Sep 12 01:21:26 2013
New Revision: 1522099
URL: http://svn.apache.org/r1522099
Log:
[OPENMEETINGS-777] basic implementation, initial commit (not fully working, need more testing)
Added:
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/invitation/Invitation.java
- copied, changed from r1520866, openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
Removed:
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/beans/
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
Modified:
openmeetings/trunk/singlewebapp/build.xml
openmeetings/trunk/singlewebapp/docs/CalendarService.html
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/BaseWebService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/JabberWebService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/RoomWebService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentCategoryConverter.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentCategoryDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentReminderTypDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/MeetingMemberDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/management/AppointmentLogic.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/conference/dao/InvitationDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/conference/dao/RoomDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/user/UserManager.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/user/dao/AbstractUserDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/user/dao/AdminUserDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/user/dao/UserDao.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/calendar/Appointment.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/calendar/MeetingMember.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/persistence/beans/user/User.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/ConferenceService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/InvitationService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/MainService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/UserService.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/TimezoneUtil.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/mail/MailHandler.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/mail/template/AbstractTemplatePanel.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/mail/template/InvitationTemplate.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentModel.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/calendar/MeetingMemberDialog.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/user/rooms/RoomEnterBehavior.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/util/ContactsHelper.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/util/UserAutoCompleteTextField.java
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/classes/META-INF/postgres_persistence.xml
openmeetings/trunk/singlewebapp/src/main/webapp/WEB-INF/openmeetings-applicationContext.xml
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestAppointmentAddAppointment.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureAppointment.java
openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/calendar/TestDatabaseStructureGetAppointmentByRange.java
Modified: openmeetings/trunk/singlewebapp/build.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/build.xml?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/build.xml (original)
+++ openmeetings/trunk/singlewebapp/build.xml Thu Sep 12 01:21:26 2013
@@ -299,6 +299,23 @@
<attribute name="Product-Version" value="${project.version}-${project.status}" />
</manifest>
</jar>
+
+ <!-- Build WebServices -->
+ <property name="om_aar_name" value="${project.distname}-${jar.suffix}.aar"/>
+ <property name="om_aar_folder" value="${dist.webapps.dir}/WEB-INF/services"/>
+ <jar destfile="${om_aar_folder}/${om_aar_name}">
+ <fileset dir="${main.out.dir}">
+ <include name="META-INF/*" />
+ </fileset>
+ </jar>
+ <echo file="${om_aar_folder}/services.list" append="false">${om_aar_name}${line.separator}version.aar${line.separator}</echo>
+ <jar destfile="${dist.webapps.dir}/WEB-INF/lib/${project.distname}-WebService-${jar.suffix}.jar">
+ <fileset dir="${main.out.dir}">
+ <include name="**/apache/openmeetings/axis/**" />
+ <include name="META-INF/LICENSE" />
+ <include name="META-INF/NOTICE" />
+ </fileset>
+ </jar>
</target>
<target name="jar.only" depends="buildJavaDocs, enhance.only, jar.web.only">
@@ -318,23 +335,6 @@
<attribute name="Product-Version" value="${project.version}-${project.status}" />
</manifest>
</jar>
-
- <!-- Build WebServices -->
- <property name="om_aar_name" value="${project.distname}-${jar.suffix}.aar"/>
- <property name="om_aar_folder" value="${dist.webapps.dir}/WEB-INF/services"/>
- <jar destfile="${om_aar_folder}/${om_aar_name}">
- <fileset dir="${main.out.dir}">
- <include name="META-INF/*" />
- </fileset>
- </jar>
- <echo file="${om_aar_folder}/services.list" append="false">${om_aar_name}${line.separator}version.aar${line.separator}</echo>
- <jar destfile="${dist.webapps.dir}/WEB-INF/lib/${project.distname}-WebService-${jar.suffix}.jar">
- <fileset dir="${main.out.dir}">
- <include name="**/apache/openmeetings/axis/**" />
- <include name="META-INF/LICENSE" />
- <include name="META-INF/NOTICE" />
- </fileset>
- </jar>
</target>
<target name="dist.screen.share" description="Make Screen Share Archive" depends="jar.screen.share, signWebStartJars" />
Modified: openmeetings/trunk/singlewebapp/docs/CalendarService.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/docs/CalendarService.html?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/docs/CalendarService.html (original)
+++ openmeetings/trunk/singlewebapp/docs/CalendarService.html Thu Sep 12 01:21:26 2013
@@ -67,6 +67,10 @@ limitations under the License.
<div class="navigation_comment"><i >Search a calendar event for the current SID</i></div>
</div>
<div>
+ <a href="#getAppointment"><b>getAppointment</b></a><br/>
+ <div class="navigation_comment"><i ></i></div>
+ </div>
+ <div>
<a href="#saveAppointment"><b>saveAppointment</b></a><br/>
<div class="navigation_comment"><i >Save an appointment</i></div>
</div>
@@ -99,13 +103,6 @@ limitations under the License.
<a href="#getAppointmentReminderTypList"><b>getAppointmentReminderTypList</b></a><br/>
<div class="navigation_comment"><i >Get all reminder types for calendar events</i></div>
</div>
- <div>
- <a href="#getAppointmentsByWeekCalendar"><b>getAppointmentsByWeekCalendar</b></a><br/>
- <div class="navigation_comment"><i >Get the appointments (calendar events) for the given requestUserId <br/>
- The TimeZone can be either given by the Id of the timezone in the table
- "om_timezone" with the param timeZoneIdA <br/>
- Or with the java name of the TimeZone in the param javaTimeZoneName</i></div>
- </div>
</div>
<h3>Methods Details in CalendarService</h3>
@@ -387,6 +384,68 @@ limitations under the License.
<div class="method">
<div class="method_header">
<div style="margin-left:10px">
+ <a name="getAppointment" ><b>getAppointment</b></a>
+ </div>
+ </div>
+
+ Method: <i>getAppointment (
+ String appointmentName
+ ,
+ String appointmentLocation
+ ,
+ String appointmentDescription
+ ,
+ Calendar appointmentstart
+ ,
+ Calendar appointmentend
+ ,
+ Boolean isDaily
+ ,
+ Boolean isWeekly
+ ,
+ Boolean isMonthly
+ ,
+ Boolean isYearly
+ ,
+ Long categoryId
+ ,
+ Long remind
+ ,
+ String mmClient
+ ,
+ Long roomType
+ ,
+ String baseUrl
+ ,
+ Long languageId
+ ,
+ Boolean isPasswordProtected
+ ,
+ String password
+ ,
+ long roomId
+ ,
+ Long users_id
+ )
+ </i><br/>
+ <p>
+
+ </p>
+ <p>
+ Return Type: org.apache.openmeetings.persistence.beans.calendar.Appointment
+ </p>
+ <p>Params:</p>
+ <b>Warning:</b><i> Params in this method do not seem to be correctly documentated</i>
+ <br/><br/>
+
+ <i>No Params</i>
+ <br/>
+ REST Sample Call/URL:<br/>
+ <a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointment?appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseUrl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE&roomId=VALUE&users_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointment?appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointme
ntstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseUrl=VALUE&languageId=VALUE&isPasswordProtected=VALUE&password=VALUE&roomId=VALUE&users_id=VALUE</a>
+ </div>
+ <div class="method">
+ <div class="method_header">
+ <div style="margin-left:10px">
<a name="saveAppointment" ><b>saveAppointment</b></a>
</div>
</div>
@@ -1140,106 +1199,6 @@ limitations under the License.
REST Sample Call/URL:<br/>
<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentReminderTypList?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentReminderTypList?SID=VALUE</a>
</div>
- <div class="method">
- <div class="method_header">
- <div style="margin-left:10px">
- <a name="getAppointmentsByWeekCalendar" ><b>getAppointmentsByWeekCalendar</b></a>
- </div>
- </div>
-
- Method: <i>getAppointmentsByWeekCalendar (
- String SID
- ,
- int firstDayInWeek
- ,
- Date startDate
- ,
- Long requestUserId
- ,
- Long omTimeZoneId
- ,
- String javaTimeZoneName
- )
- </i><br/>
- <p>
- Get the appointments (calendar events) for the given requestUserId <br/>
- The TimeZone can be either given by the Id of the timezone in the table
- "om_timezone" with the param timeZoneIdA <br/>
- Or with the java name of the TimeZone in the param javaTimeZoneName
- </p>
- <p>
- Return Type: java.util.List
- </p>
- <p>Params:</p>
-
- <table rules="all" border="1">
- <thead>
- <tr>
- <th width="200" align="left">Type</th>
- <th width="200" align="left">Fieldname</th>
- <th width="400" align="left">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td valign="top">
- String
- </td>
- <td valign="top">SID</td>
- <td valign="top">a valid user id</td>
- </tr>
-
- <tr>
- <td valign="top">
- int
- </td>
- <td valign="top">firstDayInWeek</td>
- <td valign="top">the first dayin week, 0=Sunday, 1=Monday, ...</td>
- </tr>
-
- <tr>
- <td valign="top">
- Date
- </td>
- <td valign="top">startDate</td>
- <td valign="top">the date it should start with</td>
- </tr>
-
- <tr>
- <td valign="top">
- Long
- </td>
- <td valign="top">requestUserId</td>
- <td valign="top">the user id the calendar events are requested, if it is not
- the user id of the SID then the SID's user needs to have the
- right to watch those events</td>
- </tr>
-
- <tr>
- <td valign="top">
- Long
- </td>
- <td valign="top">omTimeZoneId</td>
- <td valign="top">the id of the timezone (alternativly use javaTimeZoneName)</td>
- </tr>
-
- <tr>
- <td valign="top">
- String
- </td>
- <td valign="top">javaTimeZoneName</td>
- <td valign="top">the name of the java time zone, see <a
- href="http://en.wikipedia.org/wiki/Time_zone#Java"
- target="_blank"
- >http://en.wikipedia.org/wiki/Time_zone#Java</a></td>
- </tr>
-
- </tbody>
- </table>
- <br/>
- REST Sample Call/URL:<br/>
- <a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentsByWeekCalendar?SID=VALUE&firstDayInWeek=VALUE&startDate=VALUE&requestUserId=VALUE&omTimeZoneId=VALUE&javaTimeZoneName=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentsByWeekCalendar?SID=VALUE&firstDayInWeek=VALUE&startDate=VALUE&requestUserId=VALUE&omTimeZoneId=VALUE&javaTimeZoneName=VALUE</a>
- </div>
</body>
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/BaseWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/BaseWebService.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/BaseWebService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/BaseWebService.java Thu Sep 12 01:21:26 2013
@@ -32,8 +32,7 @@ public abstract class BaseWebService {
private ServletContext getServletContext() throws AxisFault {
try {
MessageContext mc = MessageContext.getCurrentMessageContext();
- return (ServletContext) mc
- .getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
+ return (ServletContext) mc.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
} catch (Exception err) {
throw new AxisFault("Servlet context is not available yet, retry in couple of seconds");
}
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebService.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebService.java Thu Sep 12 01:21:26 2013
@@ -18,37 +18,34 @@
*/
package org.apache.openmeetings.axis.services;
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+import static org.apache.openmeetings.web.app.WebSession.getBaseUrl;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
import org.apache.axis2.AxisFault;
-import org.apache.openmeetings.OpenmeetingsVariables;
import org.apache.openmeetings.data.basic.AuthLevelUtil;
import org.apache.openmeetings.data.basic.SessiondataDao;
-import org.apache.openmeetings.data.calendar.beans.AppointmentDTO;
-import org.apache.openmeetings.data.calendar.beans.Day;
-import org.apache.openmeetings.data.calendar.beans.Week;
import org.apache.openmeetings.data.calendar.daos.AppointmentCategoryDao;
import org.apache.openmeetings.data.calendar.daos.AppointmentDao;
import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDao;
+import org.apache.openmeetings.data.calendar.daos.MeetingMemberDao;
import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
import org.apache.openmeetings.data.conference.RoomManager;
import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.data.user.UserManager;
-import org.apache.openmeetings.data.user.dao.UserContactsDao;
+import org.apache.openmeetings.data.user.dao.AdminUserDao;
import org.apache.openmeetings.persistence.beans.calendar.Appointment;
import org.apache.openmeetings.persistence.beans.calendar.AppointmentCategory;
import org.apache.openmeetings.persistence.beans.calendar.AppointmentReminderTyps;
+import org.apache.openmeetings.persistence.beans.calendar.MeetingMember;
import org.apache.openmeetings.persistence.beans.room.Room;
-import org.apache.openmeetings.persistence.beans.room.RoomType;
import org.apache.openmeetings.persistence.beans.user.User;
-import org.apache.openmeetings.persistence.beans.user.UserContact;
import org.apache.openmeetings.utils.TimezoneUtil;
+import org.apache.openmeetings.web.app.WebSession;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -61,9 +58,7 @@ import org.springframework.beans.factory
*
*/
public class CalendarWebService {
-
- private static final Logger log = Red5LoggerFactory.getLogger(
- CalendarWebService.class, OpenmeetingsVariables.webAppRootKey);
+ private static final Logger log = Red5LoggerFactory.getLogger(CalendarWebService.class, webAppRootKey);
@Autowired
private AppointmentDao appointmentDao;
@@ -74,19 +69,21 @@ public class CalendarWebService {
@Autowired
private UserManager userManager;
@Autowired
+ private AdminUserDao userDao;
+ @Autowired
private RoomManager roomManager;
@Autowired
private RoomDao roomDao;
@Autowired
private AuthLevelUtil authLevelUtil;
@Autowired
- private AppointmentCategoryDao appointmentCategoryDaoImpl;
+ private AppointmentCategoryDao appointmentCategoryDao;
@Autowired
- private AppointmentReminderTypDao appointmentReminderTypDaoImpl;
+ private AppointmentReminderTypDao appointmentReminderTypDao;
@Autowired
private TimezoneUtil timezoneUtil;
@Autowired
- private UserContactsDao userContactsDaoImpl;
+ private MeetingMemberDao meetingMemberDao;
/**
* Load appointments by a start / end range for the current SID
@@ -109,8 +106,7 @@ public class CalendarWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkUserLevel(user_level)) {
- return appointmentLogic.getAppointmentByRange(users_id,
- starttime, endtime);
+ return appointmentDao.getAppointmentsByRange(users_id, starttime, endtime);
}
} catch (Exception err) {
log.error("[getAppointmentByRange]", err);
@@ -141,8 +137,7 @@ public class CalendarWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkWebServiceLevel(user_level)) {
- return appointmentLogic.getAppointmentByRange(userId,
- starttime, endtime);
+ return appointmentDao.getAppointmentsByRange(userId, starttime, endtime);
}
} catch (Exception err) {
log.error("[getAppointmentByRangeForUserId]", err);
@@ -228,6 +223,63 @@ public class CalendarWebService {
}
+ private MeetingMember getMeetingMember(Long userId, Long langId, String str) {
+ String[] params = str.split(",");
+
+ try {
+ return meetingMemberDao.get(Long.valueOf(params[0]));
+ } catch (Exception e) {
+ //no-op
+ }
+ MeetingMember mm = new MeetingMember();
+ try {
+ mm.setUser(userDao.get(Long.valueOf(params[4])));
+ } catch (Exception e) {
+ //no-op
+ }
+ if (mm.getUser() == null) {
+ mm.setUser(userDao.getContact(params[3], params[1], params[2], langId, params[5], userId));
+ }
+
+ return mm;
+ }
+
+ public Appointment getAppointment(String appointmentName,
+ String appointmentLocation, String appointmentDescription,
+ Calendar appointmentstart, Calendar appointmentend,
+ Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
+ Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
+ Long roomType, String baseUrl, Long languageId,
+ Boolean isPasswordProtected, String password, long roomId, Long users_id) {
+ Appointment a = new Appointment();
+ a.setTitle(appointmentName);
+ a.setLocation(appointmentLocation);
+ a.setDescription(appointmentDescription);
+ a.setStart(appointmentstart.getTime());
+ a.setEnd(appointmentend.getTime());
+ a.setIsDaily(isDaily);
+ a.setIsWeekly(isWeekly);
+ a.setIsMonthly(isMonthly);
+ a.setIsYearly(isYearly);
+ a.setCategory(appointmentCategoryDao.get(categoryId));
+ a.setRemind(appointmentReminderTypDao.get(remind));
+ WebSession.get().setBaseUrl(baseUrl); //TODO verify !!!!!
+ a.setRoom(new Room());
+ a.getRoom().setComment(appointmentDescription);
+ a.getRoom().setName(appointmentName);
+ a.getRoom().setRooms_id(roomId);
+ a.getRoom().setRoomtype(roomManager.getRoomTypesById(roomType));
+ a.setOwner(userDao.get(users_id));
+ a.setPasswordProtected(isPasswordProtected);
+ a.setPassword(password);
+ a.setMeetingMembers(new ArrayList<MeetingMember>());
+ for (String singleClient : mmClient) {
+ MeetingMember mm = getMeetingMember(users_id, languageId, singleClient);
+ mm.setAppointment(a);
+ a.getMeetingMembers().add(mm);
+ }
+ return a;
+ }
/**
* Save an appointment
*
@@ -288,7 +340,7 @@ public class CalendarWebService {
Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
Long roomType, String baseUrl, Long languageId,
Boolean isPasswordProtected, String password, long roomId) {
-
+ //Seems to be create
log.debug("saveAppointMent SID:" + SID + ", baseUrl : " + baseUrl);
try {
@@ -298,29 +350,10 @@ public class CalendarWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkUserLevel(user_level)) {
-
- List<Map<String, String>> newList = new ArrayList<Map<String, String>>();
-
- for (String singleClient : mmClient) {
- String[] params = singleClient.split(",");
- Map<String, String> map = new HashMap<String, String>();
- map.put("meetingMemberId", params[0]);
- map.put("firstname", params[1]);
- map.put("lastname", params[2]);
- map.put("email", params[3]);
- map.put("userId", params[4]);
- map.put("jNameTimeZone", params[5]);
- newList.add(map);
- }
-
- Long id = appointmentLogic.saveAppointment(appointmentName,
- users_id, appointmentLocation, appointmentDescription,
- appointmentstart.getTime(), appointmentend.getTime(),
- isDaily, isWeekly, isMonthly, isYearly, categoryId,
- remind, newList, roomType, baseUrl, languageId,
- isPasswordProtected, password, roomId);
-
- return id;
+ Appointment a = getAppointment(appointmentName, appointmentLocation, appointmentDescription,
+ appointmentstart, appointmentend, isDaily, isWeekly, isMonthly, isYearly, categoryId, remind,
+ mmClient, roomType, baseUrl, languageId, isPasswordProtected, password, roomId, users_id);
+ return appointmentDao.update(a, baseUrl, users_id).getId();
} else {
log.error("saveAppointment : wrong user level");
}
@@ -358,11 +391,17 @@ public class CalendarWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkUserLevel(user_level)) {
- appointmentLogic.getAppointMentById(appointmentId);
-
- return appointmentDao.updateAppointmentByTime(appointmentId,
- appointmentstart, appointmentend, users_id, baseurl,
- languageId);
+ Appointment a = appointmentDao.get(appointmentId);
+ if (!authLevelUtil.checkAdminLevel(user_level) && !a.getOwner().getUser_id().equals(users_id)) {
+ throw new AxisFault("The Appointment cannot be updated by the given user");
+ }
+ if (!a.getStart().equals(appointmentstart) || !a.getEnd().equals(appointmentend)) {
+ a.setStart(appointmentstart);
+ a.setEnd(appointmentend);
+ WebSession.get().setBaseUrl(baseurl); //TODO verify !!!!!
+ //FIXME this might change the owner!!!!!
+ return appointmentDao.update(a, baseurl, users_id).getId();
+ }
}
} catch (Exception err) {
log.error("[updateAppointment]", err);
@@ -439,60 +478,44 @@ public class CalendarWebService {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
- if (authLevelUtil.checkUserLevel(user_level)) {
+ if (authLevelUtil.checkWebServiceLevel(user_level) || authLevelUtil.checkAdminLevel(user_level)) {
+ // fine
+ } else if (authLevelUtil.checkUserLevel(user_level)) {
// check if the appointment belongs to the current user
- Appointment appointment = appointmentLogic
- .getAppointMentById(appointmentId);
- if (!appointment.getOwner().getUser_id().equals(users_id)) {
- throw new AxisFault(
- "The Appointment cannot be updated by the given user");
+ Appointment a = appointmentDao.get(appointmentId);
+ if (!a.getOwner().getUser_id().equals(users_id)) {
+ throw new AxisFault("The Appointment cannot be updated by the given user");
}
- } else if (authLevelUtil.checkUserLevel(user_level)) {
- // fine
} else {
- throw new AxisFault(
- "Not allowed to preform that action, Authenticate the SID first");
+ throw new AxisFault("Not allowed to preform that action, Authenticate the SID first");
}
- List<Map<String, String>> newList = new ArrayList<Map<String, String>>();
-
+ Appointment a = appointmentDao.get(appointmentId);
+ a.setTitle(appointmentName);
+ a.setLocation(appointmentLocation);
+ a.setDescription(appointmentDescription);
+ a.setStart(appointmentstart.getTime());
+ a.setEnd(appointmentend.getTime());
+ a.setIsDaily(isDaily);
+ a.setIsWeekly(isWeekly);
+ a.setIsMonthly(isMonthly);
+ a.setIsYearly(isYearly);
+ a.setCategory(appointmentCategoryDao.get(categoryId));
+ a.setRemind(appointmentReminderTypDao.get(remind));
+ WebSession.get().setBaseUrl(baseurl); //TODO verify !!!!!
+ a.getRoom().setComment(appointmentDescription);
+ a.getRoom().setName(appointmentName);
+ a.getRoom().setRoomtype(roomManager.getRoomTypesById(roomType));
+ a.setOwner(userDao.get(users_id));
+ a.setPasswordProtected(isPasswordProtected);
+ a.setPassword(password);
+ a.setMeetingMembers(new ArrayList<MeetingMember>());
for (String singleClient : mmClient) {
- String[] params = singleClient.split(",");
- Map<String, String> map = new HashMap<String, String>();
- map.put("meetingMemberId", params[0]);
- map.put("firstname", params[1]);
- map.put("lastname", params[2]);
- map.put("email", params[3]);
- map.put("userId", params[4]);
- map.put("jNameTimeZone", params[5]);
- newList.add(map);
+ MeetingMember mm = getMeetingMember(users_id, languageId, singleClient);
+ mm.setAppointment(a);
+ a.getMeetingMembers().add(mm);
}
-
- log.debug("updateAppointment");
-
- RoomType rt = roomManager.getRoomTypesById(roomType);
-
- Appointment app = appointmentLogic
- .getAppointMentById(appointmentId);
-
- Room room = app.getRoom();
- if (room != null) {
-
- room.setComment(appointmentDescription);
- room.setName(appointmentName);
- room.setRoomtype(rt);
-
- roomDao.update(room, users_id);
- }
-
- return appointmentDao.updateAppointment(appointmentId,
- appointmentName, appointmentDescription, appointmentstart
- .getTime(), appointmentend.getTime(), isDaily,
- isWeekly, isMonthly, isYearly, categoryId, remind, newList,
- users_id, baseurl, languageId, isPasswordProtected,
- password,
- appointmentLocation);
-
+ return appointmentDao.update(a, baseurl, users_id).getId();
} catch (Exception err) {
log.error("[updateAppointment]", err);
throw new AxisFault(err.getMessage());
@@ -517,38 +540,28 @@ public class CalendarWebService {
* appointment are send
* @return - id of appointment deleted
*/
- public Long deleteAppointment(String SID, Long appointmentId,
- Long language_id) throws AxisFault {
+ public Long deleteAppointment(String SID, Long appointmentId, Long language_id) throws AxisFault {
try {
-
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
- if (authLevelUtil.checkWebServiceLevel(user_level)) {
-
- return appointmentLogic.deleteAppointment(appointmentId,
- users_id, language_id);
-
+ Appointment a = appointmentDao.get(appointmentId);
+ if (authLevelUtil.checkWebServiceLevel(user_level) || authLevelUtil.checkAdminLevel(user_level)) {
+ // fine
} else if (authLevelUtil.checkUserLevel(user_level)) {
-
- Appointment appointment = appointmentLogic
- .getAppointMentById(appointmentId);
-
- if (!appointment.getOwner().getUser_id().equals(users_id)) {
- throw new AxisFault(
- "The Appointment cannot be deleted by the given user");
+ // check if the appointment belongs to the current user
+ if (!a.getOwner().getUser_id().equals(users_id)) {
+ throw new AxisFault("The Appointment cannot be updated by the given user");
}
-
- return appointmentLogic.deleteAppointment(appointmentId,
- users_id, language_id);
-
+ } else {
+ throw new AxisFault("Not allowed to preform that action, Authenticate the SID first");
}
-
+ appointmentDao.delete(a, getBaseUrl(), users_id); //FIXME check this !!!!
+ return a.getId();
} catch (Exception err) {
log.error("[deleteAppointment]", err);
throw new AxisFault(err.getMessage());
}
- return null;
}
/**
@@ -574,7 +587,7 @@ public class CalendarWebService {
appointment.setStart(appStored
.getStart());
appointment.setEnd(appStored
- .end());
+ .getEnd());
return appointment;
}
@@ -602,7 +615,7 @@ public class CalendarWebService {
if (authLevelUtil.checkUserLevel(user_level)) {
- List<AppointmentCategory> res = appointmentCategoryDaoImpl
+ List<AppointmentCategory> res = appointmentCategoryDao
.getAppointmentCategoryList();
if (res == null || res.size() < 1)
@@ -642,7 +655,7 @@ public class CalendarWebService {
User user = userManager.getUserById(users_id);
long language_id = (user == null) ? 1 : user.getLanguage_id();
- List<AppointmentReminderTyps> res = appointmentReminderTypDaoImpl
+ List<AppointmentReminderTyps> res = appointmentReminderTypDao
.getAppointmentReminderTypList(language_id);
if (res == null || res.size() < 1) {
@@ -661,168 +674,4 @@ public class CalendarWebService {
}
return null;
}
-
- /**
- * Get the appointments (calendar events) for the given requestUserId <br/>
- * The TimeZone can be either given by the Id of the timezone in the table
- * "om_timezone" with the param timeZoneIdA <br/>
- * Or with the java name of the TimeZone in the param javaTimeZoneName
- *
- * @param SID
- * a valid user id
- * @param firstDayInWeek
- * the first dayin week, 0=Sunday, 1=Monday, ...
- * @param startDate
- * the date it should start with
- * @param requestUserId
- * the user id the calendar events are requested, if it is not
- * the user id of the SID then the SID's user needs to have the
- * right to watch those events
- * @param omTimeZoneId
- * the id of the timezone (alternativly use javaTimeZoneName)
- * @param javaTimeZoneName
- * the name of the java time zone, see <a
- * href="http://en.wikipedia.org/wiki/Time_zone#Java"
- * target="_blank"
- * >http://en.wikipedia.org/wiki/Time_zone#Java</a>
- *
- * @return - appointments grouped by weeks
- * @throws AxisFault
- */
- public List<Week> getAppointmentsByWeekCalendar(String SID,
- int firstDayInWeek, Date startDate, Long requestUserId,
- Long omTimeZoneId, String javaTimeZoneName) throws AxisFault {
- try {
-
- Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (authLevelUtil.checkUserLevel(user_level)) {
-
- if (!requestUserId.equals(users_id)) {
- UserContact userContacts = userContactsDaoImpl
- .getUserContactByShareCalendar(requestUserId, true,
- users_id);
- if (userContacts == null) {
- throw new Exception(
- "Your are not allowed to see this calendar");
- }
- }
-
- TimeZone timezone = null;
-
- if (javaTimeZoneName != null && !javaTimeZoneName.isEmpty()) {
- timezone = TimeZone.getTimeZone(javaTimeZoneName);
- if (timezone == null) {
- throw new Exception("Invalid javaTimeZoneName given");
- }
- }
-
- if (omTimeZoneId > 0) {
- timezone = timezoneUtil.getTimezoneByOmTimeZoneId(omTimeZoneId);
- }
-
- if (timezone == null) {
- throw new Exception("No timeZone given");
- }
-
- // Calculate the first day of a calendar based on the first
- // showing day of the week
- List<Week> weeks = new ArrayList<Week>(6);
- Calendar currentDate = Calendar.getInstance();
- currentDate.setTime(startDate);
- currentDate.set(Calendar.HOUR_OF_DAY, 12); // set to 12 to prevent timezone issues
- currentDate.set(Calendar.DATE, 1);
-
- int currentWeekDay = currentDate.get(Calendar.DAY_OF_WEEK);
-
- Calendar startWeekDay = Calendar.getInstance();
-
- log.debug("currentWeekDay -- " + currentWeekDay);
- log.debug("firstDayInWeek -- " + firstDayInWeek);
-
- if (currentWeekDay == firstDayInWeek) {
-
- log.debug("ARE equal currentWeekDay -- ");
-
- startWeekDay.setTime(currentDate.getTime());
-
- } else {
-
- startWeekDay
- .setTimeInMillis((currentDate.getTimeInMillis() - ((currentWeekDay - 1) * 86400000)));
-
- if (currentWeekDay > firstDayInWeek) {
- startWeekDay.setTimeInMillis(startWeekDay
- .getTimeInMillis()
- + (firstDayInWeek * 86400000));
- } else {
- startWeekDay.setTimeInMillis(startWeekDay
- .getTimeInMillis()
- - (firstDayInWeek * 86400000));
- }
-
- }
-
- Calendar calStart = Calendar.getInstance(timezone);
- calStart.setTime(startWeekDay.getTime());
-
- Calendar calEnd = Calendar.getInstance(timezone);
- // every month page in our calendar shows 42 days
- calEnd.setTime(new Date(startWeekDay.getTime().getTime()
- + (42L * 86400000L)));
-
- List<Appointment> appointments = appointmentDao
- .getAppointmentsByRange(requestUserId,
- calStart.getTime(), calEnd.getTime());
-
- log.debug("startWeekDay 2" + startWeekDay.getTime());
- log.debug("startWeekDay Number of appointments "
- + appointments.size());
-
- long z = 0;
-
- for (int k = 0; k < 6; k++) { // 6 weeks per monthly summary
-
- Week week = new Week();
-
- for (int i = 0; i < 7; i++) { // 7 days a week
-
- Calendar tCal = Calendar.getInstance(timezone);
- tCal.setTimeInMillis(startWeekDay.getTimeInMillis()
- + (z * 86400000L));
-
- Day day = new Day(tCal.getTime());
-
- for (Appointment appointment : appointments) {
- if (appointment
- .startCalendar(timezone).get(
- Calendar.MONTH) == tCal
- .get(Calendar.MONTH)
- && appointment.startCalendar(
- timezone).get(Calendar.DATE) == tCal
- .get(Calendar.DATE)) {
- day.getAppointments().add(
- new AppointmentDTO(appointment,
- timezone));
- }
- }
-
- week.getDays().add(day);
- z++;
- }
-
- weeks.add(week);
- }
-
- return weeks;
-
- }
-
- } catch (Exception err) {
- log.error("[getAppointmentReminderTypList]", err);
- throw new AxisFault(err.getMessage());
- }
- return null;
- }
-
}
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/CalendarWebServiceFacade.java Thu Sep 12 01:21:26 2013
@@ -23,7 +23,6 @@ import java.util.Date;
import java.util.List;
import org.apache.axis2.AxisFault;
-import org.apache.openmeetings.data.calendar.beans.Week;
import org.apache.openmeetings.persistence.beans.calendar.Appointment;
import org.apache.openmeetings.persistence.beans.calendar.AppointmentCategory;
import org.apache.openmeetings.persistence.beans.calendar.AppointmentReminderTyps;
@@ -114,13 +113,4 @@ public class CalendarWebServiceFacade ex
String SID) throws AxisFault {
return getBean(CalendarWebService.class).getAppointmentReminderTypList(SID);
}
-
- public List<Week> getAppointmentsByWeekCalendar(String SID,
- int firstDayInWeek, Date startDate, Long requestUserId,
- Long omTimeZoneId, String javaTimeZoneName) throws AxisFault {
- return getBean(CalendarWebService.class).getAppointmentsByWeekCalendar(SID,
- firstDayInWeek, startDate, requestUserId, omTimeZoneId,
- javaTimeZoneName);
- }
-
}
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/JabberWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/JabberWebService.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/JabberWebService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/JabberWebService.java Thu Sep 12 01:21:26 2013
@@ -25,9 +25,12 @@ import org.apache.openmeetings.data.basi
import org.apache.openmeetings.data.basic.SessiondataDao;
import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
import org.apache.openmeetings.data.conference.InvitationManager;
+import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.data.user.UserManager;
+import org.apache.openmeetings.data.user.dao.AdminUserDao;
import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
-import org.apache.openmeetings.persistence.beans.invitation.Invitations;
+import org.apache.openmeetings.persistence.beans.invitation.Invitation;
+import org.apache.openmeetings.persistence.beans.invitation.Invitation.Valid;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.apache.openmeetings.persistence.beans.room.RoomOrganisation;
import org.apache.openmeetings.persistence.beans.user.User;
@@ -53,6 +56,8 @@ public class JabberWebService {
@Autowired
private UserManager userManager;
@Autowired
+ private AdminUserDao userDao;
+ @Autowired
private SessiondataDao sessiondataDao;
@Autowired
private ConferenceService conferenceService;
@@ -62,6 +67,8 @@ public class JabberWebService {
private ConfigurationDao configurationDao;
@Autowired
private TimezoneUtil timezoneUtil;
+ @Autowired
+ private RoomDao roomDao;
/**
* Get List<Rooms> of all rooms available to the user.
@@ -129,13 +136,17 @@ public class JabberWebService {
public String getInvitationHash(String SID, String username, Long room_id) {
Long users_id = this.sessiondataDao.checkSession(SID);
Long user_level = this.userManager.getUserLevelByID(users_id);
- Invitations invitation = this.invitationManager.addInvitationLink(
- user_level, username, username, username, username, username,
- room_id, "", Boolean.valueOf(false), null, Integer.valueOf(3),
- null, null, users_id, "", Long.valueOf(1L),
- Boolean.valueOf(false), null, null, null, username,
- timezoneUtil.getDefaultTimeZone());
-
- return ((invitation == null) ? null : invitation.getHash());
+
+ if (authLevelUtil.checkUserLevel(user_level)) {
+ User invitee = userDao.getContact(username, username, username, users_id);
+ Invitation invitation = invitationManager.getInvitation(invitee, roomDao.get(room_id),
+ false, "", Valid.OneTime
+ , userDao.get(users_id), "", 1L,
+ null, null, null);
+
+ return ((invitation == null) ? null : invitation.getHash());
+ } else {
+ return "Need Admin Privileges to perfom the Action";
+ }
}
}
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/RoomWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/RoomWebService.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/axis/services/RoomWebService.java Thu Sep 12 01:21:26 2013
@@ -19,6 +19,7 @@
package org.apache.openmeetings.axis.services;
import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+import static org.apache.openmeetings.web.app.WebSession.getBaseUrl;
import java.util.Calendar;
import java.util.Date;
@@ -32,19 +33,26 @@ import org.apache.axis2.AxisFault;
import org.apache.openmeetings.data.basic.AuthLevelUtil;
import org.apache.openmeetings.data.basic.SessiondataDao;
import org.apache.openmeetings.data.beans.basic.SearchResult;
+import org.apache.openmeetings.data.calendar.daos.AppointmentCategoryDao;
import org.apache.openmeetings.data.calendar.daos.AppointmentDao;
-import org.apache.openmeetings.data.calendar.management.MeetingMemberLogic;
+import org.apache.openmeetings.data.calendar.daos.AppointmentReminderTypDao;
+import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
import org.apache.openmeetings.data.conference.InvitationManager;
+import org.apache.openmeetings.data.conference.InvitationManager.MessageType;
import org.apache.openmeetings.data.conference.RoomManager;
import org.apache.openmeetings.data.conference.dao.RoomDao;
import org.apache.openmeetings.data.flvrecord.FlvRecordingDao;
import org.apache.openmeetings.data.user.UserManager;
+import org.apache.openmeetings.data.user.dao.AdminUserDao;
import org.apache.openmeetings.persistence.beans.calendar.Appointment;
+import org.apache.openmeetings.persistence.beans.calendar.MeetingMember;
import org.apache.openmeetings.persistence.beans.flvrecord.FlvRecording;
-import org.apache.openmeetings.persistence.beans.invitation.Invitations;
+import org.apache.openmeetings.persistence.beans.invitation.Invitation;
+import org.apache.openmeetings.persistence.beans.invitation.Invitation.Valid;
import org.apache.openmeetings.persistence.beans.room.Client;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.apache.openmeetings.persistence.beans.room.RoomType;
+import org.apache.openmeetings.persistence.beans.user.User;
import org.apache.openmeetings.remote.ConferenceService;
import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
import org.apache.openmeetings.session.ISessionManager;
@@ -69,10 +77,18 @@ public class RoomWebService {
@Autowired
private AppointmentDao appointmentDao;
@Autowired
+ private AppointmentCategoryDao appointmentCategoryDao;
+ @Autowired
+ private AppointmentReminderTypDao appointmentReminderTypDao;
+ @Autowired
+ private AppointmentLogic appointmentLogic;
+ @Autowired
private SessiondataDao sessiondataDao;
@Autowired
private UserManager userManager;
@Autowired
+ private AdminUserDao userDao;
+ @Autowired
private RoomManager roomManager;
@Autowired
private FlvRecordingDao flvRecordingDao;
@@ -87,8 +103,6 @@ public class RoomWebService {
@Autowired
private ISessionManager sessionManager;
@Autowired
- private MeetingMemberLogic meetingMemberLogic;
- @Autowired
private RoomDao roomDao;
@Autowired
private TimezoneUtil timezoneUtil;
@@ -1374,7 +1388,7 @@ public class RoomWebService {
);
}
} catch (Exception err) {
- log.error("[updateRoomWithModerationAndQuestions] ", err);
+ log.error("[updateRoomWithModerationQuestionsAudioTypeAndHideOptions] ", err);
}
return new Long(-1);
}
@@ -1470,7 +1484,7 @@ public class RoomWebService {
false, true, false);
}
} catch (Exception err) {
- log.error("[addRoomWithModeration] ", err);
+ log.error("[addRoomWithModerationAndExternalType] ", err);
}
return new Long(-1);
}
@@ -1531,7 +1545,7 @@ public class RoomWebService {
isAudioOnly, true, false, "", false, true, false);
}
} catch (Exception err) {
- log.error("[addRoomWithModeration] ", err);
+ log.error("[addRoomWithModerationExternalTypeAndAudioType] ", err);
}
return new Long(-1);
}
@@ -1600,7 +1614,7 @@ public class RoomWebService {
return -26L;
}
} catch (Exception err) {
- log.error("[addRoomWithModeration] ", err);
+ log.error("[addRoomWithModerationAndRecordingFlags] ", err);
}
return new Long(-1);
}
@@ -1671,7 +1685,7 @@ public class RoomWebService {
allowRecording, hideTopBar);
}
} catch (Exception err) {
- log.error("[addRoomWithModeration] ", err);
+ log.error("[addRoomWithModerationExternalTypeAndTopBarOption] ", err);
}
return new Long(-1);
}
@@ -1767,28 +1781,20 @@ public class RoomWebService {
+ CalendarPatterns
.getDateWithTimeByMiliSeconds(dTo));
}
- Invitations invitation = invitationManager
- .addInvitationLink(user_level, username, username,
- username, username, username, room_id, "",
- isPasswordProtected, invitationpass, valid,
- dFrom, dTo, users_id, "", 1L, false, dFrom,
- dTo, null, username,
- timezoneUtil.getTimezoneByUser(userManager.getUserById(users_id)));
+ User invitee = userDao.getContact(username, username, username, users_id);
+ Invitation invitation = invitationManager.getInvitation(invitee, roomDao.get(room_id),
+ isPasswordProtected, invitationpass, Valid.fromInt(valid)
+ , userDao.get(users_id), "", 1L,
+ dFrom, dTo, null);
if (invitation != null) {
-
return invitation.getHash();
-
} else {
-
return "Sys - Error";
-
}
-
} else {
return "Need Admin Privileges to perfom the Action";
}
-
} catch (Exception err) {
log.error("[sendInvitationHash] ", err);
throw new AxisFault(err.getMessage());
@@ -1907,24 +1913,21 @@ public class RoomWebService {
.getDateWithTimeByMiliSeconds(dTo));
}
- Invitations invitation = invitationManager
- .addInvitationLink(user_level, username, message,
- baseurl, email, subject, room_id, "",
- isPasswordProtected, invitationpass, valid,
- dFrom, dTo, users_id, baseurl, language_id,
- sendMail, dFrom, dTo, null, username,
- timezoneUtil.getTimezoneByUser(userManager.getUserById(users_id)));
+ User invitee = userDao.getContact(email, users_id);
+ Invitation invitation = invitationManager.getInvitation(invitee, roomDao.get(room_id),
+ isPasswordProtected, invitationpass, Valid.fromInt(valid)
+ , userDao.get(users_id), baseurl, language_id,
+ dFrom, dTo, null);
if (invitation != null) {
+ if (sendMail) {
+ invitationManager.sendInvitionLink(invitation, MessageType.Create, subject, message, false);
+ }
return invitation.getHash();
-
} else {
-
return "Sys - Error";
-
}
-
} else {
return "Need Admin Privileges to perfom the Action";
}
@@ -2009,28 +2012,24 @@ public class RoomWebService {
log.info("validToDate: "
+ CalendarPatterns.getDateWithTimeByMiliSeconds(dTo));
- Invitations invitation = invitationManager
- .addInvitationLink(user_level, username, message,
- baseurl, email, subject, room_id, "",
- isPasswordProtected, invitationpass, valid,
- dFrom, dTo, users_id, baseurl, language_id,
- sendMail, dFrom, dTo, null, username,
- timezoneUtil.getTimezoneByUser(userManager.getUserById(users_id)));
+ User invitee = userDao.getContact(email, users_id);
+ Invitation invitation = invitationManager.getInvitation(invitee, roomDao.get(room_id),
+ isPasswordProtected, invitationpass, Valid.fromInt(valid)
+ , userDao.get(users_id), baseurl, language_id,
+ dFrom, dTo, null);
if (invitation != null) {
+ if (sendMail) {
+ invitationManager.sendInvitionLink(invitation, MessageType.Create, subject, message, false);
+ }
return invitation.getHash();
-
} else {
-
return "Sys - Error";
-
}
-
} else {
return "Need Admin Privileges to perfom the Action";
}
-
} catch (Exception err) {
log.error("[sendInvitationHash] ", err);
throw new AxisFault(err.getMessage());
@@ -2233,27 +2232,17 @@ public class RoomWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkWebServiceLevel(user_level)) {
+ int validFromHour = Integer.valueOf(validFromTime.substring(0, 2)).intValue();
+ int validFromMinute = Integer.valueOf(validFromTime.substring(3, 5)).intValue();
- Date dFrom = null;
- Date dTo = null;
-
- Integer validFromHour = Integer.valueOf(
- validFromTime.substring(0, 2)).intValue();
- Integer validFromMinute = Integer.valueOf(
- validFromTime.substring(3, 5)).intValue();
-
- Integer validToHour = Integer.valueOf(
- validToTime.substring(0, 2)).intValue();
- Integer validToMinute = Integer.valueOf(
- validToTime.substring(3, 5)).intValue();
+ int validToHour = Integer.valueOf(validToTime.substring(0, 2)).intValue();
+ int validToMinute = Integer.valueOf(validToTime.substring(3, 5)).intValue();
log.info("validFromHour: " + validFromHour);
log.info("validFromMinute: " + validFromMinute);
- Date fromDate = CalendarPatterns
- .parseDateBySeparator(validFromDate); // dd.MM.yyyy
- Date toDate = CalendarPatterns
- .parseDateBySeparator(validToDate); // dd.MM.yyyy
+ Date fromDate = CalendarPatterns.parseDateBySeparator(validFromDate); // dd.MM.yyyy
+ Date toDate = CalendarPatterns.parseDateBySeparator(validToDate); // dd.MM.yyyy
Calendar calFrom = Calendar.getInstance();
calFrom.setTime(fromDate);
@@ -2267,13 +2256,11 @@ public class RoomWebService {
calTo.set(calTo.get(Calendar.YEAR), calTo.get(Calendar.MONTH),
calTo.get(Calendar.DATE), validToHour, validToMinute, 0);
- dFrom = calFrom.getTime();
- dTo = calTo.getTime();
+ Date dFrom = calFrom.getTime();
+ Date dTo = calTo.getTime();
- log.info("validFromDate: "
- + CalendarPatterns.getDateWithTimeByMiliSeconds(dFrom));
- log.info("validToDate: "
- + CalendarPatterns.getDateWithTimeByMiliSeconds(dTo));
+ log.info("validFromDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(dFrom));
+ log.info("validToDate: " + CalendarPatterns.getDateWithTimeByMiliSeconds(dTo));
Long rooms_id = roomManager.addExternalRoom(name,
roomtypes_id, comment, numberOfPartizipants, ispublic,
@@ -2288,17 +2275,20 @@ public class RoomWebService {
return rooms_id;
}
- appointmentDao.addAppointment("appointmentName", users_id,
- "appointmentLocation", "appointmentDescription", dFrom,
- dTo, // appointmentstart, appointmentend,
- false, false, false, false, // isDaily, isWeekly,
- // isMonthly, isYearly,
- 1L, // categoryId
- reminderTypeId, // 1=none, 2=simple mail, 3=ICAL
- roomDao.get(rooms_id), 1L, // language_id
- isPasswordProtected, // isPasswordProtected
- password, // password
- false);
+ Appointment a = new Appointment();
+ a.setTitle("appointmentName");
+ a.setOwner(userDao.get(users_id));
+ a.setLocation("appointmentLocation");
+ a.setDescription("appointmentDescription");
+ a.setStart(dFrom);
+ a.setEnd(dTo);
+ a.setCategory(appointmentCategoryDao.get(1L));
+ a.setRemind(appointmentReminderTypDao.get(reminderTypeId));
+ a.setRoom(roomDao.get(rooms_id));
+ a.setPasswordProtected(isPasswordProtected);
+ a.setPassword(password);
+ a.setLanguageId(1L); //TODO check
+ appointmentDao.update(a, getBaseUrl(), users_id); //FIXME verify !!!
return rooms_id;
@@ -2341,35 +2331,7 @@ public class RoomWebService {
public Long addMeetingMemberRemindToRoom(String SID, Long room_id,
String firstname, String lastname, String email, String baseUrl,
Long language_id) throws AxisFault {
- try {
- Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
-
- if (authLevelUtil.checkWebServiceLevel(user_level)) {
-
- Appointment appointment = appointmentDao
- .getAppointmentByRoom(room_id);
-
- if (appointment == null) {
- return -1L;
- }
- // Not In Remote List available - extern user
- Long memberId = meetingMemberLogic.addMeetingMember(firstname,
- lastname, "0", "0", appointment.getId(),
- null, email, null, baseUrl, null, new Boolean(false),
- language_id, false, "", null, "");
-
- return memberId;
-
- } else {
- return -2L;
- }
- } catch (Exception err) {
- log.error("[addRoomWithModeration] ", err);
-
- throw new AxisFault(err.getMessage());
- }
-
+ return addExternalMeetingMemberRemindToRoom(SID, room_id, firstname, lastname, email, baseUrl, language_id, null, null);
}
/**
@@ -2409,22 +2371,23 @@ public class RoomWebService {
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkWebServiceLevel(user_level)) {
+ Appointment a = appointmentLogic.getAppointmentByRoom(room_id);
- Appointment appointment = appointmentDao
- .getAppointmentByRoom(room_id);
-
- if (appointment == null) {
+ if (email == null || a == null) {
return -1L;
}
+ for (MeetingMember mm : a.getMeetingMembers()) {
+ if (email.equals(mm.getUser().getAdresses().getEmail())) {
+ return mm.getId();
+ }
+ }
+ MeetingMember mm = new MeetingMember();
+ mm.setAppointment(a);
+ mm.setUser(userDao.getContact(email, firstname, lastname, language_id, jNameTimeZone, users_id));
+ a.getMeetingMembers().add(mm);
+ appointmentDao.update(a, baseUrl, users_id);
- // Not In Remote List available - extern user
- Long memberId = meetingMemberLogic.addMeetingMember(firstname,
- lastname, "0", "0", appointment.getId(),
- null, email, "", baseUrl, null, new Boolean(false),
- language_id, false, "", null, invitorName);
-
- return memberId;
-
+ return mm.getId(); //FIXME check to return ID
} else {
return -2L;
}
@@ -2433,7 +2396,6 @@ public class RoomWebService {
throw new AxisFault(err.getMessage());
}
-
}
/**
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentCategoryConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentCategoryConverter.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentCategoryConverter.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentCategoryConverter.java Thu Sep 12 01:21:26 2013
@@ -35,7 +35,7 @@ public class AppointmentCategoryConverte
}
public AppointmentCategory read(InputNode node) throws Exception {
- return appointmentCategoryDaoImpl.getAppointmentCategoryById(getlongValue(node));
+ return appointmentCategoryDaoImpl.get(getlongValue(node));
}
public void write(OutputNode node, AppointmentCategory value)
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/backup/AppointmentReminderTypeConverter.java Thu Sep 12 01:21:26 2013
@@ -35,7 +35,7 @@ public class AppointmentReminderTypeConv
}
public AppointmentReminderTyps read(InputNode node) throws Exception {
- return appointmentReminderTypDaoImpl.getAppointmentReminderTypById(getlongValue(node));
+ return appointmentReminderTypDaoImpl.get(getlongValue(node));
}
public void write(OutputNode node, AppointmentReminderTyps value) throws Exception {
Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentCategoryDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentCategoryDao.java?rev=1522099&r1=1522098&r2=1522099&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentCategoryDao.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/data/calendar/daos/AppointmentCategoryDao.java Thu Sep 12 01:21:26 2013
@@ -44,7 +44,7 @@ public class AppointmentCategoryDao {
@Autowired
private UserDao usersDao;
- public AppointmentCategory getAppointmentCategoryById(Long categoryId) {
+ public AppointmentCategory get(Long categoryId) {
try {
log.debug("getAppointmentCategoryById: " + categoryId);
@@ -73,7 +73,7 @@ public class AppointmentCategoryDao {
try {
AppointmentCategory ac = this
- .getAppointmentCategoryById(categoryId);
+ .get(categoryId);
ac.setName(name);
ac.setUpdatetime(new Date());
@@ -118,7 +118,7 @@ public class AppointmentCategoryDao {
try {
AppointmentCategory ac = this
- .getAppointmentCategoryById(categoryId);
+ .get(categoryId);
log.debug("ac: " + ac);