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/04 16:50:26 UTC

svn commit: r1296825 - in /incubator/openmeetings/trunk/singlewebapp: WebContent/WEB-INF/ WebContent/WEB-INF/red5-services/ WebContent/src/modules/calendar/dialogue/ docs/ src/app/org/openmeetings/app/remote/ src/calendarservice/org/openmeetings/axis/s...

Author: sebawagner
Date: Sun Mar  4 15:50:25 2012
New Revision: 1296825

URL: http://svn.apache.org/viewvc?rev=1296825&view=rev
Log:
OPENMEETINGS-8 Generate CalendarAPI for SOAP/REST WebServices Basic WebService Calls moved (duplicated for the most of the calls)

Removed:
    incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-services/appointmentcategoryservice.service.xml
    incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/red5-services/appointmentreminderservice.service.xml
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/AppointmentCategoryService.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/AppointmentremindertypeService.java
Modified:
    incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/calendar/dialogue/termindetails.lzx
    incubator/openmeetings/trunk/singlewebapp/docs/CalendarService.html
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.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/WEB-INF/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1296825&r1=1296824&r2=1296825&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml Sun Mar  4 15:50:25 2012
@@ -51,9 +51,6 @@
     <bean id="openmeetings.WhiteBoardObjectListManagerById" class="org.openmeetings.app.remote.red5.WhiteBoardObjectListManagerById" />
 
 	<!-- Services -->
-    <import resource="red5-services/appointmentcategoryservice.service.xml"/> 
-    <import resource="red5-services/appointmentreminderservice.service.xml"/>
-    <import resource="red5-services/calendarservice.service.xml"/> 
     <import resource="red5-services/meetingmemberservice.service.xml"/>  
     <import resource="red5-services/fileservice.service.xml"/>  
     <import resource="red5-services/conferenceservice.service.xml"/>  

Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/calendar/dialogue/termindetails.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/calendar/dialogue/termindetails.lzx?rev=1296825&r1=1296824&r2=1296825&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/calendar/dialogue/termindetails.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/calendar/dialogue/termindetails.lzx Sun Mar  4 15:50:25 2012
@@ -154,7 +154,7 @@
             ]]>
         </method> 
             
-            <netRemoteCallHib name="getAppointmentCategoryList" funcname="appointmentcategoryservice.getAppointmentCategoryList" 
+            <netRemoteCallHib name="getAppointmentCategoryList" funcname="calendarservice.getAppointmentCategoryList" 
                               remotecontext="$once{ canvas.thishib }" >
                 <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
                 <handler name="ondata" args="valueList">
@@ -191,7 +191,7 @@
                 </handler>
             </netRemoteCallHib> 
             
-            <netRemoteCallHib name="getAppointmentReminderTypList" funcname="appointmentreminderservice.getAppointmentReminderTypList" 
+            <netRemoteCallHib name="getAppointmentReminderTypList" funcname="calendarservice.getAppointmentReminderTypList" 
                               remotecontext="$once{ canvas.thishib }" >
                 <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
                 <handler name="ondata" args="valueList">

Modified: incubator/openmeetings/trunk/singlewebapp/docs/CalendarService.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/CalendarService.html?rev=1296825&r1=1296824&r2=1296825&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/CalendarService.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/docs/CalendarService.html Sun Mar  4 15:50:25 2012
@@ -48,7 +48,51 @@ limitations under the License.
        <div class="navigation">
 	                               <div>
                 <a href="#getAppointmentByRange"><b>getAppointmentByRange</b></a><br/>
