You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/03/15 17:49:55 UTC
svn commit: r1301081 - in /incubator/openmeetings/trunk/singlewebapp:
WebContent/src/ WebContent/src/base/ WebContent/src/modules/lzcalendar/
WebContent/src/modules/lzcalendar/compontents/
src/app/org/openmeetings/app/data/calendar/management/ src/cale...
Author: sebawagner
Date: Thu Mar 15 16:49:54 2012
New Revision: 1301081
URL: http://svn.apache.org/viewvc?rev=1301081&view=rev
Log:
OPENMEETINGS-7 save operation for new events
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/src/base/functions.lzx
incubator/openmeetings/trunk/singlewebapp/WebContent/src/main.lzx
incubator/openmeetings/trunk/singlewebapp/WebContent/src/maindebug.lzx
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/lzCalendar.lzx
incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/base/functions.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/base/functions.lzx?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/base/functions.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/base/functions.lzx Thu Mar 15 16:49:54 2012
@@ -402,6 +402,29 @@ function parseDateTimeFromXmlString(str)
return new Date(tYear,Number(tMonth)-1,tDay,tHour,tMin,0);
}
+/**
+ * Correct REST format for java.util.Calendar is: yyyy-mm-ddTHH:MM:SS
+ *
+ *
+ */
+function parseDateToRestDateCalendar(dateObj){
+ if($debug) Debug.write("FUNC/parseDateToStringTime 1",dateObj);
+ if (dateObj==null) return "";
+ var d = dateObj.getDate();
+ if (d<10) d = "0"+d;
+ var mo = dateObj.getMonth()+1;
+ if (mo<10) mo = "0"+mo;
+ var y = dateObj.getFullYear();
+ var h = dateObj.getHours();
+ if (h<10) h = "0"+h;
+ var m = dateObj.getMinutes();
+ if (m<10) m = "0"+m;
+ var s = dateObj.getSeconds();
+ if (s<10) s = "0"+s;
+ if($debug) Debug.write("FUNC/parseDateToStringTime 2",""+y+"-"+mo+"-"+d+"T"+h+":"+m+":"+s);
+ return ""+y+"-"+mo+"-"+d+"T"+h+":"+m+":"+s;
+}
+
]]>
</script>
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/main.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/main.lzx?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/main.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/main.lzx Thu Mar 15 16:49:54 2012
@@ -170,7 +170,7 @@
<!-- View for "Loading" -->
<view name="_loadingAll" visible="false" opacity="0.7"
width="${ canvas.width }" height="${ canvas.height }"
- bgcolor="0xFFFFFF" clickable="true" >
+ bgcolor="0xFFFFFF" clickable="true" showhandcursor="false">
<method name="hideContentOnly">
this.setAttribute("visibility","visible");
this._text.setAttribute("visibility","hidden");
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/maindebug.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/maindebug.lzx?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/maindebug.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/maindebug.lzx Thu Mar 15 16:49:54 2012
@@ -171,7 +171,7 @@
<!-- View for "Loading" -->
<view name="_loadingAll" visible="false" opacity="0.7"
width="${ canvas.width }" height="${ canvas.height }"
- bgcolor="0xFFFFFF" clickable="true" >
+ bgcolor="0xFFFFFF" clickable="true" showhandcursor="false">
<method name="hideContentOnly">
this.setAttribute("visibility","visible");
this._text.setAttribute("visibility","hidden");
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/compontents/lzEditCalendarEvent.lzx Thu Mar 15 16:49:54 2012
@@ -20,38 +20,142 @@
-->
<library>
- <class name="lzEditCalendarEvent" extends="labelExplorerBox" labelid="815" allowDragging="false"
- x="$once{ parent.width/2 - 300 }" y="100" docking="true" resizeable="false"
- closable="true" width="600" height="480">
+ <class name="lzEditCalendarEvent" extends="labelExplorerBox" labelid="815" allowDragging="true"
+ x="$once{ parent.width/2 - 300 }" y="100" docking="false" resizeable="false"
+ closable="true" width="600" height="500">
<attribute name="reminderTypeId" value="0" type="number" />
<attribute name="dataElement" value="null" />
+ <attribute name="baseUrl" value="" type="string" />
+
<dataset name="eventDS" />
<handler name="oninit">
- canvas._loadingAll.hideContentOnly();
- var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
- +canvas.httpRootKey+'services/CalendarService/getAppointmentReminderTypList?'
- +'SID='+canvas.sessionId;
-
- this.getAppointmentReminderTypList.setAttribute("src",downloadurl);
- this.getAppointmentReminderTypList.doRequest();
-
- if ($debug) Debug.write("this.dataElement ",this.dataElement);
-
- this.eventDS.setData(this.dataElement.childNodes);
-
- if ($debug) Debug.write("this.eventDS ",this.eventDS);
-
- lz.Focus.setFocus(this._title, false);
+ <![CDATA[
+ canvas._loadingAll.hideContentOnly();
+
+ //Point URL to actual File
+ var urlObject = lz.Browser.getBaseURL();
+ //If Port is Null or undefinied use port 80
+ if (urlObject.port!=null && urlObject.port!=undefined){
+ var port = urlObject.port;
+
+ if (port != 80) {
+ this.baseUrl = urlObject.protocol+"://"+urlObject.host+":"+port+urlObject.path;
+ } else {
+ this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+ }
+ } else {
+ this.baseUrl = urlObject.protocol+"://"+urlObject.host+urlObject.path;
+ }
+
+ if ($debug) Debug.write("urlObject ",urlObject);
+ if ($debug) Debug.write("this.baseUrl ",this.baseUrl);
+
+ var downloadurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+ +canvas.httpRootKey+'services/CalendarService/getAppointmentReminderTypList?'
+ +'SID='+canvas.sessionId;
+
+ this.getAppointmentReminderTypList.setAttribute("src",downloadurl);
+ this.getAppointmentReminderTypList.doRequest();
+
+ if ($debug) Debug.write("this.dataElement ",this.dataElement);
+
+ this.eventDS.setData(this.dataElement.childNodes);
+
+ if ($debug) Debug.write("this.eventDS ",this.eventDS);
+
+ lz.Focus.setFocus(this._title, false);
+ ]]>
</handler>
<handler name="onclose">
canvas._loadingAll.hideLoading();
</handler>
+ <method name="saveAndClose">
+ <![CDATA[
+ var tMemberArgs = this._participentList.getMemberArrayValue();
+
+ var tAppointmentStartDate = this._dateStart.getDate();
+ if ($debug) Debug.write("tAppointmentStartDate ",tAppointmentStartDate);
+ var tTimeStart = this._timeStart.getText();
+ var hours = Number(tTimeStart.substr(0,2));
+ var mins = Number(tTimeStart.substr(4,2));
+ if ($debug) Debug.write("hours:mins",hours,mins,tTimeStart.substr(4,2));
+ tAppointmentStartDate.setHours(hours);
+ tAppointmentStartDate.setMinutes(mins);
+
+ var tAppointmentEndDate = this._dateEnd.getDate();
+ var tTimeEnd = this._timeEnd.getText();
+ var hours = Number(tTimeEnd.substr(0,2));
+ var mins = Number(tTimeEnd.substr(4,2));
+ tAppointmentEndDate.setHours(hours);
+ tAppointmentEndDate.setMinutes(mins);
+
+ var updateurl = canvas.protocol + '://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+ +canvas.httpRootKey+'services/CalendarService/saveAppointment';
+ var queryString = 'SID='+canvas.sessionId
+ +'&appointmentName='+encodeURIComponent(this._title.getText())
+ +'&appointmentLocation='+encodeURIComponent(this._location.getText())
+ +'&appointmentDescription='+encodeURIComponent(this._descr.getText())
+ +'&appointmentstart='+parseDateToRestDateCalendar(tAppointmentStartDate)
+ +'&appointmentend='+parseDateToRestDateCalendar(tAppointmentEndDate)
+ +'&isDaily='+false
+ +'&isYearly='+false
+ +'&categoryId='+1
+ +'&remind='+this._reminderType.getValue()
+ ;
+
+ for (var i=0;i<tMemberArgs.length;i++) {
+
+ var tObject = tMemberArgs[i];
+ queryString += '&mmClient=' +
+ encodeURIComponent(
+ tObject.meetingMemberId + ','
+ + tObject.firstname + ','
+ + tObject.lastname + ','
+ + tObject.email + ','
+ + tObject.userId + ','
+ + tObject.jNameTimeZone
+ );
+
+ }
+
+ queryString += +'&roomType='+this._roomType.getValue()
+ +'&baseUrl='+this.baseUrl
+ +'&languageId='+hib.userlang
+
+ if ($debug) Debug.write(updateurl);
+ if ($debug) Debug.write(queryString);
+
+ this.saveNewAppointment.setAttribute("src",updateurl);
+ this.saveNewAppointment.setAttribute("querystring",queryString);
+ this.saveNewAppointment.doRequest();
+ ]]>
+ </method>
+
+ <!--
+ String SID, String appointmentName,
+ String appointmentLocation, String appointmentDescription,
+ Date appointmentstart, Date appointmentend, Boolean isDaily,
+ Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
+ Long categoryId, Long remind,
+ String[] mmClient, Long roomType,
+ String baseUrl, Long languageId
+ -->
+ <dataset name="saveNewAppointment" type="http" querytype="POST">
+ <handler name="ondata" args="d">
+ if ($debug) Debug.write("saveNewAppointment ",d);
+ var tPointer = new lz.datapointer();
+ tPointer.setPointer(d);
+ var returnValue = tPointer.xpathQuery('saveAppointmentResponse/return/text()');
+ if ($debug) Debug.write("returnValue "+returnValue);
+ </handler>
+ </dataset>
+
<dataset name="getAppointmentReminderTypList" type="http" />
<labelText name="_titleLabel" x="4" y="24" labelid="572" fontstyle="bold" />
@@ -191,7 +295,31 @@
width:this._content.width-10
});
]]>
- </method>
+ </method>
+
+ <method name="getMemberArrayValue">
+ <![CDATA[
+ var tArray = new Array();
+
+ for (var i=0;i<this._content._inner.subviews.length;i++) {
+
+ var tViewObj = this._content._inner.subviews[i];
+
+ var tObject = new Object();
+ tObject.meetingMemberId = tViewObj.memberId;
+ tObject.firstname = tViewObj.firstName;
+ tObject.lastname = tViewObj.lastName;
+ tObject.email = tViewObj.email;
+ tObject.userId = tViewObj.userId;
+ tObject.jNameTimeZone = tViewObj.jNameTimeZone;
+
+ tArray.push(tObject);
+ }
+
+ return tArray;
+ ]]>
+ </method>
+
<view name="_content" bgcolor="0xFFFFFF" x="1" y="1" clip="true"
width="$once{ parent.width-1 }" height="$once{ parent.height-1 }">
<view name="_inner">
@@ -200,21 +328,25 @@
<om_vscrollbar />
</view>
</view>
+
+ <!-- Location -->
+ <labelText name="_locationLabel" x="4" y="304" labelid="569" fontstyle="bold" />
+
+ <customEdittext name="_location" width="$once{ parent.width-110 }" x="100" y="304" />
- <!-- Kommentar -->
- <labelText name="_descrLabel" x="4" y="304" labelid="573" fontstyle="bold" />
+ <!-- Comment -->
+ <labelText name="_descrLabel" x="4" y="330" labelid="573" fontstyle="bold" />
- <customScrollEdittext name="_descr" y="304" x="100" width="$once{ parent.width-110 }"
+ <customScrollEdittext name="_descr" y="330" x="100" width="$once{ parent.width-110 }"
height="124" text="" />
<simpleLabelButton labelid="813" width="100" x="$once{ parent.width-315 }"
- y="$once{ parent.height-24 }"
- onclick="this.parent.closeAndSave();">
+ y="$once{ parent.height-24 }" >
<handler name="onclick">
- if (canvas.contactUser != 0) {
- new lz.labelerrorPopup(canvas,{errorlabelid:1278});
- return;
- }
+ //new lz.labelerrorPopup(canvas,{errorlabelid:1278});
+ //return;
+
+ parent.saveAndClose();
</handler>
</simpleLabelButton>
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/lzCalendar.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/lzCalendar.lzx?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/lzCalendar.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/lzcalendar/lzCalendar.lzx Thu Mar 15 16:49:54 2012
@@ -116,8 +116,9 @@
newAppointment.comment = "";
newAppointment.reminderId = 3;
newAppointment.roomsId = 0;
+ newAppointment.location = "";
newAppointment.meetingMember = new Array();
- newAppointment.isPasswordProtected = true;
+ newAppointment.isPasswordProtected = false;
var dataElement = LzDataElement.valueToElement(newAppointment);
@@ -135,7 +136,7 @@
<!-- 176 pixels is the width of the mini calendar -->
<simpleLabelButton labelid="1444" height="24" width="176" x="12" y="10" >
<handler name="onclick">
- parent.currentDate = null;
+ parent.newCalendarEvent();
</handler>
</simpleLabelButton>
Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/calendar/management/AppointmentLogic.java Thu Mar 15 16:49:54 2012
@@ -21,6 +21,7 @@ package org.openmeetings.app.data.calend
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.TimeZone;
import org.openmeetings.app.data.basic.Configurationmanagement;
@@ -234,6 +235,12 @@ public class AppointmentLogic {
log.debug("clientMember.get('userId') "
+ clientMember.get("userId"));
+
+ for (Object tString : clientMember.entrySet()) {
+ log.debug("tString " + tString);
+ }
+ log.debug("clientMember.get('meetingMemberId') "
+ + clientMember.get("meetingMemberId"));
// We need two different timeZones, the internal Java Object
// TimeZone, and
@@ -284,7 +291,8 @@ public class AppointmentLogic {
clientMember.get("email").toString(), baseUrl,
userId, // meeting_organizer
new Boolean(false), // invitor
- language_id, false, // isPasswordProtected
+ language_id, //language_id
+ false, // isPasswordProtected
"", // password
timezoneMember, omTimeZone, invitorName);
Modified: incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebService.java Thu Mar 15 16:49:54 2012
@@ -21,7 +21,9 @@ package org.openmeetings.axis.services;
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 org.openmeetings.app.OpenmeetingsVariables;
import org.openmeetings.app.data.basic.AuthLevelmanagement;
@@ -50,13 +52,13 @@ import org.springframework.beans.factory
*
* @author sebawagner
* @webservice CalendarService
- *
+ *
*/
public class CalendarWebService {
private static final Logger log = Red5LoggerFactory.getLogger(
CalendarWebService.class, OpenmeetingsVariables.webAppRootKey);
-
+
@Autowired
private AppointmentDaoImpl appointmentDao;
@Autowired
@@ -77,9 +79,12 @@ public class CalendarWebService {
/**
* Load appointments by a start / end range for the current SID
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
- * @param starttime start time, yyyy-mm-dd
- * @param endtime end time, yyyy-mm-dd
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
+ * @param starttime
+ * start time, yyyy-mm-dd
+ * @param endtime
+ * end time, yyyy-mm-dd
* @return
*/
public List<Appointment> getAppointmentByRange(String SID, Date starttime,
@@ -99,18 +104,22 @@ public class CalendarWebService {
}
return null;
}
-
+
/**
* Load appointments by a start / end range for the userId
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
- * @param userId the userId the calendar events should be loaded
- * @param starttime start time, yyyy-mm-dd
- * @param endtime end time, yyyy-mm-dd
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
+ * @param userId
+ * the userId the calendar events should be loaded
+ * @param starttime
+ * start time, yyyy-mm-dd
+ * @param endtime
+ * end time, yyyy-mm-dd
* @return
*/
- public List<Appointment> getAppointmentByRangeForUserId(String SID, long userId, Date starttime,
- Date endtime) {
+ public List<Appointment> getAppointmentByRangeForUserId(String SID,
+ long userId, Date starttime, Date endtime) {
log.debug("getAppointmentByRange : startdate - " + starttime
+ ", enddate - " + endtime);
try {
@@ -130,7 +139,8 @@ public class CalendarWebService {
/**
* Get the next Calendar event for the current user of the SID
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
* @return
*/
public Appointment getNextAppointment(String SID) {
@@ -149,11 +159,12 @@ public class CalendarWebService {
return null;
}
-
+
/**
* Get the next Calendar event for userId
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
* @return
*/
public Appointment getNextAppointmentForUserId(String SID, long userId) {
@@ -176,8 +187,10 @@ public class CalendarWebService {
/**
* Search a calendar event for the current SID
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
- * @param appointmentName the search string
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
+ * @param appointmentName
+ * the search string
* @return
*/
public List<Appointment> searchAppointmentByName(String SID,
@@ -202,30 +215,56 @@ public class CalendarWebService {
/**
* Save an appointment
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
- * @param appointmentName name of the calendar event
- * @param appointmentLocation location info text of the calendar event
- * @param appointmentDescription description test of the calendar event
- * @param appointmentstart start as Date yyyy-mm-dd
- * @param appointmentend end as Date yyyy-mm-dd
- * @param isDaily if the calendar event should be repeated daily (not implemented)
- * @param isWeekly if the calendar event should be repeated weekly (not implemented)
- * @param isMonthly if the calendar event should be repeated monthly (not implemented)
- * @param isYearly if the calendar event should be repeated yearly (not implemented)
- * @param categoryId the category id of the calendar event
- * @param remind the reminder type of the calendar event
- * @param mmClient List of clients
- * @param roomType the room type for the calendar event
- * @param baseUrl the base URL for the invitations
- * @param language_id the language id of the calendar event
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
+ * @param appointmentName
+ * name of the calendar event
+ * @param appointmentLocation
+ * location info text of the calendar event
+ * @param appointmentDescription
+ * description test of the calendar event
+ * @param appointmentstart
+ * start as Date yyyy-mm-ddThh:mm:ss
+ * @param appointmentend
+ * end as Date yyyy-mm-ddThh:mm:ss
+ * @param isDaily
+ * if the calendar event should be repeated daily (not
+ * implemented)
+ * @param isWeekly
+ * if the calendar event should be repeated weekly (not
+ * implemented)
+ * @param isMonthly
+ * if the calendar event should be repeated monthly (not
+ * implemented)
+ * @param isYearly
+ * if the calendar event should be repeated yearly (not
+ * implemented)
+ * @param categoryId
+ * the category id of the calendar event
+ * @param remind
+ * the reminder type of the calendar event
+ * @param mmClient
+ * List of clients, comma separated string, <br/>
+ * sample: 1,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+ * to add multiple clients you can use the same GET parameter in
+ * the URL multiple times, for example:
+ * &mmClient=1,firstname,lastname,hans
+ * .tier@gmail.com,1,Etc/GMT+1&mmClient
+ * =2,firstname,lastname,hans.tier@gmail.com,1,Etc/GMT+1
+ * @param roomType
+ * the room type for the calendar event
+ * @param baseUrl
+ * the base URL for the invitations
+ * @param languageId
+ * the language id of the calendar event
* @return
*/
public Long saveAppointment(String SID, String appointmentName,
String appointmentLocation, String appointmentDescription,
- Date appointmentstart, Date appointmentend, Boolean isDaily,
- Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
- Long categoryId, Long remind, @SuppressWarnings("rawtypes") List mmClient, Long roomType,
- String baseUrl, Long language_id) {
+ Calendar appointmentstart, Calendar appointmentend,
+ Boolean isDaily, Boolean isWeekly, Boolean isMonthly,
+ Boolean isYearly, Long categoryId, Long remind, String[] mmClient,
+ Long roomType, String baseUrl, Long languageId) {
log.debug("saveAppointMent SID:" + SID + ", baseUrl : " + baseUrl);
@@ -236,14 +275,28 @@ public class CalendarWebService {
Long user_level = userManagement.getUserLevelByID(users_id);
if (authLevelManagement.checkUserLevel(user_level)) {
-
- //FIXME: Check if the event is also the event of the current SID
+
+ 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);
+ }
+
+ // FIXME: Check if the event is also the event of the current
Long id = appointmentLogic.saveAppointment(appointmentName,
users_id, appointmentLocation, appointmentDescription,
- appointmentstart, appointmentend, isDaily, isWeekly,
- isMonthly, isYearly, categoryId, remind, mmClient,
- roomType, baseUrl, language_id);
+ appointmentstart.getTime(), appointmentend.getTime(),
+ isDaily, isWeekly, isMonthly, isYearly, categoryId,
+ remind, newList, roomType, baseUrl, languageId);
return id;
} else {
@@ -259,17 +312,23 @@ public class CalendarWebService {
/**
* Update an calendar event time only
*
- * @param SID The SID of the User. This SID must be marked as Loggedin
- * @param appointmentId the calendar event that should be updated
- * @param appointmentstart start yyyy-mm-dd
- * @param appointmentend end yyyy-mm-dd
- * @param baseurl the base URL for the invitations that will be send by email
- * @param language_id the language id
+ * @param SID
+ * The SID of the User. This SID must be marked as Loggedin
+ * @param appointmentId
+ * the calendar event that should be updated
+ * @param appointmentstart
+ * start yyyy-mm-dd
+ * @param appointmentend
+ * end yyyy-mm-dd
+ * @param baseurl
+ * the base URL for the invitations that will be send by email
+ * @param languageId
+ * the language id
* @return
*/
public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
Date appointmentstart, Date appointmentend, String baseurl,
- Long language_id) {
+ Long languageId) {
try {
Long users_id = sessionManagement.checkSession(SID);
@@ -277,18 +336,18 @@ public class CalendarWebService {
if (authLevelManagement.checkUserLevel(user_level)) {
log.debug("updateAppointment");
- //FIXME: Check if the event is also the event of the current SID
+ // FIXME: Check if the event is also the event of the current
+ // SID
log.debug("appointmentId " + appointmentId);
- appointmentLogic
- .getAppointMentById(appointmentId);
+ appointmentLogic.getAppointMentById(appointmentId);
Users user = userManagement.getUserById(users_id);
return appointmentLogic.updateAppointmentByTime(appointmentId,
appointmentstart, appointmentend, users_id, baseurl,
- language_id, user.getOmTimeZone().getIcal());
+ languageId, user.getOmTimeZone().getIcal());
}
} catch (Exception err) {
log.error("[updateAppointment]", err);
@@ -318,7 +377,7 @@ public class CalendarWebService {
* @param mmClient
* @param roomType
* @param baseurl
- * @param language_id
+ * @param languageId
* @return
*/
public Long updateAppointment(String SID, Long appointmentId,
@@ -326,7 +385,7 @@ public class CalendarWebService {
String appointmentDescription, Date appointmentstart,
Date appointmentend, Boolean isDaily, Boolean isWeekly,
Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
- List<?> mmClient, Long roomType, String baseurl, Long language_id) {
+ List<?> mmClient, Long roomType, String baseurl, Long languageId) {
try {
Long users_id = sessionManagement.checkSession(SID);
@@ -356,7 +415,7 @@ public class CalendarWebService {
appointmentName, appointmentDescription,
appointmentstart, appointmentend, isDaily, isWeekly,
isMonthly, isYearly, categoryId, remind, mmClient,
- users_id, baseurl, language_id, false, "", user
+ users_id, baseurl, languageId, false, "", user
.getOmTimeZone().getIcal());
}
} catch (Exception err) {
@@ -432,7 +491,7 @@ public class CalendarWebService {
}
return null;
}
-
+
/**
* Get all categories of calendar events
*
@@ -472,7 +531,7 @@ public class CalendarWebService {
return null;
}
-
+
/**
* Get all reminder types for calendar events
*
@@ -507,72 +566,78 @@ public class CalendarWebService {
}
return null;
}
-
+
public static void main(String... args) {
-
- Calendar cal =Calendar.getInstance();
+
+ Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, 1);
-
- new CalendarWebService().getAppointmentsByWeekCalendar(1, cal.getTime());
-
- }
-
- public List<Week> getAppointmentsByWeekCalendar(int firstDayInWeek, Date startDate) {
-
+
+ new CalendarWebService()
+ .getAppointmentsByWeekCalendar(1, cal.getTime());
+
+ }
+
+ public List<Week> getAppointmentsByWeekCalendar(int firstDayInWeek,
+ Date startDate) {
+
// 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.DATE, 1);
-
+
int currentWeekDay = currentDate.get(Calendar.DAY_OF_WEEK);
-
+
Calendar startWeekDay = Calendar.getInstance();
- startWeekDay.setTimeInMillis((currentDate.getTimeInMillis() - ((currentWeekDay-1) * 86400000)));
-
- log.debug("startWeekDay 1" +startWeekDay.getTime());
-
+ startWeekDay
+ .setTimeInMillis((currentDate.getTimeInMillis() - ((currentWeekDay - 1) * 86400000)));
+
+ log.debug("startWeekDay 1" + startWeekDay.getTime());
+
if (currentWeekDay == 1) {
- startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis() - ((7 - firstDayInWeek) * 86400000));
+ startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis()
+ - ((7 - firstDayInWeek) * 86400000));
} else {
-
+
if (currentWeekDay > firstDayInWeek) {
- startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis() + (firstDayInWeek * 86400000));
+ startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis()
+ + (firstDayInWeek * 86400000));
} else {
- startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis() - (firstDayInWeek * 86400000));
+ startWeekDay.setTimeInMillis(startWeekDay.getTimeInMillis()
+ - (firstDayInWeek * 86400000));
}
-
+
}
-
+
Calendar calStart = Calendar.getInstance();
calStart.setTime(startWeekDay.getTime());
-
+
Calendar calEnd = Calendar.getInstance();
// every month page in our calendar shows 42 days
calEnd.setTime(new Date(startWeekDay.getTime().getTime()
+ (42L * 86400000L)));
-
-
- List<Appointment> appointments = appointmentDao.getAppointmentsByRange(1L, calStart.getTime(), calEnd.getTime());
-
- log.debug("startWeekDay 2"+startWeekDay.getTime());
- log.debug("startWeekDay Number of appointments "+appointments.size());
-
+
+ List<Appointment> appointments = appointmentDao.getAppointmentsByRange(
+ 1L, 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();
tCal.setTimeInMillis(startWeekDay.getTimeInMillis()
+ (z * 86400000L));
-
+
Day day = new Day(tCal.getTime());
-
+
for (Appointment appointment : appointments) {
if (appointment.appointmentStartAsCalendar().get(
Calendar.MONTH) == tCal.get(Calendar.MONTH)
@@ -582,15 +647,14 @@ public class CalendarWebService {
new AppointmentDTO(appointment));
}
}
-
-
+
week.getDays().add(day);
z++;
}
-
+
weeks.add(week);
}
-
+
return weeks;
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java?rev=1301081&r1=1301080&r2=1301081&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/calendarservice/org/openmeetings/axis/services/CalendarWebServiceFacade.java Thu Mar 15 16:49:54 2012
@@ -18,6 +18,7 @@
*/
package org.openmeetings.axis.services;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -88,23 +89,23 @@ public class CalendarWebServiceFacade {
public Long saveAppointment(String SID, String appointmentName,
String appointmentLocation, String appointmentDescription,
- Date appointmentstart, Date appointmentend, Boolean isDaily,
+ Calendar appointmentstart, Calendar appointmentend, Boolean isDaily,
Boolean isWeekly, Boolean isMonthly, Boolean isYearly,
Long categoryId, Long remind,
- Long roomType,
- String baseUrl, Long language_id) throws AxisFault {
+ String[] mmClient, Long roomType,
+ String baseUrl, Long languageId) throws AxisFault {
return getCalendarServiceProxy().saveAppointment(SID, appointmentName,
appointmentLocation, appointmentDescription, appointmentstart,
appointmentend, isDaily, isWeekly, isMonthly, isYearly,
- categoryId, remind, null, roomType, baseUrl, language_id);
+ categoryId, remind, mmClient, roomType, baseUrl, languageId);
}
public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
Date appointmentstart, Date appointmentend, String baseurl,
- Long language_id) throws AxisFault {
+ Long languageId) throws AxisFault {
return getCalendarServiceProxy().updateAppointmentTimeOnly(SID,
appointmentId, appointmentstart, appointmentend, baseurl,
- language_id);
+ languageId);
}
public Long updateAppointment(String SID, Long appointmentId,
@@ -112,13 +113,13 @@ public class CalendarWebServiceFacade {
String appointmentDescription, Date appointmentstart,
Date appointmentend, Boolean isDaily, Boolean isWeekly,
Boolean isMonthly, Boolean isYearly, Long categoryId, Long remind,
- Long roomType, String baseurl, Long language_id)
+ Long roomType, String baseurl, Long languageId)
throws AxisFault {
return getCalendarServiceProxy().updateAppointment(SID, appointmentId,
appointmentName, appointmentLocation, appointmentDescription,
appointmentstart, appointmentend, isDaily, isWeekly, isMonthly,
isYearly, categoryId, remind, null, roomType, baseurl,
- language_id);
+ languageId);
}
public Long deleteAppointment(String SID, Long appointmentId,