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]