-                <div class="navigation_comment"><i ></i></div>
+                <div class="navigation_comment"><i >Load appointments by a start / end range for the current SID</i></div>
+                </div>
+                                               <div>
+                <a href="#getAppointmentByRangeForUserId"><b>getAppointmentByRangeForUserId</b></a><br/>
+                <div class="navigation_comment"><i >Load appointments by a start / end range for the userId</i></div>
+                </div>
+                                               <div>
+                <a href="#getNextAppointment"><b>getNextAppointment</b></a><br/>
+                <div class="navigation_comment"><i >Get the next Calendar event for the current user of the SID</i></div>
+                </div>
+                                               <div>
+                <a href="#getNextAppointmentForUserId"><b>getNextAppointmentForUserId</b></a><br/>
+                <div class="navigation_comment"><i >Get the next Calendar event for userId</i></div>
+                </div>
+                                               <div>
+                <a href="#searchAppointmentByName"><b>searchAppointmentByName</b></a><br/>
+                <div class="navigation_comment"><i >Search a calendar event for the current SID</i></div>
+                </div>
+                                               <div>
+                <a href="#saveAppointment"><b>saveAppointment</b></a><br/>
+                <div class="navigation_comment"><i >Save an appointment</i></div>
+                </div>
+                                               <div>
+                <a href="#updateAppointmentTimeOnly"><b>updateAppointmentTimeOnly</b></a><br/>
+                <div class="navigation_comment"><i >Update an calendar event time only</i></div>
+                </div>
+                                               <div>
+                <a href="#updateAppointment"><b>updateAppointment</b></a><br/>
+                <div class="navigation_comment"><i >Update a calendar event all attributes</i></div>
+                </div>
+                                               <div>
+                <a href="#deleteAppointment"><b>deleteAppointment</b></a><br/>
+                <div class="navigation_comment"><i >delete a calendar event</i></div>
+                </div>
+                                               <div>
+                <a href="#getAppointmentByRoomId"><b>getAppointmentByRoomId</b></a><br/>
+                <div class="navigation_comment"><i >Load a calendar event by its room id</i></div>
+                </div>
+                                               <div>
+                <a href="#getAppointmentCategoryList"><b>getAppointmentCategoryList</b></a><br/>
+                <div class="navigation_comment"><i >Get all categories of calendar events</i></div>
+                </div>
+                                               <div>
+                <a href="#getAppointmentReminderTypList"><b>getAppointmentReminderTypList</b></a><br/>
+                <div class="navigation_comment"><i >Get all reminder types for calendar events</i></div>
                 </div>
                            </div>
 	   
@@ -70,19 +114,958 @@ limitations under the License.
     			       			    			)
     			</i><br/>
     			<p>
-    			  
+    			  Load appointments by a start / end range for the current SID
+    			</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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">starttime</td>
+	                     <td valign="top">start time, yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">endtime</td>
+	                     <td valign="top">end time, yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getAppointmentByRangeForUserId" ><b>getAppointmentByRangeForUserId</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getAppointmentByRangeForUserId (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   long userId
+    			       			    			       			     , 
+    			       			   Date starttime
+    			       			    			       			     , 
+    			       			   Date endtime
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Load appointments by a start / end range for the userId
     			</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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		long
+	                     		                     </td>
+	                     <td valign="top">userId</td>
+	                     <td valign="top">the userId the calendar events should be loaded</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">starttime</td>
+	                     <td valign="top">start time, yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">endtime</td>
+	                     <td valign="top">end time, yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRangeForUserId?SID=VALUE&userId=VALUE&starttime=VALUE&endtime=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRangeForUserId?SID=VALUE&userId=VALUE&starttime=VALUE&endtime=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getNextAppointment" ><b>getNextAppointment</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getNextAppointment (
+    			    			    			       			   String SID
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Get the next Calendar event for the current user of the SID
+    			</p>
+    			<p>
+                  Return Type: org.openmeetings.app.persistence.beans.calendar.Appointment
+                </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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getNextAppointment?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getNextAppointment?SID=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getNextAppointmentForUserId" ><b>getNextAppointmentForUserId</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getNextAppointmentForUserId (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   long userId
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Get the next Calendar event for userId
+    			</p>
+    			<p>
+                  Return Type: org.openmeetings.app.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>
+    				    			<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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
     			    			<br/>
     			REST Sample Call/URL:<br/>
