Does the Jabber Service need no JARs? How is it intend to work?

Thanks!
Sebastian

2012/3/23  <[email protected]>:
> 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
>
>



-- 
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
[email protected]

Reply via email to