Author: solomax
Date: Fri Mar 23 18:55:15 2012
New Revision: 1304560

URL: http://svn.apache.org/viewvc?rev=1304560&view=rev
Log:
OPENMEETINGS-100 is fixed

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
Removed:
    incubator/openmeetings/trunk/singlewebapp/src/app/
Modified:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    incubator/openmeetings/trunk/singlewebapp/src/META-INF/services.xml

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=1304560&r1=1304559&r2=1304560&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 Fri Mar 23 18:55:15 2012
@@ -254,6 +254,7 @@
        <bean id="roomWebService" 
class="org.openmeetings.axis.services.RoomWebService" />
        <bean id="fileWebService" 
class="org.openmeetings.axis.services.FileWebService" />
        <bean id="calendarWebService" 
class="org.openmeetings.axis.services.CalendarWebService" />
+       <bean id="jabberWebService" 
class="org.openmeetings.axis.services.JabberWebService" />
 
        <!-- Servlet Facade Beans -->
        <bean id="backupExport" 
class="org.openmeetings.servlet.outputhandler.BackupExport" />

Modified: incubator/openmeetings/trunk/singlewebapp/src/META-INF/services.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/META-INF/services.xml?rev=1304560&r1=1304559&r2=1304560&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/META-INF/services.xml 
(original)
+++ incubator/openmeetings/trunk/singlewebapp/src/META-INF/services.xml Fri Mar 
23 18:55:15 2012
@@ -47,4 +47,16 @@
     </messageReceivers>
     <parameter name="ServiceClass" 
locked="xsd:false">org.openmeetings.axis.services.CalendarWebServiceFacade</parameter>
   </service>
+  <service name="JabberService">
+       <description>Jabber Service</description>
+       <messageReceivers>
+        <messageReceiver 
+            mep="http://www.w3.org/2004/08/wsdl/in-only";
+                       
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver
+            mep="http://www.w3.org/2004/08/wsdl/in-out";
+                       
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+    <parameter name="ServiceClass" 
locked="xsd:false">org.openmeetings.axis.services.JabberWebServiceFacade</parameter>
+  </service>
 </serviceGroup>

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebService.java?rev=1304560&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebService.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebService.java
 Fri Mar 23 18:55:15 2012
@@ -0,0 +1,86 @@
+package org.openmeetings.axis.services;
+
+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.conference.Invitationmanagement;
+import org.openmeetings.app.data.user.Usermanagement;
+import org.openmeetings.app.persistence.beans.domain.Organisation_Users;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.openmeetings.app.persistence.beans.rooms.Rooms_Organisation;
+import org.openmeetings.app.persistence.beans.user.Users;
+import org.openmeetings.app.remote.ConferenceService;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class JabberWebService {
+       private static final Logger log = Red5LoggerFactory.getLogger(
+                       JabberWebService.class, 
OpenmeetingsVariables.webAppRootKey);
+
+       @Autowired
+       private AuthLevelmanagement authLevelManagement;
+       @Autowired
+       private Usermanagement userManagement;
+       @Autowired
+       private Sessionmanagement sessionManagement;
+       @Autowired
+       private ConferenceService conferenceService;
+       @Autowired
+       private Invitationmanagement invitationManagement;
+
+       public List<Rooms> getAvailableRooms(String SID) {
+               log.debug("getAvailableRooms enter");
+
+               List<Rooms> result = this.conferenceService
+                               .getAppointedMeetingRoomsWithoutType(SID);
+
+               List<Rooms> pbl = 
this.conferenceService.getRoomsPublicWithoutType(SID);
+               if (pbl != null) {
+                       result.addAll(pbl);
+               }
+
+               Long users_id = this.sessionManagement.checkSession(SID);
+               Users u = this.userManagement.getUserById(users_id);
+               for (Organisation_Users ou : u.getOrganisation_users()) {
+                       List<Rooms_Organisation> rol = this.conferenceService
+                                       .getRoomsByOrganisationWithoutType(SID, 
ou
+                                                       
.getOrganisation().getOrganisation_id().longValue());
+                       if (rol != null) {
+                               for (Rooms_Organisation ro : rol) {
+                                       result.add(ro.getRoom());
+                               }
+                       }
+               }
+               for (Rooms r : result) {
+                       r.setCurrentusers(null);
+               }
+               return result;
+       }
+
+       public int getUserCount(String SID, Long roomId) {
+               Long users_id = this.sessionManagement.checkSession(SID);
+               Long user_level = 
this.userManagement.getUserLevelByID(users_id);
+
+               if (this.authLevelManagement.checkUserLevel(user_level)) {
+                       return 
this.conferenceService.getRoomClientsMapByRoomId(roomId)
+                                       .size();
+               }
+               return -1;
+       }
+
+       public String getInvitationHash(String SID, String username, Long 
room_id) {
+               Long users_id = this.sessionManagement.checkSession(SID);
+               Long user_level = 
this.userManagement.getUserLevelByID(users_id);
+               Invitations invitation = 
this.invitationManagement.addInvitationLink(
+                               user_level, username, username, username, 
username, username,
+                               room_id, "", Boolean.valueOf(false), null, 
Integer.valueOf(3),
+                               null, null, users_id, "", Long.valueOf(1L),
+                               Boolean.valueOf(false), null, null, null);
+
+               return ((invitation == null) ? null : invitation.getHash());
+       }
+}

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebServiceFacade.java?rev=1304560&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/axis/services/JabberWebServiceFacade.java
 Fri Mar 23 18:55:15 2012
@@ -0,0 +1,51 @@
+package org.openmeetings.axis.services;
+
+import javax.servlet.ServletContext;
+
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.openmeetings.app.OpenmeetingsVariables;
+import org.openmeetings.app.persistence.beans.rooms.Rooms;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+public class JabberWebServiceFacade {
+       private static final Logger log = Red5LoggerFactory
+                       .getLogger(JabberWebServiceFacade.class,
+                                       OpenmeetingsVariables.webAppRootKey);
+
+       private ServletContext getServletContext() throws Exception {
+               MessageContext mc = MessageContext.getCurrentMessageContext();
+               return ((ServletContext) mc
+                               
.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT));
+       }
+
+       private JabberWebService getJabberServiceProxy() {
+               try {
+                       ApplicationContext context = WebApplicationContextUtils
+                                       
.getWebApplicationContext(getServletContext());
+
+                       return ((JabberWebService) 
context.getBean("jabberWebService"));
+               } catch (Exception err) {
+                       log.error("[getJabberServiceProxy]", err);
+               }
+               return null;
+       }
+
+       @SuppressWarnings("cast")
+       public Rooms[] getAvailableRooms(String SID) {
+               return ((Rooms[]) getJabberServiceProxy().getAvailableRooms(SID)
+                               .toArray(new Rooms[0]));
+       }
+
+       public int getUserCount(String SID, Long roomId) {
+               return getJabberServiceProxy().getUserCount(SID, roomId);
+       }
+
+       public String getInvitationHash(String SID, String username, Long 
room_id) {
+               return getJabberServiceProxy()
+                               .getInvitationHash(SID, username, room_id);
+       }
+}
\ No newline at end of file


Reply via email to