-    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRange?SID=VALUE&starttime=VALUE&endtime=VALUE</a>
+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getNextAppointmentForUserId?SID=VALUE&userId=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getNextAppointmentForUserId?SID=VALUE&userId=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="searchAppointmentByName" ><b>searchAppointmentByName</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>searchAppointmentByName (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   String appointmentName
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Search a calendar event for the current SID
+    			</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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentName</td>
+	                     <td valign="top">the search string</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/searchAppointmentByName?SID=VALUE&appointmentName=VALUE">http://localhost:5080/openmeetings/services/CalendarService/searchAppointmentByName?SID=VALUE&appointmentName=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="saveAppointment" ><b>saveAppointment</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>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
+    			       			    			       			     , 
+    			       			   List mmClient
+    			       			    			       			     , 
+    			       			   Long roomType
+    			       			    			       			     , 
+    			       			   String baseUrl
+    			       			    			       			     , 
+    			       			   Long language_id
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Save an appointment
+    			</p>
+    			<p>
+                  Return Type: java.lang.Long
+                </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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentName</td>
+	                     <td valign="top">name of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentLocation</td>
+	                     <td valign="top">location info text of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentDescription</td>
+	                     <td valign="top">description test of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentstart</td>
+	                     <td valign="top">start as Date yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentend</td>
+	                     <td valign="top">end as Date yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isDaily</td>
+	                     <td valign="top">if the calendar event should be repeated daily (not implemented)</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isWeekly</td>
+	                     <td valign="top">if the calendar event should be repeated weekly (not implemented)</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isMonthly</td>
+	                     <td valign="top">if the calendar event should be repeated monthly (not implemented)</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isYearly</td>
+	                     <td valign="top">if the calendar event should be repeated yearly (not implemented)</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">categoryId</td>
+	                     <td valign="top">the category id of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">remind</td>
+	                     <td valign="top">the reminder type of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		List
+	                     		                     </td>
+	                     <td valign="top">mmClient</td>
+	                     <td valign="top">List of clients</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">roomType</td>
+	                     <td valign="top">the room type for the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">baseUrl</td>
+	                     <td valign="top">the base URL for the invitations</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">language_id</td>
+	                     <td valign="top">the language id of the calendar event</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/saveAppointment?SID=VALUE&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&language_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/saveAppointment?SID=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VALUE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALU
 E&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseUrl=VALUE&language_id=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="updateAppointmentTimeOnly" ><b>updateAppointmentTimeOnly</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>updateAppointmentTimeOnly (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   Long appointmentId
+    			       			    			       			     , 
+    			       			   Date appointmentstart
+    			       			    			       			     , 
+    			       			   Date appointmentend
+    			       			    			       			     , 
+    			       			   String baseurl
+    			       			    			       			     , 
+    			       			   Long language_id
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Update an calendar event time only
+    			</p>
+    			<p>
+                  Return Type: java.lang.Long
+                </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">The SID of the User. This SID must be marked as Loggedin</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">appointmentId</td>
+	                     <td valign="top">the calendar event that should be updated</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentstart</td>
+	                     <td valign="top">start yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentend</td>
+	                     <td valign="top">end yyyy-mm-dd</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">baseurl</td>
+	                     <td valign="top">the base URL for the invitations that will be send by email</td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">language_id</td>
+	                     <td valign="top">the language id</td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/updateAppointmentTimeOnly?SID=VALUE&appointmentId=VALUE&appointmentstart=VALUE&appointmentend=VALUE&baseurl=VALUE&language_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/updateAppointmentTimeOnly?SID=VALUE&appointmentId=VALUE&appointmentstart=VALUE&appointmentend=VALUE&baseurl=VALUE&language_id=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="updateAppointment" ><b>updateAppointment</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>updateAppointment (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   Long appointmentId
+    			       			    			       			     , 
+    			       			   String appointmentName
+    			       			    			       			     , 
+    			       			   String appointmentLocation
+    			       			    			       			     , 
+    			       			   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
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Update a calendar event all attributes
+    			</p>
+    			<p>
+                  Return Type: java.lang.Long
+                </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"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">appointmentId</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentName</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentLocation</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">appointmentDescription</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentstart</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Date
+	                     		                     </td>
+	                     <td valign="top">appointmentend</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isDaily</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isWeekly</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isMonthly</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Boolean
+	                     		                     </td>
+	                     <td valign="top">isYearly</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">categoryId</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">remind</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		List
+	                     		                     </td>
+	                     <td valign="top">mmClient</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">roomType</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		String
+	                     		                     </td>
+	                     <td valign="top">baseurl</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">language_id</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/updateAppointment?SID=VALUE&appointmentId=VALUE&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&language_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/updateAppointment?SID=VALUE&appointmentId=VALUE&appointmentName=VALUE&appointmentLocation=VALUE&appointmentDescription=VALUE&appointmentstart=VALUE&appointmentend=VALUE&isDaily=VAL
 UE&isWeekly=VALUE&isMonthly=VALUE&isYearly=VALUE&categoryId=VALUE&remind=VALUE&mmClient=VALUE&roomType=VALUE&baseurl=VALUE&language_id=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="deleteAppointment" ><b>deleteAppointment</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>deleteAppointment (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   Long appointmentId
+    			       			    			       			     , 
+    			       			   Long language_id
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  delete a calendar event
+    			</p>
+    			<p>
+                  Return Type: java.lang.Long
+                </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"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">appointmentId</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">language_id</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/deleteAppointment?SID=VALUE&appointmentId=VALUE&language_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/deleteAppointment?SID=VALUE&appointmentId=VALUE&language_id=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getAppointmentByRoomId" ><b>getAppointmentByRoomId</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getAppointmentByRoomId (
+    			    			    			       			   String SID
+    			       			    			       			     , 
+    			       			   Long room_id
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Load a calendar event by its room id
+    			</p>
+    			<p>
+                  Return Type: org.openmeetings.app.persistence.beans.calendar.Appointment
+                </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"></td>
+	                   </tr>
+	                   
+	                   	                   	    			   <tr>
+	                     <td valign="top">
+	                     		                     		Long
+	                     		                     </td>
+	                     <td valign="top">room_id</td>
+	                     <td valign="top"></td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    								    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRoomId?SID=VALUE&room_id=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentByRoomId?SID=VALUE&room_id=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getAppointmentCategoryList" ><b>getAppointmentCategoryList</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getAppointmentCategoryList (
+    			    			    			       			   String SID
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Get all categories of calendar events
+    			</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"></td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			REST Sample Call/URL:<br/>
+    			    			    				    												<a href="http://localhost:5080/openmeetings/services/CalendarService/getAppointmentCategoryList?SID=VALUE">http://localhost:5080/openmeetings/services/CalendarService/getAppointmentCategoryList?SID=VALUE</a>
+    			</a>
+    		  </div>
+    	   				    		      <div class="method">
+		        <div class="method_header">
+		        <div style="margin-left:10px">
+    			<a name="getAppointmentReminderTypList" ><b>getAppointmentReminderTypList</b></a>
+    			</div>
+    			</div>
+    			
+    			Method: <i>getAppointmentReminderTypList (
+    			    			    			       			   String SID
+    			       			    			)
+    			</i><br/>
+    			<p>
+    			  Get all reminder types for calendar events
+    			</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"></td>
+	                   </tr>
+	                   
+	                   	                   	                   </tbody>
+	    			</table>
+    			    			<br/>
+    			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>
     			</a>
     		  </div>
     	   			

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java?rev=1296825&r1=1296824&r2=1296825&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/CalendarService.java Sun Mar  4 15:50:25 2012
@@ -24,11 +24,15 @@ import java.util.List;
 import org.openmeetings.app.OpenmeetingsVariables;
 import org.openmeetings.app.data.basic.AuthLevelmanagement;
 import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
 import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
 import org.openmeetings.app.data.calendar.management.AppointmentLogic;
 import org.openmeetings.app.data.conference.Roommanagement;
 import org.openmeetings.app.data.user.Usermanagement;
 import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
 import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
 import org.openmeetings.app.persistence.beans.rooms.Rooms;
 import org.openmeetings.app.persistence.beans.user.Users;
@@ -53,6 +57,10 @@ public class CalendarService {
 	private Roommanagement roommanagement;
 	@Autowired
 	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
 
 	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
 			Date endtime) {
@@ -266,5 +274,73 @@ public class CalendarService {
 		}
 		return null;
 	}
+	
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID) {
+		log.debug("AppointmenetCategoryService.getAppointmentCategoryList SID : "
+				+ SID);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentCategory> res = appointmentCategoryDaoImpl
+						.getAppointmentCategoryList();
+
+				if (res == null || res.size() < 1)
+					log.debug("no AppointmentCategories found");
+				else {
+					for (int i = 0; i < res.size(); i++) {
+						AppointmentCategory ac = res.get(i);
+						log.debug("found appCategory : " + ac.getName());
+					}
+				}
+
+				return res;
+			} else {
+				log.error("AppointmenetCategoryService.getAppointmentCategoryList : UserLevel Error");
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentCategory]", err);
+		}
+		return null;
+
+	}
+	
+	/**
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) {
+		log.debug("getAppointmentReminderTypList");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentReminderTyps> res = appointmentReminderTypDaoImpl
+						.getAppointmentReminderTypList();
+
+				if (res == null || res.size() < 1) {
+					log.debug("no remindertyps found!");
+				} else {
+					for (int i = 0; i < res.size(); i++) {
+						log.debug("found reminder " + res.get(i).getName());
+					}
+				}
+
+				return res;
+			} else
+				log.debug("getAppointmentReminderTypList  :error - wrong authlevel!");
+		} catch (Exception err) {
+			log.error("[getAppointmentReminderTypList]", err);
+		}
+		return null;
+	}
 
 }

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=1296825&r1=1296824&r2=1296825&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 Sun Mar  4 15:50:25 2012
@@ -23,8 +23,20 @@ import java.util.LinkedList;
 import java.util.List;
 
 import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.calendar.daos.AppointmentCategoryDaoImpl;
 import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
+import org.openmeetings.app.data.calendar.daos.AppointmentReminderTypDaoImpl;
+import org.openmeetings.app.data.calendar.management.AppointmentLogic;
+import org.openmeetings.app.data.conference.Roommanagement;
+import org.openmeetings.app.data.user.Usermanagement;
 import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
+import org.openmeetings.app.persistence.beans.rooms.RoomTypes;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.user.Users;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,20 +55,453 @@ public class CalendarWebService {
 	
 	@Autowired
 	private AppointmentDaoImpl appointmentDao;
-	
+	@Autowired
+	private AppointmentLogic appointmentLogic;
+	@Autowired
+	private Sessionmanagement sessionManagement;
+	@Autowired
+	private Usermanagement userManagement;
+	@Autowired
+	private Roommanagement roommanagement;
+	@Autowired
+	private AuthLevelmanagement authLevelManagement;
+	@Autowired
+	private AppointmentCategoryDaoImpl appointmentCategoryDaoImpl;
+	@Autowired
+	private AppointmentReminderTypDaoImpl appointmentReminderTypDaoImpl;
+
+	/**
+	 * 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
+	 * @return
+	 */
 	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
 			Date endtime) {
 		log.debug("getAppointmentByRange : startdate - " + starttime
 				+ ", enddate - " + endtime);
 		try {
-			LinkedList<Appointment> apps = new LinkedList<Appointment>();
-			apps.add(appointmentDao.getAppointmentById(1L));
-			return apps;
-				
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getAppointmentByRange(users_id,
+						starttime, endtime);
+			}
 		} catch (Exception err) {
 			log.error("[getAppointmentByRange]", err);
 		}
 		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
+	 * @return
+	 */
+	public List<Appointment> getAppointmentByRangeForUserId(String SID, long userId, Date starttime,
+			Date endtime) {
+		log.debug("getAppointmentByRange : startdate - " + starttime
+				+ ", enddate - " + endtime);
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkWebServiceLevel(user_level)) {
+
+				return appointmentLogic.getAppointmentByRange(userId,
+						starttime, endtime);
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentByRangeForUserId]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * 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
+	 * @return
+	 */
+	public Appointment getNextAppointment(String SID) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getNextAppointment();
+			}
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+
+	}
+	
+	/**
+	 * Get the next Calendar event for userId
+	 * 
+	 * @param SID The SID of the User. This SID must be marked as Loggedin
+	 * @return
+	 */
+	public Appointment getNextAppointmentForUserId(String SID, long userId) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.getNextAppointment();
+			}
+		} catch (Exception err) {
+			log.error("[getNextAppointmentById]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * 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
+	 * @return
+	 */
+	public List<Appointment> searchAppointmentByName(String SID,
+			String appointmentName) {
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic
+						.searchAppointmentByName(appointmentName);
+			}
+		} catch (Exception err) {
+			log.error("[searchAppointmentByName]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * 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
+	 * @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) {
+
+		log.debug("saveAppointMent SID:" + SID + ", baseUrl : " + baseUrl);
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			log.debug("saveAppointMent users_id:" + users_id);
+
+			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
+
+				Long id = appointmentLogic.saveAppointment(appointmentName,
+						users_id, appointmentLocation, appointmentDescription,
+						appointmentstart, appointmentend, isDaily, isWeekly,
+						isMonthly, isYearly, categoryId, remind, mmClient,
+						roomType, baseUrl, language_id);
+
+				return id;
+			} else {
+				log.error("saveAppointment : wrong user level");
+			}
+		} catch (Exception err) {
+			log.error("[saveAppointment]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * 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
+	 * @return
+	 */
+	public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
+			Date appointmentstart, Date appointmentend, String baseurl,
+			Long language_id) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateAppointment");
+				//FIXME: Check if the event is also the event of the current SID
+
+				log.debug("appointmentId " + appointmentId);
+
+				appointmentLogic
+						.getAppointMentById(appointmentId);
+
+				Users user = userManagement.getUserById(users_id);
+
+				return appointmentLogic.updateAppointmentByTime(appointmentId,
+						appointmentstart, appointmentend, users_id, baseurl,
+						language_id, user.getOmTimeZone().getIcal());
+			}
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			err.printStackTrace();
+		}
+		return null;
+
+	}
+
+	/**
+	 * 
+	 * Update a calendar event all attributes
+	 * 
+	 * @param SID
+	 * @param appointmentId
+	 * @param appointmentName
+	 * @param appointmentLocation
+	 * @param appointmentDescription
+	 * @param appointmentstart
+	 * @param appointmentend
+	 * @param isDaily
+	 * @param isWeekly
+	 * @param isMonthly
+	 * @param isYearly
+	 * @param categoryId
+	 * @param remind
+	 * @param mmClient
+	 * @param roomType
+	 * @param baseurl
+	 * @param language_id
+	 * @return
+	 */
+	public Long updateAppointment(String SID, Long appointmentId,
+			String appointmentName, String appointmentLocation,
+			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) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				log.debug("updateAppointment");
+
+				RoomTypes rt = roommanagement.getRoomTypesById(roomType);
+
+				Appointment app = appointmentLogic
+						.getAppointMentById(appointmentId);
+
+				Rooms room = app.getRoom();
+				if (room != null) {
+
+					room.setComment(appointmentDescription);
+					room.setName(appointmentName);
+					room.setRoomtype(rt);
+
+					roommanagement.updateRoomObject(room);
+				}
+
+				Users user = userManagement.getUserById(users_id);
+
+				return appointmentLogic.updateAppointment(appointmentId,
+						appointmentName, appointmentDescription,
+						appointmentstart, appointmentend, isDaily, isWeekly,
+						isMonthly, isYearly, categoryId, remind, mmClient,
+						users_id, baseurl, language_id, false, "", user
+								.getOmTimeZone().getIcal());
+			}
+		} catch (Exception err) {
+			log.error("[updateAppointment]", err);
+			err.printStackTrace();
+		}
+		return null;
+
+	}
+
+	/**
+	 * 
+	 * delete a calendar event
+	 * 
+	 * @param SID
+	 * @param appointmentId
+	 * @param language_id
+	 * @return
+	 */
+	public Long deleteAppointment(String SID, Long appointmentId,
+			Long language_id) {
+
+		log.debug("deleteAppointment : " + appointmentId);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				return appointmentLogic.deleteAppointment(appointmentId,
+						users_id, language_id);
+
+			}
+
+		} catch (Exception err) {
+			log.error("[deleteAppointment]", err);
+		}
+		return null;
+
+	}
+
+	/**
+	 * 
+	 * Load a calendar event by its room id
+	 * 
+	 * @param SID
+	 * @param room_id
+	 * @return
+	 */
+	public Appointment getAppointmentByRoomId(String SID, Long room_id) {
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				Appointment appointment = new Appointment();
+
+				Appointment appStored = appointmentDao.getAppointmentByRoomId(
+						users_id, room_id);
+
+				appointment.setAppointmentStarttime(appStored
+						.getAppointmentStarttime());
+				appointment.setAppointmentEndtime(appStored
+						.getAppointmentEndtime());
+
+				return appointment;
+			}
+
+		} catch (Exception err) {
+			log.error("[getAppointmentByRoomId]", err);
+		}
+		return null;
+	}
+	
+	/**
+	 * Get all categories of calendar events
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID) {
+		log.debug("AppointmenetCategoryService.getAppointmentCategoryList SID : "
+				+ SID);
+
+		try {
+
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentCategory> res = appointmentCategoryDaoImpl
+						.getAppointmentCategoryList();
+
+				if (res == null || res.size() < 1)
+					log.debug("no AppointmentCategories found");
+				else {
+					for (int i = 0; i < res.size(); i++) {
+						AppointmentCategory ac = res.get(i);
+						log.debug("found appCategory : " + ac.getName());
+					}
+				}
+
+				return res;
+			} else {
+				log.error("AppointmenetCategoryService.getAppointmentCategoryList : UserLevel Error");
+			}
+		} catch (Exception err) {
+			log.error("[getAppointmentCategory]", err);
+		}
+		return null;
+
+	}
+	
+	/**
+	 * Get all reminder types for calendar events
+	 * 
+	 * @param SID
+	 * @return
+	 */
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) {
+		log.debug("getAppointmentReminderTypList");
+
+		try {
+			Long users_id = sessionManagement.checkSession(SID);
+			Long user_level = userManagement.getUserLevelByID(users_id);
+			if (authLevelManagement.checkUserLevel(user_level)) {
+
+				List<AppointmentReminderTyps> res = appointmentReminderTypDaoImpl
+						.getAppointmentReminderTypList();
+
+				if (res == null || res.size() < 1) {
+					log.debug("no remindertyps found!");
+				} else {
+					for (int i = 0; i < res.size(); i++) {
+						log.debug("found reminder " + res.get(i).getName());
+					}
+				}
+
+				return res;
+			} else
+				log.debug("getAppointmentReminderTypList  :error - wrong authlevel!");
+		} catch (Exception err) {
+			log.error("[getAppointmentReminderTypList]", err);
+		}
+		return null;
+	}
 
 }

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=1296825&r1=1296824&r2=1296825&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 Sun Mar  4 15:50:25 2012
@@ -28,6 +28,8 @@ import org.apache.axis2.context.MessageC
 import org.apache.axis2.transport.http.HTTPConstants;
 import org.openmeetings.app.OpenmeetingsVariables;
 import org.openmeetings.app.persistence.beans.calendar.Appointment;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentCategory;
