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