+import org.openmeetings.app.persistence.beans.calendar.AppointmentReminderTyps;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.context.ApplicationContext;
@@ -57,7 +59,84 @@ public class CalendarWebServiceFacade {
 
 	public List<Appointment> getAppointmentByRange(String SID, Date starttime,
 			Date endtime) throws AxisFault {
-		return getCalendarServiceProxy().getAppointmentByRange(SID, starttime, endtime);
+		return getCalendarServiceProxy().getAppointmentByRange(SID, starttime,
+				endtime);
 	}
 
+	public List<Appointment> getAppointmentByRangeForUserId(String SID,
+			long userId, Date starttime, Date endtime) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentByRangeForUserId(SID,
+				userId, starttime, endtime);
+	}
+
+	public Appointment getNextAppointment(String SID) throws AxisFault {
+		return getCalendarServiceProxy().getNextAppointment(SID);
+	}
+
+	public Appointment getNextAppointmentForUserId(String SID, long userId)
+			throws AxisFault {
+		return getCalendarServiceProxy().getNextAppointmentForUserId(SID,
+				userId);
+	}
+
+	public List<Appointment> searchAppointmentByName(String SID,
+			String appointmentName) throws AxisFault {
+		return getCalendarServiceProxy().searchAppointmentByName(SID,
+				appointmentName);
+	}
+
+	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) throws AxisFault {
+		return getCalendarServiceProxy().saveAppointment(SID, appointmentName,
+				appointmentLocation, appointmentDescription, appointmentstart,
+				appointmentend, isDaily, isWeekly, isMonthly, isYearly,
+				categoryId, remind, mmClient, roomType, baseUrl, language_id);
+	}
+
+	public Long updateAppointmentTimeOnly(String SID, Long appointmentId,
+			Date appointmentstart, Date appointmentend, String baseurl,
+			Long language_id) throws AxisFault {
+		return getCalendarServiceProxy().updateAppointmentTimeOnly(SID,
+				appointmentId, appointmentstart, appointmentend, baseurl,
+				language_id);
+	}
+
+	public Long updateAppointment(String SID, Long appointmentId,
+			String appointmentName, String appointmentLocation,
+			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)
+			throws AxisFault {
+		return getCalendarServiceProxy().updateAppointment(SID, appointmentId,
+				appointmentName, appointmentLocation, appointmentDescription,
+				appointmentstart, appointmentend, isDaily, isWeekly, isMonthly,
+				isYearly, categoryId, remind, mmClient, roomType, baseurl,
+				language_id);
+	}
+
+	public Long deleteAppointment(String SID, Long appointmentId,
+			Long language_id) throws AxisFault {
+		return getCalendarServiceProxy().deleteAppointment(SID, appointmentId,
+				language_id);
+	}
+	
+	public Appointment getAppointmentByRoomId(String SID, Long room_id) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentByRoomId(SID, room_id);
+	}
+	
+	public List<AppointmentCategory> getAppointmentCategoryList(String SID) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentCategoryList(SID);
+	}
+	
+	public List<AppointmentReminderTyps> getAppointmentReminderTypList(
+			String SID) throws AxisFault {
+		return getCalendarServiceProxy().getAppointmentReminderTypList(SID);
+	}
+	
 }